diff options
Diffstat (limited to 'syslinux.ld')
| -rw-r--r-- | syslinux.ld | 46 |
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; } |
