]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Configuration bits for ARC port:
authorJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 1 Oct 2013 16:34:40 +0000 (17:34 +0100)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 1 Oct 2013 16:34:40 +0000 (17:34 +0100)
toplevel:

2013-02-25  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.

gcc:

2013-04-03  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.

libstdc++-v3:

2012-08-16  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.

contrib:

2013-09-05  Joern Rennecke  <joern.rennecke@embecosm.com>

        * config-list.mk: Add arc configurations.

From-SVN: r203070

ChangeLog
configure
configure.ac
contrib/ChangeLog
contrib/config-list.mk
gcc/ChangeLog
gcc/config.gcc
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/configure

index 24cc78cc661b57337d40cb58b865d7b653665447..55a5908149d1d76fb53036482ce88d7256fe36d5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index a91689ff4199493e7bfc922d3cb7941fb8a01dda..6ad3c49eaa3c69a90bfbd1b89b63f85d22dbb164 100755 (executable)
--- a/configure
+++ b/configure
@@ -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*)
index d72b40a7af9b59df6c8a56bfbe507e9397ad8d5f..b5caebbaf179609a7c8f06311bd09c37b212e1c9 100644 (file)
@@ -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*)
index 3b2781978eea30469fbb293dd1e4a29ada4865a0..ff29b1e9ab124d8b60c874c09310c83ce583a3bd 100644 (file)
@@ -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.
index 85ca6ad13e0c70d65fb97107f58bca8d95f7b65b..6ab0ca6839765b4aff6e0166682d0a7cd2119007 100644 (file)
@@ -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 \
index 8431db037261496f887ec068607a70863e81f8be..5b71a25acf2cb7fc340fdc1466269e6af3f5d674 100644 (file)
@@ -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...
index 605efc0e090eaf31fb7d8992f1cf452ed5132c9a..e6cb55d316c9b169c89e1fc7bcf20e6e8e97f750 100644 (file)
@@ -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
index 44e0d95c60112331b1fc3b87aa2013ceed858077..6c50194054ff9f51947cbc622d060d07b43cd847 100644 (file)
@@ -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
index 72b90a802522c5fcf4b420e5ef376720d768b000..f9d12d0cd315afc7656ffded42a67b9c82838801 100644 (file)
@@ -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
index e1672e068fdc17cfe7ba7992be07aaa03e31961d..c436cb986363a1b10afc5c4690692d1bce0e995f 100755 (executable)
@@ -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; };