From 1ab668bf2a42ad6c9ef2f691257118faba65bfe9 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 16 Jun 2014 11:28:26 +0930 Subject: Report an error on x86 pcrel BFD_RELOC_SIZE64 * config/tc-i386.c (reloc): Don't avoid pcrel check for BFD_RELOC_SIZE64. Return NO_RELOC on failing pcrel check. --- gas/ChangeLog | 5 +++++ gas/config/tc-i386.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 55a0d00..568df4e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2014-06-16 Alan Modra + * config/tc-i386.c (reloc): Don't avoid pcrel check for + BFD_RELOC_SIZE64. Return NO_RELOC on failing pcrel check. + +2014-06-16 Alan Modra + * config/tc-tic6x.c (s_tic6x_ehtype): Clear after frag_more. (tic6x_output_exidx_entry): Likewise. (md_apply_fix): Simplify 1 byte md_number_to_chars. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 341d100..d0d4d6c 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2846,9 +2846,12 @@ reloc (unsigned int size, if (other == BFD_RELOC_SIZE32) { if (size == 8) - return BFD_RELOC_SIZE64; + other = BFD_RELOC_SIZE64; if (pcrel) - as_bad (_("there are no pc-relative size relocations")); + { + as_bad (_("there are no pc-relative size relocations")); + return NO_RELOC; + } } #endif -- cgit v1.1