bfd/
commit86d862ba8a925b34276dd0abae24d34948600826
authorTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Wed, 5 Aug 2009 20:40:34 +0000 (5 20:40 +0000)
committerTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Wed, 5 Aug 2009 20:40:34 +0000 (5 20:40 +0000)
treec3df5f1b8da70c3e6a574b1fa1154c54ff6c97ee
parent68a44794e419457bebccae833b98abe2b7335fb9
bfd/
* elf32-spu.h (spu_elf_params): Add member emit_fixups.
(spu_elf_size_sections): Declare prototype.
* elf32-spu.c (spu_link_hash_table): Add member sfixup.
(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
(spu_elf_emit_fixup): New function.
(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
(spu_elf_size_sections): New function.
ld/
* emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
section and __fixup_start symbol.
* emultempl/spuelf.em (params): Initialize emit_fixups member.
(spu_before_allocation): Call spu_elf_size_sections.
(OPTION_SPU_EMIT_FIXUPS): Define.
(PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
(PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
* ld.texinfo (--emit-fixups): Document.
ld/testsuite/
* ld-spu/fixup.d: New.
* ld-spu/fixup.s: New.
bfd/ChangeLog
bfd/elf32-spu.c
bfd/elf32-spu.h
ld/ChangeLog
ld/emulparams/elf32_spu.sh
ld/emultempl/spuelf.em
ld/testsuite/ChangeLog
ld/testsuite/ld-spu/fixup.d [new file with mode: 0644]
ld/testsuite/ld-spu/fixup.s [new file with mode: 0644]