diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2021-01-11 16:26:39 -0800 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2022-01-12 08:43:14 -0500 |
commit | 88d86e59701b3a747a55554baeb51369ae52bd18 (patch) | |
tree | 36117c56c47bf0fd868fa5a8fe3d4c97f1c50476 /config | |
parent | d8d5dac0fe978d9b0eed3726b863d176809983cd (diff) | |
download | newlib-88d86e59701b3a747a55554baeb51369ae52bd18.zip newlib-88d86e59701b3a747a55554baeb51369ae52bd18.tar.gz newlib-88d86e59701b3a747a55554baeb51369ae52bd18.tar.bz2 |
GCC: Check if AR works with --plugin and rc
AR from older binutils doesn't work with --plugin and rc:
[hjl@gnu-cfl-2 bin]$ touch foo.c
[hjl@gnu-cfl-2 bin]$ ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
[hjl@gnu-cfl-2 bin]$ ./ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
./ar: no operation specified
[hjl@gnu-cfl-2 bin]$ ./ar --version
GNU ar (Linux/GNU Binutils) 2.29.51.0.1.20180112
Copyright (C) 2018 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
[hjl@gnu-cfl-2 bin]$
Check if AR works with --plugin and rc before passing --plugin to AR and
RANLIB.
PR ld/27173
* configure: Regenerated.
* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with
--plugin and rc before enabling --plugin.
config/
PR ld/27173
* gcc-plugin.m4 (GCC_PLUGIN_OPTION): Check if AR works with
--plugin and rc before enabling --plugin.
libiberty/
PR ld/27173
* configure: Regenerated.
zlib/
PR ld/27173
* configure: Regenerated.
Diffstat (limited to 'config')
-rw-r--r-- | config/gcc-plugin.m4 | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/config/gcc-plugin.m4 b/config/gcc-plugin.m4 index 5e907ca..23c95be 100644 --- a/config/gcc-plugin.m4 +++ b/config/gcc-plugin.m4 @@ -132,6 +132,18 @@ for plugin in $plugin_names; do break fi done +dnl Check if ${AR} $plugin_option rc works. +AC_CHECK_TOOL(AR, ar) +if test "${AR}" = "" ; then + AC_MSG_ERROR([Required archive tool 'ar' not found on PATH.]) +fi +touch conftest.c +${AR} $plugin_option rc conftest.a conftest.c +if test "$?" != 0; then + AC_MSG_WARN([Failed: $AR $plugin_option rc]) + plugin_option= +fi +rm -f conftest.* if test -n "$plugin_option"; then $1="$plugin_option" AC_MSG_RESULT($plugin_option) |