summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch')
-rw-r--r--sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch b/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch
new file mode 100644
index 000000000000..92de3b014b61
--- /dev/null
+++ b/sys-boot/cromwell/files/cromwell-2.40-gcc-4.6.patch
@@ -0,0 +1,39 @@
+newer gcc versions will output .text.unlikely which this linker script
+doesn't expect
+
+https://bugs.gentoo.org/363535
+
+--- a/scripts/ldscript-crom.ld
++++ b/scripts/ldscript-crom.ld
+@@ -21,7 +21,7 @@ SECTIONS {
+
+ .text LOW_ROM : AT ( 0 ){
+ _start_low_rom = . ;
+- *(.text);
++ *(.text .text.*);
+ _end_low_rom = . ;
+ }
+
+@@ -67,4 +67,5 @@ SECTIONS {
+
+ _end_complete_rom = SIZEOF(.text) + SIZEOF(.rodata) + SIZEOF(.data) + SIZEOF(.bss);
+
++ /DISCARD/ : { *(.eh_frame) }
+ }
+--- a/boot_rom/bootrom.ld
++++ b/boot_rom/bootrom.ld
+@@ -31,7 +31,7 @@ SECTIONS {
+ .text (RAM_CODE) : AT( SIZEOF(.low_rom) ) {
+ _ram_location = .;
+ _start_ramcopy = _end_rom;
+- *(.text);
++ *(.text .text.*);
+ _start_checksum = _start_ramcopy - LOW_ROM;
+ }
+
+@@ -74,4 +74,5 @@ SECTIONS {
+ } = 0x90909090
+ */
+
++ /DISCARD/ : { *(.eh_frame) }
+ }