aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2014-02-27 21:44:06 -0800
committerH. Peter Anvin <hpa@linux.intel.com>2014-02-27 21:45:44 -0800
commite01e93b0f29b6dc9e363d91175ef3f7ecb40f8bf (patch)
tree22963270f1297291a0c3906df8f4e25f3eb86639 /core
parent929b217f46ac45cc0bf7cbbaf77575ad0a17f94f (diff)
downloadsyslinux-e01e93b0f29b6dc9e363d91175ef3f7ecb40f8bf.tar.gz
syslinux-e01e93b0f29b6dc9e363d91175ef3f7ecb40f8bf.tar.xz
syslinux-e01e93b0f29b6dc9e363d91175ef3f7ecb40f8bf.zip
shuffler: Actually get the shuffler size sanelysyslinux-6.03-pre4
Actually get the shuffler size sanely. At least for now, we are BIOS only, so stub out the functions on EFI (they shouldn't even be compiled for EFI; this stuff should be moved into some kind of BIOS-only directory.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'core')
-rw-r--r--core/include/core.h8
-rw-r--r--core/shuffler.c8
2 files changed, 15 insertions, 1 deletions
diff --git a/core/include/core.h b/core/include/core.h
index 1fd283e3..f45c024d 100644
--- a/core/include/core.h
+++ b/core/include/core.h
@@ -26,7 +26,13 @@ extern char cmd_line[];
extern char ConfigFile[];
extern char syslinux_banner[];
extern char copyright_str[];
-extern unsigned int __bcopyxx_len;
+
+extern const size_t __syslinux_shuffler_size;
+
+static inline size_t syslinux_shuffler_size(void)
+{
+ return __syslinux_shuffler_size;
+}
/*
* Mark symbols that are only used by BIOS as __weak until we can move
diff --git a/core/shuffler.c b/core/shuffler.c
new file mode 100644
index 00000000..eca1b4a3
--- /dev/null
+++ b/core/shuffler.c
@@ -0,0 +1,8 @@
+#include "core.h"
+
+#ifdef __FIRMWARE_BIOS__
+
+extern const char __bcopyxx_len[]; /* Linker script absolute symbol */
+const size_t __syslinux_shuffler_size = (size_t)__bcopyxx_len;
+
+#endif /* __FIRMWARE_BIOS__ */