This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch][Aarch64] Fix aarch64 libatomic build with older binutils
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Steve Ellcey <sellcey at cavium dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>, nd <nd at arm dot com>
- Date: Thu, 14 Dec 2017 17:39:34 +0000
- Subject: Re: [Patch][Aarch64] Fix aarch64 libatomic build with older binutils
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=bestguesspass action=none header.from=arm.com;
- Nodisclaimer: True
- References: <1512691015.23303.21.camel@cavium.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On Thu, Dec 07, 2017 at 11:56:55PM +0000, Steve Ellcey wrote:
> James,
>
> Here is a patch that will turn off the use of IFUNC and the LSE
> instructions in libatomic if the compiler/assembler toolchain do not
> understand the '-march=armv8-a+lse' option (changed from
> -march=armv8.1-a). Rather than check the assembler directly, I used
> the existing ACX_PROG_CC_WARNING_OPTS macro to test this. This will
> cause the GCC being built to send the option in question to the
> assembler and if the assembler complains that is enough to cause us to
> not set enable_aarch64_lse, and thus not set try_ifunc.
Thanks for the fix.
OK,
James
>
> Steve Ellcey
> sellcey@cavium.com
>
>
> 2017-12-07 Steve Ellcey <sellcey@cavium.com>
>
> * Makefile.am (IFUNC_OPTIONS): Change aarch64
> option from -march=armv8.1-a to -march=armv8-a+lse.
> * configure.ac (*aarch64*): Check to see if
> compiler understands -march=armv8-a+lse option.
> * configure.tgt (*aarch64*): Only set try_ifunc
> if compiler understands -march=armv8-a+lse option.
> * Makefile.in: Regenerate.
> * configure: Regenerate.
> * aclocal.m4: Regenerate.
>