Alan Modra
fd574c4615
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Test
...
hash table type rather than testing creator flavour.
* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
Only create stub_file bfd if hash table creator is as expected.
(gld${EMULATION_NAME}_finish): Test stub_file.
2003-12-01 06:28:56 +00:00
Alan Modra
e1918d2387
* bfd-in.h (_bfd_elf_tls_setup): Declare.
...
* bfd-in2.h: Regenerate.
* elf-bfd.h (struct elf_link_tls_segment): Delete.
(struct elf_link_hash_table): Add tls_sec and tls_size.
* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
* elflink.c (_bfd_elf_tls_setup): New function.
* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
(elf_bfd_final_link): Don't set first_tls_sec here. Update code
saving tls segment info, round segment size up.
(elf_link_output_extsym): Adjust code using tls segment info.
(elf_link_input_bfd): Likewise.
* elf32-i386.c (dtpoff_base, tpoff): Likewise.
* elf32-s390.c (dtpoff_base, tpoff): Likewise.
* elf32-sh.c (dtpoff_base, tpoff): Likewise.
* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
* elf64-s390.c (dtpoff_base, tpoff): Likewise.
* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
(elfNN_ia64_dtprel_base): Likewise.
* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
(alpha_get_tprel_base): Likewise.
(struct alpha_relax_info): Remove tls_segment.
(elf64_alpha_relax_got_load): Adjust invocation of
alpha_get_dtprel_base and alpha_get_tprel_base.
(elf64_alpha_relax_tls_get_addr): Likewise.
(elf64_alpha_relax_section): Likewise.
(elf64_alpha_relocate_section): Likewise.
(elf64_alpha_relax_find_tls_segment): Delete.
* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
(ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
* elf32-ppc.h (ppc_elf_tls_setup): Update.
* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
(ppc64_elf_relocate_section): Likewise.
* elf64-ppc.h (ppc64_elf_tls_setup): Update.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
_bfd_elf_tls_setup.
2003-11-04 06:16:39 +00:00
Nick Clifton
560e09e9cc
Better handking for unresolved symbols
2003-08-20 08:37:19 +00:00
Nick Clifton
8c6756949e
Prefix .gnu.warning section messages with "warning: ".
2003-08-04 11:32:52 +00:00
Alan Modra
2a36a1175e
* emultempl/elf32.em (output_rel_find): Add "isdyn" param. Put
...
.rel.dyn before other reloc sections. Don't stop looking for reloc
sections on finding one that isn't allocated. Match .rel even when
placing .rela and vice versa, when setting last_rel and
last_rel_alloc for the first time. If no reloc sections in script,
prefer allocated section over non-alloc.
(gld${EMULATION_NAME}_place_orphan): Handle orphan .rel.dyn.
2003-08-04 04:01:39 +00:00
Alan Modra
0c7a8e5acd
* emultempl/aix.em: Convert to C90, remove unnecessary prototypes
...
and casts. Replace PTR with void *. Formatting.
* emultempl/alphaelf.em: Likewise
* emultempl/armcoff.em: Likewise
* emultempl/armelf.em: Likewise
* emultempl/armelf_oabi.em: Likewise
* emultempl/beos.em: Likewise
* emultempl/elf32.em: Likewise
* emultempl/generic.em: Likewise
* emultempl/gld960.em: Likewise
* emultempl/gld960c.em: Likewise
* emultempl/hppaelf.em: Likewise
* emultempl/linux.em: Likewise
* emultempl/lnk960.em: Likewise
* emultempl/m68hc1xelf.em: Likewise
* emultempl/m68kcoff.em: Likewise
* emultempl/m68kelf.em: Likewise
* emultempl/mipsecoff.em: Likewise
* emultempl/mipself.em: Likewise
* emultempl/mmix-elfnmmo.em: Likewise
* emultempl/mmixelf.em: Likewise
* emultempl/mmo.em: Likewise
* emultempl/needrelax.em: Likewise
* emultempl/netbsd.em: Likewise
* emultempl/pe.em: Likewise
* emultempl/sh64elf.em: Likewise
* emultempl/sunos.em: Likewise
* emultempl/ticoff.em: Likewise
* emultempl/vanilla.em: Likewise
* emultempl/xtensaelf.em: Likewise
* Makefile.am: Correct dependencies.
* Makefile.in: Regenerate.
2003-06-27 00:38:25 +00:00
Alan Modra
1049f94e8e
Correct spelling of "relocatable".
2003-06-25 06:40:27 +00:00
Roland McGrath
10b4329d5b
2003-06-05 Roland McGrath <roland@redhat.com>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Remove
extra \t in -z noexecstack line.
2003-06-06 06:28:42 +00:00
Jakub Jelinek
9ee5e4996f
binutils/
...
* readelf.c (get_segment_type): Handle PT_GNU_STACK.
bfd/
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
(bfd_section_from_phdr): Likewise.
(map_sections_to_segments): Create PT_GNU_STACK segment header.
(get_program_header_size): Count with PT_GNU_STACK.
* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
include/
* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
* elf/common.h (PT_GNU_STACK): Define.
ld/
* ldgram.y (phdr_type): Grok PT_GNU_STACK.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
-z execstack and -z noexecstack.
(gld${EMULATION_NAME}_list_options): Likewise.
* scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
2003-06-03 22:27:24 +00:00
Jakub Jelinek
36af4a4e51
bfd/
...
* elflink.h (elf_link_add_object_symbols): Use !info->executable
instead of info->shared where appropriate.
(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
* elflink.c (_bfd_elf_create_got_section): Likewise.
(_bfd_elf_link_create_dynamic_sections): Likewise.
(_bfd_elf_link_assign_sym_version): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
and DT_DEBUG dynamic tag even for position independent executables.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
include/
* bfdlink.h (struct bfd_link_info): Add pie and executable
bits.
ld/
* lexsup.c (OPTION_PIE): Define.
(ld_options): Add -pie and --pic-executable options.
(parse_args): Handle OPTION_PIE.
* ldmain.c (main): Initialize link_info.pie and
link_info.executable.
* genscripts.sh: Generate PIE scripts.
* ld.texinfo: Document -pie and --pic-executable options.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
(gld${EMULATION_NAME}_place_orphan): Likewise.
(gld${EMULATION_NAME}_get_script): Include PIE scripts.
* scripttempl/elf.sc: In PIE scripts set . the same way as in
shared scripts.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
* emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
2003-05-30 15:50:12 +00:00
Alan Modra
efdffbe268
* Makefile.am (em68hc11elf.c): Correct dependencies.
...
(em68hc11elfb.c, em68hc12elf.c, em68hc12elfb.c): Likewise.
* Makefile.in: Regenerate.
* emultempl/elf32.em (find_exp_assignment): Adjust for changed
bfd_elf_record_link_assignment name.
2003-05-09 02:28:01 +00:00
Alan Modra
fcf6587111
* ldemul.c: Include getopt.h.
...
* emultempl/elf32.em: Include getopt.h earlier.
* emultempl/ticoff.em: Likewise.
2003-02-28 22:55:11 +00:00
Alan Modra
a060b769bb
* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combreloc
...
support when scripts read from files.
2003-02-28 04:46:04 +00:00
Alan Modra
3bcf55573d
* ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.
...
(ldemul_parse_args): Return bfd_boolean. Formatting.
* ldemul.h (ldemul_add_options, ldemul_handle_option): Declare.
(ldemul_parse_args): Adjust.
(struct ld_emulation_xfer_struct): Add add_options and handle_option.
Return bfd_boolean from parse_args.
* lexsup.c (parse_args): Malloc shortopts, longopts and
really_longopts. Call ldemul_add_options and ldemul_handle_option.
* emultempl/aix.em (gld${EMULATION_NAME}_add_options): Split out from
gld${EMULATION_NAME}_parse_args.
(gld${EMULATION_NAME}_handle_option): Likewise.
(ld_${EMULATION_NAME}_emulation): Adjust initializer.
* emultempl/armcoff.em: As for aix.em, but remove parse_args.
* emultempl/beos.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/elf32.em: Likewise. Don't duplicate long options either.
(gld${EMULATION_NAME}_add_sysroot): Prototype.
* emultempl/armelf.em (PARSE_AND_LIST_LONGOPTS): Don't duplicate
options.
* emultempl/hppaelf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc32elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc64elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/armelf_oabi.em (ld_${EMULATION_NAME}_emulation): Adjust
initializer.
* 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/mipsecoff.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/vanilla.em: Likewise.
* emultempl/netbsd.em (gldnetbsd_before_parse): Prototype.
2003-02-28 01:32:31 +00:00
Alexandre Oliva
42644a8920
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Fix
...
memory allocation error.
2003-02-26 00:56:14 +00:00
Nick Clifton
cf888e70e2
Disable region size checking whilst relaxing sections.
2003-02-21 10:51:24 +00:00
Daniel Jacobowitz
3dc16cab3d
* emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysroot
...
outside of GNU/Linux conditional.
2003-02-03 17:47:23 +00:00
Andreas Jaeger
ae42d3a94d
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do not
...
skip ':'.
2003-01-17 10:36:49 +00:00
Daniel Jacobowitz
9c8ebd6a51
* Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.
...
* Makefile.am (ldmain.o): Add @TARGET_SYSTEM_ROOT_DEFINE@.
(GENSCRIPTS): Add @use_sysroot@.
* Makefile.in: Regenerated.
* configure.host: Move setting of NATIVE_LIB_DIRS to...
* configure.tgt: ... here. Use ${target} instead of ${host}
for NATIVE_LIB_DIRS.
* configure.in: Add --with-sysroot.
* configure: Regenerated.
* genscripts.sh: Accept use_sysroot option. Set new variables
NATIVE and USE_LIBPATH. Prepend "=" to directory names if
$use_sysroot. Don't search $tool_lib if $use_sysroot.
* ldfile.c (ldfile_add_library_path): Handle leading '='.
* ldmain.c (TARGET_SYSTEM_ROOT): Define if not defined.
(ld_sysroot): New variable.
(main): Initialize ld_sysroot.
* ldmain.h (ld_sysroot): New extern.
* emultempl/elf32.em: Use NATIVE and USE_LIBPATH instead of
searching $EMULATION_LIBPATH.
(gld${EMULATION_NAME}_add_sysroot): New function.
(gld${EMULATION_NAME}_check_ld_so_conf): Use it. Honor ld_sysroot.
(gld${EMULATION_NAME}_after_open): Likewise. Only search
environment variables if $NATIVE.
* ld.texinfo (Options): Mention "=" prefix in the description of -L.
* NEWS: Mention --with-sysroot.
* emulparams/elf32bmipn32-defs.sh: Set NATIVE and LIBPATH_SUFFIX
instead of setting LIB_PATH.
* emulparams/elf32ppc.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf64_sparc.sh: Likewise.
* emulparams/elf64ppc.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/elf64_aix.sh: Add "=" prefixes to LIB_PATH.
* emulparams/elf64hppa.sh: Add "=" prefixes to LIB_PATH.
2003-01-06 16:14:01 +00:00
Alan Modra
1e5e54006d
* emultempl/elf32.em (struct orphan_save): Add os_tail field.
...
(gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement
list too.
2002-12-10 03:34:43 +00:00
Alan Modra
36478e9d6f
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set
...
load_base for orphans that follow a section with load_base set.
2002-12-04 23:56:14 +00:00
Alan Modra
b34976b65a
s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. Simplify
...
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-11-30 08:39:46 +00:00
Daniel Jacobowitz
df2a731323
* emultempl/aix.em: Use include <> for generated headers.
...
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/pe.em: Likewise.
* ldctor.c: Likewise.
* ldexp.c: Likewise.
* ldfile.c: Likewise.
* ldlang.c: Likewise.
* ldlex.c: Likewise.
* ldlex.l: Likewise.
* ldmain.c: Likewise.
* ldmisc.c: Likewise.
* ldwrite.c: Likewise.
* lexsup.c: Likewise.
* mri.c: Likewise.
* pe-dll.c: Likewise.
2002-10-30 03:57:39 +00:00
Jakub Jelinek
a8927cfd1a
* emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
...
sections into .rel{,a}.dyn.
2002-10-23 20:13:01 +00:00
Alan Modra
24cdb50ae8
* emultempl/elf32.em (output_rel_find): Prefer .rel script sections
...
when orphan is .rel, .rela when orphan is .rela.
(gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
first. Remove outsecname var.
2002-10-10 02:52:27 +00:00
Alan Modra
ba49312244
* emultempl/elf32.em (output_rel_find): Always place orphan loadable
...
reloc sections just before .rel.plt/.rela.plt.
(gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
Only put loadable reloc sections in hold_rel.
2002-09-30 03:34:46 +00:00
Alan Modra
25844aaec2
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
...
bomb on /DISCARD/ input section.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
2002-07-20 13:41:11 +00:00
Tom Rix
8243435612
Fix ld segfault for some elf targets. Fix default layout for d10v.
2002-06-17 14:08:40 +00:00
H.J. Lu
c4bb8067a5
2002-06-12 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
false if xvec doesn't match.
2002-06-13 02:43:23 +00:00
Alan Modra
1d475d825e
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
...
SEC_EXCLUDE sections when doing a relocatable link.
2002-06-05 14:07:29 +00:00
Richard Sandiford
ee3cc2e2ee
* ldlang.c (lang_size_sections_1): Move check for conflicting load
...
addresses and regions from here...
(lang_get_regions): ...to this new function.
(lang_leave_output_section_statement): Use lang_get_regions.
(lang_leave_overlay): Likewise.
* mri.c (mri_draw_tree): Pass null as last argument to
lang_leave_output_section_statement.
* emultempl/elf32.em (gld*_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
* emultempl/pe.em (gld*_place_orphan): Likewise.
2002-05-27 08:22:08 +00:00
Alan Modra
fac1652d6b
* ldemul.c (ldemul_new_vers_pattern): New function.
...
* ldemul.h (ldemul_new_vers_pattern): Declare.
(struct ld_emulation_xfer_struct): Add new_vers_pattern.
* ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
* emultempl/ppc64elf.em (dotsyms): New static var.
(gld${EMULATION_NAME}_new_vers_pattern): New function.
(LDEMUL_NEW_VERS_PATTERN): Define.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
(PARSE_AND_LIST_LONGOPTS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
initialiser.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf_oabi.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/elf32.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/mipsecoff.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vanilla.em: Likewise.
2002-05-22 09:04:48 +00:00
H.J. Lu
aa713662e8
2002-05-21 H.J. Lu (hjl@gnu.org)
...
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
"-z muldefs".
(gld${EMULATION_NAME}_list_options): Add "-z muldefs".
* ld.texinfo: Updated for --allow-multiple-definition and
"-z muldefs".
* ldmain.c (main): Initialize the allow_multiple_definition
field to false.
* lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
(ld_options): Add --allow-multiple-definition.
(parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2002-05-22 05:08:31 +00:00
David O'Brien
fed2999dfb
2002-03-18 David O'Brien <obrien@FreeBSD.org>
...
* emultempl/elf32.em: Use lbasename vs. basename to fix problem where
the contents of the buffer returned from basename function will are
getting overwritten while still being used.
Approved by: Alan Modra <amodra@bigpond.net.au>
Message-ID: <20020318032031.GD1089@bubble.sa.bigpond.net.au>
2002-03-19 21:03:43 +00:00
Alan Modra
2c382fb6f5
Support arbitrary length fill patterns.
...
* ldexp.h (etree_value_type): Add "str" field.
(union etree_union): Add "str" to "value" struct.
(exp_bigintop): Declare.
(exp_get_fill): Declare.
* ldexp.c: Include "safe-ctype.h".
(exp_intop): Set value.str to NULL.
(exp_bigintop): New function.
(new_rel): Pass in "str", and set new.str from it.
(new_rel_from_section): Set new.str to NULL.
(fold_name): Adjust calls to new_rel.
(exp_fold_tree): Likewise.
(exp_get_fill): New function.
* ldgram.y (struct big_int bigint, fill_type *fill): New.
(INT): Returns a "bigint". Adjust all code handling INTs.
(fill_opt): Returns a "fill".
(fill_exp): Split out of fill_opt, use for FILL.
* ldlang.h (struct _fill_type): New.
(fill_type): Move typedef to ldexp.h.
(lang_output_section_statement_type): "fill" is now a pointer.
(lang_fill_statement_type): Likewise.
(lang_padding_statement_type): Likewise.
(lang_add_fill): Now takes a "fill_type *" param.
(lang_leave_output_section_statement): Likewise.
(lang_do_assignments): Likewise.
(lang_size_sections): Likewise.
(lang_leave_overlay_section): Likewise.
(lang_leave_overlay): Likewise.
* ldlang.c: Include ldgram.h after ldexp.h.
(lang_output_section_statement_lookup): Adjust for fill_type change.
(print_fill_statement): Likewise.
(print_padding_statement): Likewise.
(insert_pad): Now takes a "fill_type *" arg.
(size_input_section): Likewise.
(lang_size_sections_1): Likewise.
(lang_size_sections): Likewise.
(lang_do_assignments): Likewise.
(lang_add_fill): Likewise.
(lang_leave_output_section_statement): Likewise.
(lang_leave_overlay_section): Likewise.
(lang_leave_overlay): Likewise.
Adjust all callers of the above function.
* ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers
starting with "0X" as well as "0x". Return bigint.str for hex
numbers starting with "0x" or "0X", zero bigint.str otherwise.
Always use base 16 for numbers starting with "$".
* ldmain.c: Include ldgram.h after ldexp.h.
* ldwrite.c (build_link_order): Use bfd_data_link_order in place
of bfd_fill_link_order.
* pe-dll.c: Adjust lang_do_assignments calls.
* emultempl/elf32.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
lang_add_assignment call.
* emultempl/pe.em: Likewise.
2002-02-15 02:11:05 +00:00
Hans-Peter Nilsson
e3dc884769
* ldlang.c (lang_reset_memory_regions): Rename from
...
reset_memory_regions. Change all callers. Make public.
* ldlang.h (lang_reset_memory_regions): Prototype.
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Call
lang_reset_memory_regions before lang_size_sections.
2002-02-05 06:52:17 +00:00
Alan Modra
3dfe7a8c3a
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Make use
...
of bfd_section_list_remove and bfd_section_list_insert macros.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
2002-01-05 13:14:00 +00:00
Alan Modra
73e87d7038
hash bfd sections for fast lookup and create.
...
bfd/ChangeLog
* bfd.c (struct _bfd): Add section_htab, section_tail.
* libbfd-in.h (_bfd_delete_bfd): Declare.
(bfd_section_hash_newfunc): Declare.
* opncls.c (_bfd_new_bfd): Free memory on failure. Init
section_htab and section_tail.
(_bfd_delete_bfd): New function.
(bfd_openr): Use it.
(bfd_fdopenr): Likewise.
(bfd_openstreamr): Likewise.
(bfd_openw): Likewise.
(bfd_close): Likewise.
(bfd_close_all_done): Likewise.
(bfd_release): Comment.
* section.c (struct section_hash_entry): New.
(bfd_section_hash_newfunc): New function.
(section_hash_lookup): Define.
(bfd_section_init): New function, split out from
bfd_make_section_anyway.
(bfd_get_section_by_name): Lookup via hash table.
(bfd_get_unique_section_name): Likewise.
(bfd_make_section_old_way): Rewrite to use hash table.
(bfd_make_section_anyway): Likewise.
(bfd_make_section): Likewise. Return NULL for attempts to make
BFD_{ABS,COM,UND,IND}_SECTION_NAME.
(_bfd_strip_section_from_output): Adjust section_tail if needed.
* configure.in: Bump bfd version.
* configure: Regenerate.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
ld/ChangeLog
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust
section_tail when fiddling with section list.
(gld${EMULATION_NAME}_list_options): Ensure sentences aren't
broken into separate strings to make translation easier.
* emultempl/mmo.em (mmo_place_orphan): Adjust section_tail when
fiddling with section list.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
2001-12-17 00:40:53 +00:00
Jakub Jelinek
6576570080
* elf-bfd.h (enum elf_link_info_type): New.
...
(struct bfd_elf_section_data): Remove stab_info and merge_info
fields, add sec_info and sec_info_type.
(struct elf_obj_tdata): Add eh_frame_hdr field.
(_bfd_elf_discard_section_eh_frame): New prototype.
(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
(_bfd_elf_eh_frame_section_offset): Likewise.
(_bfd_elf_write_section_eh_frame): Likewise.
(_bfd_elf_write_section_eh_frame_hdr): Likewise.
* Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo.
(BFD32_BACKENDS_CFILES): Add elf-eh-frame.c.
(elf-eh-frame.lo): New.
* Makefile.in: Rebuilt.
* configure.in (elf): Add elf-eh-frame.lo.
* configure: Rebuilt.
* elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME.
(map_sections_to_segments): Create PT_GNU_EH_FRAME if requested.
(get_program_header_size): Take into account PT_GNU_EH_FRAME
segment.
(_bfd_elf_rela_local_sym): Use sec_info_type and sec_info.
(_bfd_elf_rel_local_sym): Likewise.
(_bfd_elf_section_offset): Likewise. Call
_bfd_elf_eh_frame_section_offset too.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and
sec_info.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf-eh-frame.c: New file.
* elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE
.stab sections. Set sec_info_type, use sec_info instead
of merge_info and stab_info.
(elf_link_create_dynamic_sections): Create .eh_frame_hdr section
if --eh-frame-hdr.
(elf_bfd_final_link): Write .eh_frame_hdr section.
(elf_link_sec_merge_syms): Use sec_info_type and sec_info.
(elf_link_input_bfd): Likewise.
Call _bfd_elf_write_section_eh_frame to write .eh_frame sections.
(elf_bfd_discard_info): Add output_bfd argument.
Call _bfd_elf_discard_section_eh_frame and
_bfd_elf_discard_section_eh_frame_hdr.
(elf_section_ignore_discarded_relocs): Use sec_info_type, not section
names.
* bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust
prototypes.
* bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise.
* elf/common.h (PT_GNU_EH_FRAME): Define.
* bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
* emultempl/elf32.em (finish): Supply output_bfd
to bfd_elf*_discard_info.
(OPTION_EH_FRAME_HDR): Define.
(longopts): Add --eh-frame-hdr.
(parse_args): Handle it.
(list_options): Add --eh-frame-hdr to help.
* emultempl/hppaelf.em (finish): Supply output_bfd
to bfd_elf*_discard_info.
* scripttempl/elf.sc (.eh_frame_hdr): Add.
* readelf.c (get_segment_type): Support PT_GNU_EH_FRAME.
2001-12-13 11:09:34 +00:00
Alan Modra
ca0b584738
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Use NULL instead
...
of false when calling lang_size_sections.
(hppaelf_layout_sections_again): Likewise.
2001-11-20 15:19:39 +00:00
Alan Modra
c56feb2b8c
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Only emit this
...
function when LDEMUL_FINISH isn't set to the same name. Don't
call ${LDEMUL_FINISH}.
(ld_${EMULATION_NAME}_emulation): Call $LDEMUL_FINISH if defined.
* emultempl/armelf.em (arm_elf_finish): Call
gld${EMULATION_NAME}_finish.
* emultempl/hppaelf.em (hppaelf_finish): Rename to
gld${EMULATION_NAME}_finish. Call bfd_elf32_discard_info and
hppaelf_layout_sections_again if necessary.
(need_laying_out): New var.
(hppaelf_layaout_sections_again): Rename to
hppaelf_layout_sections_again. Clear need_laying_out.
(PARSE_AND_LIST_OPTIONS): Format text.
2001-11-15 12:44:03 +00:00
Daniel Jacobowitz
73d074b4e2
2001-11-11 Daniel Jacobowitz <drow@mvista.com>
...
* bfd-in.h (bfd_elf32_discard_info): Add prototype.
(bfd_elf64_discard_info): Likewise.
* bfd-in2.h: Regenerate.
* elf-bfd.h (struct elf_reloc_cookie): New.
(struct elf_backend_data): Add elf_backend_discard_info,
elf_backend_ignore_discarded_relocs, and elf_backend_write_section.
(_bfd_elf32_reloc_symbol_deleted_p): Add prototype.
(_bfd_elf64_reloc_symbol_deleted_p): Likewise.
* elf32-mips.c (_bfd_elf32_mips_discard_info): New.
(_bfd_elf32_mips_ignore_discarded_relocs): New.
(_bfd_elf32_mips_write_section): New.
(elf_backend_discard_info): Define.
(elf_backend_ignore_discarded_relocs): Define.
(elf_backend_write_section): Define.
* elfcode.h (elf_bfd_discard_info): Define.
(elf_reloc_symbol_deleted_p): Define.
* elflink.h (elf_link_input_bfd): Check
elf_section_ignore_discarded_relocs. Call
bed->elf_backend_write_section if available.
(elf_reloc_symbol_deleted_p): New.
(elf_bfd_discard_info): New.
(elf_section_ignore_discarded_relocs): New.
* elfxx-target.h (elf_backend_discard_info): Define.
(elf_backend_ignore_discarded_relocs): Define.
(elf_backend_write_section): Define.
(elfNN_bed): Add elf_backend_discard_info,
elf_backend_ignore_discarded_relocs, and
elf_backend_write_section.
* libbfd-in.h (_bfd_discard_section_stabs): Add prototype.
* libbfd.h: Regenerate.
* stabs.c (_bfd_discard_section_stabs): New.
2001-11-11 Daniel Jacobowitz <drow@mvista.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_finish): New.
(struct ld_emulation_xfer_struct): Use it.
2001-11-15 01:34:12 +00:00
Alan Modra
146e7110d8
* emultempl/elf32.em (gld*_list_options): Remove extra '\t' from
...
-z nocopyreloc and -z nocombreloc usage strings.
2001-10-15 23:28:21 +00:00
Nick Clifton
b4330e85f7
Include -z nocopyreloc in usage
2001-10-12 10:34:25 +00:00
Chris Demetriou
61585df298
2001-10-10 Chris Demetriou <cgd@broadcom.com>
...
* emultempl/elf32.em: Fix shell 'if' usage for portability.
2001-10-10 23:05:55 +00:00
Jakub Jelinek
ec38dd0548
* doc/as.texinfo: Document M and S ELF section flags.
...
* emultempl/elf32.em (gld_*_list_options): Include -z combreloc and
-z nocombreloc in usage.
2001-10-05 16:36:55 +00:00
Alan Modra
8bd621d883
Add support for -z nocopyreloc.
2001-10-03 15:11:48 +00:00
H.J. Lu
3882b01078
Locale changes from Bruno Haible <haible@clisp.cons.org>.
2001-09-19 05:33:36 +00:00
Jakub Jelinek
db6751f2e7
* elf-bfd.h (enum elf_reloc_type_class): New.
...
(struct elf_backend_data): Add elf_backend_reloc_type_class.
(_bfd_elf_reloc_type_class): New.
* elfxx-target.h (elf_backend_reloc_type_class): Define.
(elfNN_bed): Add elf_backend_reloc_type_class.
* elf.c (_bfd_elf_reloc_type_class): New.
* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
is against read-only section.
(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(elf_i386_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(elf32_sparc_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
reloc is against read-only section.
(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
looking up section names for DT_TEXTREL.
(sparc64_elf_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
(elfNN_ia64_hash_table_create): Clear ia64_info.
(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
section.
(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
instead of looking up section names for DT_TEXTREL.
(elfNN_ia64_reloc_type_class): New.
(elf_backend_reloc_type_class): Define.
* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
(struct elf_link_sort_rela): New.
(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
(elf_bfd_final_link): Call elf_link_sort_relocs.
Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
necessary.
* bfdlink.h (struct bfd_link_info): Add combreloc and
spare_dynamic_tags fields.
* emultempl/elf32.em (place_orphan): Place orphan .rel* sections
into .rel.dyn resp. .rela.dyn if combreloc.
(get_script): If .x linker script is equal to .xn, only put it
once into the binary.
Add .xc and .xsc scripts.
(parse_args): Handle -z combreloc and -z nocombreloc.
* scripttempl/elf.sc (.rela.sbss): Fix a typo.
For .xc and .xsc scripts put all .rel* or .rela* input sections
but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn.
* genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME
is elf.
Strip trailing whitespace from script.
Generate .xc and .xsc scripts if requested.
* ldmain.c (main): Initialize link_info.combreloc and
link_info.spare_dynamic_tags.
* lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define.
(ld_options): Add --spare-dynamic-tags option.
(parse_args): Likewise.
* ld.texinfo: Document -z combreloc and -z nocombreloc.
* ldint.texinfo: Document .xc and .xsc linker scripts.
* NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-23 15:14:18 +00:00
Alan Modra
cde43e70f1
* emultempl/elf32.em: Formatting fixes.
...
(output_prev_sec_find): Test for bfd_ind_section too; do so by
looking at sec->owner.
(output_rel_find): Move function inside LDEMUL_PLACE_ORPHAN test.
(gld${EMULATION_NAME}_place_orphan): Add a few comments. Remove
unused code, and reorganize orphan section placement code.
2001-08-14 04:40:38 +00:00
Alan Modra
39dcfe18ca
(wild_doit): Rename to lang_add_section.
2001-08-14 02:01:31 +00:00
Alan Modra
22af9fd35c
* emultempl/elf32.em: For SEC_EXCLUDE sections, ensure that
...
output_section is set non-NULL.
2001-08-13 14:28:57 +00:00
Alan Modra
0f33d40bfc
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Return
...
`true' for SEC_EXCLUDE sections so that the generic code doesn't
needlessly create an output_section_statement. Treat a correctly
named output_section_statement with NULL bfd_section as compatible.
2001-08-13 10:56:21 +00:00
Alan Modra
738108961e
* emultempl/elf32.em (output_prev_sec_find): Add missing prototype.
2001-08-09 14:44:18 +00:00
H.J. Lu
5030876b5d
2001-07-14 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (output_prev_sec_find): Never return
bfd_abs_section_ptr, bfd_com_section_ptr nor
bfd_und_section_ptr.
2001-07-14 16:36:25 +00:00
Jakub Jelinek
95500e1ca4
* emultempl/elf32.em (output_prev_sec_find): New.
...
(place_orphan): Use it.
2001-07-13 07:25:18 +00:00
David O'Brien
c2a1a436ff
2001-07-09 David O'Brien <obrien@FreeBSD.org>
...
* emultempl/elf32.em: Do not assuming that contents of the buffer
returned from basename function will remain unchanged accross other
function calls.
NOTE: DJ Delorie recomends doing a basename()->lbasename() conversion.
Approved by: DJ Delorie
<200107100030.UAA01223@envy.delorie.com>
2001-07-10 00:38:16 +00:00
Hans-Peter Nilsson
605d9b3a4f
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
...
Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections.
* mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto.
* ld.h (args_type): Remove member export_dynamic. All users
changed to use struct bfd_link_info member.
2001-06-18 22:20:57 +00:00
H.J. Lu
86af25fe1d
2001-05-24 H.J. Lu <hjl@gnu.org>
...
* emultempl/aix.em (OUTPUT_ARCH): Defined.
(gld${EMULATION_NAME}_before_parse): Initialize
ldfile_output_architecture, ldfile_output_machine and
ldfile_output_machine_name from ${OUTPUT_ARCH} if possible.
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
2001-05-25 05:39:22 +00:00
Alexandre Oliva
57e6abd277
* emultempl/elf32.em (ELF_INTERPRETER_SET_DEFAULT): Use this new
...
variable to avoid non-portable shell construct.
2001-05-24 02:44:06 +00:00
Nick Clifton
506eee2253
Improve Solaris compatability
2001-05-22 14:00:18 +00:00
H.J. Lu
1c9acd948f
2001-05-03 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em: Include "libiberty.h".
(gld${EMULATION_NAME}_vercheck): Call basename () to get the
basename of the bfd filename.
(gld${EMULATION_NAME}_stat_needed): Likewise.
(gld${EMULATION_NAME}_try_needed): Likewise.
(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
2001-05-03 06:26:26 +00:00
Ulrich Drepper
cc5ce05235
* emultmpl/elf32.em (gld${EMULATION_NAME}_search_needed): If NAME
...
is an absolute path look only for this file and not along the path.
2001-03-20 18:39:21 +00:00
Ulrich Drepper
a1ab1d2aa3
* emultempl/elf32.em (OPTION_GROUP): New macro.
...
Add new option Bgroup to longopts.
(gld*_parse_args): Handle GROUP_OPTION and recognize -z defs.
(gld*_list_options): Add -Bgroup and -z defs.
* ld.1: Document -Bgroup and -z defs.
* ld.texinfo: Likewise.
2001-03-17 21:24:26 +00:00
Nick Clifton
a2b64bede3
Fixtypos in ChangeLogs, fix copyright dates in files
2001-03-13 06:14:29 +00:00
Hans-Peter Nilsson
f813923cf3
* emultempl/elf32.em: Correct spelling in comments and listed
...
options.
2001-01-24 06:14:09 +00:00
Alan Modra
577a062318
Extend "ld --unique" functionality.
2001-01-14 04:36:35 +00:00
David O'Brien
482e8b3206
2000-01-07 David O'Brien <obrien@BSDi.com>
...
* emultempl/elf32.em: Only perform Linux ld hints processing when
targeting Linux.
Approved by: Nick Clifton <nickc@redhat.com>
Message-Id: <200101040127.RAA15127@elmo.cygnus.com>
2001-01-08 05:25:58 +00:00
Nick Clifton
6d02a66752
Remove spurious whitespace
2000-12-12 19:37:01 +00:00
Jim Wilson
c940e6fcdf
Handle srdata sections emitted by Intel compiler.
...
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local
hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata.
2000-11-08 00:39:32 +00:00
Alan Modra
b3ea35849f
Handle out of memory situations.
2000-09-20 04:20:26 +00:00
Alan Modra
ed15ac6a0a
Fix an orphan section problem caused by weird linker scripts.
2000-09-07 09:09:19 +00:00
Alan Modra
71bfc0aef6
Fix list handling for orphan section output statements.
2000-09-07 07:08:58 +00:00
Alan Modra
f998903041
Fix place_orphan crash.
2000-09-06 15:28:25 +00:00
Alan Modra
a854a4a7c8
--split-by-reloc, --split-by-file extensions. --unique option.
2000-09-05 03:05:19 +00:00
H.J. Lu
dcb0bd0eef
2000-08-24 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
check -rpath nor LD_RUN_PATH for cross link.
* ld.texinfo: Document the change.
2000-08-25 20:24:11 +00:00
H.J. Lu
6dd8c765d3
2000-08-23 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get
the current runpath list from bfd_elf_get_runpath_list ()
before search.
2000-08-23 23:03:00 +00:00
H.J. Lu
ec4eb78a39
2000-08-22 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search
the DT_RPATH/DT_RUNPATH entries for DT_NEEDED after
LD_LIBRARY_PATH for native linker. Display the needed DSO if
trace_file_tries is non-zero.
(gld${EMULATION_NAME}_try_needed): Report the needed DSO found
if trace_file_tries is non-zero.
* ld.texinfo: Document the usage of DT_RPATH/DT_RUNPATH.
* News: Mention it.
2000-08-22 19:34:37 +00:00
Nick Clifton
e374f1d977
Refer to -rpath not --rpath in error message
2000-08-09 00:51:42 +00:00
Alan Modra
4b209b2234
Keep track of last optind value, and rename a couple of functions
...
for consistency.
2000-08-04 04:41:33 +00:00
Alan Modra
41392f033d
Add some shell variables and shell code to elf32.em
...
to allow elf32.em to be used by ports that require
some minor variations or a few extra functions.
Implement for hppaelf and armelf.
Fix header file include order in m68kcoff.em
2000-07-28 01:33:14 +00:00
Alan Modra
04925e1e0b
Move functions around in preparation for next patch
2000-07-28 01:07:09 +00:00
H.J. Lu
699845ef7b
2000-07-20 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (longopts): Duplicate "disable-new-dtags"
and "disable-new-dtags" to stop getopt from treating -d/-e as
abbreviations for these options.
2000-07-20 21:59:40 +00:00
H.J. Lu
6c1439be21
2000-07-20 H.J. Lu <hjl@gnu.org>
...
* ld.texinfo: Add documentation for --disable-new-dtags and
--enable-new-dtags.
* ldmain.c (main): Initialize link_info.new_dtags to false.
* emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
--disable-new-dtags and --enable-new-dtags.
(gld_${EMULATION_NAME}_list_options): Likewise.
2000-07-20 21:18:23 +00:00
H.J. Lu
19e3be22a4
2000-07-20 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld_${EMULATION_NAME}_list_options):
Print out ignored -z options.
2000-07-20 16:13:26 +00:00
H.J. Lu
e0ee487bb5
2000-07-19 H.J. Lu <hjl@gnu.org>
...
* emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed.
(PARSE_AND_LIST_PROLOGUE): New.
(PARSE_AND_LIST_LONGOPTS): Likewise.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Likewise.
* ldmain.c (main): Clear link_info.flags and link_info.flags_1.
* lexsup.c (ld_options): Comment out 'z'.
(parse_args): Likewise.
* emultempl/elf32.em: Include "elf/common.h".
(gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
options.
(gld_${EMULATION_NAME}_list_options): Likewise.
* ld.texinfo: Add documentation for the recognized -z options.
2000-07-20 03:25:10 +00:00
H.J. Lu
49e56c493d
2000-07-19 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call
bfd_elf_set_dt_needed_soname ().
2000-07-20 03:17:32 +00:00
Alan Modra
b71e277823
Remove some forward declarations in ldemul.h and ldfile.h, and
...
re-arrange header include order.
Fix shadowing warnings in ldlang.h
Fix compile errors in mpw-elfmips.c
2000-07-11 03:42:41 +00:00
Nick Clifton
60bcf0fa8c
Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
...
for m68hc11 and m68hc12 processors.
2000-06-19 01:22:44 +00:00
Alan Modra
aea4bd9d34
place_orphan optimisations
2000-04-25 05:14:16 +00:00
H.J. Lu
20d04697a8
2000-04-18 H.J. Lu <hjl@gnu.org>
...
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
lang_leave_output_section_statement () after calling
lang_enter_output_section_statement ().
* emultempl/armelf.em: Likewise.
2000-04-18 23:39:03 +00:00
Alan Modra
5ba474214c
Yet another set of fixes for orphan sections.
2000-04-18 05:53:41 +00:00
Alan Modra
01cc8ff856
Zero start address of orphan ~(SEC_LOAD | SEC_ALLOC) sections.
2000-04-14 01:58:29 +00:00
Alan Modra
6a345e871d
Keep output orphan sections in the same order as input.
2000-04-12 02:43:37 +00:00
Alan Modra
40d109bfbc
GCC warning fix: Add missing NULL initialiser for find_potential_libraries.
2000-02-29 05:53:53 +00:00
Timothy Wall
562d3460fb
Add LMA memory region functionality.
2000-02-16 18:53:32 +00:00
Jeff Law
93a6d43674
Wed Nov 3 23:31:19 1999 Jeffrey A Law (law@cygnus.com)
...
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Clean up code to use EXTRA_SHLIB_EXTENSION.
1999-09-14 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Define EXTRA_SHLIB_EXTENSION to ".sl" for HP target.
* config.in: Add EXTRA_SHLIB_EXTENSION.
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Search for second shared lib extension only if EXTRA_SHLIB_EXTENSION
is defined.
1999-11-04 06:45:07 +00:00
Jeff Law
9f5b33d795
Fix typo in last change.
1999-09-17 21:58:45 +00:00
Jeff Law
d3cc5bd625
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
...
Use the same filename extension for the bfd_elf_dt_needed_name call
as we did for finding the library.
1999-09-16 20:53:09 +00:00
Jeff Law
070f1aed4e
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
...
Search for file with .sl extension if no file with a .so extension
is found.
1999-09-14 02:42:51 +00:00
Nick Clifton
3b108066c9
Add ability for individual targets to have their own command line switches by
...
defining PARSE_AND_LIST_ARGS.
1999-08-23 09:07:45 +00:00
Ian Lance Taylor
597e25914e
* emultempl/ostring.sed: Rename from stringify.sed.
...
* emultempl/astring.sed: New file.
* Makefile.am (stringify.sed): New target.
(GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
stringify.sed.
* configure.in: Define and substitute STRINGIFY.
* emultempl/*.em: Use stringify.sed from build directory rather
than source directory.
* emultempl/elf32.em: Use stringify.sed rather than inline sed
script.
* emultempl/gld960.em, emultempl/gld960c.em: Likewise.
* emultempl/hppaelf.em, emultempl/linux.em: Likewise.
* emultempl/lnk960.em, emultempl/sunos.em: Likewise.
* configure, Makefile.in: Rebuild.
1999-08-06 22:46:03 +00:00
Andreas Schwab
5d341b0e2a
* emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
...
comma in initializer.
1999-07-12 06:24:03 +00:00
Ian Lance Taylor
87f2a3464b
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
...
as appropriate. Fill in structure initializations.
1999-07-11 20:09:04 +00:00
Richard Henderson
f97f730029
* emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
...
DEFAULT_EMULATION.
* emultempl/elf32.em: Likewise.
* emultempl/sunos.em: Likewise.
1999-06-20 14:12:08 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00