On Mon, 15 Oct 2018 at 10:12, Christophe Lyon wrote: > > > > On Fri, 12 Oct 2018 at 11:54, Richard Earnshaw (lists) wrote: >> >> On 11/10/18 14:34, Christophe Lyon wrote: >> > 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 >> > >> > 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. >> > >> > libstdc++-v3/ >> > * acinclude.m4: Handle uclinux*. >> > * configure: Regenerate. >> > * configure.host: Handle uclinux* >> > >> > * libtool.m4: Handle uclinux*. >> >> What testing have you done to ensure that these new uclinux* changes >> have not affected existing uclinux configurations? >> >> Also, do you really need to use uclinuxfdpiceabi (which is quite >> Arm-specific) everywhere, or would uclinuxfdpic* be better and ease work >> for other fdpic targets? >> Thanks to the help I received in https://gcc.gnu.org/ml/gcc/2018-10/msg00154.html https://gcc.gnu.org/ml/gcc/2018-11/msg00012.html I managed to build an xtensa-buildroot-uclinux-uclibc toolchain (r265582), and run 'make check'. Then I applied this patch, rebuilt the toolchain (from scratch) and ran 'make check' again. compare_test says: Tests that now fail, but worked before (54 tests): [...] Tests that now work, but didn't before (2 tests): 23_containers/map/requirements/exception/propagation_consistent.cc execution test ext/mt_allocator/deallocate_global_thread-3.cc execution test New tests that FAIL (4 tests): 27_io/filesystem/path/native/string.cc (test for excess errors) 30_threads/condition_variable_any/50862.cc execution test 30_threads/condition_variable_any/53830.cc execution test experimental/filesystem/path/native/string.cc (test for excess errors) New tests that PASS (301 tests): [...] (all the diffs are in libstdc++ obviously) I've attached the details to this email. > > This patch became necessary when I was asked to change the target name from arm-linux-uclibceabi to arm-uclinuxfdpiceabi. > Changing it implied that many features were disabled and tests regressed because the new target name didn't match the regexps in configure scripts. > > I iterated over the regressions to see which features were now missing, and I updated the configure scripts accordingly. > > When the feature being tested was generic, I used the general *-*-uclinux* form, because it seemed reasonable that it was OK for other targets. > When the test was arm-related, I used the stricter uclinuxfdpiceabi form, and specifically not uclinuxfdpic* to avoid breaking other fdpic targets. When in doubt, I preferred to stay on the safe side. > > To answer you first question, I do not have the setup to test other uclinux configs, I'm not even sure of the list. > So I tested arm-uclinuxfdpiceabi, made sure I got the same results as with our previous target name, and that > the whole series didn't regress on arm-linux-gnueabi*. > > I hope other uclinux/fdpic target maintainers comment on this patch if something looks wrong to them. > > Christophe > >> R. >> > >> > 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 0c579d1..793fc69 100644 >> > --- a/gcc/config.gcc >> > +++ b/gcc/config.gcc >> > @@ -753,7 +753,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 >> > @@ -762,7 +762,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 >> > @@ -782,7 +782,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*) >> > @@ -1134,7 +1134,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 029f656..28f3c14 100644 >> > --- a/libgcc/config.host >> > +++ b/libgcc/config.host >> > @@ -238,7 +238,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 >> > @@ -424,7 +424,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 6d68e90..2e18049 100644 >> > --- a/libstdc++-v3/acinclude.m4 >> > +++ b/libstdc++-v3/acinclude.m4 >> > @@ -1395,7 +1395,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 ], >> > @@ -1517,7 +1517,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 >> > @@ -2402,7 +2402,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*) >> > @@ -2648,7 +2648,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 >> > ;; >> > *) >> > @@ -4282,7 +4282,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*) >> > @@ -4430,7 +4430,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 ], >> > [sendfile(1, 2, (off_t*)0, sizeof 1);], >> > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure >> > index d33081d..7780679 100755 >> > --- a/libstdc++-v3/configure >> > +++ b/libstdc++-v3/configure >> > @@ -6413,7 +6413,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 >> > ;; >> > >> > @@ -8765,7 +8765,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*) >> > @@ -9360,7 +9360,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 >> > @@ -10900,7 +10900,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 >> > @@ -12825,7 +12825,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 >> > @@ -13412,7 +13412,7 @@ interix[3-9]*) >> > postdeps_CXX= >> > ;; >> > >> > -linux*) >> > +linux* | uclinux*) >> > case `$CC -V 2>&1 | sed 5q` in >> > *Sun\ C*) >> > # Sun C++ 5.9 >> > @@ -13663,7 +13663,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 >> > @@ -14584,7 +14584,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 >> > @@ -15833,7 +15833,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*) >> > @@ -16250,7 +16250,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 >> > ;; >> > *) >> > @@ -20526,7 +20526,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 >> > @@ -21026,7 +21026,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 >> > @@ -27918,7 +27918,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 >> > @@ -53578,7 +53578,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 >> > @@ -59771,7 +59771,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 >> > @@ -78397,7 +78397,7 @@ fi >> > >> > >> > case "$target" in >> > - *-linux*) >> > + *-linux* | *-uclinux*) >> > case "$enable_linux_futex" in >> > default) >> > # If headers don't have gettid/futex syscalls definition, then >> > @@ -80033,7 +80033,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*) >> > @@ -80457,7 +80457,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 155a3cd..1c298ab 100644 >> > --- a/libstdc++-v3/configure.host >> > +++ b/libstdc++-v3/configure.host >> > @@ -264,7 +264,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 >> > @@ -327,7 +327,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 >> > @@ -358,7 +358,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 940faaa..49ab293 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 >> > >>