8374f9d4b5
* elf32-spu.c (spu_elf_special_sections): Add "._ea". (spu_elf_relocate_section): Handle relocations against symbols defined in ._ea specially. binutils/ * embedspu.sh: Take note of R_SPU_PPU32/64 relocs without a symbol, and if present, put image in ".data.speelf". Put program handle in ".data.spehandle". ld/emulparams/ * elf32_spu.sh (OTHER_SECTIONS): Add "._ea". * elf32ppc.sh: If building with spu support, put ".data.spehandle" sections at the start of ".data" and provide a symbol to locate the directory of embedded spe programs. ld/testsuite/ * ld-spu/ear.s: Align various sections. * ld-spu/embed.rd: Update.
21 lines
624 B
Bash
21 lines
624 B
Bash
SCRIPT_NAME=elf
|
|
TEMPLATE_NAME=elf32
|
|
EXTRA_EM_FILE=spuelf
|
|
OUTPUT_FORMAT="elf32-spu"
|
|
ARCH=spu
|
|
MACHINE=
|
|
ALIGNMENT=16
|
|
TEXT_START_ADDR=0
|
|
INITIAL_READONLY_SECTIONS='.interrupt : { KEEP(*(.interrupt)) }'
|
|
if test -z "${CREATE_SHLIB}"; then
|
|
INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
|
|
.interp ${RELOCATING-0} : { *(.interp) }"
|
|
fi
|
|
OTHER_END_SYMBOLS='PROVIDE (__stack = 0x3fff0);'
|
|
NO_SMALL_DATA=true
|
|
EMBEDDED=true
|
|
MAXPAGESIZE=0x80
|
|
DATA_ADDR="ALIGN(${MAXPAGESIZE})"
|
|
OTHER_BSS_SECTIONS=".toe ALIGN(128) : { *(.toe) } = 0"
|
|
OTHER_SECTIONS=".note.spu_name 0 : { KEEP(*(.note.spu_name)) }
|
|
._ea 0 : { KEEP(*(._ea)) }"
|