aboutsummaryrefslogtreecommitdiffstats
path: root/syslinux.ld
diff options
context:
space:
mode:
Diffstat (limited to 'syslinux.ld')
-rw-r--r--syslinux.ld46
1 files changed, 30 insertions, 16 deletions
diff --git a/syslinux.ld b/syslinux.ld
index d6fa685d..3c55820f 100644
--- a/syslinux.ld
+++ b/syslinux.ld
@@ -17,28 +17,36 @@ SECTIONS
.earlybss : {
__earlybss_start = .;
*(.earlybss)
- __earlybss_len = . - __earlybss_start;
+ __earlybss_end = .;
}
+ __earlybss_len = __earlybss_end - __earlybss_start;
+ __earlybss_dwords = (__earlybss_len + 3) >> 2;
.bcopy32 : AT (__bcopy32_lma) {
FILL(0x90909090)
__bcopy32_start = .;
*(.bcopy32)
- __bcopy32_len = . - __bcopy32_start;
+ __bcopy32_end = .;
}
+ __bcopy32_len = __bcopy32_end - __bcopy32_start;
+ __bcopy32_dwords = (__bcopy32_len + 3) >> 2;
.config : AT (__config_lma) {
__config_start = .;
*(.config)
- __config_len = . - __config_start;
+ __config_end = .;
}
+ __config_len = __config_end - __config_start;
+ __config_dwords = (__config_len + 3) >> 2;
.bss : AT(__bss_start) {
__bss_start = .;
*(.bss)
*(.bss2)
- __bss_len = . - __bss_start;
+ __bss_end = .;
}
+ __bss_len = __bss_end - __bss_start;
+ __bss_dwords = (__bss_len + 3) >> 2;
/* Stack */
@@ -46,8 +54,10 @@ SECTIONS
.stack : {
__stack_start = .;
. += STACK_LEN;
- __stack_len = . - __stack_start;
+ __stack_end = .;
}
+ __stack_len = __stack_end - __stack_start;
+ __stack_dwords = (__stack_len + 3) >> 2;
/* Initialized sections */
@@ -56,8 +66,10 @@ SECTIONS
FILL(0x90909090)
__text_start = .;
*(.text)
- __text_len = . - __text_start;
+ __text_end = .;
}
+ __text_len = __text_end - __text_start;
+ __text_dwords = (__text_len + 3) >> 2;
. = ALIGN(4);
__bcopy32_lma = .;
@@ -67,8 +79,10 @@ SECTIONS
.data : {
__data_start = .;
*(.data)
- __data_len = . - __data_start;
+ __data_end = .;
}
+ __data_len = __data_end - __data_start;
+ __data_dwords = (__data_len + 3) >> 2;
. = ALIGN(4);
__config_lma = .;
@@ -80,26 +94,26 @@ SECTIONS
.adv : {
__adv_start = .;
*(.adv)
- __adv_len = . - __adv_start;
+ __adv_end = .;
}
+ __adv_len = __adv_end - __adv_start;
+ __adv_dwords = (__adv_len + 3) >> 2;
/* Late uninitialized sections */
.uibss : {
__uibss_start = .;
*(.uibss)
- __uibss_len = . - __uibss_start;
+ __uibss_end = .;
}
+ __uibss_len = __uibss_end - __uibss_start;
+ __uibss_dwords = (__uibss_len + 3) >> 2;
.bss1 : {
__bss1_start = .;
*(.bss1)
- __bss1_len = . - __bss1_start;
+ __bss1_end = .;
}
-
- Stack = __stack_start;
- section..bcopy32.start = __bcopy32_lma;
- section..config.start = __config_lma;
- section..config.vstart = __config_start;
- section..config.end.start = __config_start + SIZEOF(.config);
+ __bss1_len = __bss1_end - __bss1_start;
+ __bss1_dwords = (__bss1_len + 3) >> 2;
}