aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/u-boot
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-05-11 21:26:31 -0700
committerKhem Raj <raj.khem@gmail.com>2010-05-11 22:17:09 -0700
commitd9264a5e565906ccf75f695dbecd251e21407fdf (patch)
treeb7f5b88c74a121038db8353508bb5d25665f6961 /recipes/u-boot
parenta1b685073f06e0ee16332408eaf011bc8b0581a6 (diff)
downloadopenembedded-d9264a5e565906ccf75f695dbecd251e21407fdf.tar.gz
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@gmail.com>
Diffstat (limited to 'recipes/u-boot')
-rw-r--r--recipes/u-boot/u-boot-1.3.2/gcc4-weak-inline.patch13
-rw-r--r--recipes/u-boot/u-boot-1.3.2/linker-script-sort-rodata-sections.patch16
-rw-r--r--recipes/u-boot/u-boot_1.3.2.bb4
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 0000000000..10a3c38b23
--- /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 0000000000..cb6a3e9f36
--- /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 7a2f28c52c..435601c2ce 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 = "\