diff options
author | Wolfgang Denk <wd@denx.de> | 2008-01-12 20:31:39 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-01-12 20:31:39 +0100 |
commit | 64134f011254123618798ff77c42ba196b2ec485 (patch) | |
tree | da048d328c9cb0bd00a89bb066d2e75cd5a52fb1 /board/freescale | |
parent | 3afac79ec27b91df185f090b31dad9620779f440 (diff) |
Fix linker scripts: add NOLOAD atribute to .bss/.sbss sections
With recent toolchain versions, some boards would not build because
or errors like this one (here for ocotea board when building with
ELDK 4.2 beta):
ppc_4xx-ld: section .bootpg [fffff000 -> fffff23b] overlaps section .bss [fffee900 -> fffff8ab]
For many boards, the .bss section is big enough that it wraps around
at the end of the address space (0xFFFFFFFF), so the problem will not
be visible unless you use a 64 bit tool chain for development. On
some boards however, changes to the code size (due to different
optimizations) we bail out with section overlaps like above.
The fix is to add the NOLOAD attribute to the .bss and .sbss
sections, telling the linker that .bss does not consume any space in
the image.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'board/freescale')
-rw-r--r-- | board/freescale/m5235evb/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/m5249evb/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/m5253evbe/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/m5329evb/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/m54455evb/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8540ads/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8541cds/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8544ds/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8548cds/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8555cds/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8560ads/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8568mds/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8610hpcd/u-boot.lds | 2 | ||||
-rw-r--r-- | board/freescale/mpc8641hpcn/u-boot.lds | 2 |
14 files changed, 14 insertions, 14 deletions
diff --git a/board/freescale/m5235evb/u-boot.lds b/board/freescale/m5235evb/u-boot.lds index 8ffd32607a..c13dd207de 100644 --- a/board/freescale/m5235evb/u-boot.lds +++ b/board/freescale/m5235evb/u-boot.lds @@ -130,7 +130,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { _sbss = .; *(.sbss) *(.scommon) diff --git a/board/freescale/m5249evb/u-boot.lds b/board/freescale/m5249evb/u-boot.lds index a803b1cbad..4f47323e44 100644 --- a/board/freescale/m5249evb/u-boot.lds +++ b/board/freescale/m5249evb/u-boot.lds @@ -131,7 +131,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { _sbss = .; *(.sbss) *(.scommon) diff --git a/board/freescale/m5253evbe/u-boot.lds b/board/freescale/m5253evbe/u-boot.lds index e2fd0708d5..ef2858389a 100644 --- a/board/freescale/m5253evbe/u-boot.lds +++ b/board/freescale/m5253evbe/u-boot.lds @@ -129,7 +129,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { _sbss = .; *(.sbss) *(.scommon) diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index 9b994a09db..e48d1bcbad 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -129,7 +129,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { _sbss = .; *(.sbss) *(.scommon) diff --git a/board/freescale/m54455evb/u-boot.lds b/board/freescale/m54455evb/u-boot.lds index bda68e4f82..d76bc73c33 100644 --- a/board/freescale/m54455evb/u-boot.lds +++ b/board/freescale/m54455evb/u-boot.lds @@ -129,7 +129,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { _sbss = .; *(.sbss) *(.scommon) diff --git a/board/freescale/mpc8540ads/u-boot.lds b/board/freescale/mpc8540ads/u-boot.lds index a7c68b3648..bc0db55141 100644 --- a/board/freescale/mpc8540ads/u-boot.lds +++ b/board/freescale/mpc8540ads/u-boot.lds @@ -138,7 +138,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8541cds/u-boot.lds b/board/freescale/mpc8541cds/u-boot.lds index 4360d677ec..1e490d04a7 100644 --- a/board/freescale/mpc8541cds/u-boot.lds +++ b/board/freescale/mpc8541cds/u-boot.lds @@ -138,7 +138,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8544ds/u-boot.lds b/board/freescale/mpc8544ds/u-boot.lds index 1a8aaa9057..66bd4b6dfc 100644 --- a/board/freescale/mpc8544ds/u-boot.lds +++ b/board/freescale/mpc8544ds/u-boot.lds @@ -136,7 +136,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8548cds/u-boot.lds b/board/freescale/mpc8548cds/u-boot.lds index ee772d3ae2..acf25e344b 100644 --- a/board/freescale/mpc8548cds/u-boot.lds +++ b/board/freescale/mpc8548cds/u-boot.lds @@ -137,7 +137,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8555cds/u-boot.lds b/board/freescale/mpc8555cds/u-boot.lds index df21ea86e6..e9fa51ea69 100644 --- a/board/freescale/mpc8555cds/u-boot.lds +++ b/board/freescale/mpc8555cds/u-boot.lds @@ -138,7 +138,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8560ads/u-boot.lds b/board/freescale/mpc8560ads/u-boot.lds index c2cba617ea..96af2b1571 100644 --- a/board/freescale/mpc8560ads/u-boot.lds +++ b/board/freescale/mpc8560ads/u-boot.lds @@ -141,7 +141,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8568mds/u-boot.lds b/board/freescale/mpc8568mds/u-boot.lds index 4682041ad7..7917409c16 100644 --- a/board/freescale/mpc8568mds/u-boot.lds +++ b/board/freescale/mpc8568mds/u-boot.lds @@ -140,7 +140,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8610hpcd/u-boot.lds b/board/freescale/mpc8610hpcd/u-boot.lds index ae9c6c4a03..37838ec0d3 100644 --- a/board/freescale/mpc8610hpcd/u-boot.lds +++ b/board/freescale/mpc8610hpcd/u-boot.lds @@ -123,7 +123,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) diff --git a/board/freescale/mpc8641hpcn/u-boot.lds b/board/freescale/mpc8641hpcn/u-boot.lds index fd163622a8..99006709f0 100644 --- a/board/freescale/mpc8641hpcn/u-boot.lds +++ b/board/freescale/mpc8641hpcn/u-boot.lds @@ -124,7 +124,7 @@ SECTIONS __init_end = .; __bss_start = .; - .bss : + .bss (NOLOAD) : { *(.sbss) *(.scommon) *(.dynbss) |