diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-02-04 11:04:15 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-02-06 06:25:41 -0800 |
commit | a92613915ec2f38e1ab62ab254dde2a1ad4ad408 (patch) | |
tree | 053d8739de7d55b88c7eea6e80656eddbfadedac /ld/emultempl | |
parent | 026fbfa60eb7e94b4c7a6f340d433acb1eb7b7ad (diff) | |
download | gdb-a92613915ec2f38e1ab62ab254dde2a1ad4ad408.zip gdb-a92613915ec2f38e1ab62ab254dde2a1ad4ad408.tar.gz gdb-a92613915ec2f38e1ab62ab254dde2a1ad4ad408.tar.bz2 |
ld: Add emultempl/emulation.em
Add emultempl/emulation.em to define ld_${EMULATION_NAME}_emulation so
that new emulation hooks can be added easily.
* emultempl/aix.em (LDEMUL_AFTER_OPEN): New.
(LDEMUL_SET_OUTPUT_ARCH): Likewise.
(LDEMUL_CHOOSE_TARGET): Likewise.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise.
(LDEMUL_OPEN_DYNAMIC_ARCHIVE): Likewise.
(LDEMUL_PARSE_ARGS): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_UNRECOGNIZED_FILE): Likewise.
(LDEMUL_PRINT_SYMBOL): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/beos.em (gld_${EMULATION_NAME}_before_parse):
Renamed to ...
(gld${EMULATION_NAME}_before_parse): This.
(gld_${EMULATION_NAME}_set_symbols): Renamed to ...
(gld${EMULATION_NAME}_set_symbols): This.
(gld_${EMULATION_NAME}_after_open): Renamed to ...
(gld${EMULATION_NAME}_after_open): This.
(gld_${EMULATION_NAME}_before_allocation): Renamed to ...
(gld${EMULATION_NAME}_before_allocation): This.
(gld_${EMULATION_NAME}_get_script): Renamed to ...
(gld${EMULATION_NAME}_get_script): This.
(LDEMUL_AFTER_OPEN): New.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_PLACE_ORPHAN): Likewise.
(LDEMUL_SET_SYMBOLS): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/elf.em (LDEMUL_AFTER_PARSE): New.
(LDEMUL_AFTER_OPEN): Likewise.
(LDEMUL_BEFORE_PLACE_ORPHANS): Likewise.
(LDEMUL_AFTER_ALLOCATION): Likewise.
(LDEMUL_SET_OUTPUT_ARCH): Likewise.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_OPEN_DYNAMIC_ARCHIVE): Likewise.
(LDEMUL_PLACE_ORPHAN): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_LIST_OPTIONS): Likewise.
(LDEMUL_UNRECOGNIZED_FILE): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/emulation.em: New file.
* emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/msp430.em (LDEMUL_AFTER_OPEN): New.
(LDEMUL_AFTER_ALLOCATION): Likewise.
(LDEMUL_PLACE_ORPHAN): Likewise.
(LDEMUL_FINISH): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_LIST_OPTIONS): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Renamed
to ...
(gld${EMULATION_NAME}_before_parse): This.
(gld_${EMULATION_NAME}_list_options): Renamed to ...
(gld${EMULATION_NAME}_list_options): This.
(gld_${EMULATION_NAME}_set_symbols): Renamed to ...
(gld${EMULATION_NAME}_set_symbols): This.
(gld_${EMULATION_NAME}_after_parse): Renamed to ...
(gld${EMULATION_NAME}_after_parse): This.
(gld_${EMULATION_NAME}_after_open): Renamed to ...
(gld${EMULATION_NAME}_after_open): This.
(gld_${EMULATION_NAME}_before_allocation): Renamed to ...
(gld${EMULATION_NAME}_before_allocation): This.
(gld_${EMULATION_NAME}_unrecognized_file): Renamed to ...
(gld${EMULATION_NAME}_unrecognized_file): This.
(gld_${EMULATION_NAME}_recognized_file): Renamed to ...
(gld${EMULATION_NAME}_recognized_file): This.
(gld_${EMULATION_NAME}_finish): Renamed to ...
(gld${EMULATION_NAME}_finish): This.
(gld_${EMULATION_NAME}_place_orphan): Renamed to ...
(gld${EMULATION_NAME}_place_orphan): This.
(gld_${EMULATION_NAME}_open_dynamic_archive): Renamed to ...
(gld${EMULATION_NAME}_open_dynamic_archive): This.
(gld_${EMULATION_NAME}_find_potential_libraries): Renamed to ...
(gld${EMULATION_NAME}_find_potential_libraries): This.
(gld_${EMULATION_NAME}_get_script): Renamed to ...
(gld${EMULATION_NAME}_get_script): This.
(LDEMUL_AFTER_PARSE): New.
(LDEMUL_AFTER_OPEN): Likewise.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_FINISH=): Likewise.
(LDEMUL_OPEN_DYNAMIC_ARCHIVE): Likewise.
(LDEMUL_PLACE_ORPHAN): Likewise.
(LDEMUL_SET_SYMBOLS): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_UNRECOGNIZED_FILE): Likewise.
(LDEMUL_LIST_OPTIONS): Likewise.
(LDEMUL_RECOGNIZED_FILE): Likewise.
(LDEMUL_FIND_POTENTIAL_LIBRARIES): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Renamed
to ...
(gld${EMULATION_NAME}_before_parse): This.
(gld_${EMULATION_NAME}_list_options): Renamed to ...
(gld${EMULATION_NAME}_list_options): This.
(gld_${EMULATION_NAME}_set_symbols): Renamed to ...
(gld${EMULATION_NAME}_set_symbols): This.
(gld_${EMULATION_NAME}_after_parse): Renamed to ...
(gld${EMULATION_NAME}_after_parse): This.
(gld_${EMULATION_NAME}_after_open): Renamed to ...
(gld${EMULATION_NAME}_after_open): This.
(gld_${EMULATION_NAME}_before_allocation): Renamed to ...
(gld${EMULATION_NAME}_before_allocation): This.
(gld_${EMULATION_NAME}_unrecognized_file): Renamed to ...
(gld${EMULATION_NAME}_unrecognized_file): This.
(gld_${EMULATION_NAME}_recognized_file): Renamed to ...
(gld${EMULATION_NAME}_recognized_file): This.
(gld_${EMULATION_NAME}_finish): Renamed to ...
(gld${EMULATION_NAME}_finish): This.
(gld_${EMULATION_NAME}_place_orphan): Renamed to ...
(gld${EMULATION_NAME}_place_orphan): This.
(gld_${EMULATION_NAME}_open_dynamic_archive): Renamed to ...
(gld${EMULATION_NAME}_open_dynamic_archive): This.
(gld_${EMULATION_NAME}_find_potential_libraries): Renamed to ...
(gld${EMULATION_NAME}_find_potential_libraries): This.
(gld_${EMULATION_NAME}_get_script): Renamed to ...
(gld${EMULATION_NAME}_get_script): This.
(LDEMUL_AFTER_PARSE): New.
(LDEMUL_AFTER_OPEN): Likewise.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
(LDEMUL_FINISH=): Likewise.
(LDEMUL_OPEN_DYNAMIC_ARCHIVE): Likewise.
(LDEMUL_PLACE_ORPHAN): Likewise.
(LDEMUL_SET_SYMBOLS): Likewise.
(LDEMUL_ADD_OPTIONS): Likewise.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_UNRECOGNIZED_FILE): Likewise.
(LDEMUL_LIST_OPTIONS): Likewise.
(LDEMUL_RECOGNIZED_FILE): Likewise.
(LDEMUL_FIND_POTENTIAL_LIBRARIES): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/ticoff.em (gld_${EMULATION_NAME}_list_options):
Renamed to ...
(gld${EMULATION_NAME}_list_options): This.
(gld_${EMULATION_NAME}_before_parse): Renamed to ...
(gld_${EMULATION_NAME}_get_script): Renamed to ...
(gld${EMULATION_NAME}_get_script): This.
(LDEMUL_ADD_OPTIONS): New.
(LDEMUL_HANDLE_OPTION): Likewise.
(LDEMUL_LIST_OPTIONS): Likewise.
(ld_${EMULATION_NAME}_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
* emultempl/vanilla.em (LDEMUL_BEFORE_PARSE): New.
(LDEMUL_SET_OUTPUT_ARCH): Likewise.
(LDEMUL_GET_SCRIPT): Likewise.
(EMULATION_NAME): Likewise.
(OUTPUT_FORMAT): Likewise.
(ld_vanilla_emulation): Removed.
Source ${srcdir}/emultempl/emulation.em.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/aix.em | 49 | ||||
-rw-r--r-- | ld/emultempl/beos.em | 55 | ||||
-rw-r--r-- | ld/emultempl/elf.em | 52 | ||||
-rw-r--r-- | ld/emultempl/emulation.em | 40 | ||||
-rw-r--r-- | ld/emultempl/generic.em | 39 | ||||
-rw-r--r-- | ld/emultempl/msp430.em | 46 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 84 | ||||
-rw-r--r-- | ld/emultempl/pep.em | 80 | ||||
-rw-r--r-- | ld/emultempl/ticoff.em | 48 | ||||
-rw-r--r-- | ld/emultempl/vanilla.em | 44 |
10 files changed, 165 insertions, 372 deletions
diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index b82305d..6807aae 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -1601,39 +1601,18 @@ gld${EMULATION_NAME}_print_symbol (struct bfd_link_hash_entry *hash_entry, return true; } - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = { - gld${EMULATION_NAME}_before_parse, - syslib_default, - hll_default, - after_parse_default, - gld${EMULATION_NAME}_after_open, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - gld${EMULATION_NAME}_set_output_arch, - gld${EMULATION_NAME}_choose_target, - gld${EMULATION_NAME}_before_allocation, - gld${EMULATION_NAME}_get_script, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - finish_default, - gld${EMULATION_NAME}_create_output_section_statements, - gld${EMULATION_NAME}_open_dynamic_archive, - 0, /* place_orphan */ - 0, /* set_symbols */ - gld${EMULATION_NAME}_parse_args, - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - gld${EMULATION_NAME}_unrecognized_file, - NULL, /* list_options */ - NULL, /* recognized_file */ - NULL, /* find potential_libraries */ - NULL, /* new_vers_pattern */ - NULL, /* extra_map_file_text */ - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - gld${EMULATION_NAME}_print_symbol -}; EOF + +LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open +LDEMUL_SET_OUTPUT_ARCH=gld${EMULATION_NAME}_set_output_arch +LDEMUL_CHOOSE_TARGET=gld${EMULATION_NAME}_choose_target +LDEMUL_BEFORE_ALLOCATION=gld${EMULATION_NAME}_before_allocation +LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=gld${EMULATION_NAME}_create_output_section_statements +LDEMUL_OPEN_DYNAMIC_ARCHIVE=gld${EMULATION_NAME}_open_dynamic_archive +LDEMUL_PARSE_ARGS=gld${EMULATION_NAME}_parse_args +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_UNRECOGNIZED_FILE=gld${EMULATION_NAME}_unrecognized_file +LDEMUL_PRINT_SYMBOL=gld${EMULATION_NAME}_print_symbol + +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index bebad8a..93e85a7 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -62,7 +62,7 @@ static int dll; extern const char *output_filename; static void -gld_${EMULATION_NAME}_before_parse (void) +gld${EMULATION_NAME}_before_parse (void) { ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`); output_filename = "a.exe"; @@ -322,7 +322,7 @@ gld${EMULATION_NAME}_handle_option (int optc) read. */ static void -gld_${EMULATION_NAME}_set_symbols (void) +gld${EMULATION_NAME}_set_symbols (void) { /* Run through and invent symbols for all the names and insert the defaults. */ @@ -372,7 +372,7 @@ gld_${EMULATION_NAME}_set_symbols (void) } static void -gld_${EMULATION_NAME}_after_open (void) +gld${EMULATION_NAME}_after_open (void) { after_open_default (); @@ -606,7 +606,7 @@ sort_sections (lang_statement_union_type *s) } static void -gld_${EMULATION_NAME}_before_allocation (void) +gld${EMULATION_NAME}_before_allocation (void) { #ifdef TARGET_IS_armpe /* FIXME: we should be able to set the size of the interworking stub @@ -710,7 +710,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s, } static char * -gld_${EMULATION_NAME}_get_script (int *isfile) +gld${EMULATION_NAME}_get_script (int *isfile) EOF if test x"$COMPILE_IN" = xyes @@ -759,42 +759,11 @@ fragment <<EOF EOF fi -fragment <<EOF - +LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open +LDEMUL_BEFORE_ALLOCATION=gld${EMULATION_NAME}_before_allocation +LDEMUL_PLACE_ORPHAN=gld${EMULATION_NAME}_place_orphan +LDEMUL_SET_SYMBOLS=gld${EMULATION_NAME}_set_symbols +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - gld_${EMULATION_NAME}_before_parse, - syslib_default, - hll_default, - after_parse_default, - gld_${EMULATION_NAME}_after_open, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - set_output_arch_default, - ldemul_default_target, - gld_${EMULATION_NAME}_before_allocation, - gld_${EMULATION_NAME}_get_script, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - finish_default, - NULL, /* create output section statements */ - NULL, /* open dynamic archive */ - gld${EMULATION_NAME}_place_orphan, - gld_${EMULATION_NAME}_set_symbols, - NULL, /* parse_args */ - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - NULL, /* unrecognized file */ - NULL, /* list options */ - NULL, /* recognized file */ - NULL, /* find_potential_libraries */ - NULL, /* new_vers_pattern */ - NULL, /* extra_map_file_text */ - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em index 7325872..55dd20f 100644 --- a/ld/emultempl/elf.em +++ b/ld/emultempl/elf.em @@ -909,41 +909,17 @@ EOF fi fi -fragment <<EOF - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - ${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse}, - ${LDEMUL_SYSLIB-syslib_default}, - ${LDEMUL_HLL-hll_default}, - ${LDEMUL_AFTER_PARSE-ldelf_after_parse}, - ${LDEMUL_AFTER_OPEN-gld${EMULATION_NAME}_after_open}, - ${LDEMUL_AFTER_CHECK_RELOCS-after_check_relocs_default}, - ${LDEMUL_BEFORE_PLACE_ORPHANS-ldelf_before_place_orphans}, - ${LDEMUL_AFTER_ALLOCATION-gld${EMULATION_NAME}_after_allocation}, - ${LDEMUL_SET_OUTPUT_ARCH-ldelf_set_output_arch}, - ${LDEMUL_CHOOSE_TARGET-ldemul_default_target}, - ${LDEMUL_BEFORE_ALLOCATION-gld${EMULATION_NAME}_before_allocation}, - ${LDEMUL_GET_SCRIPT-gld${EMULATION_NAME}_get_script}, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - ${LDEMUL_FINISH-finish_default}, - ${LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS-NULL}, - ${LDEMUL_OPEN_DYNAMIC_ARCHIVE-ldelf_open_dynamic_archive}, - ${LDEMUL_PLACE_ORPHAN-ldelf_place_orphan}, - ${LDEMUL_SET_SYMBOLS-NULL}, - ${LDEMUL_PARSE_ARGS-NULL}, - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - ${LDEMUL_UNRECOGNIZED_FILE-NULL}, - ${LDEMUL_LIST_OPTIONS-${gld_list_options}}, - ${LDEMUL_RECOGNIZED_FILE-ldelf_load_symbols}, - ${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL}, - ${LDEMUL_NEW_VERS_PATTERN-NULL}, - ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}, - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +LDEMUL_AFTER_PARSE=${LDEMUL_AFTER_PARSE-ldelf_after_parse} +LDEMUL_AFTER_OPEN=${LDEMUL_AFTER_OPEN-gld${EMULATION_NAME}_after_open} +LDEMUL_BEFORE_PLACE_ORPHANS=${LDEMUL_BEFORE_PLACE_ORPHANS-ldelf_before_place_orphans} +LDEMUL_AFTER_ALLOCATION=${LDEMUL_AFTER_ALLOCATION-gld${EMULATION_NAME}_after_allocation} +LDEMUL_SET_OUTPUT_ARCH=${LDEMUL_SET_OUTPUT_ARCH-ldelf_set_output_arch} +LDEMUL_BEFORE_ALLOCATION=${LDEMUL_BEFORE_ALLOCATION-gld${EMULATION_NAME}_before_allocation} +LDEMUL_OPEN_DYNAMIC_ARCHIVE=${LDEMUL_OPEN_DYNAMIC_ARCHIVE-ldelf_open_dynamic_archive} +LDEMUL_PLACE_ORPHAN=${LDEMUL_PLACE_ORPHAN-ldelf_place_orphan} +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_LIST_OPTIONS=${LDEMUL_LIST_OPTIONS-${gld_list_options}} +LDEMUL_RECOGNIZED_FILE=${LDEMUL_RECOGNIZED_FILE-ldelf_load_symbols} + +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/emulation.em b/ld/emultempl/emulation.em new file mode 100644 index 0000000..cfa6567 --- /dev/null +++ b/ld/emultempl/emulation.em @@ -0,0 +1,40 @@ +# This shell script emits a C file. -*- C -*- +# It does some substitutions. +fragment <<EOF + +struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = +{ + ${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse}, + ${LDEMUL_SYSLIB-syslib_default}, + ${LDEMUL_HLL-hll_default}, + ${LDEMUL_AFTER_PARSE-after_parse_default}, + ${LDEMUL_AFTER_OPEN-after_open_default}, + ${LDEMUL_AFTER_CHECK_RELOCS-after_check_relocs_default}, + ${LDEMUL_BEFORE_PLACE_ORPHANS-before_place_orphans_default}, + ${LDEMUL_AFTER_ALLOCATION-after_allocation_default}, + ${LDEMUL_SET_OUTPUT_ARCH-set_output_arch_default}, + ${LDEMUL_CHOOSE_TARGET-ldemul_default_target}, + ${LDEMUL_BEFORE_ALLOCATION-before_allocation_default}, + ${LDEMUL_GET_SCRIPT-gld${EMULATION_NAME}_get_script}, + "${EMULATION_NAME}", + "${OUTPUT_FORMAT}", + ${LDEMUL_FINISH-finish_default}, + ${LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS-NULL}, + ${LDEMUL_OPEN_DYNAMIC_ARCHIVE-NULL}, + ${LDEMUL_PLACE_ORPHAN-NULL}, + ${LDEMUL_SET_SYMBOLS-NULL}, + ${LDEMUL_PARSE_ARGS-NULL}, + ${LDEMUL_ADD_OPTIONS-NULL}, + ${LDEMUL_HANDLE_OPTION-NULL}, + ${LDEMUL_UNRECOGNIZED_FILE-NULL}, + ${LDEMUL_LIST_OPTIONS-NULL}, + ${LDEMUL_RECOGNIZED_FILE-NULL}, + ${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL}, + ${LDEMUL_NEW_VERS_PATTERN-NULL}, + ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}, + ${LDEMUL_EMIT_CTF_EARLY-NULL}, + ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, + ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, + ${LDEMUL_PRINT_SYMBOL-NULL} +}; +EOF diff --git a/ld/emultempl/generic.em b/ld/emultempl/generic.em index e7c990e..cecbb1c 100644 --- a/ld/emultempl/generic.em +++ b/ld/emultempl/generic.em @@ -128,41 +128,4 @@ EOF fi fi -fragment <<EOF - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - ${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse}, - ${LDEMUL_SYSLIB-syslib_default}, - ${LDEMUL_HLL-hll_default}, - ${LDEMUL_AFTER_PARSE-after_parse_default}, - ${LDEMUL_AFTER_OPEN-after_open_default}, - ${LDEMUL_AFTER_CHECK_RELOCS-after_check_relocs_default}, - ${LDEMUL_BEFORE_PLACE_ORPHANS-before_place_orphans_default}, - ${LDEMUL_AFTER_ALLOCATION-after_allocation_default}, - ${LDEMUL_SET_OUTPUT_ARCH-set_output_arch_default}, - ${LDEMUL_CHOOSE_TARGET-ldemul_default_target}, - ${LDEMUL_BEFORE_ALLOCATION-before_allocation_default}, - ${LDEMUL_GET_SCRIPT-gld${EMULATION_NAME}_get_script}, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - ${LDEMUL_FINISH-finish_default}, - ${LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS-NULL}, - ${LDEMUL_OPEN_DYNAMIC_ARCHIVE-NULL}, - ${LDEMUL_PLACE_ORPHAN-NULL}, - ${LDEMUL_SET_SYMBOLS-NULL}, - ${LDEMUL_PARSE_ARGS-NULL}, - ${LDEMUL_ADD_OPTIONS-NULL}, - ${LDEMUL_HANDLE_OPTION-NULL}, - ${LDEMUL_UNRECOGNIZED_FILE-NULL}, - ${LDEMUL_LIST_OPTIONS-NULL}, - ${LDEMUL_RECOGNIZED_FILE-NULL}, - ${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL}, - ${LDEMUL_NEW_VERS_PATTERN-NULL}, - ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}, - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/msp430.em b/ld/emultempl/msp430.em index abfbdcb..f188b46 100644 --- a/ld/emultempl/msp430.em +++ b/ld/emultempl/msp430.em @@ -905,43 +905,17 @@ gld${EMULATION_NAME}_finish (void) finish_default (); check_array_section_alignment (); } - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - ${LDEMUL_BEFORE_PARSE-gld${EMULATION_NAME}_before_parse}, - ${LDEMUL_SYSLIB-syslib_default}, - ${LDEMUL_HLL-hll_default}, - ${LDEMUL_AFTER_PARSE-after_parse_default}, - msp430_elf_after_open, - after_check_relocs_default, - before_place_orphans_default, - msp430_elf_after_allocation, - ${LDEMUL_SET_OUTPUT_ARCH-set_output_arch_default}, - ${LDEMUL_CHOOSE_TARGET-ldemul_default_target}, - ${LDEMUL_BEFORE_ALLOCATION-before_allocation_default}, - ${LDEMUL_GET_SCRIPT-gld${EMULATION_NAME}_get_script}, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - gld${EMULATION_NAME}_finish, - ${LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS-NULL}, - ${LDEMUL_OPEN_DYNAMIC_ARCHIVE-NULL}, - ${LDEMUL_PLACE_ORPHAN-gld${EMULATION_NAME}_place_orphan}, - ${LDEMUL_SET_SYMBOLS-NULL}, - ${LDEMUL_PARSE_ARGS-NULL}, - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - ${LDEMUL_UNRECOGNIZED_FILE-NULL}, - gld${EMULATION_NAME}_list_options, - ${LDEMUL_RECOGNIZED_FILE-NULL}, - ${LDEMUL_FIND_POTENTIAL_LIBRARIES-NULL}, - ${LDEMUL_NEW_VERS_PATTERN-NULL}, - ${LDEMUL_EXTRA_MAP_FILE_TEXT-NULL}, - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; EOF + +LDEMUL_AFTER_OPEN=msp430_elf_after_open +LDEMUL_AFTER_ALLOCATION=msp430_elf_after_allocation +LDEMUL_PLACE_ORPHAN=${LDEMUL_PLACE_ORPHAN-gld${EMULATION_NAME}_place_orphan} +LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_LIST_OPTIONS=gld${EMULATION_NAME}_list_options + +source_em ${srcdir}/emultempl/emulation.em # # Local Variables: # mode: c diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 3c6a07e..892bf70 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -172,7 +172,7 @@ static int is_underscoring (void) } static void -gld_${EMULATION_NAME}_before_parse (void) +gld${EMULATION_NAME}_before_parse (void) { is_underscoring (); ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`); @@ -454,7 +454,7 @@ static definfo init[] = static void -gld_${EMULATION_NAME}_list_options (FILE *file) +gld${EMULATION_NAME}_list_options (FILE *file) { fprintf (file, _(" --base_file <basefile> Generate a base file for relocatable DLLs\n")); fprintf (file, _(" --dll Set image base to the default for DLLs\n")); @@ -1002,7 +1002,7 @@ compute_dll_image_base (const char *ofile) read. */ static void -gld_${EMULATION_NAME}_set_symbols (void) +gld${EMULATION_NAME}_set_symbols (void) { /* Run through and invent symbols for all the names and insert the defaults. */ @@ -1069,7 +1069,7 @@ gld_${EMULATION_NAME}_set_symbols (void) have been read. */ static void -gld_${EMULATION_NAME}_after_parse (void) +gld${EMULATION_NAME}_after_parse (void) { /* PR ld/6744: Warn the user if they have used an ELF-only option hoping it will work on PE. */ @@ -1382,7 +1382,7 @@ setup_build_id (bfd *ibfd) } static void -gld_${EMULATION_NAME}_after_open (void) +gld${EMULATION_NAME}_after_open (void) { after_open_default (); @@ -1803,7 +1803,7 @@ gld_${EMULATION_NAME}_after_open (void) } static void -gld_${EMULATION_NAME}_before_allocation (void) +gld${EMULATION_NAME}_before_allocation (void) { #if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) /* FIXME: we should be able to set the size of the interworking stub @@ -1849,7 +1849,7 @@ saw_option (char *option) #endif /* DLL_SUPPORT */ static bool -gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) +gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) { #ifdef DLL_SUPPORT const char *ext = entry->filename + strlen (entry->filename) - 4; @@ -1930,7 +1930,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB } static bool -gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) +gld${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) { #ifdef DLL_SUPPORT #ifdef TARGET_IS_i386pe @@ -1952,7 +1952,7 @@ gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUT } static void -gld_${EMULATION_NAME}_finish (void) +gld${EMULATION_NAME}_finish (void) { #if defined(TARGET_IS_armpe) || defined(TARGET_IS_arm_wince_pe) struct bfd_link_hash_entry * h; @@ -2052,9 +2052,9 @@ gld_${EMULATION_NAME}_finish (void) sort_sections. */ static lang_output_section_statement_type * -gld_${EMULATION_NAME}_place_orphan (asection *s, - const char *secname, - int constraint) +gld${EMULATION_NAME}_place_orphan (asection *s, + const char *secname, + int constraint) { const char *orig_secname = secname; char *dollar = NULL; @@ -2251,7 +2251,7 @@ gld_${EMULATION_NAME}_place_orphan (asection *s, } static bool -gld_${EMULATION_NAME}_open_dynamic_archive +gld${EMULATION_NAME}_open_dynamic_archive (const char *arch ATTRIBUTE_UNUSED, search_dirs_type *search, lang_input_statement_type *entry) @@ -2357,14 +2357,14 @@ gld_${EMULATION_NAME}_open_dynamic_archive } static int -gld_${EMULATION_NAME}_find_potential_libraries +gld${EMULATION_NAME}_find_potential_libraries (char *name, lang_input_statement_type *entry) { return ldfile_open_file_search (name, entry, "", ".lib"); } static char * -gld_${EMULATION_NAME}_get_script (int *isfile) +gld${EMULATION_NAME}_get_script (int *isfile) EOF if test x"$COMPILE_IN" = xyes @@ -2426,42 +2426,18 @@ fragment <<EOF EOF fi -fragment <<EOF - - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - gld_${EMULATION_NAME}_before_parse, - syslib_default, - hll_default, - gld_${EMULATION_NAME}_after_parse, - gld_${EMULATION_NAME}_after_open, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - set_output_arch_default, - ldemul_default_target, - gld_${EMULATION_NAME}_before_allocation, - gld_${EMULATION_NAME}_get_script, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - gld_${EMULATION_NAME}_finish, - NULL, /* Create output section statements. */ - gld_${EMULATION_NAME}_open_dynamic_archive, - gld_${EMULATION_NAME}_place_orphan, - gld_${EMULATION_NAME}_set_symbols, - NULL, /* parse_args */ - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - gld_${EMULATION_NAME}_unrecognized_file, - gld_${EMULATION_NAME}_list_options, - gld_${EMULATION_NAME}_recognized_file, - gld_${EMULATION_NAME}_find_potential_libraries, - NULL, /* new_vers_pattern. */ - NULL, /* extra_map_file_text. */ - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +LDEMUL_AFTER_PARSE=gld${EMULATION_NAME}_after_parse +LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open +LDEMUL_BEFORE_ALLOCATION=gld${EMULATION_NAME}_before_allocation +LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_OPEN_DYNAMIC_ARCHIVE=gld${EMULATION_NAME}_open_dynamic_archive +LDEMUL_PLACE_ORPHAN=gld${EMULATION_NAME}_place_orphan +LDEMUL_SET_SYMBOLS=gld${EMULATION_NAME}_set_symbols +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_UNRECOGNIZED_FILE=gld${EMULATION_NAME}_unrecognized_file +LDEMUL_LIST_OPTIONS=gld${EMULATION_NAME}_list_options +LDEMUL_RECOGNIZED_FILE=gld${EMULATION_NAME}_recognized_file +LDEMUL_FIND_POTENTIAL_LIBRARIES=gld${EMULATION_NAME}_find_potential_libraries + +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em index 848daa1..e68d1e6 100644 --- a/ld/emultempl/pep.em +++ b/ld/emultempl/pep.em @@ -183,7 +183,7 @@ static int is_underscoring (void) static void -gld_${EMULATION_NAME}_before_parse (void) +gld${EMULATION_NAME}_before_parse (void) { is_underscoring (); ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`); @@ -417,7 +417,7 @@ static definfo init[] = static void -gld_${EMULATION_NAME}_list_options (FILE *file) +gld${EMULATION_NAME}_list_options (FILE *file) { fprintf (file, _(" --base_file <basefile> Generate a base file for relocatable DLLs\n")); fprintf (file, _(" --dll Set image base to the default for DLLs\n")); @@ -945,7 +945,7 @@ compute_dll_image_base (const char *ofile) read. */ static void -gld_${EMULATION_NAME}_set_symbols (void) +gld${EMULATION_NAME}_set_symbols (void) { /* Run through and invent symbols for all the names and insert the defaults. */ @@ -1012,7 +1012,7 @@ gld_${EMULATION_NAME}_set_symbols (void) have been read. */ static void -gld_${EMULATION_NAME}_after_parse (void) +gld${EMULATION_NAME}_after_parse (void) { /* PR ld/6744: Warn the user if they have used an ELF-only option hoping it will work on PE+. */ @@ -1366,7 +1366,7 @@ setup_build_id (bfd *ibfd) } static void -gld_${EMULATION_NAME}_after_open (void) +gld${EMULATION_NAME}_after_open (void) { after_open_default (); @@ -1694,7 +1694,7 @@ gld_${EMULATION_NAME}_after_open (void) } static void -gld_${EMULATION_NAME}_before_allocation (void) +gld${EMULATION_NAME}_before_allocation (void) { is_underscoring (); before_allocation_default (); @@ -1719,7 +1719,7 @@ saw_option (char *option) #endif /* DLL_SUPPORT */ static bool -gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) +gld${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) { #ifdef DLL_SUPPORT const char *ext = entry->filename + strlen (entry->filename) - 4; @@ -1800,7 +1800,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB } static bool -gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) +gld${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUTE_UNUSED) { is_underscoring (); #ifdef DLL_SUPPORT @@ -1814,7 +1814,7 @@ gld_${EMULATION_NAME}_recognized_file (lang_input_statement_type *entry ATTRIBUT } static void -gld_${EMULATION_NAME}_finish (void) +gld${EMULATION_NAME}_finish (void) { is_underscoring (); finish_default (); @@ -1864,7 +1864,7 @@ gld_${EMULATION_NAME}_finish (void) sort_sections. */ static lang_output_section_statement_type * -gld_${EMULATION_NAME}_place_orphan (asection *s, +gld${EMULATION_NAME}_place_orphan (asection *s, const char *secname, int constraint) { @@ -2063,7 +2063,7 @@ gld_${EMULATION_NAME}_place_orphan (asection *s, } static bool -gld_${EMULATION_NAME}_open_dynamic_archive +gld${EMULATION_NAME}_open_dynamic_archive (const char *arch ATTRIBUTE_UNUSED, search_dirs_type *search, lang_input_statement_type *entry) @@ -2169,14 +2169,14 @@ gld_${EMULATION_NAME}_open_dynamic_archive } static int -gld_${EMULATION_NAME}_find_potential_libraries +gld${EMULATION_NAME}_find_potential_libraries (char *name, lang_input_statement_type *entry) { return ldfile_open_file_search (name, entry, "", ".lib"); } static char * -gld_${EMULATION_NAME}_get_script (int *isfile) +gld${EMULATION_NAME}_get_script (int *isfile) EOF if test x"$COMPILE_IN" = xyes @@ -2238,42 +2238,18 @@ fragment <<EOF EOF fi -fragment <<EOF - - -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - gld_${EMULATION_NAME}_before_parse, - syslib_default, - hll_default, - gld_${EMULATION_NAME}_after_parse, - gld_${EMULATION_NAME}_after_open, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - set_output_arch_default, - ldemul_default_target, - gld_${EMULATION_NAME}_before_allocation, - gld_${EMULATION_NAME}_get_script, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - gld_${EMULATION_NAME}_finish, - NULL, /* Create output section statements. */ - gld_${EMULATION_NAME}_open_dynamic_archive, - gld_${EMULATION_NAME}_place_orphan, - gld_${EMULATION_NAME}_set_symbols, - NULL, /* parse_args */ - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - gld_${EMULATION_NAME}_unrecognized_file, - gld_${EMULATION_NAME}_list_options, - gld_${EMULATION_NAME}_recognized_file, - gld_${EMULATION_NAME}_find_potential_libraries, - NULL, /* new_vers_pattern. */ - NULL, /* extra_map_file_text */ - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +LDEMUL_AFTER_PARSE=gld${EMULATION_NAME}_after_parse +LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open +LDEMUL_BEFORE_ALLOCATION=gld${EMULATION_NAME}_before_allocation +LDEMUL_FINISH=gld${EMULATION_NAME}_finish +LDEMUL_OPEN_DYNAMIC_ARCHIVE=gld${EMULATION_NAME}_open_dynamic_archive +LDEMUL_PLACE_ORPHAN=gld${EMULATION_NAME}_place_orphan +LDEMUL_SET_SYMBOLS=gld${EMULATION_NAME}_set_symbols +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_UNRECOGNIZED_FILE=gld${EMULATION_NAME}_unrecognized_file +LDEMUL_LIST_OPTIONS=gld${EMULATION_NAME}_list_options +LDEMUL_RECOGNIZED_FILE=gld${EMULATION_NAME}_recognized_file +LDEMUL_FIND_POTENTIAL_LIBRARIES=gld${EMULATION_NAME}_find_potential_libraries + +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/ticoff.em b/ld/emultempl/ticoff.em index 1ac483b..a57e73b 100644 --- a/ld/emultempl/ticoff.em +++ b/ld/emultempl/ticoff.em @@ -64,7 +64,7 @@ gld${EMULATION_NAME}_add_options } static void -gld_${EMULATION_NAME}_list_options (FILE * file) +gld${EMULATION_NAME}_list_options (FILE * file) { fprintf (file, _(" --format 0|1|2 Specify which COFF version to use\n")); } @@ -96,7 +96,7 @@ gld${EMULATION_NAME}_handle_option (int optc) } static void -gld_${EMULATION_NAME}_before_parse(void) +gld${EMULATION_NAME}_before_parse(void) { #ifndef TARGET_ /* I.e., if not generic. */ ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown); @@ -104,7 +104,7 @@ gld_${EMULATION_NAME}_before_parse(void) } static char * -gld_${EMULATION_NAME}_get_script (int *isfile) +gld${EMULATION_NAME}_get_script (int *isfile) EOF if test x"$COMPILE_IN" = xyes then @@ -154,40 +154,8 @@ EOF fi -fragment <<EOF -struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = -{ - gld_${EMULATION_NAME}_before_parse, - syslib_default, - hll_default, - after_parse_default, - after_open_default, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - set_output_arch_default, - ldemul_default_target, - before_allocation_default, - gld_${EMULATION_NAME}_get_script, - "${EMULATION_NAME}", - "${OUTPUT_FORMAT}", - finish_default, - NULL, /* create output section statements */ - NULL, /* open dynamic archive */ - NULL, /* place orphan */ - NULL, /* set_symbols */ - NULL, /* parse_args */ - gld${EMULATION_NAME}_add_options, - gld${EMULATION_NAME}_handle_option, - NULL, /* unrecognized_file */ - gld_${EMULATION_NAME}_list_options, - NULL, /* recognized file */ - NULL, /* find_potential_libraries */ - NULL, /* new_vers_pattern */ - NULL, /* extra_map_file_text */ - ${LDEMUL_EMIT_CTF_EARLY-NULL}, - ${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL}, - ${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL}, - ${LDEMUL_PRINT_SYMBOL-NULL} -}; -EOF +LDEMUL_ADD_OPTIONS=gld${EMULATION_NAME}_add_options +LDEMUL_HANDLE_OPTION=gld${EMULATION_NAME}_handle_option +LDEMUL_LIST_OPTIONS=gld${EMULATION_NAME}_list_options + +source_em ${srcdir}/emultempl/emulation.em diff --git a/ld/emultempl/vanilla.em b/ld/emultempl/vanilla.em index dc47ca1..c9aef37 100644 --- a/ld/emultempl/vanilla.em +++ b/ld/emultempl/vanilla.em @@ -55,40 +55,12 @@ vanilla_get_script (int *isfile) *isfile = 0; return ""; } - -struct ld_emulation_xfer_struct ld_vanilla_emulation = -{ - vanilla_before_parse, - syslib_default, - hll_default, - after_parse_default, - after_open_default, - after_check_relocs_default, - before_place_orphans_default, - after_allocation_default, - vanilla_set_output_arch, - ldemul_default_target, - before_allocation_default, - vanilla_get_script, - "vanilla", - "a.out-sunos-big", - finish_default, - NULL, /* create output section statements */ - NULL, /* open dynamic archive */ - NULL, /* place orphan */ - NULL, /* set symbols */ - NULL, /* parse args */ - NULL, /* add_options */ - NULL, /* handle_option */ - NULL, /* unrecognized file */ - NULL, /* list options */ - NULL, /* recognized file */ - NULL, /* find_potential_libraries */ - NULL, /* new_vers_pattern */ - NULL, /* extra_map_file_text */ - NULL, /* emit_ctf_early */ - NULL, /* acquire_strings_for_ctf */ - NULL, /* new_dynsym_for_ctf */ - NULL /* print_symbol */ -}; EOF + +LDEMUL_BEFORE_PARSE=vanilla_before_parse +LDEMUL_SET_OUTPUT_ARCH=vanilla_set_output_arch +LDEMUL_GET_SCRIPT=vanilla_get_script +EMULATION_NAME=vanilla +OUTPUT_FORMAT=a.out-sunos-big + +source_em ${srcdir}/emultempl/emulation.em |