9cc305ec20
* 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. |
||
---|---|---|
.. | ||
ear.d | ||
ear.s | ||
embed.rd | ||
fixup.d | ||
fixup.s | ||
icache1.d | ||
icache1.s | ||
ovl.d | ||
ovl.lnk | ||
ovl.s | ||
ovl1.lnk | ||
ovl2.d | ||
ovl2.lnk | ||
ovl2.s | ||
pic.d | ||
pic.s | ||
picdef.s | ||
spu.exp |