Hi Thomas, On Thu, 20 Jun 2019 at 20:04, Thomas Schwinge <tho...@codesourcery.com> wrote: > > Hi! > > I was just building an aarch64 cross-compiler (indeed compiler only: > 'make all-gcc'), and then wanted to check something in gimplification > ('-S -fdump-tree-gimple'), with '-mabi=ilp32', which told me: "cc1: > error: assembler does not support '-mabi=ilp32'". That's unexpected, as > for '-S' GCC isn't even going to invoke the assembler. It's coming from > this change: > > On Wed, 11 Dec 2013 13:57:59 +0100, Christophe Lyon > <christophe.l...@linaro.org> wrote: > > Committed on Kugan's behalf as rev 205891. > > > > On 11 December 2013 13:27, Marcus Shawcroft <marcus.shawcr...@arm.com> > > wrote: > > > On 10/12/13 20:23, Kugan wrote: > > > > > >> gcc/ > > >> > > >> +2013-12-11 Kugan Vivekanandarajah <kug...@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. > > >> + > > >> > > > > > > Kugan, Thanks for sorting this out. OK to commit. > > > > > > /Marcus > > Specifically: > > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -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 > > Why is that necessary? Won't the assembler itself tell the user that it > "does not support -mabi=ilp32", thus this check can be removed? If not, > can a condition simply be added here to only emit this error if we're > indeed going to invoke the assembler? Current binutils will but binutils 2.23 and before didnt. Specifically, with 2.23.2, bootstrap was failing. That is why we needed this.
Thanks, Kugan > > (For my own testing, I just locally disabled that, of course.) > > > Grüße > Thomas