xtensa: gas: don't keep relocations for constants
xtensa gas chokes on 8/16 bit data entries representing constant symbols because it leaves BFD_RELOC_8/BFD_RELOC_16 fixups for which xtensa BFD cannot emit relocations. Resolve fixups for constant symbols in md_apply_fix. gas/ 2019-01-28 Max Filippov <jcmvbkbc@gmail.com> * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant symbols as done in md_apply_fix. * testsuite/gas/all/forward.d: Don't XFAIL for xtensa.
This commit is contained in:
parent
7054e2fff6
commit
75c1c97184
3 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2019-01-28 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* config/tc-xtensa.c (md_apply_fix): Mark fixups for constant
|
||||
symbols as done in md_apply_fix.
|
||||
* testsuite/gas/all/forward.d: Don't XFAIL for xtensa.
|
||||
|
||||
2019-01-28 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* po/fr.po: Updated French translation.
|
||||
|
|
|
@ -6019,6 +6019,12 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
|
|||
val = *valP;
|
||||
fixP->fx_done = 1;
|
||||
}
|
||||
else if (S_GET_SEGMENT (fixP->fx_addsy) == absolute_section)
|
||||
{
|
||||
val = S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset;
|
||||
*valP = val;
|
||||
fixP->fx_done = 1;
|
||||
}
|
||||
/* fall through */
|
||||
|
||||
case BFD_RELOC_XTENSA_PLT:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#objdump: -s -j .data
|
||||
#name: forward references
|
||||
# Some targets don't manage to resolve BFD_RELOC_8 for constants.
|
||||
#xfail: *c30-*-* *c4x-*-* d10v-*-* d30v-*-* pdp11-*-* xtensa*-*-*
|
||||
#xfail: *c30-*-* *c4x-*-* d10v-*-* d30v-*-* pdp11-*-*
|
||||
|
||||
.*: .*
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue