aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl/elf32.em
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-08-04 06:22:14 +0000
committerAlan Modra <amodra@gmail.com>2005-08-04 06:22:14 +0000
commit046183de0ebe379c1ec11188000bb6e0f64a9e0e (patch)
tree3eb7034b61e33a4305933aeca12fda76ab10f662 /ld/emultempl/elf32.em
parentfa498e09475dc0fc2d6e12f440f3f38df470100a (diff)
downloadgdb-046183de0ebe379c1ec11188000bb6e0f64a9e0e.zip
gdb-046183de0ebe379c1ec11188000bb6e0f64a9e0e.tar.gz
gdb-046183de0ebe379c1ec11188000bb6e0f64a9e0e.tar.bz2
bfd/
* elf32-ppc.c (struct elf_linker_section): Replace sym_val field with sym. (ppc_elf_relocate_section): Adjust for above. (create_sdata_sym): New function. (ppc_elf_create_linker_section): Call it. (ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs. Create sdata syms for all SDA relocs. (ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_ and _SDA2_BASE_. (ppc_elf_set_sdata_syms): Delete. * elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT and DT_FINI tags unless associated section has input. (bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete. (_bfd_elf_provide_section_bound_symbols): Delete. * bfd-in.h (_bfd_elf_provide_symbol): Delete. (_bfd_elf_provide_section_bound_symbols): Delete. * bfd-in2.h: Regenerate. ld/ * ldemul.c (ldemul_do_assignments, do_assignments_default): Delete. * ldemul.h (ldemul_do_assignments, do_assignments_default): Delete. (struct ld_emulation_xfer_struct): Remove do_assignments field. * ldlang.c (lang_do_assignments): Don't call ldemul_do_assignments. * emulparams/elf32ppc.sh (SDATA_START_SYMBOLS): New. (SDATA2_START_SYMBOLS, SBSS_START_SYMBOLS, SBSS_END_SYMBOLS): New. * emultempl/aix.em (ld_*_emulation): Delete do_assignments init. * emultempl/armcoff.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise. * emultempl/vanilla.em: Likewise. * emultempl/elf32.em: Likewise. (gld*_provide_bound_symbols): Delete. (gld*_provide_init_fini_syms): Delete. (gld*_before_allocation): Don't call ldemul_do_assignments. * emultempl/ppc32elf.em (ppc_do_assignments): Delete. (LDEMUL_DO_ASSIGNMENTS): Delete. * scripttempl/elf.sc: Provide init/fini syms. Add SBSS_START_SYMBOLS, SBSS_END_SYMBOLS, SDATA2_START_SYMBOLS.
Diffstat (limited to 'ld/emultempl/elf32.em')
-rw-r--r--ld/emultempl/elf32.em45
1 files changed, 0 insertions, 45 deletions
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index e43c8c5..2764a59 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -57,7 +57,6 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
/* Declare functions used by various EXTRA_EM_FILEs. */
static void gld${EMULATION_NAME}_before_parse (void);
static void gld${EMULATION_NAME}_after_open (void);
-static void gld${EMULATION_NAME}_provide_init_fini_syms (void);
static void gld${EMULATION_NAME}_before_allocation (void);
static bfd_boolean gld${EMULATION_NAME}_place_orphan
(lang_input_statement_type *file, asection *s);
@@ -1040,47 +1039,6 @@ if test x"$LDEMUL_BEFORE_ALLOCATION" != xgld"$EMULATION_NAME"_before_allocation;
fi
cat >>e${EMULATION_NAME}.c <<EOF
-static void
-gld${EMULATION_NAME}_provide_bound_symbols (const char *sec,
- const char *start,
- const char *end)
-{
- asection *s = bfd_get_section_by_name (output_bfd, sec);
- _bfd_elf_provide_section_bound_symbols (&link_info, s, start, end);
-}
-
-/* If not building a shared library, provide
-
- __preinit_array_start
- __preinit_array_end
- __init_array_start
- __init_array_end
- __fini_array_start
- __fini_array_end
-
- They are set here rather than via PROVIDE in the linker
- script, because using PROVIDE inside an output section
- statement results in unnecessary output sections. Using
- PROVIDE outside an output section statement runs the risk of
- section alignment affecting where the section starts. */
-
-static void
-gld${EMULATION_NAME}_provide_init_fini_syms (void)
-{
- if (!link_info.relocatable && link_info.executable)
- {
- gld${EMULATION_NAME}_provide_bound_symbols (".preinit_array",
- "__preinit_array_start",
- "__preinit_array_end");
- gld${EMULATION_NAME}_provide_bound_symbols (".init_array",
- "__init_array_start",
- "__init_array_end");
- gld${EMULATION_NAME}_provide_bound_symbols (".fini_array",
- "__fini_array_start",
- "__fini_array_end");
- }
-}
-
/* This is called after the sections have been attached to output
sections, but before any sizes or addresses have been set. */
@@ -1098,8 +1056,6 @@ gld${EMULATION_NAME}_before_allocation (void)
referred to by dynamic objects. */
lang_for_each_statement (gld${EMULATION_NAME}_find_statement_assignment);
- ldemul_do_assignments ();
-
/* Let the ELF backend work out the sizes of any sections required
by dynamic linking. */
rpath = command_line.rpath;
@@ -1881,7 +1837,6 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
${LDEMUL_SET_OUTPUT_ARCH-set_output_arch_default},
${LDEMUL_CHOOSE_TARGET-ldemul_default_target},
${LDEMUL_BEFORE_ALLOCATION-gld${EMULATION_NAME}_before_allocation},
- ${LDEMUL_DO_ASSIGNMENTS-gld${EMULATION_NAME}_provide_init_fini_syms},
${LDEMUL_GET_SCRIPT-gld${EMULATION_NAME}_get_script},
"${EMULATION_NAME}",
"${OUTPUT_FORMAT}",