armv7: s5p4418: make _end compiler-generated
authorChanho Park <chanho61.park@samsung.com>
Tue, 28 Mar 2017 14:38:13 +0000 (23:38 +0900)
committerChanho Park <chanho61.park@samsung.com>
Tue, 28 Mar 2017 14:38:13 +0000 (23:38 +0900)
This patch fixes compilation error when we use yocto gcc 6.2.
The dynsym area can be overrapped from bss area. This patch
generates bss end mark by compiler.
Actually, it has been already fixed in arch/arm/cpu/u-boot.lds.

d0b5d9: arm: make _end compiler-generated

This prevents references to _end from generating absolute
relocation records.

This change is binary invariant for ARM targets.

Change-Id: Iea4001a6199c675186e9ef335f4c0c74282e63b0
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
arch/arm/cpu/armv7/s5p4418/u-boot.lds

index bb41511774ef98961d4e4b90cf192650cfb43798..d48a905cf3cf1707593308339da041e39eda5c32 100644 (file)
@@ -129,16 +129,18 @@ SECTIONS
  * __bss_base and __bss_limit are for linker only (overlay ordering)
  */
 
-       .bss_start  : {
+       .bss_start __rel_dyn_start (OVERLAY) : {
                KEEP(*(.__bss_start));
+               __bss_base = .;
        }
 
-       .bss : {
+       .bss __bss_base (OVERLAY) : {
                *(.bss*)
                 . = ALIGN(4);
+                __bss_limit = .;
        }
 
-       .bss_end : {
+       .bss_end __bss_limit (OVERLAY) : {
                KEEP(*(.__bss_end));
        }