summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-01-13 14:57:05 +0100
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-01-14 11:43:10 +0100
commitb02bfc4dfcef3be8276521e1933573e97a5cf203 (patch)
tree57080489f5d3b07f177b51c9a790235de5a7826e
parente570aca9474bb707cd2cab0c5c9b8aba957ae51e (diff)
downloadu-boot-imx-b02bfc4dfcef3be8276521e1933573e97a5cf203.zip
u-boot-imx-b02bfc4dfcef3be8276521e1933573e97a5cf203.tar.gz
u-boot-imx-b02bfc4dfcef3be8276521e1933573e97a5cf203.tar.bz2
arm: put .hash, .got.plt and .machine_param back in binaries
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>
-rw-r--r--arch/arm/config.mk2
-rw-r--r--arch/arm/cpu/armv7/exynos/config.mk7
-rw-r--r--arch/arm/cpu/u-boot.lds3
-rw-r--r--spl/Makefile2
4 files changed, 10 insertions, 4 deletions
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 329c7a7..cfa4209 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -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
index 0000000..ee0d2da
--- /dev/null
+++ b/arch/arm/cpu/armv7/exynos/config.mk
@@ -0,0 +1,7 @@
+#
+# Copyright (C) Albert ARIBAUD <albert.u.boot@aribaud.net>
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+SPL_OBJCFLAGS += -j .machine_param
diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index 9463a33..4da5d24 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -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.*) }
}
diff --git a/spl/Makefile b/spl/Makefile
index 003956e..5e5472d 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -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) \