summaryrefslogtreecommitdiff
path: root/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-08-24 22:24:38 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-08-24 22:25:08 +0200
commit9683c207c75e5bc6513b1e8db6bdc2ed4c3db1f5 (patch)
tree510da161ad9e89032f4df8738ca26ad0a2d6b33d /toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch
parent9c15da431e4f1c8faf9bf747578b2c6b6c4d7d02 (diff)
gcc: update to 6.2.0, cleanup symbol names to simplify minor updates
Remove old versions of gcc no longer used or regulary tested. We concentrate on the latest three major versions for most of the architectures.
Diffstat (limited to 'toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch')
-rw-r--r--toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch b/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch
new file mode 100644
index 000000000..315b40668
--- /dev/null
+++ b/toolchain/gcc/patches/6.2.0/fix-dwarf-fdpic.patch
@@ -0,0 +1,37 @@
+Fix DWARF compilation for FDPIC targets
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-6.1.0/libgcc/unwind-dw2-fde-dip.c
+--- gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c 2016-01-04 15:30:50.000000000 +0100
++++ gcc-6.1.0/libgcc/unwind-dw2-fde-dip.c 2016-08-05 02:17:40.424195128 +0200
+@@ -124,7 +124,11 @@
+ {
+ _Unwind_Ptr pc_low;
+ _Unwind_Ptr pc_high;
++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__
++ struct elf32_fdpic_loadaddr load_base;
++#else
+ _Unwind_Ptr load_base;
++#endif
+ const ElfW(Phdr) *p_eh_frame_hdr;
+ const ElfW(Phdr) *p_dynamic;
+ struct frame_hdr_cache_element *link;
+@@ -163,7 +167,7 @@
+ struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr;
+ const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic;
+ long n, match;
+-#ifdef __FRV_FDPIC__
++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__
+ struct elf32_fdpic_loadaddr load_base;
+ #else
+ _Unwind_Ptr load_base;
+@@ -347,7 +351,7 @@
+ break;
+ }
+ }
+-# elif defined __FRV_FDPIC__ && defined __linux__
++# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__
+ data->dbase = load_base.got_value;
+ # else
+ # error What is DW_EH_PE_datarel base on this platform?