binutils-gdb/gas/config
Richard Sandiford dbd8770c86 [AArch64] Reject -0.0 as an 8-bit FP immediate
parse_aarch64_imm_float was accepting -0.0 even though that's not
a valid immediate for any instruction.  The FPIMM0 caller rejected
it, but the FPIMM one would silently treat it as -2.0.

This patch rejects -0.0 and adds testcases to illegal.[sd].

Before the patch, the final error emitted for illegal.s was:

        Error: cannot do 16-byte relocation

which was matched by:

        [^:]*:569: Error: .*

The error was reported against the last line of the file rather than
the instruction that required the reloc.  Adding more instructions
meant that the line number also changed.

Reporting against the wrong line isn't good from a QoI perspective
but isn't what I'm trying to fix here.  Until it's fixed, I thought
it would be better to adjust the match to be against an end-of-file
comment rather than against whatever the last instruction happens to be.

gas/
	* config/tc-aarch64.c (parse_aarch64_imm_float): Reject -0.0.
	* testsuite/gas/aarch64/illegal.s, testsuite/gas/aarch64/illegal.l:
	Add tests for -0.0.  Add an end-of-file comment.
2016-08-11 09:14:45 +01:00
..
aout_gnu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
atof-ieee.c cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
atof-vax.c Constify more 2016-04-01 23:10:50 +10:30
bfin-aux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-defs.h use XNEW and related macros more 2016-05-13 00:35:51 -04:00
bfin-lex-wrapper.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-lex.l Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfin-parse.y Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
e-crisaout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-criself.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386coff.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-i386elf.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
e-mipself.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
itbl-mips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k-parse.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k-parse.y Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-aout.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff-seh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff-seh.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-coff.c Fix build breakage 2016-05-13 15:58:07 +09:30
obj-coff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-ecoff.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-ecoff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-elf.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
obj-elf.h add more const qualifiers 2016-03-28 20:38:24 -04:00
obj-evax.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
obj-evax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-fdpicelf.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-fdpicelf.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-macho.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
obj-macho.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-multi.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-multi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
obj-som.c Add more const type qualifiers to GAS sources. 2016-02-22 14:11:27 +00:00
obj-som.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rl78-defs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rl78-parse.y Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx-defs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
rx-parse.y Fix checking bignum values that are being inserted into byte sized containers. 2016-03-16 11:33:55 +00:00
tc-aarch64.c [AArch64] Reject -0.0 as an 8-bit FP immediate 2016-08-11 09:14:45 +01:00
tc-aarch64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-alpha.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-alpha.h Constify more 2016-04-01 23:10:50 +10:30
tc-arc.c Begin implementing ARC NPS-400 Accelerator instructions 2016-07-27 15:57:18 +01:00
tc-arc.h gas/arc: Make member of arc_flags const 2016-05-18 22:24:51 +01:00
tc-arm.c Ensure ARM VPUSH and VPOP instructions do not affect more than 16 registers. 2016-08-05 11:26:13 +01:00
tc-arm.h Remove support for creating ARM NOREAD sections. 2016-02-04 11:57:57 +00:00
tc-avr.c avr: replace sentinal with iteration from 0 to ARRAY_SIZE 2016-06-01 21:22:31 -04:00
tc-avr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-bfin.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-bfin.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cr16.c Fix compile time warning messages building with gcc v6.1.1 2016-06-13 10:49:26 +01:00
tc-cr16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-cris.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-cris.h cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
tc-crx.c change some variable's type to op_err 2016-05-24 08:44:19 -04:00
tc-crx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d10v.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-d10v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-d30v.c d30v: make var type operatorT 2016-05-24 08:55:45 -04:00
tc-d30v.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-dlx.c dlx: move prototype of dlx_set_skip_hi16 to elf/dlx.h 2016-06-27 05:57:32 -04:00
tc-dlx.h dlx: move prototype of dlx_set_skip_hi16 to elf/dlx.h 2016-06-27 05:57:32 -04:00
tc-epiphany.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-epiphany.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-fr30.c Constify more 2016-04-01 23:10:50 +10:30
tc-fr30.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-frv.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-frv.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ft32.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-ft32.h ft32: fixup TARGET_FORMAT 2016-05-24 08:49:46 -04:00
tc-generic.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-generic.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-h8300.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-h8300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-hppa.c use xstrdup, xmemdup0 and concat more 2016-05-13 00:35:51 -04:00
tc-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i370.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-i370.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i386-intel.c x86/Intel: fix operand checking for MOVSD 2016-07-01 08:56:13 +02:00
tc-i386.c x86: fix register check in check_qword_reg() 2016-07-05 11:14:51 +02:00
tc-i386.h Constify more 2016-04-01 23:10:50 +10:30
tc-i860.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-i860.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-i960.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-i960.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ia64.c ia64: use XOBNEW and XOBNEWVEC 2016-05-24 08:47:02 -04:00
tc-ia64.h Constify more 2016-04-01 23:10:50 +10:30
tc-ip2k.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-ip2k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-iq2000.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-iq2000.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-lm32.c Constify more 2016-04-01 23:10:50 +10:30
tc-lm32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32c.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-m32c.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m32r.c m32r: make mach_table static and const 2016-05-16 05:06:48 -04:00
tc-m32r.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68hc11.c m68hc11: make some vars type bfd_reloc_code_real_type 2016-05-16 04:55:31 -04:00
tc-m68hc11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-m68k.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-m68k.h Convert more variables to a constant form. 2016-02-25 16:55:21 +00:00
tc-m68851.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mcore.c remove a few sentinals 2016-06-25 11:54:28 -04:00
tc-mcore.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mep.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-mep.h Constify more 2016-04-01 23:10:50 +10:30
tc-metag.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-metag.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-microblaze.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-microblaze.h Constify more 2016-04-01 23:10:50 +10:30
tc-mips.c MIPS/GAS: Implement microMIPS branch/jump compaction 2016-07-27 17:38:31 +01:00
tc-mips.h MIPS/GAS: Don't convert PC-relative REL relocs against absolute symbols 2016-07-14 20:11:03 +01:00
tc-mmix.c mmix: constify handler_charp 2016-05-24 08:52:45 -04:00
tc-mmix.h cleanup FLT_CHARS and EXP_CHARS 2016-04-03 19:50:02 -04:00
tc-mn10200.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-mn10200.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-mn10300.c stop defining linkrelax in multiple places 2016-05-16 05:01:52 -04:00
tc-mn10300.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-moxie.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-moxie.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-msp430.c stop defining linkrelax in multiple places 2016-05-16 05:01:52 -04:00
tc-msp430.h msp430: Set DWARF2_ADDR_SIZE to 4. 2016-02-03 09:21:51 -07:00
tc-mt.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-mt.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-nds32.c make the type of nds32_pseudo_opcode::pseudo_val unsigned 2016-07-19 07:53:55 -04:00
tc-nds32.h make md_parse_option () take a const char * 2016-03-29 07:43:25 -04:00
tc-nios2.c Don't include libbfd.h outside of bfd, part 2 2016-07-16 13:27:30 +09:30
tc-nios2.h Constify more 2016-04-01 23:10:50 +10:30
tc-ns32k.c ns32k: remove dupplicate definition of input_line_pointer 2016-06-01 21:29:33 -04:00
tc-ns32k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-or1k.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-or1k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pdp11.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-pdp11.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-pj.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
tc-pj.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-ppc.c PowerPC VLE 2016-06-07 22:04:38 +09:30
tc-ppc.h Convert more variables to a constant form. 2016-02-25 16:55:21 +00:00
tc-rl78.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-rl78.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-rx.c Don't include libbfd.h outside of bfd, part 1 2016-07-16 13:25:11 +09:30
tc-rx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-s390.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-s390.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-score.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-score.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-score7.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-sh.c sh{,64}: make arg type enum 2016-06-05 23:27:41 -04:00
tc-sh.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sh64.c sh{,64}: make arg type enum 2016-06-05 23:27:41 -04:00
tc-sh64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-sparc.c Fix generation of relocs for 32-bit Sparc Solaris targets. 2016-08-04 14:57:23 +01:00
tc-sparc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-spu.c spu: make some constants unsigned 2016-05-23 01:20:09 -04:00
tc-spu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic4x.c change the type of some fields to bfd_reloc_code_real_type 2016-05-18 06:26:07 -04:00
tc-tic4x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic6x.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tic6x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic30.c use xstrdup, xmemdup0 and concat more 2016-05-13 00:35:51 -04:00
tc-tic30.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tic54x.c simplify tic54x_set_default_include () 2016-06-25 11:52:29 -04:00
tc-tic54x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilegx.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-tilepro.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
tc-tilepro.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-v850.c Change type of v850_target_arch to enum bfd_architecture 2016-05-18 06:09:44 -04:00
tc-v850.h Change type of v850_target_arch to enum bfd_architecture 2016-05-18 06:09:44 -04:00
tc-vax.c tc-vax.c: make prototype of flonum_gen2vax match its definition 2016-05-16 05:04:01 -04:00
tc-vax.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-visium.c remove a few sentinals 2016-06-25 11:54:28 -04:00
tc-visium.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xc16x.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-xc16x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xgate.c Ensure ARM VPUSH and VPOP instructions do not affect more than 16 registers. 2016-08-05 11:26:13 +01:00
tc-xgate.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xstormy16.c Constify more 2016-04-01 23:10:50 +10:30
tc-xstormy16.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-xtensa.c xtensa: remove a sentinal 2016-06-27 05:07:30 -04:00
tc-xtensa.h make xtensa_section_rename () take const char * 2016-03-31 07:30:41 -04:00
tc-z8k.c tc-z8k.c: make some argument types bfd_reloc_code_real_type 2016-07-19 07:47:03 -04:00
tc-z8k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
tc-z80.c use XNEW and related macros more 2016-04-03 20:43:23 -04:00
tc-z80.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-386bsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-aix5.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armfbsdeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armfbsdvfp.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-armlinuxeabi.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-dragonfly.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-dynix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-epoc-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-freebsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-generic.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-gnu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-go32.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppa64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hppalinux64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-hpux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-i386aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-ia64aix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-interix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-irix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-linux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-lynx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-mach.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-macos.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nacl.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nbsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-nbsd532.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-netware.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pc532mach.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-pep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-psos.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-riscix.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-solaris.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-sparcaout.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-sun3.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-svr4.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-symbian.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-tmips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-uclinux.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-vms.c Remove use of alloca. 2016-03-21 16:31:46 +00:00
te-vms.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-vxworks.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
te-wince-pe.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
vax-inst.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-istack.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-relax.c use XNEW and related macros more 2016-05-13 00:35:51 -04:00
xtensa-relax.h xtensa: typedef enums when defining them 2016-06-01 21:19:53 -04:00