[syslinux:master] core, bios: Move __syslinux_shuffler_size to assembly

syslinux-bot for H. Peter Anvin hpa at linux.intel.com
Fri Feb 28 15:51:03 PST 2014


Commit-ID:  a06818de2a4c49bd64a024dd4f4a09a0caf1f0ac
Gitweb:     http://www.syslinux.org/commit/a06818de2a4c49bd64a024dd4f4a09a0caf1f0ac
Author:     H. Peter Anvin <hpa at linux.intel.com>
AuthorDate: Fri, 28 Feb 2014 15:48:53 -0800
Committer:  H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Fri, 28 Feb 2014 15:48:53 -0800

core, bios: Move __syslinux_shuffler_size to assembly

Putting the __syslinux_shuffler_size in a C file by itself caused it
to not get included in the core, causing failures.  Put it in assembly
to make sure it really gets included there.

Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>

---
 core/bcopyxx.inc | 7 +++++++
 core/shuffler.c  | 8 --------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/core/bcopyxx.inc b/core/bcopyxx.inc
index cfdda0b..2bdc053 100644
--- a/core/bcopyxx.inc
+++ b/core/bcopyxx.inc
@@ -316,5 +316,12 @@ RM_IDT_ptr:	dw 0FFFFh		; Length (nonsense, but matches CPU)
 
 bcopyxx_stack	equ 128			; We want this much stack
 
+		section .rodata
+		global __syslinux_shuffler_size
+		extern __bcopyxx_len
+		align 4
+__syslinux_shuffler_size:
+		dd __bcopyxx_len
+
 		bits 16
 		section .text16
diff --git a/core/shuffler.c b/core/shuffler.c
deleted file mode 100644
index eca1b4a..0000000
--- a/core/shuffler.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#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__ */


More information about the Syslinux-commits mailing list