bfd/
authorTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Wed, 5 Aug 2009 20:40:34 +0000 (20:40 +0000)
committerTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Wed, 5 Aug 2009 20:40:34 +0000 (20:40 +0000)
commit9cc305ec2050ff3cda567d40cf87a2814d8d2ff3
treed6ac66ada9f1a228988e8beb6030f1b673d5e413
parent99e008fef7268b84c5122b8a49ca7aa25edd7282
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]