binutils-gdb/include/elf
Andrew Waterman 2922d21da1 Re-work RISC-V gas flags: now we just support -mabi and -march
We've decided to standardize on two flags for RISC-V: "-march" sets the
target architecture (which determines which instructions can be
generated), and "-mabi" sets the target ABI.  We needed to rework this
because the old flag set didn't support soft-float or single-float ABIs,
and didn't support an x32-style ABI on RISC-V.

Additionally, we've changed the behavior of the -march flag: it's now a
lot stricter and only parses things we can actually understand.
Additionally, it's now lowercase-only: the rationale is that while the
RISC-V ISA manual specifies that ISA strings are case-insensitive, in
Linux-land things are usually case-sensitive.  Since this flag can be
used to determine library paths, we didn't want to bake some
case-insensitivity in there that would case trouble later.

This patch implements these two new flags and removes the old flags that
could conflict with these.  There wasn't a RISC-V release before, so we
want to just support a clean flag set.

include/
	* elf/riscv.h (EF_RISCV_SOFT_FLOAT): Don't define.
	(EF_RISCV_FLOAT_ABI, EF_RISCV_FLOAT_ABI_SOFT): Define.
	(EF_RISCV_FLOAT_ABI_SINGLE, EF_RISCV_FLOAT_ABI_DOUBLE): Define.
	(EF_RISCV_FLOAT_ABI_QUAD): Define.
bfd/
	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
	EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
binutils/
	* readelf.c (get_machine_flags): Use
	EF_RISCV_FLOAT_ABI_{SOFT,SINGLE,DOBULE,QUAD) instead of
	EF_RISCV_{SOFT,HARD}_FLOAT.
gas/
	* config/tc-riscv.h (xlen): Delete.
	* config/tc-riscv.c (xlen): Make static.
	(abi_xlen): New variable.
	(options): Replace OPTION_{M32,M64,MSOFT_FLOAT,MHARD_FLOAT,MRVC}
	with OPTION_MABI.
	(md_longopts): Likewise.
	(md_parse_option): Likewise.
	(riscv_elf_final_processing): Likewise.
	* doc/as.texinfo (Target RISC-V options): Likewise.
	* doc/c-riscv.texi (OPTIONS): Likewise.
	* config/tc-riscv.c (float_mode): Removed.
	(float_abi): New type, specifies the floating-point ABI.
	(riscv_set_abi): New function.
	(riscv_add_subset): Only allow lower-case ISA names and require
	them to start with "rv".
	(riscv_after_parse_args): Likewise.
opcodes/
	* riscv-dis.c (riscv_disassemble_insn): Default to the ELF's
	XLEN when none is provided.
2016-12-20 12:26:34 +10:30
..
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
aarch64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
alpha.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
arc-reloc.def Fixes to legacy ARC relocations. 2016-08-26 12:09:17 +02:00
arc.h Arc assembler: Convert nps400 from a machine type to an extension. 2016-06-21 14:03:08 +01:00
arm.h 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com> 2016-08-04 15:36:52 +01:00
avr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
common.h Update list of ELF machine numbers. 2016-10-17 11:46:32 +01:00
cr16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
cr16c.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
cris.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
crx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
d10v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
d30v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
dlx.h addmore extern C 2016-06-22 12:59:58 -04:00
dwarf.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
epiphany.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
external.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
fr30.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
frv.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ft32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
h8.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i370.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i860.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
i960.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ia64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
internal.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ip2k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
iq2000.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
lm32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m32c.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m32r.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68hc11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mcore.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
metag.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
microblaze.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mips.h MIPS/opcodes: Also set disassembler's ASE flags from ELF structures 2016-12-14 22:12:21 +00:00
mmix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mn10200.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mn10300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
moxie.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
msp430.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
mt.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
nds32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
nios2.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
or1k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pj.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ppc.h PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
ppc64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
reloc-macros.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
riscv.h Re-work RISC-V gas flags: now we just support -mabi and -march 2016-12-20 12:26:34 +10:30
rl78.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
s390.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
score.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
sh.h add more extern C 2016-06-01 21:26:32 -04:00
sparc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
spu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic6x-attrs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tic6x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tilepro.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
v850.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
vax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
visium.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
vxworks.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
x86-64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xc16x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xgate.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xstormy16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa.h xtensa: prototype xtensa_make_property_section in elf/xtensa.h 2016-06-25 11:50:33 -04:00