arm: put .hash, .got.plt and .machine_param back in binaries
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>
Mon, 13 Jan 2014 13:57:05 +0000 (14:57 +0100)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Tue, 14 Jan 2014 10:43:10 +0000 (11:43 +0100)
Some targets will build fine but not boot if sections .hash and
.got.plt are not present in the binary. Add them back.

Also, Exynos machines require .machine_param section in SPL.
Add it.

Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Tested-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
arch/arm/config.mk
arch/arm/cpu/armv7/exynos/config.mk [new file with mode: 0644]
arch/arm/cpu/u-boot.lds
spl/Makefile

index 329c7a7f01daf466a1d348db53bf59b2f441be2f..cfa42094ca7941416c23a2bc97e446d200c417cf 100644 (file)
@@ -109,5 +109,5 @@ endif
 ifdef CONFIG_ARM64
 OBJCFLAGS += -j .text -j .rodata -j .data -j .u_boot_list -j .rela.dyn
 else
-OBJCFLAGS += -j .text -j .rodata -j .data -j .u_boot_list -j .rel.dyn
+OBJCFLAGS += -j .text -j .rodata -j .hash -j .data -j .got.plt -j .u_boot_list -j .rel.dyn
 endif
diff --git a/arch/arm/cpu/armv7/exynos/config.mk b/arch/arm/cpu/armv7/exynos/config.mk
new file mode 100644 (file)
index 0000000..ee0d2da
--- /dev/null
@@ -0,0 +1,7 @@
+#
+# Copyright (C) Albert ARIBAUD <albert.u.boot@aribaud.net>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+SPL_OBJCFLAGS += -j .machine_param
index 9463a33dcb3dab4b99f558b5774a25787df9486f..4da5d246e0ef78ce36f6d8520b11932200ac41d8 100644 (file)
@@ -92,8 +92,6 @@ SECTIONS
        }
 
        .dynsym _end : { *(.dynsym) }
-       .hash : { *(.hash) }
-       .got.plt : { *(.got.plt) }
        .dynbss : { *(.dynbss) }
        .dynstr : { *(.dynstr*) }
        .dynamic : { *(.dynamic*) }
@@ -101,4 +99,5 @@ SECTIONS
        .interp : { *(.interp*) }
        .gnu : { *(.gnu*) }
        .ARM.exidx : { *(.ARM.exidx*) }
+       .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
 }
index 003956ebb34b980ffab28562603fe953c5c9beff..5e5472d97cefe583abd8be8c06e2834945e79c77 100644 (file)
@@ -165,7 +165,7 @@ $(obj)$(BOARD)-spl.bin: $(obj)u-boot-spl.bin
 endif
 
 $(obj)$(SPL_BIN).bin:  $(obj)$(SPL_BIN)
-       $(OBJCOPY) $(OBJCFLAGS) -O binary $< $@
+       $(OBJCOPY) $(OBJCFLAGS) $(SPL_OBJCFLAGS) -O binary $< $@
 
 GEN_UBOOT = \
        cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $(__START) \