diff options
Diffstat (limited to 'dos/dosexe.ld')
-rwxr-xr-x | dos/dosexe.ld | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/dos/dosexe.ld b/dos/dosexe.ld index 4612b30a..c67c5060 100755 --- a/dos/dosexe.ld +++ b/dos/dosexe.ld @@ -26,20 +26,22 @@ SECTIONS __header_size = .; __payload_lma = .; - . = 0; + . = 0x100000000 - syslinux_ldlinux_size; .payload : AT (__payload_lma) { __payload_start = .; - ldlinux_bin.o(.data) + *(.payload) __payload_end = .; } __payload_len = __payload_end - __payload_start; __payload_dwords = __payload_len >> 2; - . = ALIGN(16); - __text_lma = __payload_lma + .; + __text_lma = __payload_lma + syslinux_ldlinux_size; __payload_sseg = (__payload_lma - __text_lma) >> 4; _exe_text_seg = (__text_lma - __header_size) >> 4; + __assert1 = ASSERT((__payload_len == syslinux_ldlinux_size), + "syslinux_ldlinux_size must equal the size of .payload"); + . = 0; .text : AT (__text_lma) { *(.text .stub .text.* .gnu.linkonce.t.*) |