summaryrefslogtreecommitdiff
path: root/toolchain/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc')
-rw-r--r--toolchain/gcc/Makefile.inc8
-rw-r--r--toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.uclibc-ng33
2 files changed, 37 insertions, 4 deletions
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index e646e5536..0b4103c91 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -27,19 +27,19 @@ DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
LIBSTDCXXVER:= 20
endif
ifeq ($(ADK_TOOLCHAIN_GCC_ARC),y)
-PKG_VERSION:= arc-2017.03-release
+PKG_VERSION:= arc-2016.09-release
PKG_GIT:= tag
PKG_SITES:= https://github.com/foss-for-synopsys-dwc-arc-processors/gcc.git
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
endif
ifeq ($(ADK_TOOLCHAIN_GCC_OR1K),y)
-PKG_VERSION:= or1k-7-2
+PKG_VERSION:= musl-5.4.0
PKG_GIT:= branch
-PKG_SITES:= https://github.com/rth7680/gcc.git
+PKG_SITES:= https://github.com/openrisc/or1k-gcc.git
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
-LIBSTDCXXVER:= 23
+LIBSTDCXXVER:= 21
endif
ifeq ($(ADK_TOOLCHAIN_GCC_NDS32),y)
PKG_VERSION:= 4.9.3-nds32
diff --git a/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.uclibc-ng b/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.uclibc-ng
new file mode 100644
index 000000000..d462a6c7a
--- /dev/null
+++ b/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.uclibc-ng
@@ -0,0 +1,33 @@
+diff -Nur gcc-6.3.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-6.3.0/libgcc/unwind-dw2-fde-dip.c
+--- gcc-6.3.0.orig/libgcc/unwind-dw2-fde-dip.c 2016-01-04 15:30:50.000000000 +0100
++++ gcc-6.3.0/libgcc/unwind-dw2-fde-dip.c 2017-05-18 00:43:58.000000000 +0200
+@@ -124,7 +124,11 @@
+ {
+ _Unwind_Ptr pc_low;
+ _Unwind_Ptr pc_high;
++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ || defined __SH_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__ || defined __SH_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 __SH_FDPIC__ && defined __linux__
+ data->dbase = load_base.got_value;
+ # else
+ # error What is DW_EH_PE_datarel base on this platform?