summaryrefslogtreecommitdiff
path: root/core/syslinux.ld
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@linux.intel.com>2011-04-04 10:45:25 +0100
committerMatt Fleming <matt.fleming@linux.intel.com>2011-04-04 14:52:19 +0100
commit8e5e9b0a8c9f3fea4faa68f4d32080e220b8c498 (patch)
tree240ba077da896f72439806879db6f89417f8e3cf /core/syslinux.ld
parent8c576f1fe03e34879921311f46613a35c6530000 (diff)
parent780bab7c179247f1c42610c1f70d99f996e787ec (diff)
downloadsyslinux-8e5e9b0a8c9f3fea4faa68f4d32080e220b8c498.tar.gz
Merge remote-tracking branch 'zytor/master' into elflink-merge
Conflicts: com32/lib/Makefile com32/lib/sys/open.c version
Diffstat (limited to 'core/syslinux.ld')
-rw-r--r--core/syslinux.ld48
1 files changed, 24 insertions, 24 deletions
diff --git a/core/syslinux.ld b/core/syslinux.ld
index 466b450e..43fc1531 100644
--- a/core/syslinux.ld
+++ b/core/syslinux.ld
@@ -33,21 +33,21 @@ SECTIONS
/* "Early" sections (before the load) */
. = 0x1000;
- .earlybss : {
+ .earlybss (NOLOAD) : {
__earlybss_start = .;
*(.earlybss)
__earlybss_end = .;
}
- __earlybss_len = __earlybss_end - __earlybss_start;
+ __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start);
__earlybss_dwords = (__earlybss_len + 3) >> 2;
. = ALIGN(4);
- .bss16 : {
+ .bss16 (NOLOAD) : {
__bss16_start = .;
*(.bss16)
__bss16_end = .;
}
- __bss16_len = __bss16_end - __bss16_start;
+ __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start);
__bss16_dwords = (__bss16_len + 3) >> 2;
. = ALIGN(4);
@@ -56,7 +56,7 @@ SECTIONS
*(.config)
__config_end = .;
}
- __config_len = __config_end - __config_start;
+ __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start);
__config_dwords = (__config_len + 3) >> 2;
/* Generated and/or copied code */
@@ -67,7 +67,7 @@ SECTIONS
*(.replacestub)
__replacestub_end = .;
}
- __replacestub_len = __replacestub_end - __replacestub_start;
+ __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start);
__replacestub_dwords = (__replacestub_len + 3) >> 2;
. = ALIGN(16);
@@ -77,7 +77,7 @@ SECTIONS
*(.gentextnr)
__gentextnr_end = .;
}
- __gentextnr_len = __gentextnr_end - __gentextnr_start;
+ __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start);
__gentextnr_dwords = (__gentextnr_len + 3) >> 2;
. = STACK_BASE;
@@ -86,7 +86,7 @@ SECTIONS
. += STACK_LEN;
__stack16_end = .;
}
- __stack16_len = __stack16_end - __stack16_start;
+ __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start);
__stack16_dwords = (__stack16_len + 3) >> 2;
/* Initialized sections */
@@ -98,7 +98,7 @@ SECTIONS
*(.init)
__init_end = .;
}
- __init_len = __init_end - __init_start;
+ __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start);
__init_dwords = (__init_len + 3) >> 2;
.text16 : {
@@ -107,7 +107,7 @@ SECTIONS
*(.text16)
__text16_end = .;
}
- __text16_len = __text16_end - __text16_start;
+ __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start);
__text16_dwords = (__text16_len + 3) >> 2;
/*
@@ -121,7 +121,7 @@ SECTIONS
*(.textnr)
__textnr_end = .;
}
- __textnr_len = __textnr_end - __textnr_start;
+ __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start);
__textnr_dwords = (__textnr_len + 3) >> 2;
. = ALIGN(16);
@@ -133,7 +133,7 @@ SECTIONS
*(.bcopyxx.text)
__bcopyxx_text_end = .;
}
- __bcopyxx_text_len = __bcopyxx_text_end - __bcopyxx_text_start;
+ __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start);
__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2;
.bcopyxx.data : {
@@ -141,11 +141,11 @@ SECTIONS
*(.bcopyxx.text)
__bcopyxx_data_end = .;
}
- __bcopyxx_data_len = __bcopyxx_data_end - __bcopyxx_data_start;
+ __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start);
__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2;
__bcopyxx_end = .;
- __bcopyxx_len = __bcopyxx_end - __bcopyxx_start;
+ __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start);
__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2;
. = ALIGN(4);
@@ -154,7 +154,7 @@ SECTIONS
*(.data16)
__data16_end = .;
}
- __data16_len = __data16_end - __data16_start;
+ __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start);
__data16_dwords = (__data16_len + 3) >> 2;
. = ALIGN(4);
@@ -178,7 +178,7 @@ SECTIONS
*(.adv)
__adv_end = .;
}
- __adv_len = __adv_end - __adv_start;
+ __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start);
__adv_dwords = (__adv_len + 3) >> 2;
/* Late uninitialized sections */
@@ -189,7 +189,7 @@ SECTIONS
*(.uibss)
__uibss_end = .;
}
- __uibss_len = __uibss_end - __uibss_start;
+ __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start);
__uibss_dwords = (__uibss_len + 3) >> 2;
_end16 = .;
@@ -222,7 +222,7 @@ SECTIONS
*(.auxseg)
__auxseg_end = .;
}
- __auxseg_len = __auxseg_end - __auxseg_start;
+ __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start);
__auxseg_dwords = (__auxseg_len + 3) >> 2;
aux_seg = __auxseg_start >> 4;
@@ -234,12 +234,12 @@ SECTIONS
*(.lowmem)
__lowmem_end = .;
}
- __lowmem_len = __lowmem_end - __lowmem_start;
+ __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start);
__lowmem_dwords = (__lowmem_len + 3) >> 2;
__high_clear_end = .;
- __high_clear_len = __high_clear_end - __high_clear_start;
+ __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start);
__high_clear_dwords = (__high_clear_len + 3) >> 2;
/* Start of the lowmem heap */
@@ -372,7 +372,7 @@ SECTIONS
}
__pm_code_end = .;
- __pm_code_len = __pm_code_end - __pm_code_start;
+ __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start);
__pm_code_dwords = (__pm_code_len + 3) >> 2;
. = ALIGN(128);
@@ -386,7 +386,7 @@ SECTIONS
*(COMMON)
__bss_end = .;
}
- __bss_len = __bss_end - __bss_start;
+ __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
__bss_dwords = (__bss_len + 3) >> 2;
/* Very large objects which don't need to be zeroed */
@@ -399,7 +399,7 @@ SECTIONS
*(.hugebss.*)
__hugebss_end = .;
}
- __hugebss_len = __hugebss_end - __hugebss_start;
+ __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start);
__hugebss_dwords = (__hugebss_len + 3) >> 2;
@@ -411,7 +411,7 @@ SECTIONS
*(.stack)
__stack_end = .;
}
- __stack_len = __stack_end - __stack_start;
+ __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start);
__stack_dwords = (__stack_len + 3) >> 2;
_end = .;