diff options
-rw-r--r-- | target/config/Config.in.binfmt | 2 | ||||
-rw-r--r-- | toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch | 16 |
2 files changed, 7 insertions, 11 deletions
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt index 03f2c6003..336b0b8b0 100644 --- a/target/config/Config.in.binfmt +++ b/target/config/Config.in.binfmt @@ -18,7 +18,7 @@ config ADK_TARGET_BINFMT_FLAT config ADK_TARGET_BINFMT_FDPIC bool "FDPIC" - depends on ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || (ADK_TARGET_CPU_SH_J2 && ADK_TARGET_LIB_MUSL) + depends on ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_CPU_SH_J2 config ADK_TARGET_BINFMT_DSBT bool "DSBT" diff --git a/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch b/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch index 315b40668..d462a6c7a 100644 --- a/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch +++ b/toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch @@ -1,15 +1,11 @@ -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 +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__ ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ || defined __SH_FDPIC__ + struct elf32_fdpic_loadaddr load_base; +#else _Unwind_Ptr load_base; @@ -22,7 +18,7 @@ diff -Nur gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-6.1.0/libgcc/unwind-dw2 const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; long n, match; -#ifdef __FRV_FDPIC__ -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ || defined __SH_FDPIC__ struct elf32_fdpic_loadaddr load_base; #else _Unwind_Ptr load_base; @@ -31,7 +27,7 @@ diff -Nur gcc-6.1.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-6.1.0/libgcc/unwind-dw2 } } -# elif defined __FRV_FDPIC__ && defined __linux__ -+# elif (defined __FRV_FDPIC__ || defined __BFIN_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? |