mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 01:50:33 +08:00
configure.ac: Add check for aarch64 assembler -mabi support.
2013-12-11 Kugan Vivekanandarajah <kuganv@linaro.org> * configure.ac: Add check for aarch64 assembler -mabi support. * configure: Regenerate. * config.in: Regenerate. * config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define. (ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC. * config/aarch64/aarch64.h (aarch64_override_options): Issue error if assembler does not support -mabi and option ilp32 is selected. * doc/install.texi: Added note that building gcc 4.9 and after with pre 2.24 binutils will not support -mabi=ilp32. From-SVN: r205891
This commit is contained in:
parent
2ce064c344
commit
63892fa207
@ -1,3 +1,15 @@
|
||||
2013-12-11 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||||
|
||||
* configure.ac: Add check for aarch64 assembler -mabi support.
|
||||
* configure: Regenerate.
|
||||
* config.in: Regenerate.
|
||||
* config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define.
|
||||
(ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC.
|
||||
* config/aarch64/aarch64.h (aarch64_override_options): Issue error
|
||||
if assembler does not support -mabi and option ilp32 is selected.
|
||||
* doc/install.texi: Added note that building gcc 4.9 and after
|
||||
with pre 2.24 binutils will not support -mabi=ilp32.
|
||||
|
||||
2013-12-11 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR sanitizer/59399
|
||||
|
@ -134,13 +134,19 @@
|
||||
" %{!mbig-endian:%{!mlittle-endian:" ENDIAN_SPEC "}}" \
|
||||
" %{!mabi=*:" ABI_SPEC "}"
|
||||
|
||||
#ifdef HAVE_AS_MABI_OPTION
|
||||
#define ASM_MABI_SPEC "%{mabi=*:-mabi=%*}"
|
||||
#else
|
||||
#define ASM_MABI_SPEC "%{mabi=lp64:}"
|
||||
#endif
|
||||
|
||||
#ifndef ASM_SPEC
|
||||
#define ASM_SPEC "\
|
||||
%{mbig-endian:-EB} \
|
||||
%{mlittle-endian:-EL} \
|
||||
%{mcpu=*:-mcpu=%*} \
|
||||
%{march=*:-march=%*} \
|
||||
%{mabi=*:-mabi=%*}"
|
||||
%{march=*:-march=%*}" \
|
||||
ASM_MABI_SPEC
|
||||
#endif
|
||||
|
||||
#undef TYPE_OPERAND_FMT
|
||||
|
@ -5187,6 +5187,13 @@ aarch64_override_options (void)
|
||||
aarch64_parse_tune ();
|
||||
}
|
||||
|
||||
#ifndef HAVE_AS_MABI_OPTION
|
||||
/* The compiler may have been configured with 2.23.* binutils, which does
|
||||
not have support for ILP32. */
|
||||
if (TARGET_ILP32)
|
||||
error ("Assembler does not support -mabi=ilp32");
|
||||
#endif
|
||||
|
||||
initialize_aarch64_code_model ();
|
||||
|
||||
aarch64_build_bitmask_table ();
|
||||
|
@ -3494,6 +3494,35 @@ AC_DEFINE_UNQUOTED(HAVE_LTO_PLUGIN, $gcc_cv_lto_plugin,
|
||||
AC_MSG_RESULT($gcc_cv_lto_plugin)
|
||||
|
||||
case "$target" in
|
||||
aarch64*-*-*)
|
||||
gcc_GAS_CHECK_FEATURE([-mabi option], gcc_cv_as_aarch64_mabi,,
|
||||
[-mabi=lp64], [.text],,,)
|
||||
if test x$gcc_cv_as_aarch64_mabi = xyes; then
|
||||
AC_DEFINE(HAVE_AS_MABI_OPTION, 1,
|
||||
[Define if your assembler supports the -mabi option.])
|
||||
else
|
||||
if test x$with_abi = xilp32; then
|
||||
AC_MSG_ERROR([Assembler does not support -mabi=ilp32.\
|
||||
Upgrade the Assembler.])
|
||||
fi
|
||||
if test x"$with_multilib_list" = xdefault; then
|
||||
TM_MULTILIB_CONFIG=lp64
|
||||
else
|
||||
aarch64_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
|
||||
for aarch64_multilib in ${aarch64_multilibs}; do
|
||||
case ${aarch64_multilib} in
|
||||
ilp32)
|
||||
AC_MSG_ERROR([Assembler does not support -mabi=ilp32.\
|
||||
Upgrade the Assembler.])
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
# All TARGET_ABI_OSF targets.
|
||||
alpha*-*-linux* | alpha*-*-*bsd*)
|
||||
gcc_GAS_CHECK_FEATURE([explicit relocation support],
|
||||
|
@ -3749,6 +3749,15 @@ is required to build GCC@. For GCC 3.3 and later, this is the default.
|
||||
For gcc 3.4.3 and later, @option{--enable-libunwind-exceptions} is
|
||||
removed and the system libunwind library will always be used.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
@end html
|
||||
@anchor{aarch64-x-x}
|
||||
@heading aarch64*-*-*
|
||||
Pre 2.24 binutils does not have support for selecting -mabi and does not
|
||||
support ILP32. If GCC 4.9 or later is built with pre 2.24, GCC will not
|
||||
support option -mabi=ilp32.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
<!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user