diff options
Diffstat (limited to 'ld/emultempl/ppc32elf.em')
-rw-r--r-- | ld/emultempl/ppc32elf.em | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em index 10f9107..cee14c0 100644 --- a/ld/emultempl/ppc32elf.em +++ b/ld/emultempl/ppc32elf.em @@ -124,6 +124,25 @@ ppc_before_allocation (void) EOF +if grep -q 'ld_elf32_spu_emulation' ldemul-list.h; then + cat >>e${EMULATION_NAME}.c <<EOF +/* Special handling for embedded SPU executables. */ +extern bfd_boolean embedded_spu_file (lang_input_statement_type *, const char *); +static bfd_boolean gld${EMULATION_NAME}_load_symbols (lang_input_statement_type *); + +static bfd_boolean +ppc_recognized_file (lang_input_statement_type *entry) +{ + if (embedded_spu_file (entry, "-m32")) + return TRUE; + + return gld${EMULATION_NAME}_load_symbols (entry); +} + +EOF +LDEMUL_RECOGNIZED_FILE=ppc_recognized_file +fi + # Define some shell vars to insert bits of code into the standard elf # parse_args and list_options functions. # |