mirror of git://sourceware.org/git/glibc.git
powerpc: Automatic CPU detection in preconfigure
Added a check to detect the CPU value in preconfigure, so that glibc is built with the correct --with-cpu value. And move existing checks into preconfigure.ac. Co-Authored-By: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> Co-Authored-By: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
This commit is contained in:
parent
c477beb2cc
commit
146fea0764
|
|
@ -1,4 +1,5 @@
|
|||
# preconfigure fragment for powerpc.
|
||||
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
|
||||
# Local preconfigure fragment for sysdeps/powerpc
|
||||
|
||||
case "$machine" in
|
||||
powerpc64le)
|
||||
|
|
@ -13,12 +14,59 @@ powerpc*)
|
|||
case "$host_os" in
|
||||
*gnuspe*)
|
||||
# SPE support was dropped in glibc 2.30.
|
||||
# We can't use AC_MSG_ERROR here.
|
||||
# The parent script is in the middle of printing the
|
||||
# "checking for sysdeps preconfigure fragments" line.
|
||||
echo >&2
|
||||
echo "Host system type $host is no longer supported." >&2
|
||||
exit 1
|
||||
as_fn_error $? "Host system type $host is no longer supported." "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# Lets ask the compiler which Power processor we've got, in case the user did
|
||||
# not choose a --with-cpu value. Scan a trivial generated assembly program
|
||||
# and scrape the first
|
||||
# .machine <machine>
|
||||
# or
|
||||
# .ascii "-mcpu=<machine>"
|
||||
# directive which shows up, and try using it.
|
||||
case "${machine}:${submachine}" in
|
||||
*powerpc*:)
|
||||
archcpu=`echo "int foo () { return 0; }" \
|
||||
| $CC $CFLAGS $CPPFLAGS -S -frecord-gcc-switches -xc -o - - \
|
||||
| grep -E "mcpu=|.machine" -m 1 \
|
||||
| sed -e "s/.*machine //" -e "s/.*mcpu=\(.*\)\"/\1/"`
|
||||
# Note if you add patterns here you must ensure that an appropriate
|
||||
# directory exists in sysdeps/powerpc. Likewise, if we find a
|
||||
# cpu, don't let the generic configure append extra compiler options.
|
||||
case "$archcpu" in
|
||||
405fp|440fp|464fp|476fp)
|
||||
submachine=${archcpu%fp}
|
||||
if ${libc_cv_cc_submachine+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
libc_cv_cc_submachine=""
|
||||
fi
|
||||
|
||||
;;
|
||||
405|440|464|476)
|
||||
submachine=${archcpu}
|
||||
if ${libc_cv_cc_submachine+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
libc_cv_cc_submachine=""
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
a2|970|power[4-9]|power5x|power6+)
|
||||
submachine=${archcpu}
|
||||
if ${libc_cv_cc_submachine+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
libc_cv_cc_submachine=""
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
# We couldn't figure it out, assume none
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
# Local preconfigure fragment for sysdeps/powerpc
|
||||
|
||||
case "$machine" in
|
||||
powerpc64le)
|
||||
base_machine=powerpc machine=powerpc/powerpc64/le
|
||||
;;
|
||||
powerpc64*)
|
||||
base_machine=powerpc machine=powerpc/powerpc64/be
|
||||
;;
|
||||
powerpc*)
|
||||
base_machine=powerpc machine=powerpc/powerpc32
|
||||
with_fp_cond="!defined __NO_FPRS__"
|
||||
case "$host_os" in
|
||||
*gnuspe*)
|
||||
# SPE support was dropped in glibc 2.30.
|
||||
AC_MSG_ERROR([Host system type $host is no longer supported.])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# Lets ask the compiler which Power processor we've got, in case the user did
|
||||
# not choose a --with-cpu value. Scan a trivial generated assembly program
|
||||
# and scrape the first
|
||||
# .machine <machine>
|
||||
# or
|
||||
# .ascii "-mcpu=<machine>"
|
||||
# directive which shows up, and try using it.
|
||||
case "${machine}:${submachine}" in
|
||||
*powerpc*:)
|
||||
archcpu=`echo "int foo () { return 0; }" \
|
||||
| $CC $CFLAGS $CPPFLAGS -S -frecord-gcc-switches -xc -o - - \
|
||||
| grep -E "mcpu=|[.]machine" -m 1 \
|
||||
| sed -e "s/.*machine //" -e "s/.*mcpu=\(.*\)\"/\1/"`
|
||||
# Note if you add patterns here you must ensure that an appropriate
|
||||
# directory exists in sysdeps/powerpc. Likewise, if we find a
|
||||
# cpu, don't let the generic configure append extra compiler options.
|
||||
case "$archcpu" in
|
||||
405fp|440fp|464fp|476fp)
|
||||
submachine=${archcpu%fp}
|
||||
AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="")
|
||||
;;
|
||||
405|440|464|476)
|
||||
submachine=${archcpu}
|
||||
AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="")
|
||||
;;
|
||||
|
||||
a2|970|power[[4-9]]|power5x|power6+)
|
||||
submachine=${archcpu}
|
||||
AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="")
|
||||
;;
|
||||
*)
|
||||
# We couldn't figure it out, assume none
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
Loading…
Reference in New Issue