Re: [U-Boot] [PATCH v3] arm: put .hash, .got.plt and .machine_param back in binaries

2014-01-14 Thread Albert ARIBAUD
On Mon, 13 Jan 2014 14:57:05 +0100, Albert ARIBAUD
albert.u.b...@aribaud.net wrote:

 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.b...@aribaud.net
 ---
 V3: rebase
 V2: remove SREC generation for SPL
 
  arch/arm/config.mk  | 2 +-
  arch/arm/cpu/armv7/exynos/config.mk | 7 +++
  arch/arm/cpu/u-boot.lds | 3 +--
  spl/Makefile| 2 +-
  4 files changed, 10 insertions(+), 4 deletions(-)
  create mode 100644 arch/arm/cpu/armv7/exynos/config.mk
 
 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 000..ee0d2da
 --- /dev/null
 +++ b/arch/arm/cpu/armv7/exynos/config.mk
 @@ -0,0 +1,7 @@
 +#
 +# Copyright (C) Albert ARIBAUD albert.u.b...@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) \

Applied, with Rajeshwari's (hyphen-fixed) tested-by added, to
u-boot-arm/master.

Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3] arm: put .hash, .got.plt and .machine_param back in binaries

2014-01-13 Thread Albert ARIBAUD
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.b...@aribaud.net
---
V3: rebase
V2: remove SREC generation for SPL

 arch/arm/config.mk  | 2 +-
 arch/arm/cpu/armv7/exynos/config.mk | 7 +++
 arch/arm/cpu/u-boot.lds | 3 +--
 spl/Makefile| 2 +-
 4 files changed, 10 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/cpu/armv7/exynos/config.mk

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 000..ee0d2da
--- /dev/null
+++ b/arch/arm/cpu/armv7/exynos/config.mk
@@ -0,0 +1,7 @@
+#
+# Copyright (C) Albert ARIBAUD albert.u.b...@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) \
-- 
1.8.3.2
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot