[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