Message ID | 20180713161136.29104-3-christophe.lyon@st.com |
---|---|
State | Superseded |
Headers | show |
Series | FDPIC ABI for ARM | expand |
On 13/07/18 17:10, christophe.lyon@st.com wrote: > From: Christophe Lyon <christophe.lyon@linaro.org> > > The new arm-uclinuxfdpiceabi target behaves pretty much like > arm-linux-gnueabi. In order the 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. > > 2018-XX-XX Christophe Lyon <christophe.lyon@st.com> > > * config/futex.m4: Handle *-uclinux*. > * config/tls.m4 (GCC_CHECK_TLS): Likewise. > * gcc/config.gcc: Handle *-*-uclinuxfdpiceabi. > * libatomic/configure.tgt: Handle arm*-*-uclinux*. > * libgcc/config.host: Handle *-*-uclinuxfdpiceabi. > * libitm/configure.tgt: Handle *-*-uclinux*. > * libatomic/configure: Regenerate. > * libitm/configure: Regenerate. > * libstdc++-v3/acinclude.m4: Handle uclinux*. > * libstdc++-v3/configure: Regenerate. > * libstdc++-v3/configure.host: Handle uclinux* > * libtool.m4: Handle uclinux*. > Most of these sub-directories have their own ChangeLogs (just for the record). What happens if a user tries to configure armeb-*-linuxfdpiceabi. Is this an unsupported configuration? Will this error out? I think some regexes here will allow such a target. Is the target triplet set in stone now? I think Richard had some thoughts on the naming... Thanks, Kyrill > Change-Id: I6a1fdcd9847d8a82179a214612a3474c1f492916 > > diff --git a/config/futex.m4 b/config/futex.m4 > index e95144d..4dffe15 100644 > --- a/config/futex.m4 > +++ b/config/futex.m4 > @@ -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 > diff --git a/config/tls.m4 b/config/tls.m4 > index 4e170c8..5a8676e 100644 > --- a/config/tls.m4 > +++ b/config/tls.m4 > @@ -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* | -*-uclinux*) > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > ;; > esac > diff --git a/gcc/config.gcc b/gcc/config.gcc > index ef67c88..808ff82 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -759,7 +759,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 > @@ -768,7 +768,7 @@ case ${target} in > esac > tmake_file="t-slibgcc" > case $target in > - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi) > :;; > *-*-gnu*) > native_system_header_dir=/include > @@ -788,7 +788,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*) > @@ -1135,7 +1135,7 @@ arm*-*-netbsdelf*) > tmake_file="${tmake_file} arm/t-arm" > target_cpu_cname="arm6" > ;; > -arm*-*-linux-*) # ARM GNU/Linux with ELF > +arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > 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 > diff --git a/libatomic/configure b/libatomic/configure > index b902e2c..5b3ef8e 100755 > --- a/libatomic/configure > +++ b/libatomic/configure > @@ -5819,7 +5819,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 > ;; > > @@ -8305,7 +8305,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > lt_prog_compiler_static='-non_shared' > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > # old Intel for x86_64 which still supported -KPIC. > ecc*) > @@ -8900,7 +8900,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 > @@ -10431,7 +10431,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt > index ea8c34f..c1a608f 100644 > --- a/libatomic/configure.tgt > +++ b/libatomic/configure.tgt > @@ -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" > ;; > diff --git a/libgcc/config.host b/libgcc/config.host > index 18cabaf..9bcf430 100644 > --- a/libgcc/config.host > +++ b/libgcc/config.host > @@ -235,7 +235,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 > @@ -421,7 +421,7 @@ arm*-*-fuchsia*) > arm*-*-netbsdelf*) > tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover" > ;; > -arm*-*-linux*) # ARM GNU/Linux with ELF > +arm*-*-linux* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > 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" > diff --git a/libitm/configure b/libitm/configure > index dbf386d..fd82500 100644 > --- a/libitm/configure > +++ b/libitm/configure > @@ -6494,7 +6494,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 > ;; > > @@ -8981,7 +8981,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > lt_prog_compiler_static='-non_shared' > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > # old Intel for x86_64 which still supported -KPIC. > ecc*) > @@ -9576,7 +9576,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 > @@ -11107,7 +11107,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > @@ -13008,7 +13008,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > inherit_rpath_CXX=yes > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > case $cc_basename in > KCC*) > # Kuck and Associates, Inc. (KAI) C++ Compiler > @@ -13595,7 +13595,7 @@ interix[3-9]*) > postdeps_CXX= > ;; > > -linux*) > +linux* | uclinux*) > case `$CC -V 2>&1 | sed 5q` in > *Sun\ C*) > # Sun C++ 5.9 > @@ -13846,7 +13846,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > ;; > esac > ;; > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > KCC*) > # KAI C++ Compiler > @@ -14767,7 +14767,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > @@ -16239,7 +16239,7 @@ fi > > > case "$target" in > - *-linux*) > + *-linux* | *-uclinux*) > case "$enable_linux_futex" in > default) > # If headers don't have gettid/futex syscalls definition, then > @@ -16362,7 +16362,7 @@ _ACEOF > if ac_fn_c_try_link "$LINENO"; then : > chktls_save_LDFLAGS="$LDFLAGS" > case $host in > - *-*-linux*) > + *-*-linux* | -*-uclinux*) > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > ;; > esac > diff --git a/libitm/configure.tgt b/libitm/configure.tgt > index 0cbb097..bc6c3ca 100644 > --- a/libitm/configure.tgt > +++ b/libitm/configure.tgt > @@ -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 > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 > index cf5add1..fc49a97 100644 > --- a/libstdc++-v3/acinclude.m4 > +++ b/libstdc++-v3/acinclude.m4 > @@ -1403,7 +1403,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > ac_has_nanosleep=yes > ac_has_sched_yield=yes > ;; > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > AC_MSG_CHECKING([for at least GNU libc 2.17]) > AC_TRY_COMPILE( > [#include <features.h>], > @@ -1525,7 +1525,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > > if test x"$ac_has_clock_monotonic" != x"yes"; then > case ${target_os} in > - linux*) > + linux* | uclinux*) > AC_MSG_CHECKING([for clock_gettime syscall]) > AC_TRY_COMPILE( > [#include <unistd.h> > @@ -2410,7 +2410,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ > # Default to "generic". > if test $enable_clocale_flag = auto; then > case ${target_os} in > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_clocale_flag=gnu > ;; > darwin*) > @@ -2656,7 +2656,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [ > # Default to "new". > if test $enable_libstdcxx_allocator_flag = auto; then > case ${target_os} in > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_libstdcxx_allocator_flag=new > ;; > *) > @@ -4290,7 +4290,7 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > enable_libstdcxx_filesystem_ts=yes > ;; > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_libstdcxx_filesystem_ts=yes > ;; > rtems*) > @@ -4438,7 +4438,7 @@ dnl > AC_MSG_CHECKING([for sendfile that can copy files]) > AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl > case "${target_os}" in > - gnu* | linux* | solaris*) > + gnu* | linux* | solaris* | uclinux*) > GCC_TRY_COMPILE_OR_LINK( > [#include <sys/sendfile.h>], > [sendfile(1, 2, (off_t*)0, sizeof 1);], > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure > index d126add..827266d 100755 > --- a/libstdc++-v3/configure > +++ b/libstdc++-v3/configure > @@ -6414,7 +6414,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 > ;; > > @@ -8766,7 +8766,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > lt_prog_compiler_static='-non_shared' > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > # old Intel for x86_64 which still supported -KPIC. > ecc*) > @@ -9361,7 +9361,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 > @@ -10901,7 +10901,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > @@ -12826,7 +12826,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > inherit_rpath_CXX=yes > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > case $cc_basename in > KCC*) > # Kuck and Associates, Inc. (KAI) C++ Compiler > @@ -13413,7 +13413,7 @@ interix[3-9]*) > postdeps_CXX= > ;; > > -linux*) > +linux* | uclinux*) > case `$CC -V 2>&1 | sed 5q` in > *Sun\ C*) > # Sun C++ 5.9 > @@ -13664,7 +13664,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > ;; > esac > ;; > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > KCC*) > # KAI C++ Compiler > @@ -14585,7 +14585,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > @@ -15842,7 +15842,7 @@ fi > # Default to "generic". > if test $enable_clocale_flag = auto; then > case ${target_os} in > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_clocale_flag=gnu > ;; > darwin*) > @@ -16259,7 +16259,7 @@ fi > # Default to "new". > if test $enable_libstdcxx_allocator_flag = auto; then > case ${target_os} in > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_libstdcxx_allocator_flag=new > ;; > *) > @@ -20535,7 +20535,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu > ac_has_nanosleep=yes > ac_has_sched_yield=yes > ;; > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at least GNU libc 2.17" >&5 > $as_echo_n "checking for at least GNU libc 2.17... " >&6; } > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > @@ -21035,7 +21035,7 @@ $as_echo "$ac_has_nanosleep" >&6; } > > if test x"$ac_has_clock_monotonic" != x"yes"; then > case ${target_os} in > - linux*) > + linux* | uclinux*) > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 > $as_echo_n "checking for clock_gettime syscall... " >&6; } > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > @@ -27927,7 +27927,7 @@ _ACEOF > if ac_fn_c_try_link "$LINENO"; then : > chktls_save_LDFLAGS="$LDFLAGS" > case $host in > - *-*-linux*) > + *-*-linux* | -*-uclinux*) > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > ;; > esac > @@ -53603,7 +53603,7 @@ _ACEOF > if ac_fn_c_try_link "$LINENO"; then : > chktls_save_LDFLAGS="$LDFLAGS" > case $host in > - *-*-linux*) > + *-*-linux* | -*-uclinux*) > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > ;; > esac > @@ -59804,7 +59804,7 @@ _ACEOF > if ac_fn_c_try_link "$LINENO"; then : > chktls_save_LDFLAGS="$LDFLAGS" > case $host in > - *-*-linux*) > + *-*-linux* | -*-uclinux*) > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > ;; > esac > @@ -78438,7 +78438,7 @@ fi > > > case "$target" in > - *-linux*) > + *-linux* | *-uclinux*) > case "$enable_linux_futex" in > default) > # If headers don't have gettid/futex syscalls definition, then > @@ -80074,7 +80074,7 @@ $as_echo_n "checking whether to build Filesystem TS support... " >&6; } > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > enable_libstdcxx_filesystem_ts=yes > ;; > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > enable_libstdcxx_filesystem_ts=yes > ;; > rtems*) > @@ -80498,7 +80498,7 @@ $as_echo_n "checking for sendfile that can copy files... " >&6; } > $as_echo_n "(cached) " >&6 > else > case "${target_os}" in > - gnu* | linux* | solaris*) > + gnu* | linux* | solaris* | uclinux*) > if test x$gcc_no_link = xyes; then > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > /* end confdefs.h. */ > diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host > index caea9de..067d6e1 100644 > --- a/libstdc++-v3/configure.host > +++ b/libstdc++-v3/configure.host > @@ -261,7 +261,7 @@ case "${host_os}" in > linux-musl*) > os_include_dir="os/generic" > ;; > - gnu* | linux* | kfreebsd*-gnu) > + gnu* | linux* | kfreebsd*-gnu | uclinux*) > if [ "$uclibc" = "yes" ]; then > os_include_dir="os/uclibc" > elif [ "$bionic" = "yes" ]; then > @@ -324,7 +324,7 @@ esac > # Set any OS-dependent and CPU-dependent bits. > # THIS TABLE IS SORTED. KEEP IT THAT WAY. > case "${host}" in > - *-*-linux*) > + *-*-linux* | *-*-uclinux*) > case "${host_cpu}" in > i[567]86) > abi_baseline_pair=i486-linux-gnu > @@ -355,7 +355,7 @@ case "${host}" in > fi > esac > case "${host}" in > - arm*-*-linux-*) > + arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) > port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver" > ;; > esac > diff --git a/libtool.m4 b/libtool.m4 > index 24d13f3..048931b 100644 > --- a/libtool.m4 > +++ b/libtool.m4 > @@ -2449,7 +2449,7 @@ linux*oldld* | linux*aout* | linux*coff*) > ;; > > # This must be Linux ELF. > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > version_type=linux > need_lib_prefix=no > need_version=no > @@ -3089,7 +3089,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 > ;; > > @@ -3734,7 +3734,7 @@ m4_if([$1], [CXX], [ > ;; > esac > ;; > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > KCC*) > # KAI C++ Compiler > @@ -4032,7 +4032,7 @@ m4_if([$1], [CXX], [ > _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > case $cc_basename in > # old Intel for x86_64 which still supported -KPIC. > ecc*) > @@ -4449,7 +4449,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 > @@ -5946,7 +5946,7 @@ if test "$_lt_caught_CXX_error" != yes; then > _LT_TAGVAR(inherit_rpath, $1)=yes > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > case $cc_basename in > KCC*) > # Kuck and Associates, Inc. (KAI) C++ Compiler > @@ -6598,7 +6598,7 @@ interix[[3-9]]*) > _LT_TAGVAR(postdeps,$1)= > ;; > > -linux*) > +linux* | uclinux*) > case `$CC -V 2>&1 | sed 5q` in > *Sun\ C*) > # Sun C++ 5.9 > -- > 2.6.3 >
On Wed, 29 Aug 2018 at 12:46, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote: > > > On 13/07/18 17:10, christophe.lyon@st.com wrote: > > From: Christophe Lyon <christophe.lyon@linaro.org> > > > > The new arm-uclinuxfdpiceabi target behaves pretty much like > > arm-linux-gnueabi. In order the 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. > > > > 2018-XX-XX Christophe Lyon <christophe.lyon@st.com> > > > > * config/futex.m4: Handle *-uclinux*. > > * config/tls.m4 (GCC_CHECK_TLS): Likewise. > > * gcc/config.gcc: Handle *-*-uclinuxfdpiceabi. > > * libatomic/configure.tgt: Handle arm*-*-uclinux*. > > * libgcc/config.host: Handle *-*-uclinuxfdpiceabi. > > * libitm/configure.tgt: Handle *-*-uclinux*. > > * libatomic/configure: Regenerate. > > * libitm/configure: Regenerate. > > * libstdc++-v3/acinclude.m4: Handle uclinux*. > > * libstdc++-v3/configure: Regenerate. > > * libstdc++-v3/configure.host: Handle uclinux* > > * libtool.m4: Handle uclinux*. > > > > Most of these sub-directories have their own ChangeLogs (just for the record). > What happens if a user tries to configure armeb-*-linuxfdpiceabi. Is this an unsupported configuration? > Will this error out? I think some regexes here will allow such a target. Yes. I wondered about that. I must admit I haven't tested it, but since I don't think anything in the patch series is endianness-dependent, I thought I should include armeb. Do you prefer I remove it? > > Is the target triplet set in stone now? I think it is part of binutils-2.31, but we can probably still change it, since the whole toolchain isn't available yet, no product should rely on the target name. It will be just painful to adjust the testsuite again > I think Richard had some thoughts on the naming... > > Thanks, > Kyrill > > > Change-Id: I6a1fdcd9847d8a82179a214612a3474c1f492916 > > > > diff --git a/config/futex.m4 b/config/futex.m4 > > index e95144d..4dffe15 100644 > > --- a/config/futex.m4 > > +++ b/config/futex.m4 > > @@ -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 > > diff --git a/config/tls.m4 b/config/tls.m4 > > index 4e170c8..5a8676e 100644 > > --- a/config/tls.m4 > > +++ b/config/tls.m4 > > @@ -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* | -*-uclinux*) > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > ;; > > esac > > diff --git a/gcc/config.gcc b/gcc/config.gcc > > index ef67c88..808ff82 100644 > > --- a/gcc/config.gcc > > +++ b/gcc/config.gcc > > @@ -759,7 +759,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 > > @@ -768,7 +768,7 @@ case ${target} in > > esac > > tmake_file="t-slibgcc" > > case $target in > > - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > > + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi) > > :;; > > *-*-gnu*) > > native_system_header_dir=/include > > @@ -788,7 +788,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*) > > @@ -1135,7 +1135,7 @@ arm*-*-netbsdelf*) > > tmake_file="${tmake_file} arm/t-arm" > > target_cpu_cname="arm6" > > ;; > > -arm*-*-linux-*) # ARM GNU/Linux with ELF > > +arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > > 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 > > diff --git a/libatomic/configure b/libatomic/configure > > index b902e2c..5b3ef8e 100755 > > --- a/libatomic/configure > > +++ b/libatomic/configure > > @@ -5819,7 +5819,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 > > ;; > > > > @@ -8305,7 +8305,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > lt_prog_compiler_static='-non_shared' > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > # old Intel for x86_64 which still supported -KPIC. > > ecc*) > > @@ -8900,7 +8900,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 > > @@ -10431,7 +10431,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt > > index ea8c34f..c1a608f 100644 > > --- a/libatomic/configure.tgt > > +++ b/libatomic/configure.tgt > > @@ -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" > > ;; > > diff --git a/libgcc/config.host b/libgcc/config.host > > index 18cabaf..9bcf430 100644 > > --- a/libgcc/config.host > > +++ b/libgcc/config.host > > @@ -235,7 +235,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 > > @@ -421,7 +421,7 @@ arm*-*-fuchsia*) > > arm*-*-netbsdelf*) > > tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover" > > ;; > > -arm*-*-linux*) # ARM GNU/Linux with ELF > > +arm*-*-linux* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > > 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" > > diff --git a/libitm/configure b/libitm/configure > > index dbf386d..fd82500 100644 > > --- a/libitm/configure > > +++ b/libitm/configure > > @@ -6494,7 +6494,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 > > ;; > > > > @@ -8981,7 +8981,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > lt_prog_compiler_static='-non_shared' > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > # old Intel for x86_64 which still supported -KPIC. > > ecc*) > > @@ -9576,7 +9576,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 > > @@ -11107,7 +11107,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > @@ -13008,7 +13008,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > > inherit_rpath_CXX=yes > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > case $cc_basename in > > KCC*) > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > @@ -13595,7 +13595,7 @@ interix[3-9]*) > > postdeps_CXX= > > ;; > > > > -linux*) > > +linux* | uclinux*) > > case `$CC -V 2>&1 | sed 5q` in > > *Sun\ C*) > > # Sun C++ 5.9 > > @@ -13846,7 +13846,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > ;; > > esac > > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > KCC*) > > # KAI C++ Compiler > > @@ -14767,7 +14767,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > @@ -16239,7 +16239,7 @@ fi > > > > > > case "$target" in > > - *-linux*) > > + *-linux* | *-uclinux*) > > case "$enable_linux_futex" in > > default) > > # If headers don't have gettid/futex syscalls definition, then > > @@ -16362,7 +16362,7 @@ _ACEOF > > if ac_fn_c_try_link "$LINENO"; then : > > chktls_save_LDFLAGS="$LDFLAGS" > > case $host in > > - *-*-linux*) > > + *-*-linux* | -*-uclinux*) > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > ;; > > esac > > diff --git a/libitm/configure.tgt b/libitm/configure.tgt > > index 0cbb097..bc6c3ca 100644 > > --- a/libitm/configure.tgt > > +++ b/libitm/configure.tgt > > @@ -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 > > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 > > index cf5add1..fc49a97 100644 > > --- a/libstdc++-v3/acinclude.m4 > > +++ b/libstdc++-v3/acinclude.m4 > > @@ -1403,7 +1403,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > > ac_has_nanosleep=yes > > ac_has_sched_yield=yes > > ;; > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > AC_MSG_CHECKING([for at least GNU libc 2.17]) > > AC_TRY_COMPILE( > > [#include <features.h>], > > @@ -1525,7 +1525,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > > > > if test x"$ac_has_clock_monotonic" != x"yes"; then > > case ${target_os} in > > - linux*) > > + linux* | uclinux*) > > AC_MSG_CHECKING([for clock_gettime syscall]) > > AC_TRY_COMPILE( > > [#include <unistd.h> > > @@ -2410,7 +2410,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ > > # Default to "generic". > > if test $enable_clocale_flag = auto; then > > case ${target_os} in > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_clocale_flag=gnu > > ;; > > darwin*) > > @@ -2656,7 +2656,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [ > > # Default to "new". > > if test $enable_libstdcxx_allocator_flag = auto; then > > case ${target_os} in > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_libstdcxx_allocator_flag=new > > ;; > > *) > > @@ -4290,7 +4290,7 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ > > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > > enable_libstdcxx_filesystem_ts=yes > > ;; > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_libstdcxx_filesystem_ts=yes > > ;; > > rtems*) > > @@ -4438,7 +4438,7 @@ dnl > > AC_MSG_CHECKING([for sendfile that can copy files]) > > AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl > > case "${target_os}" in > > - gnu* | linux* | solaris*) > > + gnu* | linux* | solaris* | uclinux*) > > GCC_TRY_COMPILE_OR_LINK( > > [#include <sys/sendfile.h>], > > [sendfile(1, 2, (off_t*)0, sizeof 1);], > > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure > > index d126add..827266d 100755 > > --- a/libstdc++-v3/configure > > +++ b/libstdc++-v3/configure > > @@ -6414,7 +6414,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 > > ;; > > > > @@ -8766,7 +8766,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > lt_prog_compiler_static='-non_shared' > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > # old Intel for x86_64 which still supported -KPIC. > > ecc*) > > @@ -9361,7 +9361,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 > > @@ -10901,7 +10901,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > @@ -12826,7 +12826,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > > inherit_rpath_CXX=yes > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > case $cc_basename in > > KCC*) > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > @@ -13413,7 +13413,7 @@ interix[3-9]*) > > postdeps_CXX= > > ;; > > > > -linux*) > > +linux* | uclinux*) > > case `$CC -V 2>&1 | sed 5q` in > > *Sun\ C*) > > # Sun C++ 5.9 > > @@ -13664,7 +13664,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > ;; > > esac > > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > KCC*) > > # KAI C++ Compiler > > @@ -14585,7 +14585,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > @@ -15842,7 +15842,7 @@ fi > > # Default to "generic". > > if test $enable_clocale_flag = auto; then > > case ${target_os} in > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_clocale_flag=gnu > > ;; > > darwin*) > > @@ -16259,7 +16259,7 @@ fi > > # Default to "new". > > if test $enable_libstdcxx_allocator_flag = auto; then > > case ${target_os} in > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_libstdcxx_allocator_flag=new > > ;; > > *) > > @@ -20535,7 +20535,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu > > ac_has_nanosleep=yes > > ac_has_sched_yield=yes > > ;; > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at least GNU libc 2.17" >&5 > > $as_echo_n "checking for at least GNU libc 2.17... " >&6; } > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > @@ -21035,7 +21035,7 @@ $as_echo "$ac_has_nanosleep" >&6; } > > > > if test x"$ac_has_clock_monotonic" != x"yes"; then > > case ${target_os} in > > - linux*) > > + linux* | uclinux*) > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 > > $as_echo_n "checking for clock_gettime syscall... " >&6; } > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > @@ -27927,7 +27927,7 @@ _ACEOF > > if ac_fn_c_try_link "$LINENO"; then : > > chktls_save_LDFLAGS="$LDFLAGS" > > case $host in > > - *-*-linux*) > > + *-*-linux* | -*-uclinux*) > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > ;; > > esac > > @@ -53603,7 +53603,7 @@ _ACEOF > > if ac_fn_c_try_link "$LINENO"; then : > > chktls_save_LDFLAGS="$LDFLAGS" > > case $host in > > - *-*-linux*) > > + *-*-linux* | -*-uclinux*) > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > ;; > > esac > > @@ -59804,7 +59804,7 @@ _ACEOF > > if ac_fn_c_try_link "$LINENO"; then : > > chktls_save_LDFLAGS="$LDFLAGS" > > case $host in > > - *-*-linux*) > > + *-*-linux* | -*-uclinux*) > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > ;; > > esac > > @@ -78438,7 +78438,7 @@ fi > > > > > > case "$target" in > > - *-linux*) > > + *-linux* | *-uclinux*) > > case "$enable_linux_futex" in > > default) > > # If headers don't have gettid/futex syscalls definition, then > > @@ -80074,7 +80074,7 @@ $as_echo_n "checking whether to build Filesystem TS support... " >&6; } > > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > > enable_libstdcxx_filesystem_ts=yes > > ;; > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > enable_libstdcxx_filesystem_ts=yes > > ;; > > rtems*) > > @@ -80498,7 +80498,7 @@ $as_echo_n "checking for sendfile that can copy files... " >&6; } > > $as_echo_n "(cached) " >&6 > > else > > case "${target_os}" in > > - gnu* | linux* | solaris*) > > + gnu* | linux* | solaris* | uclinux*) > > if test x$gcc_no_link = xyes; then > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > /* end confdefs.h. */ > > diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host > > index caea9de..067d6e1 100644 > > --- a/libstdc++-v3/configure.host > > +++ b/libstdc++-v3/configure.host > > @@ -261,7 +261,7 @@ case "${host_os}" in > > linux-musl*) > > os_include_dir="os/generic" > > ;; > > - gnu* | linux* | kfreebsd*-gnu) > > + gnu* | linux* | kfreebsd*-gnu | uclinux*) > > if [ "$uclibc" = "yes" ]; then > > os_include_dir="os/uclibc" > > elif [ "$bionic" = "yes" ]; then > > @@ -324,7 +324,7 @@ esac > > # Set any OS-dependent and CPU-dependent bits. > > # THIS TABLE IS SORTED. KEEP IT THAT WAY. > > case "${host}" in > > - *-*-linux*) > > + *-*-linux* | *-*-uclinux*) > > case "${host_cpu}" in > > i[567]86) > > abi_baseline_pair=i486-linux-gnu > > @@ -355,7 +355,7 @@ case "${host}" in > > fi > > esac > > case "${host}" in > > - arm*-*-linux-*) > > + arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) > > port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver" > > ;; > > esac > > diff --git a/libtool.m4 b/libtool.m4 > > index 24d13f3..048931b 100644 > > --- a/libtool.m4 > > +++ b/libtool.m4 > > @@ -2449,7 +2449,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > ;; > > > > # This must be Linux ELF. > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > version_type=linux > > need_lib_prefix=no > > need_version=no > > @@ -3089,7 +3089,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 > > ;; > > > > @@ -3734,7 +3734,7 @@ m4_if([$1], [CXX], [ > > ;; > > esac > > ;; > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > KCC*) > > # KAI C++ Compiler > > @@ -4032,7 +4032,7 @@ m4_if([$1], [CXX], [ > > _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > case $cc_basename in > > # old Intel for x86_64 which still supported -KPIC. > > ecc*) > > @@ -4449,7 +4449,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 > > @@ -5946,7 +5946,7 @@ if test "$_lt_caught_CXX_error" != yes; then > > _LT_TAGVAR(inherit_rpath, $1)=yes > > ;; > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > case $cc_basename in > > KCC*) > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > @@ -6598,7 +6598,7 @@ interix[[3-9]]*) > > _LT_TAGVAR(postdeps,$1)= > > ;; > > > > -linux*) > > +linux* | uclinux*) > > case `$CC -V 2>&1 | sed 5q` in > > *Sun\ C*) > > # Sun C++ 5.9 > > -- > > 2.6.3 > > >
On Fri, 31 Aug 2018 at 16:13, Christophe Lyon <christophe.lyon@linaro.org> wrote: > > On Wed, 29 Aug 2018 at 12:46, Kyrill Tkachov > <kyrylo.tkachov@foss.arm.com> wrote: > > > > > > On 13/07/18 17:10, christophe.lyon@st.com wrote: > > > From: Christophe Lyon <christophe.lyon@linaro.org> > > > > > > The new arm-uclinuxfdpiceabi target behaves pretty much like > > > arm-linux-gnueabi. In order the 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. > > > > > > 2018-XX-XX Christophe Lyon <christophe.lyon@st.com> > > > > > > * config/futex.m4: Handle *-uclinux*. > > > * config/tls.m4 (GCC_CHECK_TLS): Likewise. > > > * gcc/config.gcc: Handle *-*-uclinuxfdpiceabi. > > > * libatomic/configure.tgt: Handle arm*-*-uclinux*. > > > * libgcc/config.host: Handle *-*-uclinuxfdpiceabi. > > > * libitm/configure.tgt: Handle *-*-uclinux*. > > > * libatomic/configure: Regenerate. > > > * libitm/configure: Regenerate. > > > * libstdc++-v3/acinclude.m4: Handle uclinux*. > > > * libstdc++-v3/configure: Regenerate. > > > * libstdc++-v3/configure.host: Handle uclinux* > > > * libtool.m4: Handle uclinux*. > > > > > > > Most of these sub-directories have their own ChangeLogs (just for the record). > > What happens if a user tries to configure armeb-*-linuxfdpiceabi. Is this an unsupported configuration? > > Will this error out? I think some regexes here will allow such a target. > > Yes. I wondered about that. I must admit I haven't tested it, but > since I don't think anything in the patch series is > endianness-dependent, I thought I should include armeb. > Do you prefer I remove it? > > > > Is the target triplet set in stone now? > I think it is part of binutils-2.31, but we can probably still change > it, since the whole toolchain isn't available yet, no product should > rely on the target name. > > It will be just painful to adjust the testsuite again > > > I think Richard had some thoughts on the naming... For reference, here is what Joseph said when I first submitted the binutils patch series: https://sourceware.org/ml/binutils/2018-03/msg00324.html > > > > Thanks, > > Kyrill > > > > > Change-Id: I6a1fdcd9847d8a82179a214612a3474c1f492916 > > > > > > diff --git a/config/futex.m4 b/config/futex.m4 > > > index e95144d..4dffe15 100644 > > > --- a/config/futex.m4 > > > +++ b/config/futex.m4 > > > @@ -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 > > > diff --git a/config/tls.m4 b/config/tls.m4 > > > index 4e170c8..5a8676e 100644 > > > --- a/config/tls.m4 > > > +++ b/config/tls.m4 > > > @@ -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* | -*-uclinux*) > > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > > ;; > > > esac > > > diff --git a/gcc/config.gcc b/gcc/config.gcc > > > index ef67c88..808ff82 100644 > > > --- a/gcc/config.gcc > > > +++ b/gcc/config.gcc > > > @@ -759,7 +759,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 > > > @@ -768,7 +768,7 @@ case ${target} in > > > esac > > > tmake_file="t-slibgcc" > > > case $target in > > > - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > > > + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi) > > > :;; > > > *-*-gnu*) > > > native_system_header_dir=/include > > > @@ -788,7 +788,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*) > > > @@ -1135,7 +1135,7 @@ arm*-*-netbsdelf*) > > > tmake_file="${tmake_file} arm/t-arm" > > > target_cpu_cname="arm6" > > > ;; > > > -arm*-*-linux-*) # ARM GNU/Linux with ELF > > > +arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > > > 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 > > > diff --git a/libatomic/configure b/libatomic/configure > > > index b902e2c..5b3ef8e 100755 > > > --- a/libatomic/configure > > > +++ b/libatomic/configure > > > @@ -5819,7 +5819,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 > > > ;; > > > > > > @@ -8305,7 +8305,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > > lt_prog_compiler_static='-non_shared' > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > # old Intel for x86_64 which still supported -KPIC. > > > ecc*) > > > @@ -8900,7 +8900,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 > > > @@ -10431,7 +10431,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt > > > index ea8c34f..c1a608f 100644 > > > --- a/libatomic/configure.tgt > > > +++ b/libatomic/configure.tgt > > > @@ -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" > > > ;; > > > diff --git a/libgcc/config.host b/libgcc/config.host > > > index 18cabaf..9bcf430 100644 > > > --- a/libgcc/config.host > > > +++ b/libgcc/config.host > > > @@ -235,7 +235,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 > > > @@ -421,7 +421,7 @@ arm*-*-fuchsia*) > > > arm*-*-netbsdelf*) > > > tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover" > > > ;; > > > -arm*-*-linux*) # ARM GNU/Linux with ELF > > > +arm*-*-linux* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF > > > 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" > > > diff --git a/libitm/configure b/libitm/configure > > > index dbf386d..fd82500 100644 > > > --- a/libitm/configure > > > +++ b/libitm/configure > > > @@ -6494,7 +6494,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 > > > ;; > > > > > > @@ -8981,7 +8981,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > > lt_prog_compiler_static='-non_shared' > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > # old Intel for x86_64 which still supported -KPIC. > > > ecc*) > > > @@ -9576,7 +9576,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 > > > @@ -11107,7 +11107,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > @@ -13008,7 +13008,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > > > inherit_rpath_CXX=yes > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > case $cc_basename in > > > KCC*) > > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > > @@ -13595,7 +13595,7 @@ interix[3-9]*) > > > postdeps_CXX= > > > ;; > > > > > > -linux*) > > > +linux* | uclinux*) > > > case `$CC -V 2>&1 | sed 5q` in > > > *Sun\ C*) > > > # Sun C++ 5.9 > > > @@ -13846,7 +13846,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > > ;; > > > esac > > > ;; > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > KCC*) > > > # KAI C++ Compiler > > > @@ -14767,7 +14767,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > @@ -16239,7 +16239,7 @@ fi > > > > > > > > > case "$target" in > > > - *-linux*) > > > + *-linux* | *-uclinux*) > > > case "$enable_linux_futex" in > > > default) > > > # If headers don't have gettid/futex syscalls definition, then > > > @@ -16362,7 +16362,7 @@ _ACEOF > > > if ac_fn_c_try_link "$LINENO"; then : > > > chktls_save_LDFLAGS="$LDFLAGS" > > > case $host in > > > - *-*-linux*) > > > + *-*-linux* | -*-uclinux*) > > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > > ;; > > > esac > > > diff --git a/libitm/configure.tgt b/libitm/configure.tgt > > > index 0cbb097..bc6c3ca 100644 > > > --- a/libitm/configure.tgt > > > +++ b/libitm/configure.tgt > > > @@ -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 > > > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 > > > index cf5add1..fc49a97 100644 > > > --- a/libstdc++-v3/acinclude.m4 > > > +++ b/libstdc++-v3/acinclude.m4 > > > @@ -1403,7 +1403,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > > > ac_has_nanosleep=yes > > > ac_has_sched_yield=yes > > > ;; > > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > AC_MSG_CHECKING([for at least GNU libc 2.17]) > > > AC_TRY_COMPILE( > > > [#include <features.h>], > > > @@ -1525,7 +1525,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ > > > > > > if test x"$ac_has_clock_monotonic" != x"yes"; then > > > case ${target_os} in > > > - linux*) > > > + linux* | uclinux*) > > > AC_MSG_CHECKING([for clock_gettime syscall]) > > > AC_TRY_COMPILE( > > > [#include <unistd.h> > > > @@ -2410,7 +2410,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ > > > # Default to "generic". > > > if test $enable_clocale_flag = auto; then > > > case ${target_os} in > > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_clocale_flag=gnu > > > ;; > > > darwin*) > > > @@ -2656,7 +2656,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [ > > > # Default to "new". > > > if test $enable_libstdcxx_allocator_flag = auto; then > > > case ${target_os} in > > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_libstdcxx_allocator_flag=new > > > ;; > > > *) > > > @@ -4290,7 +4290,7 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ > > > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > > > enable_libstdcxx_filesystem_ts=yes > > > ;; > > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_libstdcxx_filesystem_ts=yes > > > ;; > > > rtems*) > > > @@ -4438,7 +4438,7 @@ dnl > > > AC_MSG_CHECKING([for sendfile that can copy files]) > > > AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl > > > case "${target_os}" in > > > - gnu* | linux* | solaris*) > > > + gnu* | linux* | solaris* | uclinux*) > > > GCC_TRY_COMPILE_OR_LINK( > > > [#include <sys/sendfile.h>], > > > [sendfile(1, 2, (off_t*)0, sizeof 1);], > > > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure > > > index d126add..827266d 100755 > > > --- a/libstdc++-v3/configure > > > +++ b/libstdc++-v3/configure > > > @@ -6414,7 +6414,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 > > > ;; > > > > > > @@ -8766,7 +8766,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > > lt_prog_compiler_static='-non_shared' > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > # old Intel for x86_64 which still supported -KPIC. > > > ecc*) > > > @@ -9361,7 +9361,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 > > > @@ -10901,7 +10901,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > @@ -12826,7 +12826,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi > > > inherit_rpath_CXX=yes > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > case $cc_basename in > > > KCC*) > > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > > @@ -13413,7 +13413,7 @@ interix[3-9]*) > > > postdeps_CXX= > > > ;; > > > > > > -linux*) > > > +linux* | uclinux*) > > > case `$CC -V 2>&1 | sed 5q` in > > > *Sun\ C*) > > > # Sun C++ 5.9 > > > @@ -13664,7 +13664,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } > > > ;; > > > esac > > > ;; > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > KCC*) > > > # KAI C++ Compiler > > > @@ -14585,7 +14585,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > @@ -15842,7 +15842,7 @@ fi > > > # Default to "generic". > > > if test $enable_clocale_flag = auto; then > > > case ${target_os} in > > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_clocale_flag=gnu > > > ;; > > > darwin*) > > > @@ -16259,7 +16259,7 @@ fi > > > # Default to "new". > > > if test $enable_libstdcxx_allocator_flag = auto; then > > > case ${target_os} in > > > - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) > > > + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_libstdcxx_allocator_flag=new > > > ;; > > > *) > > > @@ -20535,7 +20535,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu > > > ac_has_nanosleep=yes > > > ac_has_sched_yield=yes > > > ;; > > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at least GNU libc 2.17" >&5 > > > $as_echo_n "checking for at least GNU libc 2.17... " >&6; } > > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > > @@ -21035,7 +21035,7 @@ $as_echo "$ac_has_nanosleep" >&6; } > > > > > > if test x"$ac_has_clock_monotonic" != x"yes"; then > > > case ${target_os} in > > > - linux*) > > > + linux* | uclinux*) > > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 > > > $as_echo_n "checking for clock_gettime syscall... " >&6; } > > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > > @@ -27927,7 +27927,7 @@ _ACEOF > > > if ac_fn_c_try_link "$LINENO"; then : > > > chktls_save_LDFLAGS="$LDFLAGS" > > > case $host in > > > - *-*-linux*) > > > + *-*-linux* | -*-uclinux*) > > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > > ;; > > > esac > > > @@ -53603,7 +53603,7 @@ _ACEOF > > > if ac_fn_c_try_link "$LINENO"; then : > > > chktls_save_LDFLAGS="$LDFLAGS" > > > case $host in > > > - *-*-linux*) > > > + *-*-linux* | -*-uclinux*) > > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > > ;; > > > esac > > > @@ -59804,7 +59804,7 @@ _ACEOF > > > if ac_fn_c_try_link "$LINENO"; then : > > > chktls_save_LDFLAGS="$LDFLAGS" > > > case $host in > > > - *-*-linux*) > > > + *-*-linux* | -*-uclinux*) > > > LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" > > > ;; > > > esac > > > @@ -78438,7 +78438,7 @@ fi > > > > > > > > > case "$target" in > > > - *-linux*) > > > + *-linux* | *-uclinux*) > > > case "$enable_linux_futex" in > > > default) > > > # If headers don't have gettid/futex syscalls definition, then > > > @@ -80074,7 +80074,7 @@ $as_echo_n "checking whether to build Filesystem TS support... " >&6; } > > > freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) > > > enable_libstdcxx_filesystem_ts=yes > > > ;; > > > - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) > > > + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) > > > enable_libstdcxx_filesystem_ts=yes > > > ;; > > > rtems*) > > > @@ -80498,7 +80498,7 @@ $as_echo_n "checking for sendfile that can copy files... " >&6; } > > > $as_echo_n "(cached) " >&6 > > > else > > > case "${target_os}" in > > > - gnu* | linux* | solaris*) > > > + gnu* | linux* | solaris* | uclinux*) > > > if test x$gcc_no_link = xyes; then > > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > > /* end confdefs.h. */ > > > diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host > > > index caea9de..067d6e1 100644 > > > --- a/libstdc++-v3/configure.host > > > +++ b/libstdc++-v3/configure.host > > > @@ -261,7 +261,7 @@ case "${host_os}" in > > > linux-musl*) > > > os_include_dir="os/generic" > > > ;; > > > - gnu* | linux* | kfreebsd*-gnu) > > > + gnu* | linux* | kfreebsd*-gnu | uclinux*) > > > if [ "$uclibc" = "yes" ]; then > > > os_include_dir="os/uclibc" > > > elif [ "$bionic" = "yes" ]; then > > > @@ -324,7 +324,7 @@ esac > > > # Set any OS-dependent and CPU-dependent bits. > > > # THIS TABLE IS SORTED. KEEP IT THAT WAY. > > > case "${host}" in > > > - *-*-linux*) > > > + *-*-linux* | *-*-uclinux*) > > > case "${host_cpu}" in > > > i[567]86) > > > abi_baseline_pair=i486-linux-gnu > > > @@ -355,7 +355,7 @@ case "${host}" in > > > fi > > > esac > > > case "${host}" in > > > - arm*-*-linux-*) > > > + arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) > > > port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver" > > > ;; > > > esac > > > diff --git a/libtool.m4 b/libtool.m4 > > > index 24d13f3..048931b 100644 > > > --- a/libtool.m4 > > > +++ b/libtool.m4 > > > @@ -2449,7 +2449,7 @@ linux*oldld* | linux*aout* | linux*coff*) > > > ;; > > > > > > # This must be Linux ELF. > > > -linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > version_type=linux > > > need_lib_prefix=no > > > need_version=no > > > @@ -3089,7 +3089,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 > > > ;; > > > > > > @@ -3734,7 +3734,7 @@ m4_if([$1], [CXX], [ > > > ;; > > > esac > > > ;; > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > KCC*) > > > # KAI C++ Compiler > > > @@ -4032,7 +4032,7 @@ m4_if([$1], [CXX], [ > > > _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) > > > case $cc_basename in > > > # old Intel for x86_64 which still supported -KPIC. > > > ecc*) > > > @@ -4449,7 +4449,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 > > > @@ -5946,7 +5946,7 @@ if test "$_lt_caught_CXX_error" != yes; then > > > _LT_TAGVAR(inherit_rpath, $1)=yes > > > ;; > > > > > > - linux* | k*bsd*-gnu | kopensolaris*-gnu) > > > + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) > > > case $cc_basename in > > > KCC*) > > > # Kuck and Associates, Inc. (KAI) C++ Compiler > > > @@ -6598,7 +6598,7 @@ interix[[3-9]]*) > > > _LT_TAGVAR(postdeps,$1)= > > > ;; > > > > > > -linux*) > > > +linux* | uclinux*) > > > case `$CC -V 2>&1 | sed 5q` in > > > *Sun\ C*) > > > # Sun C++ 5.9 > > > -- > > > 2.6.3 > > > > >
diff --git a/config/futex.m4 b/config/futex.m4 index e95144d..4dffe15 100644 --- a/config/futex.m4 +++ b/config/futex.m4 @@ -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 diff --git a/config/tls.m4 b/config/tls.m4 index 4e170c8..5a8676e 100644 --- a/config/tls.m4 +++ b/config/tls.m4 @@ -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* | -*-uclinux*) LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ;; esac diff --git a/gcc/config.gcc b/gcc/config.gcc index ef67c88..808ff82 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -759,7 +759,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 @@ -768,7 +768,7 @@ case ${target} in esac tmake_file="t-slibgcc" case $target in - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) + *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi) :;; *-*-gnu*) native_system_header_dir=/include @@ -788,7 +788,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*) @@ -1135,7 +1135,7 @@ arm*-*-netbsdelf*) tmake_file="${tmake_file} arm/t-arm" target_cpu_cname="arm6" ;; -arm*-*-linux-*) # ARM GNU/Linux with ELF +arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF 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 diff --git a/libatomic/configure b/libatomic/configure index b902e2c..5b3ef8e 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -5819,7 +5819,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 ;; @@ -8305,7 +8305,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_static='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -8900,7 +8900,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 @@ -10431,7 +10431,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index ea8c34f..c1a608f 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -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" ;; diff --git a/libgcc/config.host b/libgcc/config.host index 18cabaf..9bcf430 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -235,7 +235,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 @@ -421,7 +421,7 @@ arm*-*-fuchsia*) arm*-*-netbsdelf*) tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover" ;; -arm*-*-linux*) # ARM GNU/Linux with ELF +arm*-*-linux* | arm*-*-uclinuxfdpiceabi) # ARM GNU/Linux with ELF 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" diff --git a/libitm/configure b/libitm/configure index dbf386d..fd82500 100644 --- a/libitm/configure +++ b/libitm/configure @@ -6494,7 +6494,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 ;; @@ -8981,7 +8981,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_static='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -9576,7 +9576,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 @@ -11107,7 +11107,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -13008,7 +13008,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi inherit_rpath_CXX=yes ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -13595,7 +13595,7 @@ interix[3-9]*) postdeps_CXX= ;; -linux*) +linux* | uclinux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 @@ -13846,7 +13846,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; esac ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in KCC*) # KAI C++ Compiler @@ -14767,7 +14767,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -16239,7 +16239,7 @@ fi case "$target" in - *-linux*) + *-linux* | *-uclinux*) case "$enable_linux_futex" in default) # If headers don't have gettid/futex syscalls definition, then @@ -16362,7 +16362,7 @@ _ACEOF if ac_fn_c_try_link "$LINENO"; then : chktls_save_LDFLAGS="$LDFLAGS" case $host in - *-*-linux*) + *-*-linux* | -*-uclinux*) LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ;; esac diff --git a/libitm/configure.tgt b/libitm/configure.tgt index 0cbb097..bc6c3ca 100644 --- a/libitm/configure.tgt +++ b/libitm/configure.tgt @@ -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 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index cf5add1..fc49a97 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1403,7 +1403,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ ac_has_nanosleep=yes ac_has_sched_yield=yes ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) AC_MSG_CHECKING([for at least GNU libc 2.17]) AC_TRY_COMPILE( [#include <features.h>], @@ -1525,7 +1525,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [ if test x"$ac_has_clock_monotonic" != x"yes"; then case ${target_os} in - linux*) + linux* | uclinux*) AC_MSG_CHECKING([for clock_gettime syscall]) AC_TRY_COMPILE( [#include <unistd.h> @@ -2410,7 +2410,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ # Default to "generic". if test $enable_clocale_flag = auto; then case ${target_os} in - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_clocale_flag=gnu ;; darwin*) @@ -2656,7 +2656,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [ # Default to "new". if test $enable_libstdcxx_allocator_flag = auto; then case ${target_os} in - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_libstdcxx_allocator_flag=new ;; *) @@ -4290,7 +4290,7 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) enable_libstdcxx_filesystem_ts=yes ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_libstdcxx_filesystem_ts=yes ;; rtems*) @@ -4438,7 +4438,7 @@ dnl AC_MSG_CHECKING([for sendfile that can copy files]) AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl case "${target_os}" in - gnu* | linux* | solaris*) + gnu* | linux* | solaris* | uclinux*) GCC_TRY_COMPILE_OR_LINK( [#include <sys/sendfile.h>], [sendfile(1, 2, (off_t*)0, sizeof 1);], diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index d126add..827266d 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -6414,7 +6414,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 ;; @@ -8766,7 +8766,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } lt_prog_compiler_static='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -9361,7 +9361,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 @@ -10901,7 +10901,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -12826,7 +12826,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi inherit_rpath_CXX=yes ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -13413,7 +13413,7 @@ interix[3-9]*) postdeps_CXX= ;; -linux*) +linux* | uclinux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 @@ -13664,7 +13664,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; } ;; esac ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in KCC*) # KAI C++ Compiler @@ -14585,7 +14585,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -15842,7 +15842,7 @@ fi # Default to "generic". if test $enable_clocale_flag = auto; then case ${target_os} in - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_clocale_flag=gnu ;; darwin*) @@ -16259,7 +16259,7 @@ fi # Default to "new". if test $enable_libstdcxx_allocator_flag = auto; then case ${target_os} in - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) + linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_libstdcxx_allocator_flag=new ;; *) @@ -20535,7 +20535,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_has_nanosleep=yes ac_has_sched_yield=yes ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for at least GNU libc 2.17" >&5 $as_echo_n "checking for at least GNU libc 2.17... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21035,7 +21035,7 @@ $as_echo "$ac_has_nanosleep" >&6; } if test x"$ac_has_clock_monotonic" != x"yes"; then case ${target_os} in - linux*) + linux* | uclinux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 $as_echo_n "checking for clock_gettime syscall... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -27927,7 +27927,7 @@ _ACEOF if ac_fn_c_try_link "$LINENO"; then : chktls_save_LDFLAGS="$LDFLAGS" case $host in - *-*-linux*) + *-*-linux* | -*-uclinux*) LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ;; esac @@ -53603,7 +53603,7 @@ _ACEOF if ac_fn_c_try_link "$LINENO"; then : chktls_save_LDFLAGS="$LDFLAGS" case $host in - *-*-linux*) + *-*-linux* | -*-uclinux*) LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ;; esac @@ -59804,7 +59804,7 @@ _ACEOF if ac_fn_c_try_link "$LINENO"; then : chktls_save_LDFLAGS="$LDFLAGS" case $host in - *-*-linux*) + *-*-linux* | -*-uclinux*) LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ;; esac @@ -78438,7 +78438,7 @@ fi case "$target" in - *-linux*) + *-linux* | *-uclinux*) case "$enable_linux_futex" in default) # If headers don't have gettid/futex syscalls definition, then @@ -80074,7 +80074,7 @@ $as_echo_n "checking whether to build Filesystem TS support... " >&6; } freebsd*|netbsd*|openbsd*|dragonfly*|darwin*) enable_libstdcxx_filesystem_ts=yes ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu | uclinux*) enable_libstdcxx_filesystem_ts=yes ;; rtems*) @@ -80498,7 +80498,7 @@ $as_echo_n "checking for sendfile that can copy files... " >&6; } $as_echo_n "(cached) " >&6 else case "${target_os}" in - gnu* | linux* | solaris*) + gnu* | linux* | solaris* | uclinux*) if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index caea9de..067d6e1 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -261,7 +261,7 @@ case "${host_os}" in linux-musl*) os_include_dir="os/generic" ;; - gnu* | linux* | kfreebsd*-gnu) + gnu* | linux* | kfreebsd*-gnu | uclinux*) if [ "$uclibc" = "yes" ]; then os_include_dir="os/uclibc" elif [ "$bionic" = "yes" ]; then @@ -324,7 +324,7 @@ esac # Set any OS-dependent and CPU-dependent bits. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host}" in - *-*-linux*) + *-*-linux* | *-*-uclinux*) case "${host_cpu}" in i[567]86) abi_baseline_pair=i486-linux-gnu @@ -355,7 +355,7 @@ case "${host}" in fi esac case "${host}" in - arm*-*-linux-*) + arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver" ;; esac diff --git a/libtool.m4 b/libtool.m4 index 24d13f3..048931b 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -2449,7 +2449,7 @@ linux*oldld* | linux*aout* | linux*coff*) ;; # This must be Linux ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -3089,7 +3089,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 ;; @@ -3734,7 +3734,7 @@ m4_if([$1], [CXX], [ ;; esac ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in KCC*) # KAI C++ Compiler @@ -4032,7 +4032,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinux*) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) @@ -4449,7 +4449,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 @@ -5946,7 +5946,7 @@ if test "$_lt_caught_CXX_error" != yes; then _LT_TAGVAR(inherit_rpath, $1)=yes ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -6598,7 +6598,7 @@ interix[[3-9]]*) _LT_TAGVAR(postdeps,$1)= ;; -linux*) +linux* | uclinux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9
From: Christophe Lyon <christophe.lyon@linaro.org> The new arm-uclinuxfdpiceabi target behaves pretty much like arm-linux-gnueabi. In order the 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. 2018-XX-XX Christophe Lyon <christophe.lyon@st.com> * config/futex.m4: Handle *-uclinux*. * config/tls.m4 (GCC_CHECK_TLS): Likewise. * gcc/config.gcc: Handle *-*-uclinuxfdpiceabi. * libatomic/configure.tgt: Handle arm*-*-uclinux*. * libgcc/config.host: Handle *-*-uclinuxfdpiceabi. * libitm/configure.tgt: Handle *-*-uclinux*. * libatomic/configure: Regenerate. * libitm/configure: Regenerate. * libstdc++-v3/acinclude.m4: Handle uclinux*. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/configure.host: Handle uclinux* * libtool.m4: Handle uclinux*. Change-Id: I6a1fdcd9847d8a82179a214612a3474c1f492916 -- 2.6.3