x86: Don't display --32/--64/--x32 without BFD64
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Aug 2018 18:03:50 +0000 (11:03 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Aug 2018 18:03:50 +0000 (11:03 -0700)
commitd7f449c026181e14162a67407842462e4bc0d8bd
tree36b78882fa5eed4b3de09b52ea3a70a032fdd831
parent19449d7c67690c641b1ec9c13ff3531677a5afcc
x86: Don't display --32/--64/--x32 without BFD64

For 32-bit x86 assembler, --64 and --x32 are unsupported if BFD64 is
undefined.  Even if BFD64 is defined, --64 and --x32 still may not be
supported if x86-64 support isn't compiled in:

[hjl@gnu-hsw-1 gas]$ ./as-new --64 -o x.o x.s
Assembler messages:
Fatal error: no compiled in support for x86_64
[hjl@gnu-hsw-1 gas]$ ./as-new --x32 -o x.o x.s
Assembler messages:
Fatal error: no compiled in support for 32bit x86_64
[hjl@gnu-hsw-1 gas]$

This patch removes --32/--64/--x32 from md_show_usage if BFD64 is
undefined and runs code64-inval only if BFD64 is undefined.

* config/tc-i386.c (md_show_usage): Don't display --32/--64/--x32
if BFD64 is undefined.
* testsuite/gas/i386/i386.exp (gas_bfd64_check): New.
Run code64-inval if gas_bfd64_check fails.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/i386.exp