diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | contrib/ChangeLog | 4 | ||||
-rw-r--r-- | contrib/config-list.mk | 2 | ||||
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config.gcc | 64 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 2 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 16 |
10 files changed, 100 insertions, 10 deletions
@@ -1,3 +1,9 @@ +2013-10-01 Simon Cook <simon.cook@embecosm.com> + + Changes to build configuration to allow big endian ARC ELF toolchain + * configure.ac: Also add target-libgloss to noconfigdirs for arceb-*-*. + * configure: Regenerate. + 2013-09-20 Alan Modra <amodra@gmail.com> * libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical @@ -3620,7 +3620,7 @@ case "${target}" in sh*-*-pe|mips*-*-pe|*arm-wince-pe) noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" ;; - arc-*-*) + arc-*-*|arceb-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-pe*) diff --git a/configure.ac b/configure.ac index d72b40a..b5caebb 100644 --- a/configure.ac +++ b/configure.ac @@ -956,7 +956,7 @@ case "${target}" in sh*-*-pe|mips*-*-pe|*arm-wince-pe) noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" ;; - arc-*-*) + arc-*-*|arceb-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-pe*) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 3b27819..ff29b1e 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com> + + * config-list.mk: Add arc configurations. + 2013-09-27 Diego Novillo <dnovillo@google.com> * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update. diff --git a/contrib/config-list.mk b/contrib/config-list.mk index 85ca6ad..6ab0ca6 100644 --- a/contrib/config-list.mk +++ b/contrib/config-list.mk @@ -14,6 +14,8 @@ TEST=all-gcc LIST = aarch64-elf aarch64-linux-gnu \ alpha-linux-gnu alpha-freebsd6 alpha-netbsd alpha-openbsd \ alpha64-dec-vms alpha-dec-vms am33_2.0-linux \ + arc-elf32OPT-with-cpu=arc600 arc-elf32OPT-with-cpu=arc700 \ + arc-linux-uclibcOPT-with-cpu=arc700 arceb-linux-uclibcOPT-with-cpu=arc700 \ arm-wrs-vxworks arm-netbsdelf \ arm-linux-androideabi arm-uclinux_eabi arm-eabi \ arm-symbianelf avr-rtems avr-elf \ diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8431db0..5b71a25 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com> + Brendan Kehoe <brendan@zen.org> + Simon Cook <simon.cook@embecosm.com> + + * config.gcc (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations. + 2013-10-01 Andrew MacLeod <amacleod@redhat.com> * tree-ssa-live.h (coalesce_ssa_name): Move Prototype to... diff --git a/gcc/config.gcc b/gcc/config.gcc index 605efc0..e6cb55d 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -324,6 +324,9 @@ alpha*-*-*) am33_2.0-*-linux*) cpu_type=mn10300 ;; +arc*-*-*) + cpu_type=arc + ;; arm*-*-*) cpu_type=arm extra_headers="mmintrin.h arm_neon.h" @@ -838,7 +841,7 @@ case ${target} in *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; esac ;; -*-*-elf) +*-*-elf|arc*-*-elf*) # Assume that newlib is being used and so __cxa_atexit is provided. default_use_cxa_atexit=yes use_gcc_stdint=wrap @@ -925,6 +928,54 @@ alpha*-dec-*vms*) tm_file="${tm_file} vms/vms.h alpha/vms.h" tmake_file="${tmake_file} alpha/t-vms" ;; +arc*-*-elf*) + extra_headers="arc-simd.h" + tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" + tmake_file="arc/t-arc-newlib arc/t-arc" + case x"${with_cpu}" in + xarc600|xarc601|xarc700) + target_cpu_default="TARGET_CPU_$with_cpu" + ;; + esac + if test x${with_endian} = x; then + case ${target} in + arc*be-*-* | arc*eb-*-*) with_endian=big ;; + *) with_endian=little ;; + esac + fi + case ${with_endian} in + big|little) ;; + *) echo "with_endian=${with_endian} not supported."; exit 1 ;; + esac + case ${with_endian} in + big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}" + esac + ;; +arc*-*-linux-uclibc*) + extra_headers="arc-simd.h" + tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file}" + tmake_file="${tmake_file} arc/t-arc-uClibc arc/t-arc" + tm_defines="${tm_defines} TARGET_SDATA_DEFAULT=0" + tm_defines="${tm_defines} TARGET_MMEDIUM_CALLS_DEFAULT=1" + case x"${with_cpu}" in + xarc600|xarc601|xarc700) + target_cpu_default="TARGET_CPU_$with_cpu" + ;; + esac + if test x${with_endian} = x; then + case ${target} in + arc*be-*-* | arc*eb-*-*) with_endian=big ;; + *) with_endian=little ;; + esac + fi + case ${with_endian} in + big|little) ;; + *) echo "with_endian=${with_endian} not supported."; exit 1 ;; + esac + case ${with_endian} in + big*) tm_defines="DRIVER_ENDIAN_SELF_SPECS=\\\"%{!EL:%{!mlittle-endian:-mbig-endian}}\\\" ${tm_defines}" + esac + ;; arm-wrs-vxworks) tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h" extra_options="${extra_options} arm/vxworks.opt" @@ -3338,6 +3389,17 @@ case "${target}" in done ;; + arc*-*-*) # was: arc*-*-linux-uclibc) + supported_defaults="cpu" + case $with_cpu in + arc600|arc601|arc700) + ;; + *) echo "Unknown cpu type" + exit 1 + ;; + esac + ;; + arm*-*-*) supported_defaults="arch cpu float tune fpu abi mode tls" for which in cpu tune; do diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 44e0d95..6c50194 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com> + + * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for + _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions. + * configure: Regenerate. + 2013-10-01 Tim Shen <timshen91@gmail.com> PR libstdc++/58576 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 72b90a8..f9d12d0 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -3139,6 +3139,8 @@ EOF if AC_TRY_EVAL(ac_compile); then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes + elif grep _Unwind_SjLj_Register conftest.s >/dev/null 2>&1 ; then + enable_sjlj_exceptions=yes elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=no elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index e1672e0..c436cb9 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -15070,6 +15070,8 @@ EOF test $ac_status = 0; }; then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes + elif grep _Unwind_SjLj_Register conftest.s >/dev/null 2>&1 ; then + enable_sjlj_exceptions=yes elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=no elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then @@ -15402,7 +15404,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; } # Fake what AC_TRY_COMPILE does. cat > conftest.$ac_ext << EOF -#line 15405 "configure" +#line 15407 "configure" int main() { typedef bool atomic_type; @@ -15437,7 +15439,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15440 "configure" +#line 15442 "configure" int main() { typedef short atomic_type; @@ -15472,7 +15474,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15475 "configure" +#line 15477 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -15508,7 +15510,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15511 "configure" +#line 15513 "configure" int main() { typedef long long atomic_type; @@ -15587,7 +15589,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 15590 "configure" +#line 15592 "configure" int main() { _Decimal32 d1; @@ -15629,7 +15631,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 15632 "configure" +#line 15634 "configure" template<typename T1, typename T2> struct same { typedef T2 type; }; @@ -15663,7 +15665,7 @@ $as_echo "$enable_int128" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15666 "configure" +#line 15668 "configure" template<typename T1, typename T2> struct same { typedef T2 type; }; |