[oe-commits] Khem Raj : u-boot-1.3.2: Fix compilation with gcc 4.4 for mpc8313e-rdb/ppc
git version control
git at git.openembedded.org
Wed May 12 05:17:36 UTC 2010
Module: openembedded.git
Branch: org.openembedded.dev
Commit: d9264a5e565906ccf75f695dbecd251e21407fdf
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=d9264a5e565906ccf75f695dbecd251e21407fdf
Author: Khem Raj <raj.khem at gmail.com>
Date: Tue May 11 21:26:31 2010 -0700
u-boot-1.3.2: Fix compilation with gcc 4.4 for mpc8313e-rdb/ppc
* Fix the linker script to allocate all .rodata section variants
gcc-4.4 generated rodata sections with alignment 1 as .rodata1.1
and linker script did not allocate it as a result it got default
adress and create a large hole. So when it came to objcopy converting
to srec format it kept on filling the gap with 0xff and virtually
ran the build box out of memory.
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
recipes/u-boot/u-boot-1.3.2/gcc4-weak-inline.patch | 13 +++++++++++++
.../linker-script-sort-rodata-sections.patch | 16 ++++++++++++++++
recipes/u-boot/u-boot_1.3.2.bb | 4 +++-
3 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/recipes/u-boot/u-boot-1.3.2/gcc4-weak-inline.patch b/recipes/u-boot/u-boot-1.3.2/gcc4-weak-inline.patch
new file mode 100644
index 0000000..10a3c38
--- /dev/null
+++ b/recipes/u-boot/u-boot-1.3.2/gcc4-weak-inline.patch
@@ -0,0 +1,13 @@
+Index: u-boot-1.3.2/common/main.c
+===================================================================
+--- u-boot-1.3.2.orig/common/main.c 2010-05-11 19:56:47.620373909 -0700
++++ u-boot-1.3.2/common/main.c 2010-05-11 19:57:36.060364465 -0700
+@@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR;
+ * Board-specific Platform code can reimplement show_boot_progress () if needed
+ */
+ void inline __show_boot_progress (int val) {}
+-void inline show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
++void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
+
+ #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY)
+ extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); /* for do_reset() prototype */
diff --git a/recipes/u-boot/u-boot-1.3.2/linker-script-sort-rodata-sections.patch b/recipes/u-boot/u-boot-1.3.2/linker-script-sort-rodata-sections.patch
new file mode 100644
index 0000000..cb6a3e9
--- /dev/null
+++ b/recipes/u-boot/u-boot-1.3.2/linker-script-sort-rodata-sections.patch
@@ -0,0 +1,16 @@
+Index: u-boot-1.3.2/cpu/mpc83xx/u-boot.lds
+===================================================================
+--- u-boot-1.3.2.orig/cpu/mpc83xx/u-boot.lds 2010-05-11 21:18:24.130376212 -0700
++++ u-boot-1.3.2/cpu/mpc83xx/u-boot.lds 2010-05-11 21:19:46.870376132 -0700
+@@ -55,10 +55,8 @@ SECTIONS
+ *(.fixup)
+ *(.got1)
+ . = ALIGN(16);
+- *(.rodata)
+- *(.rodata1)
+- *(.rodata.str1.4)
+ *(.eh_frame)
++ *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
+ }
+ .fini : { *(.fini) } =0
+ .ctors : { *(.ctors) }
diff --git a/recipes/u-boot/u-boot_1.3.2.bb b/recipes/u-boot/u-boot_1.3.2.bb
index 7a2f28c..435601c 100644
--- a/recipes/u-boot/u-boot_1.3.2.bb
+++ b/recipes/u-boot/u-boot_1.3.2.bb
@@ -2,7 +2,7 @@ require u-boot.inc
DEFAULT_PREFERENCE = "-1"
-PR = "r11"
+PR = "r12"
SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2"
@@ -15,6 +15,8 @@ SRC_URI_append_mpc8313e-rdb = "\
file://u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch;patch=1 \
file://u-boot-fsl-1.3.0-mpc8313erdb-fix-vitesse-7385-firmware.patch;patch=1 \
file://u-boot-fsl-1.3.0-mpc8313erdb-performance-tuning-for-TSEC.patch;patch=1 \
+ file://gcc4-weak-inline.patch;patch=1 \
+ file://linker-script-sort-rodata-sections.patch;patch=1 \
"
SRC_URI_append_boc01 = "\
More information about the Openembedded-commits
mailing list