aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
AgeCommit message (Collapse)AuthorFilesLines
2003-08-07 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Danny Smith1-3/+3
Change second (cmdline) arg to lang_add_entry to FALSE. (set_pe_subsystem): Change second arg to lang_add_entry to TRUE.
2003-08-04Prefix .gnu.warning section messages with "warning: ".Nick Clifton1-3/+8
2003-08-04 * emultempl/elf32.em (output_rel_find): Add "isdyn" param. PutAlan Modra1-11/+23
.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-07-10 * emulparams/elf64ppc.sh (OTHER_GOT_SECTIONS): Don't define.Alan Modra1-3/+5
(GOT): Define. * emultempl/ppc64elf.em (stub_added): New static var. (ppc_create_output_section_statements): Call ppc64_elf_init_stub_bfd. (ppc_add_stub_section): Set stub_added. (gld${EMULATION_NAME}_finish): Look for .got rather than .toc. Adjust ppc64_elf_size_stubs call and test for stubs. * scripttempl/elf.sc (GOT): Define and use.
2003-07-08 * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):Joern Rennecke1-1/+8
Allow second call from ldemul_finish.
2003-06-28Convert to C90Alan Modra3-6/+4
2003-06-27 * emultempl/aix.em: Convert to C90, remove unnecessary prototypesAlan Modra29-1160/+605
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-25Correct spelling of "relocatable".Alan Modra26-112/+112
2003-06-24 * emultempl/ppc32elf.em: Convert to C90.Alan Modra1-3/+1
2003-06-20 * emultempl/ppc64elf.em: Convert to C90 function definitions, removeAlan Modra1-58/+20
unnecessary prototypes and casts.
2003-06-19 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Dump outAlan Modra1-1/+15
statistics from ppc64_elf_build_stubs.
2003-06-19 * emultempl/ppc64elf.em (build_section_lists): Check return statusAlan Modra1-2/+3
from ppc64_elf_next_input_section.
2003-06-08 * emultempl/ppc64elf.em (emit_stub_syms, toc_section): New vars.Alan Modra1-2/+37
(build_toc_list): New function. (gld${EMULATION_NAME}_finish): Call build_toc_list and ppc64_elf_reinit_toc. Adjust ppc64_elf_build_stubs call. (OPTION_STUBSYMS): Define. (PARSE_AND_LIST_LONGOPTS): Add emit-stub-syms. (PARSE_AND_LIST_OPTIONS): Document. (PARSE_AND_LIST_ARGS_CASES): Handle.
2003-06-062003-06-05 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+1
* emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Remove extra \t in -z noexecstack line.
2003-06-03binutils/Jakub Jelinek1-0/+12
* 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-05-30bfd/Jakub Jelinek1-2/+22
* 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(arm_elf_before_allocation): Replace ASSERT with a test for a NULLNick Clifton1-2/+6
bfd_for_interworking.
2003-05-29Replace <ctype.h> with "safe-ctype.h"Nick Clifton1-3/+2
2003-05-09 * Makefile.am (em68hc11elf.c): Correct dependencies.Alan Modra1-1/+1
(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-04-19 * emultempl/m68hc1xelf.em: New file to generate far trampolines onStephane Carrez1-0/+391
68HC11 and 68HC12. (LDEMUL_BEFORE_ALLOCATION): Override to gather the trampolines to generate. (LDEMUL_FINISH): Override to generate the trampolines after gc and linker relaxation. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Override to create the stub file for trampolines. (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_LONGOPTS): New options --no-trampoline and --bank-window to control the memory bank window.
2003-04-02pe-dll.c (pe_detail_list): arm-pe targets use underscores.Nick Clifton1-1/+9
(process_def_file): Don't create an export section if there are no exports and we're building an exe. (pe_dll_build_sections): Ditto (pe_dll_fill_sections): Conditionalize setting abfd->dll true on info->shared emultempl/pe.em (gld_${EMULATION_NAME}_after_open): If i386pe or armpe, call pe_dll_build_section() for both exe's and dll's, not just dll's. Don't call pe_dll_build_section() if link_info.relocateable. (gld_${EMULATION_NAME}_finish): For all targets except shpe and mipspe, call pe_dll_fill_sections() for both exe's and dll's, not just dll's. Don't call pe_dll_fill_sections() if link_info.relocateable.
2003-04-01Add Xtensa portNick Clifton1-0/+1586
2003-03-02 * emulparams/elf64alpha.sh (EXTRA_EM_FILE): Define.Alan Modra1-0/+83
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES, PARSE_AND_LIST_EPILOGUE): Don't define. * emultempl/alphaelf.em: New file.
2003-02-28 * ldemul.c: Include getopt.h.Alan Modra2-4/+2
* emultempl/elf32.em: Include getopt.h earlier. * emultempl/ticoff.em: Likewise.
2003-02-28 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combrelocAlan Modra1-0/+23
support when scripts read from files.
2003-02-28 * ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.Alan Modra21-281/+283
(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-26* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): FixAlexandre Oliva1-1/+1
memory allocation error.
2003-02-21Disable region size checking whilst relaxing sections.Nick Clifton3-7/+7
2003-02-18 * emultempl/ppc32elf.em: New file.Alan Modra1-0/+84
* emulparams/elf32ppc.sh (EXTRA_EM_FILE): Define. * Makefile.am (eelf32lppc.c): Depend on emultempl/ppc32elf.em. (eelf32lppcnto.c): Likewise. (eelf32lppcsim.c): Likewise. (eelf32ppcnto.c): Likewise. (eelf32ppc.c): Likewise. (eelf32ppc_fbsd.c): Likewise. (eelf32ppcsim.c): Likewise. (eelf32ppclinux.c): Likewise.
2003-02-17 * emultempl/ppc64elf.em (ppc_create_output_section_statements): CheckAlan Modra1-17/+27
hash creator. (ppc_before_allocation): Don't do optimizations if wrong hash table. (gld${EMULATION_NAME}_finish): Ditto.
2003-02-11 * hppaelf.em (group_size): Change default back to 1.Dave Anglin1-1/+1
2003-02-09 * emultempl/ppc64elf.em: Add "no-tls-optimize" option and support code.Alan Modra1-16/+28
2003-02-07 * hppaelf.em (group_size): Change default to -1.Dave Anglin1-1/+1
2003-02-07Add duplicate entry for no-pipeline-knowledge. This will prevent the getoptNick Clifton1-6/+5
package from thinking that there are any shorter abbreviations for --no-pipeline-knowledge.
2003-02-04 * emultempl/ppc64elf.em (ppc_before_allocation): Size sections thenAlan Modra1-1/+14
call ppc64_elf_tls_optimize.
2003-02-03 * emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysrootDaniel Jacobowitz1-3/+5
outside of GNU/Linux conditional.
2003-01-23include/elf/ChangeLogAlan Modra1-9/+10
* sh.h: Split out various bits to bfd/elf32-sh64.h. include/opcode/ChangeLog * m68hc11.h (cpu6812s): Define. bfd/ChangeLog * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change dynindx to an int. Rearrange for better packing. * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done. * elf32-mips.c (bfd_elf32_new_section_hook): Define. * elf32-sh64.h: New. Split out from include/elf/sh.h. (struct _sh64_elf_section_data): New struct. (sh64_elf_section_data): Don't dereference sh64_info (was tdata). * elf32-sh64-com.c: Include elf32-sh64.h. * elf32-sh64.c: Likewise. (sh64_elf_new_section_hook): New function. (bfd_elf32_new_section_hook): Define. (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change. (sh64_bfd_elf_copy_private_section_data): Likewise. (sh64_elf_final_write_processing): Likewise. * elf32-sparc.c (struct elf32_sparc_section_data): New. (elf32_sparc_new_section_hook): New function. (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. (sec_do_relax): Define. (elf32_sparc_relax_section): Adjust to use sec_do_relax. (elf32_sparc_relocate_section): Likewise. * elf64-mips.c (bfd_elf64_new_section_hook): Define. * elf64-mmix.c (struct _mmix_elf_section_data): New. (mmix_elf_section_data): Define. Use throughout file. (mmix_elf_new_section_hook): New function. (bfd_elf64_new_section_hook): Define. * elf64-ppc.c (struct _ppc64_elf_section_data): New. (ppc64_elf_section_data): Define. Use throughout. (ppc64_elf_new_section_hook): New function. (bfd_elf64_new_section_hook): Define. * elf64-sparc.c (struct sparc64_elf_section_data): New. (sparc64_elf_new_section_hook): New function. (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete. (sec_do_relax): Define. (sparc64_elf_relax_section): Adjust to use sec_do_relax. (sparc64_elf_relocate_section): Likewise. (bfd_elf64_new_section_hook): Define. * elfn32-mips.c (bfd_elf32_new_section_hook): Define. * elfxx-mips.c (struct _mips_elf_section_data): New. (mips_elf_section_data): Define. Use throughout. (_bfd_mips_elf_new_section_hook): New function. (mips_elf_create_got_section): Don't alloc used_by_bfd. * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare. * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. opcodes/ChangeLog * sh64-dis.c: Include elf32-sh64.h. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. gas/ChangeLog * config/tc-sh64.c (shmedia_frob_section_type): Adjust for changed sh64_elf_section_data. * config/tc-sh64.h: Include elf32-sh64.h. * config/tc-m68hc11.c: Don't include stdio.h. (md_show_usage): Fix missing continuation. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. ld/ChangeLog * emultempl/sh64elf.em: Include elf32-sh64.h. (sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed sh64_elf_section_data. (sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
2003-01-23Remove an extra "i" in --dll-search-prefix.Nick Clifton1-5/+6
Move a cross-80th-column-margin "an" to the next line.
2003-01-17 * emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do notAndreas Jaeger1-1/+1
skip ':'.
2003-01-06 * Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.Daniel Jacobowitz1-33/+75
* 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.
2002-12-17Don't search for data import when auto-import is disabled.Nick Clifton1-63/+70
2002-12-17Use LD_PATHMAX+1 to account for trailing '\0'.Nick Clifton1-2/+2
2002-12-17Duplicate entry for --compact-implib so that it is not confused with -c.Nick Clifton1-0/+3
2002-12-16Add support to skip import libraries for performance reasons and insteadNick Clifton1-28/+35
use the direct auto-import of dll's
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)