diff options
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/hppaelf.em | 11 | ||||
-rw-r--r-- | ld/emultempl/m68hc1xelf.em | 6 | ||||
-rw-r--r-- | ld/emultempl/ppc64elf.em | 5 |
3 files changed, 15 insertions, 7 deletions
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em index 01ca7e1..d8276d2 100644 --- a/ld/emultempl/hppaelf.em +++ b/ld/emultempl/hppaelf.em @@ -256,7 +256,7 @@ build_section_lists (lang_statement_union_type *statement) to build linker stubs. */ static void -gld${EMULATION_NAME}_finish (void) +hppaelf_finish (void) { /* bfd_elf_discard_info just plays with debugging sections, ie. doesn't affect any code, so we can delay resizing the @@ -312,9 +312,14 @@ gld${EMULATION_NAME}_finish (void) if (stub_file != NULL && stub_file->the_bfd->sections != NULL) { if (! elf32_hppa_build_stubs (&link_info)) - einfo ("%X%P: can not build stubs: %E\n"); + { + einfo ("%X%P: can not build stubs: %E\n"); + return; + } } } + + gld${EMULATION_NAME}_finish (); } @@ -387,5 +392,5 @@ PARSE_AND_LIST_ARGS_CASES=' # Put these extra hppaelf routines in ld_${EMULATION_NAME}_emulation # LDEMUL_AFTER_PARSE=hppaelf_after_parse -LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_FINISH=hppaelf_finish LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=hppaelf_create_output_section_statements diff --git a/ld/emultempl/m68hc1xelf.em b/ld/emultempl/m68hc1xelf.em index ecae4c0..890c120 100644 --- a/ld/emultempl/m68hc1xelf.em +++ b/ld/emultempl/m68hc1xelf.em @@ -289,7 +289,7 @@ m68hc11elf_add_stub_section (const char *stub_sec_name, to build linker stubs. */ static void -gld${EMULATION_NAME}_finish (void) +m68hc11elf_finish (void) { /* Now build the linker stubs. */ if (stub_file->the_bfd->sections != NULL) @@ -308,6 +308,8 @@ gld${EMULATION_NAME}_finish (void) if (!elf32_m68hc11_build_stubs (output_bfd, &link_info)) einfo ("%X%P: can not build stubs: %E\n"); } + + gld${EMULATION_NAME}_finish (); } @@ -369,5 +371,5 @@ PARSE_AND_LIST_ARGS_CASES=' # Put these extra m68hc11elf routines in ld_${EMULATION_NAME}_emulation # LDEMUL_BEFORE_ALLOCATION=m68hc11_elf_${EMULATION_NAME}_before_allocation -LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_FINISH=m68hc11elf_finish LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=m68hc11elf_create_output_section_statements diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em index f022a18..6b5dca9 100644 --- a/ld/emultempl/ppc64elf.em +++ b/ld/emultempl/ppc64elf.em @@ -314,7 +314,7 @@ build_section_lists (lang_statement_union_type *statement) /* Final emulation specific call. */ static void -gld${EMULATION_NAME}_finish (void) +ppc_finish (void) { /* e_entry on PowerPC64 points to the function descriptor for _start. If _start is missing, default to the first function @@ -389,6 +389,7 @@ gld${EMULATION_NAME}_finish (void) } ppc64_elf_restore_symbols (&link_info); + gld${EMULATION_NAME}_finish (); } @@ -576,6 +577,6 @@ PARSE_AND_LIST_ARGS_CASES=' # LDEMUL_BEFORE_ALLOCATION=ppc_before_allocation LDEMUL_AFTER_ALLOCATION=gld${EMULATION_NAME}_after_allocation -LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_FINISH=ppc_finish LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=ppc_create_output_section_statements LDEMUL_NEW_VERS_PATTERN=gld${EMULATION_NAME}_new_vers_pattern |