[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts
authorChristophe Lyon <christophe.lyon@st.com>
Tue, 10 Sep 2019 07:37:00 +0000 (09:37 +0200)
committerChristophe Lyon <clyon@gcc.gnu.org>
Tue, 10 Sep 2019 07:37:00 +0000 (09:37 +0200)
The new arm-uclinuxfdpiceabi target behaves pretty much like
arm-linux-gnueabi. In order to enable the same set of features, we
have to update several configure scripts that generally match targets
like *-*-linux*: in most places, we add *-uclinux* where there is
already *-linux*, or uclinux* when there is already linux*.

In gcc/config.gcc and libgcc/config.host we use *-*-uclinuxfdpiceabi
because there is already a different behaviour for *-*uclinux* target.

In libtool.m4, we use uclinuxfdpiceabi in cases where ELF shared
libraries support is required, as uclinux does not guarantee that.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

config/
* futex.m4: Handle *-uclinux*.
* tls.m4 (GCC_CHECK_TLS): Likewise.

gcc/
* config.gcc: Handle *-*-uclinuxfdpiceabi.

libatomic/
* configure.tgt: Handle arm*-*-uclinux*.
* configure: Regenerate.

libgcc/
* config.host: Handle *-*-uclinuxfdpiceabi.

libitm/
* configure.tgt: Handle *-*-uclinux*.
* configure: Regenerate.

* libtool.m4: Handle uclinuxfdpiceabi.

From-SVN: r275564

15 files changed:
ChangeLog
config/ChangeLog
config/futex.m4
config/tls.m4
gcc/ChangeLog
gcc/config.gcc
libatomic/ChangeLog
libatomic/configure
libatomic/configure.tgt
libgcc/ChangeLog
libgcc/config.host
libitm/ChangeLog
libitm/configure
libitm/configure.tgt
libtool.m4

index 3685a2472db39c5f8601707cb18a2475dcc46338..fed0b11c6509ec236203e990d6440442b27762e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+        * libtool.m4: Handle uclinuxfdpiceabi.
+
 2019-09-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * MAINTAINERS: Add myself as the maintainer of the eBPF port.
index 2e7b8c242569402af91f3d8d5dea472161d84ade..792e280cec4efb36a61c61decd9533c620caf505 100644 (file)
@@ -1,3 +1,8 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+       * futex.m4: Handle *-uclinux*.
+       * tls.m4 (GCC_CHECK_TLS): Likewise.
+
 2019-09-06  Florian Weimer  <fweimer@redhat.com>
 
        * futex.m4 (GCC_LINUX_FUTEX): Include <unistd.h> for the syscall
index 1b4382951620c732af21b700b8dbd49ccedb6fb7..c21243854a9381fca22c6c949c4c2f8ae1a12b81 100644 (file)
@@ -9,7 +9,7 @@ AC_DEFUN([GCC_LINUX_FUTEX],[dnl
 GCC_ENABLE(linux-futex,default, ,[use the Linux futex system call],
           permit yes|no|default)
 case "$target" in
-  *-linux*)
+  *-linux* | *-uclinux*)
     case "$enable_linux_futex" in
       default)
        # If headers don't have gettid/futex syscalls definition, then
index 1a5fc59c2b4e3c2abc159a0f487e0bc4968e400b..7532305b908abf8c9874d466dc91eeed18954933 100644 (file)
@@ -76,7 +76,7 @@ AC_DEFUN([GCC_CHECK_TLS], [
          dnl Shared library options may depend on the host; this check
          dnl is only known to be needed for GNU/Linux.
          case $host in
-           *-*-linux*)
+           *-*-linux* | -*-uclinuxfdpic*)
              LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
              ;;
          esac
index 8fae4ec0280daa945da5ae9b7f92e769015b0a68..d437968f11b0c01c32613c99000f203030c88272 100644 (file)
@@ -1,3 +1,7 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+        * config.gcc: Handle *-*-uclinuxfdpiceabi.
+
 2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
        Mickaël Guêné  <mickael.guene@st.com>
 
index 0eba7ca1d4d3436ceb765c01c49d6664463fe7cc..3554449ff0c114db6bc426158e1c15fc5f1e0f76 100644 (file)
@@ -774,7 +774,7 @@ case ${target} in
 *-*-fuchsia*)
   native_system_header_dir=/include
   ;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi)
   extra_options="$extra_options gnu-user.opt"
   gas=yes
   gnu_ld=yes
@@ -803,7 +803,7 @@ case ${target} in
     *-*-*android*)
       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
       ;;
-    *-*-*uclibc*)
+    *-*-*uclibc* | *-*-uclinuxfdpiceabi)
       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
       ;;
     *-*-*musl*)
@@ -1201,7 +1201,7 @@ arm*-*-netbsdelf*)
        armv7*) target_cpu_cname="generic-armv7-a";;
        esac
        ;;
-arm*-*-linux-*)                        # ARM GNU/Linux with ELF
+arm*-*-linux-* | arm*-*-uclinuxfdpiceabi)
        tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
        extra_options="${extra_options} linux-android.opt"
        case $target in
index 8eee64e85b57c80a1f10e1eb07fe72f974bcf781..ffc722d1aea4d35e20239257da685497573517aa 100644 (file)
@@ -1,3 +1,8 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+        * configure.tgt: Handle arm*-*-uclinux*.
+        * configure: Regenerate.
+
 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
 
        PR other/79543
index e6f5fb743edac554fe861b2cea07bb9cff44f6c7..7bd01a1fe620a75c0503d05c15abb7744911c95d 100755 (executable)
@@ -6055,7 +6055,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -9135,7 +9135,7 @@ _LT_EOF
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
        case $cc_basename in
@@ -10666,7 +10666,12 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being.  (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   version_type=linux
   need_lib_prefix=no
   need_version=no
index 4a1294bc1ffff09396c78811aac39161e55df1bf..61778fb8135e30b6511a706a4a175aff782cc7b5 100644 (file)
@@ -124,7 +124,7 @@ case "${target}" in
        config_path="${config_path} linux/aarch64 posix"
        ;;
 
-  arm*-*-linux*)
+  arm*-*-linux* | arm*-*-uclinux*)
        # OS support for atomic primitives.
        config_path="${config_path} linux/arm posix"
        ;;
index fdbc009925eb415385e1975a6a74050b58f016b0..7696452b1d898179e42f61dc79d648a871e1ec23 100644 (file)
@@ -1,3 +1,7 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+        * config.host: Handle *-*-uclinuxfdpiceabi.
+
 2019-09-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * config.host: Set cpu_type for bpf-*-* targets.
index b5826feec46f98f02b965346bf59032e2d861d56..728e543ea3961efe1055d8a99accac4b4a0df5ac 100644 (file)
@@ -248,7 +248,7 @@ case ${host} in
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
   extra_parts="crtbegin.o crtend.o"
   ;;
-*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
+*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi)
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   if test x$enable_vtable_verify = xyes; then
@@ -453,7 +453,7 @@ arm*-*-netbsdelf*)
            ;;
        esac
        ;;
-arm*-*-linux*)                 # ARM GNU/Linux with ELF
+arm*-*-linux* | arm*-*-uclinuxfdpiceabi)
        tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm"
        tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
        tm_file="$tm_file arm/bpabi-lib.h"
index 567c1d09d47bd21dc5a7249e8d3a17a9866a9972..39e84517a347f499d647e8d2e2f9fd31d3b8b1b8 100644 (file)
@@ -1,3 +1,8 @@
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+        * configure.tgt: Handle *-*-uclinux*.
+        * configure: Regenerate.
+
 2019-09-06  Florian Weimer  <fweimer@redhat.com>
 
        * configure: Regenerate.
index c466ae05aa55a5283f4609303c07efb2e50893f0..5315fab5f7a24c59238ffbd760153f8925c35970 100644 (file)
@@ -6731,7 +6731,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -9812,7 +9812,7 @@ _LT_EOF
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
        case $cc_basename in
@@ -11343,7 +11343,12 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being.  (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -15003,7 +15008,12 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being.  (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -16468,7 +16478,7 @@ fi
 
 
 case "$target" in
-  *-linux*)
+  *-linux* | *-uclinux*)
     case "$enable_linux_futex" in
       default)
        # If headers don't have gettid/futex syscalls definition, then
@@ -16593,7 +16603,7 @@ _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   chktls_save_LDFLAGS="$LDFLAGS"
                          case $host in
-           *-*-linux*)
+           *-*-linux* | -*-uclinuxfdpic*)
              LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
              ;;
          esac
index 4c0b602034bd9b53d5486ad9964ea092a47d904a..eea865d6aa3b1dff5aedccbfde88fac029eae895 100644 (file)
@@ -127,7 +127,7 @@ config_path="$ARCH posix generic"
 
 # Other system configury
 case "${target}" in
-  *-*-linux*)
+  *-*-linux* | *-*-uclinux*)
        if test "$enable_linux_futex" = yes; then
          config_path="linux/$ARCH linux $config_path"
        fi
index 8966762881f63f1a265e7c93d09a5aa2db3a1093..e194e899fcfb5b6b7d7cb6f1bbdb114b9e1f0d5b 100644 (file)
@@ -2449,7 +2449,12 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+
+# uclinux* changes (here and below) have been submitted to the libtool
+# project, but have not yet been accepted: they are GCC-local changes
+# for the time being.  (See
+# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -3089,7 +3094,7 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -4449,7 +4454,7 @@ _LT_EOF
       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
        case $cc_basename in