diff options
Diffstat (limited to 'toolchain/gcc')
-rw-r--r-- | toolchain/gcc/Makefile.inc | 8 | ||||
-rw-r--r-- | toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.uclibc-ng | 33 |
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? |