2007-12-07 Bob Wilson <bob.wilson@acm.org>
authorBob Wilson <bob.wilson@acm.org>
Fri, 7 Dec 2007 22:52:10 +0000 (22:52 +0000)
committerBob Wilson <bob.wilson@acm.org>
Fri, 7 Dec 2007 22:52:10 +0000 (22:52 +0000)
commit1bbb5f219cbbfd8fe4e16e493ead79cdfcdc1926
tree9e3ee0611f6bc8b925a79c9cd8e477712a99d68c
parente8c846c359fda086b5e550fc795cc1c05b6ee003
2007-12-07  Bob Wilson  <bob.wilson@acm.org>

include/elf/
* xtensa.h (R_XTENSA_32_PCREL): New.

bfd/
* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
(elf_xtensa_check_relocs): Use default case for all relocations that
need nothing done here.
(elf_xtensa_do_reloc): Compute self_address for all relocation types.
Handle R_XTENSA_32_PCREL.
(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
symbols.
(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.

gas/
* config/tc-xtensa.c (O_pcrel): Define.
(suffix_relocs): Add pcrel suffix.
(md_pseudo_table): Add 4byte and 2byte directives.
(xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp.
(xg_assemble_literal): Likewise.  Check for O_pcrel.
(expression_maybe_register): Reorganize.  Handle BFD_RELOC_32_PCREL.
(xg_valid_literal_expression): Allow O_pcrel.
(md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL.
(tc_gen_reloc): Fix punctuation in error message.

gas/testsuite/
* gas/xtensa/all.exp: Run new pcrel test.
* gas/xtensa/err-pcrel.s: New.
* gas/xtensa/pcrel.d: New.
* gas/xtensa/pcrel.s: New.
* gas/xtensa/xtensa-err.exp: New.
12 files changed:
bfd/ChangeLog
bfd/elf32-xtensa.c
gas/ChangeLog
gas/config/tc-xtensa.c
gas/testsuite/ChangeLog
gas/testsuite/gas/xtensa/all.exp
gas/testsuite/gas/xtensa/err-pcrel.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/pcrel.d [new file with mode: 0644]
gas/testsuite/gas/xtensa/pcrel.s [new file with mode: 0644]
gas/testsuite/gas/xtensa/xtensa-err.exp [new file with mode: 0644]
include/elf/ChangeLog
include/elf/xtensa.h