aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
AgeCommit message (Collapse)AuthorFilesLines
2002-06-07 * emultempl/ppc64elf.em (new_vers_pattern): Warning fix.Alan Modra1-1/+1
2002-06-07Enable pei386_auto_import by default. Only print a info message about autoNick Clifton1-5/+6
imports being resilved if this feature was not requested via a command line switch.
2002-06-05 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): PlaceAlan Modra1-1/+1
SEC_EXCLUDE sections when doing a relocatable link.
2002-05-29Fix genreation of arm <->thumb glue stubs by ensuring that they are in the ↵Nick Clifton1-11/+46
last section linked.
2002-05-27 * ldlang.c (lang_size_sections_1): Move check for conflicting loadRichard Sandiford3-3/+3
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-22* pe-dll.c (autofilter_liblist): Add more system libs excluded by default.Christopher Faylor1-1/+7
(autofilter_objlist): Add crtbegin.o, crtend.o. * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define. (longopts): Add new option --exclude-libs. (gld_${EMULATION_NAME}_list_options): Give quick help about it. (gld_${EMULATION_NAME}_parse_args): Use it. * pe-dll.h (pe_dll_add_excludes): Add second param to prototype. * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from whole archives. (pe_dll_add_excludes): Set excludes->type. (auto_export): Add new variable libname and set to archive basename if abfd. Use it when filtering default and user-specified libarary excludes. Let string "ALL" mean all libs when filtering user-specified libs. * ld.texinfo: Document --exclude-libs.
2002-05-22 * ldemul.c (ldemul_new_vers_pattern): New function.Alan Modra17-14/+135
* 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 * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" whenAlan Modra1-1/+1
calling lang_add_entry.
2002-05-222002-05-21 H.J. Lu (hjl@gnu.org)H.J. Lu1-0/+3
* 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-18Add -bnortl and -bnortllib support for AIX.Tom Rix1-1/+4
2002-05-10XCOFF64 fixes. For setting arch/mach and for R_BR relocations.Tom Rix1-19/+26
2002-05-04 * emultempl/hppaelf.em (build_section_lists): New function.Alan Modra1-10/+40
(gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists and build_section_lists.
2002-05-02 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.Alan Modra1-4/+7
(ppc64_elf_ha_reloc): New function. (ppc64_elf_brtaken_reloc): New function. (ppc64_elf_sectoff_reloc): New function. (ppc64_elf_sectoff_ha_reloc): New function. (ppc64_elf_toc_reloc): New function. (ppc64_elf_toc_ha_reloc): New function. (ppc64_elf_toc64_reloc): New function. (ppc64_elf_unhandled_reloc): New function. (ppc64_elf_howto_raw): Use the above. <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset. <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask. <R_PPC64_SECTOFF_DS>: Likewise. (IS_ABSOLUTE_RELOC): Update. (struct ppc_link_hash_table): Add have_undefweak. (ppc64_elf_link_hash_table_create): Init. (func_desc_adjust): Set have_undefweak. (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only add the .sfpr blr when have_undefweak. (ppc64_elf_setup_section_lists): Check hash table flavour. (ppc64_elf_next_input_section): Move output_section->owner test to ppc64elf.em. (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param and relocatable test. Return TOCstart and don't set elf_gp. (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch offset calculation. Add assert on weak sym branch tweaks. * elf64-ppc.h (ppc64_elf_set_toc): Delete. (ppc64_elf_toc): Declare. (ppc64_elf_next_input_section): Update. * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Adjust for ppc64_elf_set_toc change. #include libbfd.h. (build_section_lists): Do output_section tests here.
2002-05-01Formatting fix.Tom Rix1-2/+2
2002-05-01 Long branch stubs, multiple stub sections.Alan Modra1-26/+291
* emultempl/ppc64elf.em: Include ldctor.h. (stub_file): New var. (group_size): New var. (ppc_create_output_section_statements): New function. (struct hook_stub_info): New. (hook_in_stub): New function. (ppc_add_stub_section): New function. (ppc_layout_sections_again): New function. (build_section_lists): New function. (gld${EMULATION_NAME}_finish): Rewrite. (real_func): New var. (ppc_for_each_input_file_wrapper): New function. (ppc_lang_for_each_input_file): New function. (lang_for_each_input_file): Define. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
2002-04-30Add support for AIX -blibpath and -bnolibpath.Tom Rix1-4/+22
2002-04-11Add 'n' in order to prevent "-n" from being taken as an abbreviation forNick Clifton1-1/+6
"--no-pipeline-knowledge".
2002-03-192002-03-18 David O'Brien <obrien@FreeBSD.org>David O'Brien1-7/+4
* 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-18Add AIX 64 shared library support and emulation layer for binutilsNick Clifton1-2/+2
2002-02-19Add support for -brtl, run time linking, to AIX ld.Tom Rix1-18/+23
2002-02-17 * emultempl/mmo.em (mmo_after_open): Don't callHans-Peter Nilsson1-5/+13
_bfd_mmix_check_all_relocs when producing ELF output.
2002-02-15Tweak wording in comment in last changeHans-Peter Nilsson1-9/+10
2002-02-15 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also checkHans-Peter Nilsson1-1/+14
for presence of .MMIX.reg_contents.linker_allocated before early exit.
2002-02-15 Support arbitrary length fill patterns.Alan Modra5-9/+10
* 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-102002-02-10 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-3/+5
* ldmain.c: Add prototype for main (). * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H. * emultempl/lnk960.em (lnk960_choose_target): Function should take two arguments.
2002-02-10 * ldlang.c (entry_section): New initialised variable.Alan Modra1-0/+5
(lang_finish): Use it. * ldlang.h (entry_section): Declare. * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set entry_section to ".opd".
2002-02-09 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): AdjustHans-Peter Nilsson1-8/+13
register section vma to a sane value after emitting error. Make fatal conditions cause program exit when emitting message.
2002-02-08Contribute sh64-elf.Alexandre Oliva1-0/+568
2002-01-24 Alexandre Oliva <aoliva@redhat.com> * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined in OTHER_RELOCATABLE_SECTIONS. 2002-01-18 Alexandre Oliva <aoliva@redhat.com> * emulparams/shelf32.sh (STACK_ADDR): Define. (OTHER_RELOCATABLE_SECTIONS): Renamed to... (OTHER_SECTIONS): this. Removed stack settings. * emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set. (OTHER_SECTIONS): Reset after sourcing shelf32.sh. 2001-03-12 DJ Delorie <dj@redhat.com> * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable relaxing if any shmedia or mixed sections are found. 2001-03-07 DJ Delorie <dj@redhat.com> * emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to einfo. Gracefully decline to output to non-elf formats. 2001-03-06 Hans-Peter Nilsson <hpn@redhat.com> * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>: Default to _end aligned to next multiple of 0x40000, plus 0x40000. * emulparams/shelf32.sh: Ditto. 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com> * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak comment. 2001-01-10 Ben Elliston <bje@redhat.com> * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid non-portable shell constructs. From Hans-Peter Nilsson. 2001-01-09 Hans-Peter Nilsson <hpn@cygnus.com> * emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty. * Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust dependencies to the shell script include chain. * Makefile.in: Regenerate. 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> * emultempl/sh64elf.em: Update and tweak comments. (sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and make a .cranges section SEC_IN_MEMORY. 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when .cranges section found to be necessary; continue and set stored section contents flags for sections with non-mixed contents. Use a struct sh64_section_data container and sh64_elf_section_data to store contents-type flags. Remove unused update of "isec". (sh64_elf_${EMULATION_NAME}_after_allocation): Only process sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to access contents-type flags. Assert that the associated container is initialized. Use that container, not elf_gp_size, to hold size of linker-generated cranges contents. 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if there's already a .cranges section. When section flag difference is found, don't NULL-check cranges a second time. Tweak comments. (sh64_elf_${EMULATION_NAME}_after_allocation): Use size after merging, not max size, as size of ld-generated .cranges contents. Don't set ELF section flags in output section. When checking for needed .cranges descriptors, don't use a variable; compare incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak comments. 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> * emultempl/sh64elf.em: New file. * Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies. * Makefile.in: Regenerate. * emulparams/shelf32.sh (OUTPUT_FORMAT): Only set if not set. (OTHER_RELOCATING_SECTIONS): Ditto. (EXTRA_EM_FILE): New, set to sh64elf if not set. * emulparams/shlelf32.sh: Stub out all settings except OUTPUT_FORMAT. Source shelf32.sh. * emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and OTHER_RELOCATING_SECTIONS. (OTHER_RELOCATING_SECTIONS): Remove .cranges. * emulparams/shlelf64.sh: Stub out all settings except OUTPUT_FORMAT. Source shelf64.sh. 2000-12-15 Hans-Peter Nilsson <hpn@cygnus.com> * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include .cranges section. (DATA_START_SYMBOLS): Define, provide ___data. (OTHER_READONLY_SYMBOLS): Define, provide ___rodata and align to 8 for consecutive .data section. (OTHER_GOT_SECTIONS): Define, align to 8 for consecutive .bss section after .data section. * emulparams/shlelf64.sh: Ditto. * emulparams/shelf32.sh: Ditto. (ALIGNMENT): Define to 8. * emulparams/shelf32.sh: Ditto. 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get built-in linker scripts. 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com> * emulparams/shlelf64.sh: New. * emulparams/shelf64.sh: New. * configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to targ_extra_emuls. * Makefile.am: Add support for shlelf64 and shelf64. * Makefile.in: Regenerate. 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com> * configure.tgt (sh64-*-elf*): Add shelf as default. Add shlelf to targ_extra_emuls. 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com> * emulparams/shelf32.sh: New file. * emulparams/shlelf32.sh: New file. * Makefile.am: Add support for shlelf32 and shelf32. * configure.tgt: Map sh64-*-elf* to shlelf32 and shelf32. * Makefile.in: Regenerate.
2002-02-05Update copyrightHans-Peter Nilsson1-1/+1
2002-02-05 * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.Hans-Peter Nilsson2-0/+4
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise.
2002-02-05 * ldlang.c (lang_reset_memory_regions): Rename fromHans-Peter Nilsson1-2/+4
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-04 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signedHans-Peter Nilsson1-2/+2
arithmetic when checking for too many global registers.
2002-02-01 Support on-demand global register allocation fromHans-Peter Nilsson2-11/+68
R_MMIX_BASE_PLUS_OFFSET relocs. * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from mmix_set_reg_section_vma. Call _bfd_mmix_finalize_linker_allocated_gregs. (mmix_before_allocation): New function. (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation. (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation. * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP. (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents. * emultempl/mmo.em (gldmmo_before_allocation): Define to default. (mmo_after_open): New function. (LDEMUL_AFTER_OPEN): Define to mmo_after_open. * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
2002-01-302002-01-29 Chris Demetriou <cgd@broadcom.com>Chris Demetriou1-0/+183
Mitch Lichtenberg <mpl@broadcom.com> * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself. * emultempl/mipself.em: New file to handle MIPS ELF embedded reloc creation (ld --embedded-relocs).
2002-01-16 * Makefile.am (eelf64ppc.c, eelf64lppc.c): Depend on ppc64elf.em.Alan Modra1-0/+99
* Makefile.in: Regenerate. * emulparams/elf64ppc.sh (EXTRA_EM_FILE): Define. * emultempl/ppc64elf.em: New file.
2002-01-05 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Make useAlan Modra3-24/+9
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.
2001-12-22-binitfini emulation, put __rtinit symbol generation into linker.Tom Rix1-51/+51
2001-12-17hash bfd sections for fast lookup and create.Alan Modra3-2/+13
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-13 * elf-bfd.h (enum elf_link_info_type): New.Jakub Jelinek2-2/+9
(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-11* emultempl/pe.em (gld_${EMULATION_NAME}_list_options): Fix typo.Christopher Faylor1-1/+1
2001-12-06Fixes to improve the ability to translate messages in the binutils toolsNick Clifton1-11/+11
2001-12-05Formatting and misc cleanup for AIX.Tom Rix1-124/+116
2001-12-03Pass argc and argv to ldemul_choose_target.Tom Rix3-14/+75
Support -b64 in AIX
2001-11-20 * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Use NULL insteadAlan Modra2-2/+2
of false when calling lang_size_sections. (hppaelf_layout_sections_again): Likewise.
2001-11-15 * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Only emit thisAlan Modra3-18/+38
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-152001-11-14 H.J. Lu <hjl@gnu.org>H.J. Lu1-3/+3
* emultempl/armelf.em (arm_elf_finish): Renamed from gld${EMULATION_NAME}_finish. (LDEMUL_FINISH): Set to arm_elf_finish.
2001-11-152001-11-11 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-1/+22
* 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-10-30Add MMIX supportNick Clifton3-0/+348
2001-10-15 * emultempl/elf32.em (gld*_list_options): Remove extra '\t' fromAlan Modra1-2/+2
-z nocopyreloc and -z nocombreloc usage strings.
2001-10-12Include -z nocopyreloc in usageNick Clifton1-0/+1