diff options
author | Khem Raj <raj.khem@gmail.com> | 2010-05-11 21:26:31 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-05-11 22:17:09 -0700 |
commit | d9264a5e565906ccf75f695dbecd251e21407fdf (patch) | |
tree | b7f5b88c74a121038db8353508bb5d25665f6961 /recipes/u-boot | |
parent | a1b685073f06e0ee16332408eaf011bc8b0581a6 (diff) |
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.patch | 13 | ||||
-rw-r--r-- | recipes/u-boot/u-boot-1.3.2/linker-script-sort-rodata-sections.patch | 16 | ||||
-rw-r--r-- | 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 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 = "\ |