Commit b1e21e5a by Christophe Lyon Committed by Christophe Lyon

[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts

The new arm-uclinuxfdpiceabi target behaves pretty much like
arm-linux-gnueabi. In order to enable the same set of features, we
have to update several configure scripts that generally match targets
like *-*-linux*: in most places, we add *-uclinux* where there is
already *-linux*, or uclinux* when there is already linux*.

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

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

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

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

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

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

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

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

	* libtool.m4: Handle uclinuxfdpiceabi.

From-SVN: r275564
parent e2c11cd1
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* libtool.m4: Handle uclinuxfdpiceabi.
2019-09-09 Jose E. Marchesi <jose.marchesi@oracle.com> 2019-09-09 Jose E. Marchesi <jose.marchesi@oracle.com>
* MAINTAINERS: Add myself as the maintainer of the eBPF port. * MAINTAINERS: Add myself as the maintainer of the eBPF port.
......
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* futex.m4: Handle *-uclinux*.
* tls.m4 (GCC_CHECK_TLS): Likewise.
2019-09-06 Florian Weimer <fweimer@redhat.com> 2019-09-06 Florian Weimer <fweimer@redhat.com>
* futex.m4 (GCC_LINUX_FUTEX): Include <unistd.h> for the syscall * futex.m4 (GCC_LINUX_FUTEX): Include <unistd.h> for the syscall
......
...@@ -9,7 +9,7 @@ AC_DEFUN([GCC_LINUX_FUTEX],[dnl ...@@ -9,7 +9,7 @@ AC_DEFUN([GCC_LINUX_FUTEX],[dnl
GCC_ENABLE(linux-futex,default, ,[use the Linux futex system call], GCC_ENABLE(linux-futex,default, ,[use the Linux futex system call],
permit yes|no|default) permit yes|no|default)
case "$target" in case "$target" in
*-linux*) *-linux* | *-uclinux*)
case "$enable_linux_futex" in case "$enable_linux_futex" in
default) default)
# If headers don't have gettid/futex syscalls definition, then # If headers don't have gettid/futex syscalls definition, then
......
...@@ -76,7 +76,7 @@ AC_DEFUN([GCC_CHECK_TLS], [ ...@@ -76,7 +76,7 @@ AC_DEFUN([GCC_CHECK_TLS], [
dnl Shared library options may depend on the host; this check dnl Shared library options may depend on the host; this check
dnl is only known to be needed for GNU/Linux. dnl is only known to be needed for GNU/Linux.
case $host in case $host in
*-*-linux*) *-*-linux* | -*-uclinuxfdpic*)
LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
;; ;;
esac esac
......
2019-09-10 Christophe Lyon <christophe.lyon@st.com> 2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* config.gcc: Handle *-*-uclinuxfdpiceabi.
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
Mickaël Guêné <mickael.guene@st.com> Mickaël Guêné <mickael.guene@st.com>
* config/arm/arm.opt: Add -mfdpic option. * config/arm/arm.opt: Add -mfdpic option.
......
...@@ -774,7 +774,7 @@ case ${target} in ...@@ -774,7 +774,7 @@ case ${target} in
*-*-fuchsia*) *-*-fuchsia*)
native_system_header_dir=/include 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" extra_options="$extra_options gnu-user.opt"
gas=yes gas=yes
gnu_ld=yes gnu_ld=yes
...@@ -803,7 +803,7 @@ case ${target} in ...@@ -803,7 +803,7 @@ case ${target} in
*-*-*android*) *-*-*android*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC" tm_defines="$tm_defines DEFAULT_LIBC=LIBC_BIONIC"
;; ;;
*-*-*uclibc*) *-*-*uclibc* | *-*-uclinuxfdpiceabi)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;; ;;
*-*-*musl*) *-*-*musl*)
...@@ -1201,7 +1201,7 @@ arm*-*-netbsdelf*) ...@@ -1201,7 +1201,7 @@ arm*-*-netbsdelf*)
armv7*) target_cpu_cname="generic-armv7-a";; armv7*) target_cpu_cname="generic-armv7-a";;
esac esac
;; ;;
arm*-*-linux-*) # ARM GNU/Linux with ELF arm*-*-linux-* | arm*-*-uclinuxfdpiceabi)
tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" 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" extra_options="${extra_options} linux-android.opt"
case $target in case $target in
......
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* configure.tgt: Handle arm*-*-uclinux*.
* configure: Regenerate.
2019-09-03 Chung-Lin Tang <cltang@codesourcery.com> 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
PR other/79543 PR other/79543
......
...@@ -6055,7 +6055,7 @@ irix5* | irix6* | nonstopux*) ...@@ -6055,7 +6055,7 @@ irix5* | irix6* | nonstopux*)
;; ;;
# This must be Linux ELF. # 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 lt_cv_deplibs_check_method=pass_all
;; ;;
...@@ -9135,7 +9135,7 @@ _LT_EOF ...@@ -9135,7 +9135,7 @@ _LT_EOF
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 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 tmp_diet=no
if test "$host_os" = linux-dietlibc; then if test "$host_os" = linux-dietlibc; then
case $cc_basename in case $cc_basename in
...@@ -10666,7 +10666,12 @@ linux*oldld* | linux*aout* | linux*coff*) ...@@ -10666,7 +10666,12 @@ linux*oldld* | linux*aout* | linux*coff*)
;; ;;
# This must be Linux ELF. # This must be Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
# uclinux* changes (here and below) have been submitted to the libtool
# project, but have not yet been accepted: they are GCC-local changes
# for the time being. (See
# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
version_type=linux version_type=linux
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
......
...@@ -124,7 +124,7 @@ case "${target}" in ...@@ -124,7 +124,7 @@ case "${target}" in
config_path="${config_path} linux/aarch64 posix" config_path="${config_path} linux/aarch64 posix"
;; ;;
arm*-*-linux*) arm*-*-linux* | arm*-*-uclinux*)
# OS support for atomic primitives. # OS support for atomic primitives.
config_path="${config_path} linux/arm posix" config_path="${config_path} linux/arm posix"
;; ;;
......
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* config.host: Handle *-*-uclinuxfdpiceabi.
2019-09-09 Jose E. Marchesi <jose.marchesi@oracle.com> 2019-09-09 Jose E. Marchesi <jose.marchesi@oracle.com>
* config.host: Set cpu_type for bpf-*-* targets. * config.host: Set cpu_type for bpf-*-* targets.
......
...@@ -248,7 +248,7 @@ case ${host} in ...@@ -248,7 +248,7 @@ case ${host} in
tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia" 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" 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" 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" extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
if test x$enable_vtable_verify = xyes; then if test x$enable_vtable_verify = xyes; then
...@@ -453,7 +453,7 @@ arm*-*-netbsdelf*) ...@@ -453,7 +453,7 @@ arm*-*-netbsdelf*)
;; ;;
esac esac
;; ;;
arm*-*-linux*) # ARM GNU/Linux with ELF arm*-*-linux* | arm*-*-uclinuxfdpiceabi)
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm" tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm"
tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc" 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" tm_file="$tm_file arm/bpabi-lib.h"
......
2019-09-10 Christophe Lyon <christophe.lyon@st.com>
* configure.tgt: Handle *-*-uclinux*.
* configure: Regenerate.
2019-09-06 Florian Weimer <fweimer@redhat.com> 2019-09-06 Florian Weimer <fweimer@redhat.com>
* configure: Regenerate. * configure: Regenerate.
......
...@@ -6731,7 +6731,7 @@ irix5* | irix6* | nonstopux*) ...@@ -6731,7 +6731,7 @@ irix5* | irix6* | nonstopux*)
;; ;;
# This must be Linux ELF. # 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 lt_cv_deplibs_check_method=pass_all
;; ;;
...@@ -9812,7 +9812,7 @@ _LT_EOF ...@@ -9812,7 +9812,7 @@ _LT_EOF
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 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 tmp_diet=no
if test "$host_os" = linux-dietlibc; then if test "$host_os" = linux-dietlibc; then
case $cc_basename in case $cc_basename in
...@@ -11343,7 +11343,12 @@ linux*oldld* | linux*aout* | linux*coff*) ...@@ -11343,7 +11343,12 @@ linux*oldld* | linux*aout* | linux*coff*)
;; ;;
# This must be Linux ELF. # This must be Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
# uclinux* changes (here and below) have been submitted to the libtool
# project, but have not yet been accepted: they are GCC-local changes
# for the time being. (See
# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
version_type=linux version_type=linux
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
...@@ -15003,7 +15008,12 @@ linux*oldld* | linux*aout* | linux*coff*) ...@@ -15003,7 +15008,12 @@ linux*oldld* | linux*aout* | linux*coff*)
;; ;;
# This must be Linux ELF. # This must be Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
# uclinux* changes (here and below) have been submitted to the libtool
# project, but have not yet been accepted: they are GCC-local changes
# for the time being. (See
# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
version_type=linux version_type=linux
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
...@@ -16468,7 +16478,7 @@ fi ...@@ -16468,7 +16478,7 @@ fi
case "$target" in case "$target" in
*-linux*) *-linux* | *-uclinux*)
case "$enable_linux_futex" in case "$enable_linux_futex" in
default) default)
# If headers don't have gettid/futex syscalls definition, then # If headers don't have gettid/futex syscalls definition, then
...@@ -16593,7 +16603,7 @@ _ACEOF ...@@ -16593,7 +16603,7 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"; then : if ac_fn_c_try_link "$LINENO"; then :
chktls_save_LDFLAGS="$LDFLAGS" chktls_save_LDFLAGS="$LDFLAGS"
case $host in case $host in
*-*-linux*) *-*-linux* | -*-uclinuxfdpic*)
LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS"
;; ;;
esac esac
......
...@@ -127,7 +127,7 @@ config_path="$ARCH posix generic" ...@@ -127,7 +127,7 @@ config_path="$ARCH posix generic"
# Other system configury # Other system configury
case "${target}" in case "${target}" in
*-*-linux*) *-*-linux* | *-*-uclinux*)
if test "$enable_linux_futex" = yes; then if test "$enable_linux_futex" = yes; then
config_path="linux/$ARCH linux $config_path" config_path="linux/$ARCH linux $config_path"
fi fi
......
...@@ -2449,7 +2449,12 @@ linux*oldld* | linux*aout* | linux*coff*) ...@@ -2449,7 +2449,12 @@ linux*oldld* | linux*aout* | linux*coff*)
;; ;;
# This must be Linux ELF. # This must be Linux ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu)
# uclinux* changes (here and below) have been submitted to the libtool
# project, but have not yet been accepted: they are GCC-local changes
# for the time being. (See
# https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html)
linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
version_type=linux version_type=linux
need_lib_prefix=no need_lib_prefix=no
need_version=no need_version=no
...@@ -3089,7 +3094,7 @@ irix5* | irix6* | nonstopux*) ...@@ -3089,7 +3094,7 @@ irix5* | irix6* | nonstopux*)
;; ;;
# This must be Linux ELF. # 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 lt_cv_deplibs_check_method=pass_all
;; ;;
...@@ -4449,7 +4454,7 @@ _LT_EOF ...@@ -4449,7 +4454,7 @@ _LT_EOF
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _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 tmp_diet=no
if test "$host_os" = linux-dietlibc; then if test "$host_os" = linux-dietlibc; then
case $cc_basename in case $cc_basename in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment