dos: add missing file ldlinux.S
authorH. Peter Anvin <hpa@linux.intel.com>
Tue, 20 Jul 2010 00:30:30 +0000 (17:30 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 20 Jul 2010 00:31:56 +0000 (17:31 -0700)
Add missing assembly wrapper for ldlinux.sys.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
dos/Makefile
dos/ldlinux.S [new file with mode: 0644]

index 54bfb59..2667de8 100644 (file)
@@ -73,4 +73,6 @@ syslinux.com: syslinux.elf
 %.com: %.asm
        $(NASM) $(NASMOPT) -f bin -o $@ -MP -MD .$@.d -l $*.lst $<
 
+ldlinux.o: ldlinux.S ../core/ldlinux.sys
+
 -include .*.d *.tmp
diff --git a/dos/ldlinux.S b/dos/ldlinux.S
new file mode 100644 (file)
index 0000000..197653f
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * Wrap ldlinux.sys; this needs special handling for DOS.
+ */
+
+       .section ".payload","aw"
+       .balign 16
+       .globl  syslinux_ldlinux, syslinux_ldlinux_size
+syslinux_ldlinux:
+       .incbin "../core/ldlinux.sys"
+       .space ((syslinux_ldlinux - .) & 511)
+syslinux_ldlinux_size  = . - syslinux_ldlinux
+       .size   syslinux_ldlinux, .-syslinux_ldlinux
+
+       .section ".rodata","a"
+       .balign 4
+       .globl  syslinux_ldlinux_len
+syslinux_ldlinux_len:
+       .long   syslinux_ldlinux_size