aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
AgeCommit message (Collapse)AuthorFilesLines
2002-12-10 * emultempl/elf32.em (struct orphan_save): Add os_tail field.Alan Modra1-0/+22
(gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement list too.
2002-12-04 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): SetAlan Modra1-3/+13
load_base for orphans that follow a section with load_base set.
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra23-518/+536
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-11-14Add --enable-auto-import extension.Nick Clifton1-19/+29
2002-11-12 * emultempl/ppc64elf.em (ppc_before_allocation): New function.Alan Modra2-59/+73
(LDEMUL_BEFORE_ALLOCATION): Define. (gld${EMULATION_NAME}_finish): Run discard_info for relocatable linking. * emultemp/hppaelf.em ((gld${EMULATION_NAME}_finish): Likewise.
2002-11-06Adds support for fastcall symbols as used on Microsoft Windows platformsNick Clifton1-215/+214
(i386)
2002-10-30 * emultempl/aix.em: Use include <> for generated headers.Daniel Jacobowitz4-4/+4
* 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-23 * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*Jakub Jelinek1-0/+1
sections into .rel{,a}.dyn.
2002-10-10 * emultempl/elf32.em (output_rel_find): Prefer .rel script sectionsAlan Modra1-21/+31
when orphan is .rel, .rela when orphan is .rela. (gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case first. Remove outsecname var.
2002-09-30 * emultempl/elf32.em (output_rel_find): Always place orphan loadableAlan Modra1-27/+29
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-08-28 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,Alan Modra1-10/+10
strtoul and strtoull with bfd_scan_vma. (gld${EMULATION_NAME}_read_file): Likewise.
2002-08-27Revert ARM linker patch and apply similar patch to bfd insteadNick Clifton1-82/+43
2002-08-22Set the last bit of DT_INIT and DT_FINI depending on the type of the function.Nick Clifton1-43/+82
2002-08-07Only search for an interworking bfd if there are input bfds.Nick Clifton1-10/+12
2002-08-06 * emultempl/aix.em (gld*_before_parse): Set default arch. RevertsAlan Modra1-60/+69
2002-05-10 change.
2002-07-31Add new field to bfd_link structure and use it to control how common symbolsNick Clifton1-0/+9
are extracted from archives.
2002-07-20 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don'tAlan Modra3-3/+7
bomb on /DISCARD/ input section. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Likewise.
2002-07-19 * emultempl/mmo.em (mmo_place_orphan): Handle case of no .textHans-Peter Nilsson1-0/+11
output section.
2002-07-01 * ldlang.h (entry_sym): Make it a struct bfd_sym_chain.Alan Modra5-14/+27
* ldlang.c (entry_sym): Likewise. (ldlang_undef_chain_list_type): Likewise. (lang_finish): Adjust references to entry_symbol. (lang_add_entry): Likewise. (lang_gc_sections): Use link_info.gc_sym_list. (lang_process): Set link_info.gc_sym_list. * ldlex.l: Include bfdlink.h. * ldmain.c (main): Init link_info.gc_sym_list. * emultempl/aix.em: Adjust references to entry_symbol. * emultempl/armcoff.em: Likewise. * emultempl/armelf.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/ppc64elf.em (ppc_after_open): New function. (LDEMUL_AFTER_OPEN): Define. * emulparams/elf64ppc.sh: KEEP .opd sections.
2002-06-192002-06-18 Chris Demetriou <cgd@broadcom.com>Chris Demetriou1-1/+1
* emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Check section flags for SEC_DATA, rather than for SEC_CODE being unset.
2002-06-192002-06-18 Chris Demetriou <cgd@broadcom.com>Chris Demetriou1-1/+1
* emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Fix format specifier used to print BFD name.
2002-06-17Fix ld segfault for some elf targets. Fix default layout for d10v.Tom Rix1-0/+4
2002-06-132002-06-12 H.J. Lu <hjl@gnu.org>H.J. Lu1-0/+7
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return false if xvec doesn't match.
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.