Message ID | 20181011133518.17258-3-christophe.lyon@st.com |
---|---|
State | Superseded |
Headers | show |
Series | FDPIC ABI for ARM | expand |
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 <christophe.lyon@st.com> > > config/ > * futex.m4: Handle *-uclinux*. > * tls.m4 (GCC_CHECK_TLS): Likewise. > > gcc/ > * config.gcc: Handle *-*-uclinuxfdpiceabi. > > libatomic/ > * configure.tgt: Handle arm*-*-uclinux*. > * configure: Regenerate. > > libgcc/ > * config.host: Handle *-*-uclinuxfdpiceabi. > > libitm/ > * configure.tgt: Handle *-*-uclinux*. > * configure: Regenerate. > > 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? 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 <features.h>], > @@ -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 <unistd.h> > @@ -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 <sys/sendfile.h>], > [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 >
On Fri, 12 Oct 2018 at 11:54, Richard Earnshaw (lists) < Richard.Earnshaw@arm.com> 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 <christophe.lyon@st.com> > > > > config/ > > * futex.m4: Handle *-uclinux*. > > * tls.m4 (GCC_CHECK_TLS): Likewise. > > > > gcc/ > > * config.gcc: Handle *-*-uclinuxfdpiceabi. > > > > libatomic/ > > * configure.tgt: Handle arm*-*-uclinux*. > > * configure: Regenerate. > > > > libgcc/ > > * config.host: Handle *-*-uclinuxfdpiceabi. > > > > libitm/ > > * configure.tgt: Handle *-*-uclinux*. > > * configure: Regenerate. > > > > 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? > > 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 <features.h>], > > @@ -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 <unistd.h> > > @@ -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 <sys/sendfile.h>], > > [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 > > > >
On Mon, 15 Oct 2018 at 10:12, Christophe Lyon <christophe.lyon@linaro.org> wrote: > > > > On Fri, 12 Oct 2018 at 11:54, Richard Earnshaw (lists) <Richard.Earnshaw@arm.com> 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 <christophe.lyon@st.com> >> > >> > config/ >> > * futex.m4: Handle *-uclinux*. >> > * tls.m4 (GCC_CHECK_TLS): Likewise. >> > >> > gcc/ >> > * config.gcc: Handle *-*-uclinuxfdpiceabi. >> > >> > libatomic/ >> > * configure.tgt: Handle arm*-*-uclinux*. >> > * configure: Regenerate. >> > >> > libgcc/ >> > * config.host: Handle *-*-uclinuxfdpiceabi. >> > >> > libitm/ >> > * configure.tgt: Handle *-*-uclinux*. >> > * configure: Regenerate. >> > >> > 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 <features.h>], >> > @@ -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 <unistd.h> >> > @@ -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 <sys/sendfile.h>], >> > [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 >> > >> # Comparing directories ## Dir1=mygcc.ref/: 3 sum files ## Dir2=mygcc: 3 sum files # Comparing 3 common sum files ## /bin/sh ../GCC/sources/gcc-fsf/trunk/contrib/compare_tests /tmp/gxx-sum1.24781 /tmp/gxx-sum2.24781 Tests that now fail, but worked before (54 tests): 20_util/hash/chi2_q_bit_flip_set.cc execution test 20_util/hash/quality.cc execution test 26_numerics/random/discrete_distribution/operators/values.cc execution test 30_threads/async/42819.cc execution test 30_threads/async/any.cc execution test 30_threads/async/sync.cc execution test 30_threads/call_once/49668.cc execution test 30_threads/call_once/call_once1.cc execution test 30_threads/call_once/dr2442.cc execution test 30_threads/condition_variable/cons/1.cc execution test 30_threads/condition_variable/members/1.cc execution test 30_threads/condition_variable/members/2.cc execution test 30_threads/condition_variable/members/68519.cc execution test 30_threads/condition_variable_any/cond.cc execution test 30_threads/condition_variable_any/cons/1.cc execution test 30_threads/condition_variable_any/members/1.cc execution test 30_threads/condition_variable_any/members/2.cc execution test 30_threads/future/members/45133.cc execution test 30_threads/future/members/get.cc execution test 30_threads/future/members/get2.cc execution test 30_threads/future/members/share.cc execution test 30_threads/future/members/valid.cc execution test 30_threads/future/members/wait_for.cc execution test 30_threads/future/members/wait_until.cc execution test 30_threads/lock/4.cc execution test 30_threads/packaged_task/49668.cc execution test 30_threads/packaged_task/cons/alloc.cc execution test 30_threads/packaged_task/members/get_future.cc execution test 30_threads/packaged_task/members/invoke.cc execution test 30_threads/packaged_task/members/invoke2.cc execution test 30_threads/packaged_task/members/invoke3.cc execution test 30_threads/packaged_task/members/invoke4.cc execution test 30_threads/packaged_task/members/reset2.cc execution test 30_threads/promise/cons/alloc.cc execution test 30_threads/promise/cons/move.cc execution test 30_threads/promise/cons/move_assign.cc execution test 30_threads/promise/members/at_thread_exit2.cc execution test 30_threads/promise/members/get_future.cc execution test 30_threads/promise/members/set_exception.cc execution test 30_threads/promise/members/set_exception2.cc execution test 30_threads/promise/members/set_value.cc execution test 30_threads/promise/members/set_value2.cc execution test 30_threads/promise/members/set_value3.cc execution test 30_threads/promise/members/swap.cc execution test 30_threads/shared_future/members/get.cc execution test 30_threads/shared_future/members/get2.cc execution test 30_threads/shared_future/members/valid.cc execution test 30_threads/shared_future/members/wait_for.cc execution test 30_threads/shared_future/members/wait_until.cc execution test 30_threads/timed_mutex/try_lock/2.cc execution test 30_threads/timed_mutex/try_lock_until/2.cc execution test 30_threads/try_lock/2.cc execution test 30_threads/try_lock/4.cc execution test abi/demangle/regression/cw-07.cc execution test 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): 27_io/basic_filebuf/open/char/path.cc (test for excess errors) 27_io/basic_filebuf/open/char/path.cc execution test 27_io/basic_fstream/cons/char/path.cc (test for excess errors) 27_io/basic_fstream/cons/char/path.cc execution test 27_io/basic_fstream/open/char/path.cc (test for excess errors) 27_io/basic_fstream/open/char/path.cc execution test 27_io/basic_ifstream/cons/char/path.cc (test for excess errors) 27_io/basic_ifstream/cons/char/path.cc execution test 27_io/basic_ifstream/open/char/path.cc (test for excess errors) 27_io/basic_ifstream/open/char/path.cc execution test 27_io/basic_ofstream/cons/char/path.cc (test for excess errors) 27_io/basic_ofstream/cons/char/path.cc execution test 27_io/basic_ofstream/open/char/path.cc (test for excess errors) 27_io/basic_ofstream/open/char/path.cc execution test 27_io/filesystem/directory_entry/86597.cc (test for excess errors) 27_io/filesystem/directory_entry/86597.cc execution test 27_io/filesystem/file_status/1.cc (test for excess errors) 27_io/filesystem/file_status/1.cc execution test 27_io/filesystem/iterators/directory_iterator.cc (test for excess errors) 27_io/filesystem/iterators/directory_iterator.cc execution test 27_io/filesystem/iterators/pop.cc (test for excess errors) 27_io/filesystem/iterators/pop.cc execution test 27_io/filesystem/iterators/recursive_directory_iterator.cc (test for excess errors) 27_io/filesystem/iterators/recursive_directory_iterator.cc execution test 27_io/filesystem/operations/absolute.cc (test for excess errors) 27_io/filesystem/operations/absolute.cc execution test 27_io/filesystem/operations/canonical.cc (test for excess errors) 27_io/filesystem/operations/canonical.cc execution test 27_io/filesystem/operations/copy.cc (test for excess errors) 27_io/filesystem/operations/copy.cc execution test 27_io/filesystem/operations/copy_file.cc (test for excess errors) 27_io/filesystem/operations/copy_file.cc execution test 27_io/filesystem/operations/create_directories.cc (test for excess errors) 27_io/filesystem/operations/create_directories.cc execution test 27_io/filesystem/operations/create_directory.cc (test for excess errors) 27_io/filesystem/operations/create_directory.cc execution test 27_io/filesystem/operations/create_symlink.cc (test for excess errors) 27_io/filesystem/operations/create_symlink.cc execution test 27_io/filesystem/operations/current_path.cc (test for excess errors) 27_io/filesystem/operations/current_path.cc execution test 27_io/filesystem/operations/equivalent.cc (test for excess errors) 27_io/filesystem/operations/equivalent.cc execution test 27_io/filesystem/operations/exists.cc (test for excess errors) 27_io/filesystem/operations/exists.cc execution test 27_io/filesystem/operations/file_size.cc (test for excess errors) 27_io/filesystem/operations/file_size.cc execution test 27_io/filesystem/operations/is_empty.cc (test for excess errors) 27_io/filesystem/operations/is_empty.cc execution test 27_io/filesystem/operations/last_write_time.cc (test for excess errors) 27_io/filesystem/operations/last_write_time.cc execution test 27_io/filesystem/operations/permissions.cc (test for excess errors) 27_io/filesystem/operations/permissions.cc execution test 27_io/filesystem/operations/proximate.cc (test for excess errors) 27_io/filesystem/operations/proximate.cc execution test 27_io/filesystem/operations/read_symlink.cc (test for excess errors) 27_io/filesystem/operations/read_symlink.cc execution test 27_io/filesystem/operations/relative.cc (test for excess errors) 27_io/filesystem/operations/relative.cc execution test 27_io/filesystem/operations/remove.cc (test for excess errors) 27_io/filesystem/operations/remove.cc execution test 27_io/filesystem/operations/remove_all.cc (test for excess errors) 27_io/filesystem/operations/remove_all.cc execution test 27_io/filesystem/operations/space.cc (test for excess errors) 27_io/filesystem/operations/space.cc execution test 27_io/filesystem/operations/status.cc (test for excess errors) 27_io/filesystem/operations/status.cc execution test 27_io/filesystem/operations/symlink_status.cc (test for excess errors) 27_io/filesystem/operations/symlink_status.cc execution test 27_io/filesystem/operations/temp_directory_path.cc (test for excess errors) 27_io/filesystem/operations/temp_directory_path.cc execution test 27_io/filesystem/operations/weakly_canonical.cc (test for excess errors) 27_io/filesystem/operations/weakly_canonical.cc execution test 27_io/filesystem/path/append/path.cc (test for excess errors) 27_io/filesystem/path/append/path.cc execution test 27_io/filesystem/path/append/source.cc (test for excess errors) 27_io/filesystem/path/append/source.cc execution test 27_io/filesystem/path/assign/assign.cc (test for excess errors) 27_io/filesystem/path/assign/assign.cc execution test 27_io/filesystem/path/assign/copy.cc (test for excess errors) 27_io/filesystem/path/assign/copy.cc execution test 27_io/filesystem/path/compare/compare.cc (test for excess errors) 27_io/filesystem/path/compare/compare.cc execution test 27_io/filesystem/path/compare/path.cc (test for excess errors) 27_io/filesystem/path/compare/path.cc execution test 27_io/filesystem/path/compare/strings.cc (test for excess errors) 27_io/filesystem/path/compare/strings.cc execution test 27_io/filesystem/path/concat/path.cc (test for excess errors) 27_io/filesystem/path/concat/path.cc execution test 27_io/filesystem/path/concat/strings.cc (test for excess errors) 27_io/filesystem/path/concat/strings.cc execution test 27_io/filesystem/path/construct/copy.cc (test for excess errors) 27_io/filesystem/path/construct/copy.cc execution test 27_io/filesystem/path/construct/default.cc (test for excess errors) 27_io/filesystem/path/construct/default.cc execution test 27_io/filesystem/path/construct/format.cc (test for excess errors) 27_io/filesystem/path/construct/format.cc execution test 27_io/filesystem/path/construct/locale.cc (test for excess errors) 27_io/filesystem/path/construct/locale.cc execution test 27_io/filesystem/path/construct/range.cc (test for excess errors) 27_io/filesystem/path/construct/range.cc execution test 27_io/filesystem/path/construct/string_view.cc (test for excess errors) 27_io/filesystem/path/construct/string_view.cc execution test 27_io/filesystem/path/decompose/extension.cc (test for excess errors) 27_io/filesystem/path/decompose/extension.cc execution test 27_io/filesystem/path/decompose/filename.cc (test for excess errors) 27_io/filesystem/path/decompose/filename.cc execution test 27_io/filesystem/path/decompose/parent_path.cc (test for excess errors) 27_io/filesystem/path/decompose/parent_path.cc execution test 27_io/filesystem/path/decompose/relative_path.cc (test for excess errors) 27_io/filesystem/path/decompose/relative_path.cc execution test 27_io/filesystem/path/decompose/root_directory.cc (test for excess errors) 27_io/filesystem/path/decompose/root_directory.cc execution test 27_io/filesystem/path/decompose/root_name.cc (test for excess errors) 27_io/filesystem/path/decompose/root_name.cc execution test 27_io/filesystem/path/decompose/root_path.cc (test for excess errors) 27_io/filesystem/path/decompose/root_path.cc execution test 27_io/filesystem/path/decompose/stem.cc (test for excess errors) 27_io/filesystem/path/decompose/stem.cc execution test 27_io/filesystem/path/generation/normal.cc (test for excess errors) 27_io/filesystem/path/generation/normal.cc execution test 27_io/filesystem/path/generation/proximate.cc (test for excess errors) 27_io/filesystem/path/generation/proximate.cc execution test 27_io/filesystem/path/generation/relative.cc (test for excess errors) 27_io/filesystem/path/generation/relative.cc execution test 27_io/filesystem/path/generic/generic_string.cc (test for excess errors) 27_io/filesystem/path/generic/generic_string.cc execution test 27_io/filesystem/path/itr/components.cc (test for excess errors) 27_io/filesystem/path/itr/components.cc execution test 27_io/filesystem/path/itr/traversal.cc (test for excess errors) 27_io/filesystem/path/itr/traversal.cc execution test 27_io/filesystem/path/modifiers/clear.cc (test for excess errors) 27_io/filesystem/path/modifiers/clear.cc execution test 27_io/filesystem/path/modifiers/make_preferred.cc (test for excess errors) 27_io/filesystem/path/modifiers/make_preferred.cc execution test 27_io/filesystem/path/modifiers/remove_filename.cc (test for excess errors) 27_io/filesystem/path/modifiers/remove_filename.cc execution test 27_io/filesystem/path/modifiers/replace_extension.cc (test for excess errors) 27_io/filesystem/path/modifiers/replace_extension.cc execution test 27_io/filesystem/path/modifiers/replace_filename.cc (test for excess errors) 27_io/filesystem/path/modifiers/replace_filename.cc execution test 27_io/filesystem/path/modifiers/swap.cc (test for excess errors) 27_io/filesystem/path/modifiers/swap.cc execution test 27_io/filesystem/path/nonmember/append.cc (test for excess errors) 27_io/filesystem/path/nonmember/append.cc execution test 27_io/filesystem/path/nonmember/hash_value.cc (test for excess errors) 27_io/filesystem/path/nonmember/hash_value.cc execution test 27_io/filesystem/path/query/empty.cc (test for excess errors) 27_io/filesystem/path/query/empty.cc execution test 27_io/filesystem/path/query/has_extension.cc (test for excess errors) 27_io/filesystem/path/query/has_extension.cc execution test 27_io/filesystem/path/query/has_filename.cc (test for excess errors) 27_io/filesystem/path/query/has_filename.cc execution test 27_io/filesystem/path/query/has_parent_path.cc (test for excess errors) 27_io/filesystem/path/query/has_parent_path.cc execution test 27_io/filesystem/path/query/has_relative_path.cc (test for excess errors) 27_io/filesystem/path/query/has_relative_path.cc execution test 27_io/filesystem/path/query/has_root_directory.cc (test for excess errors) 27_io/filesystem/path/query/has_root_directory.cc execution test 27_io/filesystem/path/query/has_root_name.cc (test for excess errors) 27_io/filesystem/path/query/has_root_name.cc execution test 27_io/filesystem/path/query/has_root_path.cc (test for excess errors) 27_io/filesystem/path/query/has_root_path.cc execution test 27_io/filesystem/path/query/has_stem.cc (test for excess errors) 27_io/filesystem/path/query/has_stem.cc execution test 27_io/filesystem/path/query/is_absolute.cc (test for excess errors) 27_io/filesystem/path/query/is_absolute.cc execution test 27_io/filesystem/path/query/is_relative.cc (test for excess errors) 27_io/filesystem/path/query/is_relative.cc execution test 30_threads/condition_variable_any/50862.cc (test for excess errors) 30_threads/condition_variable_any/53830.cc (test for excess errors) experimental/filesystem/file_status/1.cc (test for excess errors) experimental/filesystem/file_status/1.cc execution test experimental/filesystem/iterators/directory_iterator.cc (test for excess errors) experimental/filesystem/iterators/directory_iterator.cc execution test experimental/filesystem/iterators/pop.cc (test for excess errors) experimental/filesystem/iterators/pop.cc execution test experimental/filesystem/iterators/recursive_directory_iterator.cc (test for excess errors) experimental/filesystem/iterators/recursive_directory_iterator.cc execution test experimental/filesystem/operations/absolute.cc (test for excess errors) experimental/filesystem/operations/absolute.cc execution test experimental/filesystem/operations/canonical.cc (test for excess errors) experimental/filesystem/operations/canonical.cc execution test experimental/filesystem/operations/copy.cc (test for excess errors) experimental/filesystem/operations/copy.cc execution test experimental/filesystem/operations/copy_file.cc (test for excess errors) experimental/filesystem/operations/copy_file.cc execution test experimental/filesystem/operations/create_directories.cc (test for excess errors) experimental/filesystem/operations/create_directories.cc execution test experimental/filesystem/operations/create_directory.cc (test for excess errors) experimental/filesystem/operations/create_directory.cc execution test experimental/filesystem/operations/create_symlink.cc (test for excess errors) experimental/filesystem/operations/create_symlink.cc execution test experimental/filesystem/operations/current_path.cc (test for excess errors) experimental/filesystem/operations/current_path.cc execution test experimental/filesystem/operations/equivalent.cc (test for excess errors) experimental/filesystem/operations/equivalent.cc execution test experimental/filesystem/operations/exists.cc (test for excess errors) experimental/filesystem/operations/exists.cc execution test experimental/filesystem/operations/file_size.cc (test for excess errors) experimental/filesystem/operations/file_size.cc execution test experimental/filesystem/operations/is_empty.cc (test for excess errors) experimental/filesystem/operations/is_empty.cc execution test experimental/filesystem/operations/last_write_time.cc (test for excess errors) experimental/filesystem/operations/last_write_time.cc execution test experimental/filesystem/operations/permissions.cc (test for excess errors) experimental/filesystem/operations/permissions.cc execution test experimental/filesystem/operations/read_symlink.cc (test for excess errors) experimental/filesystem/operations/read_symlink.cc execution test experimental/filesystem/operations/remove.cc (test for excess errors) experimental/filesystem/operations/remove.cc execution test experimental/filesystem/operations/remove_all.cc (test for excess errors) experimental/filesystem/operations/remove_all.cc execution test experimental/filesystem/operations/space.cc (test for excess errors) experimental/filesystem/operations/space.cc execution test experimental/filesystem/operations/status.cc (test for excess errors) experimental/filesystem/operations/status.cc execution test experimental/filesystem/operations/temp_directory_path.cc (test for excess errors) experimental/filesystem/operations/temp_directory_path.cc execution test experimental/filesystem/path/append/path.cc (test for excess errors) experimental/filesystem/path/append/path.cc execution test experimental/filesystem/path/assign/assign.cc (test for excess errors) experimental/filesystem/path/assign/assign.cc execution test experimental/filesystem/path/assign/copy.cc (test for excess errors) experimental/filesystem/path/assign/copy.cc execution test experimental/filesystem/path/compare/compare.cc (test for excess errors) experimental/filesystem/path/compare/compare.cc execution test experimental/filesystem/path/compare/path.cc (test for excess errors) experimental/filesystem/path/compare/path.cc execution test experimental/filesystem/path/compare/strings.cc (test for excess errors) experimental/filesystem/path/compare/strings.cc execution test experimental/filesystem/path/concat/path.cc (test for excess errors) experimental/filesystem/path/concat/path.cc execution test experimental/filesystem/path/concat/strings.cc (test for excess errors) experimental/filesystem/path/concat/strings.cc execution test experimental/filesystem/path/construct/copy.cc (test for excess errors) experimental/filesystem/path/construct/copy.cc execution test experimental/filesystem/path/construct/default.cc (test for excess errors) experimental/filesystem/path/construct/default.cc execution test experimental/filesystem/path/construct/locale.cc (test for excess errors) experimental/filesystem/path/construct/locale.cc execution test experimental/filesystem/path/construct/range.cc (test for excess errors) experimental/filesystem/path/construct/range.cc execution test experimental/filesystem/path/construct/string_view.cc (test for excess errors) experimental/filesystem/path/construct/string_view.cc execution test experimental/filesystem/path/decompose/extension.cc (test for excess errors) experimental/filesystem/path/decompose/extension.cc execution test experimental/filesystem/path/decompose/filename.cc (test for excess errors) experimental/filesystem/path/decompose/filename.cc execution test experimental/filesystem/path/decompose/parent_path.cc (test for excess errors) experimental/filesystem/path/decompose/parent_path.cc execution test experimental/filesystem/path/decompose/relative_path.cc (test for excess errors) experimental/filesystem/path/decompose/relative_path.cc execution test experimental/filesystem/path/decompose/root_directory.cc (test for excess errors) experimental/filesystem/path/decompose/root_directory.cc execution test experimental/filesystem/path/decompose/root_name.cc (test for excess errors) experimental/filesystem/path/decompose/root_name.cc execution test experimental/filesystem/path/decompose/root_path.cc (test for excess errors) experimental/filesystem/path/decompose/root_path.cc execution test experimental/filesystem/path/decompose/stem.cc (test for excess errors) experimental/filesystem/path/decompose/stem.cc execution test experimental/filesystem/path/generic/generic_string.cc (test for excess errors) experimental/filesystem/path/generic/generic_string.cc execution test experimental/filesystem/path/itr/traversal.cc (test for excess errors) experimental/filesystem/path/itr/traversal.cc execution test experimental/filesystem/path/modifiers/clear.cc (test for excess errors) experimental/filesystem/path/modifiers/clear.cc execution test experimental/filesystem/path/modifiers/make_preferred.cc (test for excess errors) experimental/filesystem/path/modifiers/make_preferred.cc execution test experimental/filesystem/path/modifiers/remove_filename.cc (test for excess errors) experimental/filesystem/path/modifiers/remove_filename.cc execution test experimental/filesystem/path/modifiers/replace_extension.cc (test for excess errors) experimental/filesystem/path/modifiers/replace_extension.cc execution test experimental/filesystem/path/modifiers/replace_filename.cc (test for excess errors) experimental/filesystem/path/modifiers/replace_filename.cc execution test experimental/filesystem/path/modifiers/swap.cc (test for excess errors) experimental/filesystem/path/modifiers/swap.cc execution test experimental/filesystem/path/nonmember/hash_value.cc (test for excess errors) experimental/filesystem/path/nonmember/hash_value.cc execution test experimental/filesystem/path/preferred_separator.cc (test for excess errors) experimental/filesystem/path/query/empty.cc (test for excess errors) experimental/filesystem/path/query/empty.cc execution test experimental/filesystem/path/query/has_extension.cc (test for excess errors) experimental/filesystem/path/query/has_extension.cc execution test experimental/filesystem/path/query/has_filename.cc (test for excess errors) experimental/filesystem/path/query/has_filename.cc execution test experimental/filesystem/path/query/has_parent_path.cc (test for excess errors) experimental/filesystem/path/query/has_parent_path.cc execution test experimental/filesystem/path/query/has_relative_path.cc (test for excess errors) experimental/filesystem/path/query/has_relative_path.cc execution test experimental/filesystem/path/query/has_root_directory.cc (test for excess errors) experimental/filesystem/path/query/has_root_directory.cc execution test experimental/filesystem/path/query/has_root_name.cc (test for excess errors) experimental/filesystem/path/query/has_root_name.cc execution test experimental/filesystem/path/query/has_root_path.cc (test for excess errors) experimental/filesystem/path/query/has_root_path.cc execution test experimental/filesystem/path/query/has_stem.cc (test for excess errors) experimental/filesystem/path/query/has_stem.cc execution test experimental/filesystem/path/query/is_absolute.cc (test for excess errors) experimental/filesystem/path/query/is_absolute.cc execution test experimental/filesystem/path/query/is_relative.cc (test for excess errors) experimental/filesystem/path/query/is_relative.cc execution test ## Differences found: # 1 differences in 3 common sum files found
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 <features.h>], @@ -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 <unistd.h> @@ -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 <sys/sendfile.h>], [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