aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSterling Augustine <saugustine@google.com>2009-09-22 21:47:03 +0000
committerSterling Augustine <saugustine@google.com>2009-09-22 21:47:03 +0000
commit9ac367048b593f5fe0b4893465fd5087a5511d20 (patch)
tree7bb29307e09174666c609ec0ec85137183833b80
parent89fa5381cbd8e13fe859f458ac0f46e13f7ea1c1 (diff)
downloadfsf-binutils-gdb-9ac367048b593f5fe0b4893465fd5087a5511d20.zip
fsf-binutils-gdb-9ac367048b593f5fe0b4893465fd5087a5511d20.tar.gz
fsf-binutils-gdb-9ac367048b593f5fe0b4893465fd5087a5511d20.tar.bz2
2009-09-22 Sterling Augustine <sterling@jaw.hq.tensilica.com>
* config/tc-xtensa.c (md_apply_fix): Remove check for constant with difference of of two symbols. (xtensa_fix_adjustable): Likewise.
-rw-r--r--gas/config/tc-xtensa.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 932b2d6..2ed8ada 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -5775,14 +5775,6 @@ xtensa_elf_section_change_hook (void)
bfd_boolean
xtensa_fix_adjustable (fixS *fixP)
{
- /* An offset is not allowed in combination with the difference of two
- symbols, but that cannot be easily detected after a local symbol
- has been adjusted to a (section+offset) form. Return 0 so that such
- an fix will not be adjusted. */
- if (fixP->fx_subsy && fixP->fx_addsy && fixP->fx_offset
- && relaxable_section (S_GET_SEGMENT (fixP->fx_subsy)))
- return 0;
-
/* We need the symbol name for the VTABLE entries. */
if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|| fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
@@ -5843,15 +5835,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
break;
}
- /* An offset is only allowed when it results from adjusting a
- local symbol into a section-relative offset. If the offset
- came from the original expression, tc_fix_adjustable will have
- prevented the fix from being converted to a section-relative
- form so that we can flag the error here. */
- if (fixP->fx_offset != 0 && !symbol_section_p (fixP->fx_addsy))
- as_bad_where (fixP->fx_file, fixP->fx_line,
- _("cannot represent subtraction with an offset"));
-
val = (S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset
- S_GET_VALUE (fixP->fx_subsy));