2002-07-07 Alan Modra Merge from mainline. 2002-07-05 Alan Modra * ldlang.c (print_wild_statement): Fix output formatting. 2002-05-09 Alan Modra Merge from mainline. 2002-05-02 Alan Modra * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Adjust for ppc64_elf_set_toc change. #include libbfd.h. 2002-04-28 Alan Modra * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files. * Makefile.in: Regenerate. * mpw-elfmips.c: Delete. * mpw-eppcmac.c: Delete. * mpw-esh.c: Delete. * mpw-idtmips.c: Delete. 2002-04-27 Alan Modra Merge from mainline 2002-04-08 Alan Modra * ldlang.c (lang_size_sections): Don't complain about SEC_NEVER_LOAD sections having no memory region specified. * ld.texinfo (Format Commands ): Typo fix. 2002-04-07 matthew green * ld/configure.host (*-*-netbsd*): Add support for NetBSD/ELF. 2002-02-19 Martin Schwidefsky * emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit". * emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit". 2002-04-11 Nick Clifton * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Add 'n' in order to prevent "-n" from being taken as an abbreviation for "--no-pipeline-knowledge". 2002-04-04 Alan Modra * dep-in.sed: Cope with absolute paths. * Makefile.am (dep.sed): Subst TOPDIR and BFDDIR. Run "make dep-am". * Makefile.in: Regenerate. Merge from mainline. 2002-03-28 Alan Modra * configure.host: Set up for generic hosts first, then tweak as necessary in more specific targets. (HOSTING_LIBS): Include libgcc_eh.a if found. 2002-03-28 Alan Modra Merge from mainline. 2002-03-21 Albert Chin-A-Young * genscripts.sh (LIB_SEARCH_DIRS): Quote path. 2002-03-20 Alan Modra * ldlang.c (ldlang_add_undef): If the output bfd has been opened, add the symbol to the linker hash table immediately. (lang_place_undefineds): Split symbol creation out.. (insert_undefined): ..to here. 2002-03-18 Alan Modra * ldmain.c (main): Move .text readonly flag fudges from here.. * ldlang.c (lang_process): ..to here. 2002-03-14 Alan Modra * ldlang.c (lang_check): Remove the word size check added in last change. Treat emitrelocations case as for relocatable links. 2002-03-13 Alan Modra * ldlang.c (lang_check): Do relocatable link checks first, so that warn_mismatch can't override. Check compatible and word size too. 2002-03-04 H.J. Lu * scripttempl/elf.sc: Put .preinit_array, .init_array and .fini_array in the data segment. 2002-03-04 Alan Modra * scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit. 2002-03-01 David Mosberger * scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array, .init_array, and .fini_array. 2002-03-18 David O'Brien * 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. Mon Mar 18 18:07:20 CET 2002 Jan Hubicka Andreas Jaeger Andreas Schwab * configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native. * elf_x86_64.sh (ARCH): Set to i386:x86-64 set libraries to default to lib64 paths. 2002-03-07 Daniel Jacobowitz * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo. 2002-03-07 Daniel Jacobowitz * NEWS: Mark version 2.12. 2002-02-20 Andreas Schwab * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold .IA64_unwind* in a relocatable link. 2002-02-19 David O'Brien * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd, eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd, and eelf64alpha_fbsd. * Makefile.in: Regenerate. * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd, x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd): use a FreeBSD-specific emulation rather than the psABI one. * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value for all FreeBSD ELF systems. * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI emulation. * emulparams/elf32ppc_fbsd.sh: Likewise. * emulparams/elf64_ia64_fbsd.sh: Likewise. * emulparams/elf64_sparc_fbsd.sh: Likewise. * emulparams/elf64alpha_fbsd.sh: Likewise. * emulparams/elf_i386_fbsd.sh: Likewise. * emulparams/elf_x86_64_fbsd.sh: Likewise. 2002-02-15 Richard Henderson * emulparams/elf64alpha.sh (NOP): Adjust for little-endian definition. 2002-02-15 Hans-Peter Nilsson * NEWS: Mention support for MMIX. 2002-02-14 Phil Edwards * ld.texinfo (VERSION scripts): Symbol names are globbing patterns. * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern; the pattern in question is not a regexp. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also. 2002-02-10 Daniel Jacobowitz * lexsup.c: Remove strtoul declaration. 2002-02-11 Alan Modra * ldlang.c (entry_section): New initialised variable. (lang_finish): Use it. * ldlang.h (entry_section): Declare. * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set entry_section to ".opd". 2002-02-10 Daniel Jacobowitz * 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-09 Chris Demetriou * ld.texinfo (Options): Add back in -nostdlib documentation, which had been inadvertently removed. 2002-02-09 Hans-Peter Nilsson * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust register section vma to a sane value after emitting error. Make fatal conditions cause program exit when emitting message. 2002-02-08 Ivan Guzvinec * configure.tgt: Add or32-*-rtems target. 2002-02-08 Alexandre Oliva Contribute sh64-elf. 2002-01-24 Alexandre Oliva * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined in OTHER_RELOCATABLE_SECTIONS. 2002-01-18 Alexandre Oliva * 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 * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable relaxing if any shmedia or mixed sections are found. 2001-03-07 DJ Delorie * 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 * 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 * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak comment. 2001-01-10 Ben Elliston * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid non-portable shell constructs. From Hans-Peter Nilsson. 2001-01-09 Hans-Peter Nilsson * 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 * 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 * 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 * 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 * 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 * 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 * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get built-in linker scripts. 2000-11-30 Hans-Peter Nilsson * 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 * configure.tgt (sh64-*-elf*): Add shelf as default. Add shlelf to targ_extra_emuls. 2000-11-24 Hans-Peter Nilsson * 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-05 Hans-Peter Nilsson * 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. * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise. * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise. 2002-02-04 Hans-Peter Nilsson * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signed arithmetic when checking for too many global registers. 2002-02-02 Jason Thorpe * Makefile.am (ALL_EMULATIONS): Add ehppanbsd.o. (ehppanbsd.c): New rule. * Makefile.in: Regenerate. * configure.tgt (hppa*-*-netbsd*): New target. * emulparams/hppalinux.sh: Add comment to check other files that source this file it is modified, and list which files that do. * emulparams/hppanbsd.sh: New file. 2002-02-01 Geoffrey Keating * scripttempl/xstormy16.sc: Don't allocate extra space for the stack. 2002-02-01 Hans-Peter Nilsson Support on-demand global register allocation from 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-31 Ivan Guzvinec * emulparams/or32.sh: New file. * emulparams/or32elf.sh: New file. * scripttempl/or32.sc: New file. * configure.tgt : Add support for or32. * configure: Regenerate * Makefile.am: Add support for or32. * Makefile.in: Regenerate. * NEWS: Mention support for or32. * po/ld.pot: Regenerate. 2002-01-29 Chris Demetriou Mitch Lichtenberg * 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-27 Daniel Jacobowitz * configure: Regenerated. 2002-01-26 Hans-Peter Nilsson * Makefile.am (install): Depend on install-info. * Makefile.in: Regenerate. 2002-01-26 Christian Rose * ldmain.c (main): Use full sentences to ease translation. 2002-01-26 Nick Clifton * po/fr.po: Updated version. 2002-01-25 Nick Clifton * po/es.po: Updated version. 2002-01-25 Andreas Jaeger * ldlex.l (yy_input): Correct error check. 2002-01-25 Alan Modra * ldmisc.c (demangle): Put back dots when string not demangled. 2002-01-22 Richard Henderson * emulparams/elf64alpha.sh (NOP): Use unop. 2002-01-21 Andreas Jaeger * ldlex.l: Use fread instead of read. 2002-01-21 Jason Thorpe * configure.tgt (ia64-*-netbsd*): New target. 2002-01-21 H.J. Lu * emulparams/elf32btsmip.sh (SHLIB_TEXT_START_ADDR): Change to 0. * emulparams/elf64btsmip.sh (SHLIB_TEXT_START_ADDR): Likewise. 2002-01-18 Andreas Jaeger * ldver.c (ldversion): Update year. 2002-01-17 Nick Clifton * po/ld.pot: Regenerate. 2002-01-16 Alan Modra * Makefile.am (eelf64ppc.c, eelf64lppc.c): Depend on ppc64elf.em. * Makefile.in: Regenerate. * emulparams/elf64ppc.sh (EXTRA_EM_FILE): Define. * emultempl/ppc64elf.em: New file. 2002-01-15 DJ Delorie * scripttempl/pe.sc: Add support for constructor priorities. 2002-01-07 Marek Michalkiewicz * emulparams/avr1200.sh (DATA_START): Define as 0x60. * emulparams/avr23xx.sh: Likewise. * emulparams/avr4433.sh: Likewise. * emulparams/avr44x4.sh: Likewise. * emulparams/avr85xx.sh: Likewise. * emulparams/avrmega103.sh: Likewise. * emulparams/avrmega161.sh: Likewise. * emulparams/avrmega603.sh: Likewise. * scripttempl/elf32avr.sc: Use DATA_START instead of 0x60. 2002-01-08 Alexandre Oliva * ldlang.c (walk_wild_section): Exclude object file if enclosing archive is excluded. 2002-01-07 Jason Thorpe * Makefile.am (ALL_EMULATIONS): Add eshelf_nbsd.o and eshlelf_nbsd.o. (eshelf_nbsd.c): New rule. (eshlelf_nbsd.c): New rule. * Makefile.in: Regenerate. * configure.tgt (sh*le-*-netbsdelf*): New target. (sh*-*-netbsdelf*): New target. * emulparams/shelf.sh: Document that shelf_nbsd.sh sources this file. * ld/emulparams/shelf_nbsd.sh: New emulation. * ld/emulparams/shlelf_nbsd.sh: New emulation. 2002-01-07 Nick Clifton * po/es.po: New file: Spanish translation. * configure.in (ALL_LINGUAS): Add es. * configure: Regenerate. 2002-01-06 John Marshall * ld.texinfo: Note that --emit-relocs is currently only implemented for ELF. 2002-01-05 Alan Modra * 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-04 Jason Thorpe * configure.tgt (x86_64-*-netbsd*): New target. 2001-12-21 Tom Rix (gld*_create_output_section_statements): New function. For -binitfini support. * emultempl/aix.em (gld*_before_parse): Fix comment. * emultempl/aix.em (gld*_parse_args): Fix comment. 2001-12-20 Jason Thorpe * configure.tgt (mips*-dec-netbsd*): Delete alias for mips*el-*-netbsd*. (sparc64-*-netbsd*): Add elf32_sparc to targ_extra_emuls. * configure.tgt (arm-*-netbsdelf*): Add target. (arm-*-netbsd*): Add armelf and armelf_nbsd to targ_extra_emuls. * emulparams/armelf_nbsd.sh: Added. * Makefile.am: Add rules for earmelf_nbsd. * Makefile.in: Regenerate. 2001-12-19 Andreas Jaeger , Susanne Oberhauser * configure.host: Add rules for x86_64-*linux-gnu. Change s390x-linux entry to use gcc to report configuration, replace gcc with $CC in s390-linux 2001-12-19 Andreas Jaeger * ld.texinfo (VERSION): Fix markup. 2001-12-18 matthew green * Makefile.am (ALL_EMULATIONS): Add m68kelfnbsd.o. (m68kelfnbsd.c): New rule. * Makefile.in: Regenerate. * configure.tgt (m68*-hp-netbsd*): Renamed to .. (m68*-*-netbsd*4k*): .. this. (m68*-*-netbsdelf*): New target. (m68*-*-netbsd*): Also include ELF support. (m68*-*-netbsdaout*): New alias for m68*-*-netbsd*. * emulparams/m68kelfnbsd.sh: New emulation. 2001-12-18 Jakub Jelinek * ldgram.y (vers_node): Support anonymous version tags. * ldlang.c (lang_register_vers_node): Ensure anonymous version tag is not defined together with non-anonymous versions. * ld.texinfo: Document it. 2001-12-18 Nick Clifton * po/tr.po: New file: Turkish translation. * configure.in (ALL_LINGUAS): Add tr. * configure: Regenerate. 2001-12-17 Jason Thorpe * Makefile.am: Add rules for eelf64alpha_nbsd. * Makefile.in: Regenerate. * configure.tgt (alpha*-*-netbsd*): Set targ_emul to elf64alpha_nbsd. * emulparams/elf64alpha_nbsd.sh: Added. 2001-12-17 Alan Modra * 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-16 Hans-Peter Nilsson * scripttempl/mmo.sc: Add .debug_ranges to listed sections. 2001-12-15 Alan Modra * ldmain.c (main): Initialise link_info.eh_frame_hdr. 2001-12-13 Jakub Jelinek * 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. 2001-12-13 Alan Modra * lexsup.c (parse_args): Don't pass shortopts to second call to getopt functions. Restore optind rather than decrementing before second call. Remove errind as it now duplicates last_optind. 2001-12-11 Christopher Faylor * emultempl/pe.em (gld_${EMULATION_NAME}_list_options): Fix typo. 2001-12-07 Geoffrey Keating Richard Henderson * Makefile.am: Add support for xstormy16. * configure.tgt: Add support for xstormy16. * Makefile.in: Regenerate. * emulparams/elf32xstormy16.sh: New file. * scripttempl/xstormy16.sc: New file. 2001-10-01 Christopher Faylor * Makefile.in (LIB_PATH): Make configurable. (GENSCRIPTS): Set LIB_PATH in environment. * configure.in: Substitute LIB_PATH. * configure: Regenerate. * configure.tgt (*cygwin): Set LIB_PATH for cross build. * configure.host (*cygwin): Add /usr/lib/w32api to NATIVE_LIB_DIRS. 2001-12-07 Nick Clifton * lexsup.c (ld_options): Insert 'PROGRAM' into the text string describing the -N option so that it is easier to translate into foreign languages. 2001-12-05 Nick Clifton * emultempl/pe.em (..._list_options): Replace multiple fprintf statements describing a single option with a single, newline escaped fprintf. This allows better translation into other languages. * ldmain.c (add_archive_element): Combine multiple strings into a single string to permit better translation into other languages. 2001-12-05 Tom Rix * Makefile.am: Remove eaixppc64. * Makefile.in: Regenerate. 2001-12-04 Tom Rix * emultempl/aix.em (choose_target): Change default target to OUTPUT_FORMAT for ppcmacos. Add braces to remove compiler warning. (gld*_read_file): Fix typo. (change_symbol_mode): Add prototype. (is_syscall): Same. * emulparams/aixppc.sh (SYSCALL_MASK, SYMBOL_MODE_MASK): Delete. * emulparams/aixrs6.sh : Same. * emulparams/ppcmacos.sh : Same. * emulparams/aixppc64.sh : Delete file. * emultempl/aix.em : Formatting changes. 2001-12-04 Hans-Peter Nilsson * emulparams/criself.sh (NO_SMALL_DATA): Set, to yes. (OTHER_BSS_END_SYMBOLS): Don't refer to .sbss when setting __Sbss. (OTHER_END_SYMBOLS): Fix formatting. * emulparams/crislinux.sh (NO_SMALL_DATA): Set, to yes. (OTHER_END_SYMBOLS): Fix formatting. 2001-12-04 Alan Modra * ldexp.c (exp_print_token): Correct "table" entry for RSHIFT. 2001-12-02 Tom Rix * configure.tgt : Remove eaixppc64 emulations. * Makefile.in : Remove eaixppc64.c * ldemul.c (ldemul_choose_target): New parameters argc, argv. (ldemul_default_target): Same. * emultempl/gld960.em (gld960_choose_target): Same. * emultempl/gld960c.em (gld960_choose_target): Same. * scripttempl/aix.sc: Remove OUTPUT_FORMAT. * emultempl/aix.em (is_syscall): syscall_mask now a variable. * emultempl/aix.em (gld*_read_file): symbol_mode_mask now a variable. * emultempl/aix.em (gld*_parse_args): Handle -b32 -b64 emulation. * emultempl/aix.em (choose_target): New function. Handle emulation of -b32 and -b64. 2001-11-27 H.J. Lu * emulparams/elf_i386.sh (NO_SMALL_DATA): Set to yes. * emulparams/elf_i386_be.sh (NO_SMALL_DATA): Likewise. * emulparams/elf_i386_chaos.sh (NO_SMALL_DATA): Likewise. * emulparams/elf_i386_ldso.sh (NO_SMALL_DATA): Likewise. * emulparams/elf_x86_64.sh (NO_SMALL_DATA): Likewise. * emulparams/m68kelf.sh (NO_SMALL_DATA): Likewise. * emulparams/elf32_sparc.sh (NO_SMALL_DATA): Likewise. * emulparams/elf64_sparc.sh (NO_SMALL_DATA): Likewise. * scripttempl/elf.sc (SBSS): New. Define if ${NO_SMALL_DATA} is not empty. (SDATA): Likewise. (REL_SDATA): Likewise. (REL_SBSS): Likewise. (REL_SDATA2): Likewise. (REL_SBSS2): Likewise. (SBSS2): Define if ${NO_SMALL_DATA} is not empty. (SDATA2): Likewise. 2001-11-25 Stephane Carrez * scripttempl/elfm68hc11.sc (CTOR, DTOR): Put constructor and destructor in rom. * scripttempl/elfm68hc12.sc (CTOR, DTOR): Likewise. 2001-11-22 H.J. Lu * Makefile.in: Regenerated with automake based on automake 1.4-8 in RedHat 7.1. 2001-11-22 Alan Modra * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. (config.status): Delete rule. Add extra dependencies to cover sourced emulparams files. * Makefile.in: Regenerate. * scripttempl/elf.sc: Order
,
.* and corresponding linkonce sections as seen in input files. Formatting fixes. Zero vma of all sections if not relocating. (STACK): Define and insert if STACK_ADDR defined. (OTHER_RELOCATING_SECTIONS): Delete. (OTHER_END_SYMBOLS): Define. (OTHER_READONLY_SECTIONS): Always insert, not just when relocating. (OTHER_READWRITE_SECTIONS): Likewise. (OTHER_GOT_SECTIONS): Likewise. (OTHER_SDATA_SECTIONS): Likewise. (OTHER_BSS_SECTIONS): Likewise. * scripttempl/elfi370.sc (OTHER_READONLY_SECTIONS): Likewise. (OTHER_READWRITE_SECTIONS): Likewise. * scripttempl/nw.sc (OTHER_READONLY_SECTIONS): Likewise. (OTHER_READWRITE_SECTIONS): Likewise * emulparams/armelf.sh (OTHER_RELOCATING_SECTIONS): Delete. (STACK_ADDR): Define. * emulparams/armelf_oabi.sh: As for armelf.sh. * emulparams/elf32mcore.sh: As for armelf.sh. * emulparams/h8300elf.sh: As for armelf.sh. * emulparams/mn10200.sh: As for armelf.sh. * emulparams/shelf.sh: As for armelf.sh. * emulparams/elf32fr30.sh (OTHER_RELOCATING_SECTIONS): Delete. (OTHER_END_SYMBOLS): Define. * emulparams/m32relf.sh: As for elf32fr30.sh. * emulparams/h8300helf.sh: As for elf32fr30.sh. * emulparams/h8300self.sh: As for elf32fr30.sh. * emulparams/criself.sh (OTHER_READONLY_SECTIONS): Protect symbol defines with RELOCATING test. (OTHER_SDATA_SECTIONS): Likewise. (OTHER_RELOCATING_SECTIONS): Delete, replacing with.. (OTHER_END_SYMBOLS): ..this. * emulparams/crislinux.sh: As for criself.sh. * emulparams/elf32bmipn32.sh (OTHER_SDATA_SECTIONS): Zero vma if not relocating. (OTHER_RELOCATING_SECTIONS): Delete, replacing with.. (OTHER_SECTIONS): ..this. Zero vma if not relocating. Order normal and linkonce sections as seen in input files. * emulparams/elf32bmip.sh (DATA_ADDR): Don't define if EMBEDDED. (TEXT_DYNAMIC): Likewise. (INITIAL_READONLY_SECTIONS): Zero vma if not relocating. (OTHER_SDATA_SECTIONS): Likewise. * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/shlelf_linux.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf64alpha.sh (OTHER_READONLY_SECTIONS): Likewise. * emulparams/hppalinux.sh (OTHER_READONLY_SECTIONS): Likewise. * emulparams/elf64_aix.sh (OTHER_GOT_SECTIONS): Likewise. (OTHER_PLT_RELOC_SECTIONS): Likewise. (OTHER_READONLY_SECTIONS): Likewise. Order normal and linkonce sections as seen in input files. * emulparams/elf64_ia64.sh: As for emulparams/elf64_aix.sh. * emulparams/hppa64linux.sh (OTHER_READONLY_SECTIONS): Zero vma if not relocating. (OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS): Likewise. (OTHER_BSS_END_SYMBOLS): Merge from elf64hppa.sh. * emulparams/elf64mmix.sh (OTHER_RELOCATING_SECTIONS): Delete. (OTHER_SECTIONS): Instead, use this.. (OTHER_END_SYMBOLS): ..and this. * emulparams/elf32b4300.sh: Source elf32bmip.sh, remove duplicates. * emulparams/elf32bsmip.sh: Likewise. * emulparams/elf32btsmip.sh: Likewise. * emulparams/elf32ebmip.sh: Likewise. * emulparams/elf32lmip.sh: Likewise. * emulparams/elf32elmip.sh: Source elf32lmip.sh, remove duplicates. * emulparams/elf32lsmip.sh: Likewise. * emulparams/elf32ltsmip.sh: Source elf32btsmip.sh, remove duplicates. * emulparams/elf32l4300.sh: Source elf32b4300.sh, remove duplicates. * emulparams/elf64bmip.sh: Source elf32bmipn32.sh, remove duplicates. * emulparams/elf64btsmip.sh: Likewise. * emulparams/elf64ltsmip.sh: Source elf64btsmip.sh, remove duplicates. * emulparams/elf32lppc.sh: Source elf32ppc.sh, remove duplicates. * emulparams/elf32ppclinux.sh: Likewise. * emulparams/elf32ppcsim.sh: Likewise. * emulparams/elf32lppcsim.sh: Source elf32lppc.sh, remove duplicates. * emulparams/elf64hppa.sh: Source hppa64linux.sh, remove duplicates. * emulparams/h8300helf.sh: Source h8300elf.sh, remove duplicates. * emulparams/h8300self.sh: Likewise. * emulparams/mn10300.sh: Source mn10200.sh, remove duplicates. * emulparams/sh.sh: Comment. * emulparams/shl.sh: Source sh.sh, remove duplicates. * emulparams/shlelf.sh: Source shelf.sh, remove duplicates. * emulparams/shelf_linux.sh: Source shlelf_linux.sh, remove duplicates. 2001-11-21 David Heine Alan Modra * ldlang.c (map_input_to_output_sections): Replace "break" accidentally removed with 2001-08-03 change. (lang_gc_sections_1): Likewise. 2001-11-21 Alan Modra * ldlang.c (walk_wild_section): Move sec == NULL case out of loop. 2001-11-20 Angela Marie Thomas * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Use NULL instead of false when calling lang_size_sections. * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise. 2001-11-15 Alan Modra * 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-14 H.J. Lu * emultempl/armelf.em (arm_elf_finish): Renamed from gld${EMULATION_NAME}_finish. (LDEMUL_FINISH): Set to arm_elf_finish. 2001-11-14 Daniel Jacobowitz * emultempl/elf32.em (gld${EMULATION_NAME}_finish): New. (struct ld_emulation_xfer_struct): Use it. 2001-11-13 Ross Alexander * emulparams/elf64hppa.sh (OTHER_BSS_END_SYMBOLS): Add additional symbols referenced by newer crt0.o files from HP. 2001-11-12 Anthony Green * emulparams/armelf.sh (DATA_START_SYMBOLS): New symbol. 2001-11-12 Alfred M. Szmidt * Makefile.am (GENSCRIPTS): Quote ${exec_prefix}. * Makefile.in: Regenerate. 2001-11-02 Stephane Carrez * ld.texinfo: Use @command for commands, @option for options. * Makefile.am (POD2MAN): Use 'GNU Development Tools' for the page man title. * Makefile.in: Rebuild. 2001-11-04 Chris Demetriou * configure.tgt (mips*el-*-netbsd*, mips*-*-netbsd*): Add support for targets. 2001-11-02 Nick Clifton * configure.in (ALL_LINGUAS): Add "fr" and "sv" * configure: Regernate. * po/fr.po: New file. * po/sv.po: New file. 2001-11-01 NIIBE Yutaka * configure.tgt (sh-*-linux): Set targ_emul, targ_extra_emuls as little endian default and to support big endian. 2001-11-01 Chris Demetriou * ld.texinfo (Options): Document new option, -nostdlib. * lexsup.c (OPTION_NOSTDLIB): New definition. (ld_options): Add entry for "nostdlib". (parse_args): Handle OPTIONS_NOSTDLIB. * ldfile.c (ldfile_add_library_path): Don't add directories to the search path if they weren't specified on the command line and -nostdlib was specified. * ld.h (ld_config_type): New member only_cmd_line_lib_dirs. 2001-10-31 Nick Clifton * lexsup.c (parse_args): Prevent infinite parsing loop when "-rpath.a" is specified on the command line. Replace calls to fprintf with calls to einfo. 2001-10-31 John Marshall * ld.texinfo: A historical requirement that MEMORY and SECTIONS appear only once across all the linker scripts involved in a link invocation no longer applies. Make the documentation reflect that. 2001-10-31 NIIBE Yutaka * configure.tgt: Supports sh3/sh4/sh3eb/sh4eb-unknown-linux-gnu targets. (sh-*-linux*): Added targ_extra_libpath. 2001-10-31 David Heine * ldlang.c (lang_size_sections): Keep a valid output_offset field for padding statements. 2001-10-30 Hans-Peter Nilsson * configure.tgt (mmix-*-*): New target. * Makefile.am (ALL_EMULATIONS): Add eelf64mmix.o and emmo.o. Add dependencies to match. * emulparams/mmo.sh, emulparams/elf64mmix.sh, emultempl/mmo.em, emultempl/mmix-elfnmmo.em, emultempl/mmixelf.em, scripttempl/mmo.sc: New files. * gen-doc.texi: @set MMIX. * ld.texinfo: Ditto. [MMIX] Add MMIX node. * Makefile.in: Regenerate. 2001-10-29 Kazu Hirata * ldlang.c: Fix a comment typo. 2001-10-23 Alan Modra * configure.host: Move alpha*-*-linux-gnu* entry to generic entries, and match *-*-linux*. 2001-10-20 Alan Modra * ldgram.y (mri_script_command): Surround processing of INCLUDE with ldlex_script, ldlex_popstate. (ifile_p1): Likewise. * ldlex.l (EOF): Don't BEGIN(SCRIPT). Restore lineno from the correct slot. (lex_push_file): Save current lineno to lineno_stack. Set lineno to 1. Don't BEGIN(SCRIPT). (lex_redirect): Similarly. * ldmain.c (main): Set yydebug non-zero if YYDEBUG. 2001-10-20 Nick Clifton * scripttempl/armcoff.sc: Define __EH_FRAME_BEGIN__ and __EH_FRAME_END__ and accept eh frames into data section. Add ctor and dtor sections. 2001-10-19 Danny Smith * pe-dll.c (autofilter_objectlist): Add gcrt0.o. (auto-export): Fix indentation. 2001-10-18 Danny Smith * pe-dll.c (autofilter_objectlist): Add startup objects for profiling. (auto-export): Constify char * p. Extract file basename and use strcmp rather than ststr for object lookup. 2001-10-18 Chris Demetriou * ldmain.c (get_emulation): Improve comment about the handling of -mipsN options. 2001-10-17 Alan Modra * po/POTFILES.in: Regenerate. 2001-10-16 Vassili Karpov * emultempl/elf32.em (gld*_list_options): Remove extra '\t' from -z nocopyreloc and -z nocombreloc usage strings. 2001-10-12 Vassili Karpov * emultempl/elf32.em (gld*_list_options): Include -z nocopyreloc in usage. 2001-10-11 Aleksey Romanov * scripttempl/armaout.sc: Place .bss section after end of aligned data section to match behaviour of aout code in constructrion of header. 2001-10-11 Danny Smith * pe-dll.c (autofilter_entry_type autofilter_liblist: Add startup files for mingw32 dlls to list. 2001-10-10 Chris Demetriou * emultempl/elf32.em: Fix shell 'if' usage for portability. 2001-10-08 Aldy Hernandez * configure.tgt (targ): Add arm9e-*-elf. 2001-10-05 H.J. Lu * genscripts.sh: Fix a typo in the last change. 2001-10-05 Jakub Jelinek * emultempl/elf32.em (gld_*_list_options): Include -z combreloc and -z nocombreloc in usage. 2001-10-03 Jim Blandy * genscripts.sh: Include a comment at the top of each generated script, explaining its purpose. 2001-10-03 Vassili Karpov * emultempl/elf32.em (parse_args): Handle -z nocopyreloc. * NEWS: Mention -z nocopyreloc. * ld.texinfo (Options): Describe nocopyreloc. 2001-10-03 Alan Modra * configure: Regenerate. 2001-10-02 Alan Modra * ldver.h (ld_program_version): Remove declaration. * lexsup.c (parse_args): Move printing of copyright message.. * ldver.c (ldversion): .. to here. Use BFD_VERSION_STRING in place of BFD_VERSION. (ld_program_version): Remove. * Makefile.am (Makefile): Depend on bfd/configure.in. Run "make dep-am". * Makefile.in: Regenerate. 2001-09-30 Hans-Peter Nilsson * Makefile.am: Update dependencies with "make dep-am". * Makefile.in: Regenerate. 2001-09-29 John Reiser * ldlang.c (lang_common): Conditionally inhibit Common allocation. * lexsup.c: Add --no-define-common commandline option. * ldgram.y: Add INHIBIT_COMMON_ALLOCATION script command. * ldlex.l: Likewise. * ld.h: Add command_line.inhibit_common_definition. * ldmain.c (main): Initialize. * ld.texinfo: Document. 2001-09-26 Alan Modra * ldmisc.c (USE_STDARG): Remove. (info_msg): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE. (einfo): Likewise. (minfo): Likewise. (lfinfo): Likewise. * ldmisc.h: Remove #ifdef ANSI_PROTOTYPES and non-ansi declarations. Update copyright. 2001-09-24 Charles Wilson * pe-dll.c: Remove obsoleted declaration of pe_get_data_import_dll_name. (pe_create_import_fixup): Fix thinko. * ld.texinfo(enable-auto-import): Clarify the explanation. 2001-09-24 Nick Clifton * pe-dll.c (pe_create_import_fixup): Revert previous patch. * emultemp/pe.em (pe_data_import_dll): Move definition outside of DLL_SUPPORT controlled code. 2001-09-24 Charles Wilson * emultempl/pe.em(pe_data_import_dll): Make static. (pe_get_data_import_dll_name): New accessor function. * pe-dll.c(pe_create_import_fixup): call pe_get_data_import_dll_name() from pe.em, instead of directly accessing pe_data_import_dll variable from pe.em. 2001-09-18 Bruno Haible * deffilep.y: Include "safe-ctype.h" instead of . (def_file_add_directive): Use ISSPACE instead of isspace. (def_lex): Use ISDIGIT/ISXDIGIT/ISALPHA/ISALNUM instead of isdigit/isxdigit/isalpha/isalnum. * emultempl/aix.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_read_file): Use ISSPACE instead of isspace. * emultempl/elf32.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_place_orphan): Use ISALNUM instead of isalnum. * emultempl/gld960c.em: Include "safe-ctype.h" instead of . (gld960_set_output_arch): Use ISUPPER/TOLOWER instead of isupper/tolower. * emultempl/sunos.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_search_dir): Use ISDIGIT instead of isdigit. * ldctor.c: Include "safe-ctype.h" instead of . (ctor_prio): Use ISDIGIT instead of isdigit. * ldfile.c: Include "safe-ctype.h" instead of . (ldfile_open_file_search): Use ISALPHA instead of isalpha. (ldfile_add_arch): Use ISUPPER/TOLOWER instead of isupper/tolower. * ldlang.c: Include "safe-ctype.h" instead of . (stricpy): Use TOLOWER instead of isupper/tolower. (lang_leave_overlay_section): Use ISALNUM instead of isalnum. * ldlex.l: Include "safe-ctype.h" instead of . (lex_warn_invalid): Use ISPRINT instead of isprint. * ldmain.c: Include "safe-ctype.h" instead of . (main): For gettext, also set the LC_CTYPE locate facet. (add_keepsyms_file): Use ISSPACE instead of isspace. * lexsup.c: Include "safe-ctype.h" instead of . (is_num, parse_args): Use ISDIGIT instead of isdigit. * mpw-elfmips.c: Include "safe-ctype.h" instead of . (gldelf32ebmip_place_orphan): Use ISALNUM instead of isalnum. * mpw-eppcmac.c: Include "safe-ctype.h" instead of . (gldppcmacos_read_file): Use ISSPACE instead of isspace. * pe-dll.c: Include "safe-ctype.h" instead of . (quoteput): Use ISSPACE instead of isspace. (pe_dll_generate_implib, pe_process_import_defs): Use ISALNUM instead of isalnum. 2001-09-18 Alan Modra * deffilep.y (def_stash_module): Constify "name" param. * pe-dll.c: Replace CONST with const throughout. (quick_symbol): Constify "n1", "n2", "n3" params. (make_singleton_name_thunk): Constify "import" param. Make "buffer_len" a size_t. (make_import_fixup_entry): Constify "name", "fixup_name", "dll_symname" params. (pe_get16): Cast args of bfd_seek. Replace bfd_read with bfd_bread. (pe_get32): Likewise. (pe_implied_import_dll): Likewise. * emultempl/beos.em (sort_by_file_name): Constify "ra", "rb". (sort_by_section_name): Likewise. * emultempl/pe.em: Move defines for arm_epoc_pe before bfd.h included. (make_import_fixup): Cast printf arg, rel->address to long rather than int. (gld_${EMULATION_NAME}_after_open): Don't compare NULL against int. 2001-09-15 Alan Modra * ldmain.c (main): Rename BufferSize to ld_bufsz because HPUX defines BufferSize. Increase buffer size by one. 2001-09-14 Ralf Habacker * pe-dll.c (pe_walk_relocs_of_symbol): Fix memory leak. 2001-09-14 Kevin Lo * configure.tgt: Add arm-openbsd target. 2001-09-12 H.J. Lu * Makefile.am (ALL_EMULATIONS): Move eelf64ppc.o and eelf64lppc.o to ... (ALL_64_EMULATIONS): Here. * Makefile.in: Regenerated. 2001-09-12 Paul Sokolovsky * emultempl/pe.em(make_import_fixup): change signature to take asection as well as arelec; we need this for proper error reporting. Only call pe_create_import_fixup() if there is no attempt to add a constant addend to the reloc; otherwise, report error condition. * pe-dll.c(pe_walk_relocs_of_symbol): change signature, since final argument is a pointer to make_import_fixup(). Change call to cb() to match make_import_fixup() signature. (make_import_fixup_mark): make buffer_len unsigned. * pe-dll.h: change signature of pe_walk_relocs_of_symbol. 2001-09-12 Charles Wilson * ld.texinfo: add verbose documentation for auto-import direct-addressing workaround, to compliment the terse error message. 2001-09-12 Andrew MacLeod * scripttempl/v850.sc: Add gcc_except_table sections. 2001-09-11 Jeffrey A Law (law@cygnus.com) * emulparams/h8300helf.sh: Move stack to a much higher memory address. * emulparams/h8300self.sh: Similarly. 2001-09-05 Danny Smith * ld.texinfo (Options, --stack): Correct default value for stack reserve. 2001-09-05 Tom Rix * emultempl/aix.em : Handle import file XMC_XO and syscall symbols. 2001-09-03 Andreas Jaeger * emultempl/beos.em: Declare prototypes for comparions functions, adjust definitions. 2001-09-02 Andreas Jaeger * emultempl/aix.em: Add missing prototype. * emultempl/lnk960.em: Likewise. * emultempl/vanilla.em: Likewise. * emultempl/armcoff.em: Likewise. * emultempl/armelf_oabi.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/gld960.em: Likewise. * emulparams/elf64alpha.sh (PARSE_AND_LIST_PROLOGUE): Add parameter for prototype declaration. 2001-08-31 Eric Christopher Jason Eckhardt * ldmain.c (get_emulation): Add support for -mips32 and -mips64. 2001-08-31 Andreas Jaeger * emultempl/pe.em: Add missing prototypes. (gld_${EMULATION_NAME}_after_open): Remove extra args to pe_find_data_imports. (pr_sym): Add unused attribute. 2001-08-29 Joel Sherrill * configure.tgt (i[3456]86-*-rtems*, m68*-*-rtems*): Change default from coff to elf. 2001-08-29 Jeff Law * emulparams/h8300helf.sh: Resync with h8300elf.sh. Update ARCH specification. * emulparams/h8300self.sh: Similarly. 2001-08-28 J"orn Rennecke * Makefile.am (ALL_EMULATIONS): Add eh8300elf.o, eh8300elf.o and eh8300self.o . (eh8300elf.c, eh8300helf.c, eh8300self.c): New targets. * configure.tgt (h8300-*-elf*): New case. * emulparams/h8300elf.sh, emulparams/h8300helf.sh: New files. * emulparams/h8300self.sh: New file. * Makefile.in: Regenerated. 2001-08-28 Nick Clifton * ldmain.c (main): Rename BSIZE to BufferSize to avoid collision with macro name. 2001-08-27 Linus Nordberg Alan Modra * Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o. (eelf64ppc.c, eelf64lppc.c): Add make targets. Run "make dep-am" * Makefile.in: Regenerate. * configure.tgt: Add powerpc64 support. Move pdp11, pjl, pj entries to correct alphabetical position. * emulparams/elf64ppc.sh: New. * emulparams/elf64lppc.sh: New. 2001-08-27 Nick Clifton * ldmain.c (main): Declare BSIZE as static. 2001-08-23 Jakub Jelinek * 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-22 H.J. Lu * emulparams/elf32fr30.sh: Add a newline. 2001-08-21 Andreas Jaeger * deffilep.y: Add missing prototypes. * pe-dll.c: Likewise. 2001-08-20 Alan Modra * ldlang.c (insert_pad): Fix typos in last patch. * ldlang.c: When traversing lang_statement_union_type lists, consistently use "header.next" rather than "next". * mpw-eppcmac.c: Likewise. * emultempl/beos.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/pe.em: Likewise. * ldlang.h (union lang_statement_union): Remove "next" field. * ldlang.c (insert_pad): Use offsetof macro. (lang_size_sections): Always neuter padding statements. * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Delete. * pe-dll.c (pe_dll_fill_sections): Correct type of "relax" param passed to lang_size_sections. (pe_exe_fill_sections): Likewise. * emultempl/pe.em (output_prev_sec_find): Copied from elf32.em. (gld_${EMULATION_NAME}_place_orphan): Merge from elf32.em. 2001-08-18 Alan Modra * emultempl/aix.em: Formatting fixes. 2001-08-18 Alan Modra * ldlang.c (insert_pad): Make use of an existing pad statement if available. Move code calculating alignment, adjusting section alignment power, and adjusting dot to .. (size_input_section): .. here. Remove unused relax param. (lang_size_sections): Change boolean `relax' param to boolean *. Adjust call to size_input_section. Make use of insert_pad to place pad after the assignment statement. If relaxing, zap padding statements. (reset_memory_regions): Reset output_bfd section sizes too. (relax_again): Move to.. (lang_process): ..here. Adjust call to lang_size_sections, and remove duplicated code. * ldlang.h (lang_size_sections): Change `relax' param to boolean *. 2001-08-17 Alan Modra * ld.texinfo: Document that fill values now use the four least significant bytes. * emulparams/elf32fr30.sh (NOP): Update. * emulparams/elf32mcore.sh: Likewise. * emulparams/elf64_s390.sh: Likewise. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_s390.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * emulparams/i386moss.sh: Likewise. * emulparams/i386nw.sh: Likewise. * emulparams/m68kelf.sh: Likewise. * scripttempl/elf.sc: Update NOP comment. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/nw.sc: Likewise. 2001-08-15 Tom Rix * ldgram.y (saved_script_handle): Initialize to NULL. * ldmain.c (main): Change check on saved_script_handle. 2001-08-14 Alan Modra * 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. * ldlang.c (wild_doit): Rename to lang_add_section. * ldlang.h: Here too. * mpw-elfmips.c: And here. * emultempl/beos.em: And here. * emultempl/elf32.em: And here. * emultempl/hppaelf.em: And here. * emultempl/pe.em: And here. 2001-08-13 Richard Henderson * emultempl/needrelax.em: New file. * emulparams/elf64_ia64.sh (EXTRA_EM_FILE): Reference it. * Makefile.am (eelf64_ia64.c): Depend on it. * Makefile.in: Rebuild. 2001-08-13 Alan Modra * emultempl/elf32.em: For SEC_EXCLUDE sections, ensure that output_section is set non-NULL. * 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 Hans-Peter Nilsson * emultempl/generic.em: Support EXTRA_EM_FILE. (ld_${EMULATION_NAME}_emulation): Support emulation parameters LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL, LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION, LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET, LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH, LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS, LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN, LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE, LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE, LDEMUL_FIND_POTENTIAL_LIBRARIES. 2001-08-12 Richard Henderson * scripttempl/elf.sc, scripttempl/elfd30v.sc, scripttempl/elfm68hc11.sc, scripttempl/elfm68hc12.sc, scripttempl/v850.sc: Keep .jcr data. 2001-08-12 H.J. Lu Andrew Haley Nick Clifton * ldgram.y (had_script): Change name to saved_script_handle. Change type to file handle. * ld.h (had_script): Rename and retype. * ldfile.c (ldfile_open_command_file): Save the file handle used in saved_script_handle. * lexsup.c (parse_args): Do not allow -c option to alter saved_script_handle. * ldmain.c (main): Print out the linker script used if --verbose is given. Check saved_script_handle to obtain the external linker script used, or if NULL, dump the builtin script. * ld.texinfo: Document that --verbose now dumps the linker script used, regardless of whether it was an internal or an external script. 2001-08-10 Andreas Jaeger * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes to build warnings. * configure: Regenerate. 2001-08-09 Alan Modra * emultempl/elf32.em (output_prev_sec_find): Add missing prototype. * scripttempl/elf.sc: Move non-text .dynamic section before .plt/.got/.sdata* group. (OTHER_GOT_SECTIONS): Move to immediately after .got. (OTHER_SDATA_SECTIONS): Add. * emulparams/criself.sh: Use OTHER_SDATA_SECTIONS rather than OTHER_GOT_SECTIONS. * emulparams/crislinux.sh: Likewise. * emulparams/elf32b4300.sh: Likewise. * emulparams/elf32bmip.sh: Likewise. * emulparams/elf32bmipn32.sh: Likewise. * emulparams/elf32bsmip.sh: Likewise. * emulparams/elf32btsmip.sh: Likewise. * emulparams/elf32ebmip.sh: Likewise. * emulparams/elf32elmip.sh: Likewise. * emulparams/elf32l4300.sh: Likewise. * emulparams/elf32lmip.sh: Likewise. * emulparams/elf32lsmip.sh: Likewise. * emulparams/elf32ltsmip.sh: Likewise. * emulparams/elf64bmip.sh: Likewise. * emulparams/elf64btsmip.sh: Likewise. * emulparams/elf64ltsmip.sh: Likewise. 2001-08-08 Alan Modra * genscripts.sh: Source the emulparams script before each output script is generated so that variables like `RELOCATING' may affect variables defined in the emulparams script. 2001-08-04 Alan Modra * emultempl/aix.em: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order. * emultempl/beos.em (sort_sections): Modify for 2001-08-03 change, ie. iterate over wild_statement.section_list. (gld${EMULATION_NAME}_place_orphan): Likewise. 2001-08-03 Stephane Carrez * scripttempl/elfm68hc12.sc (FINISH_CODE, FINISH_RELOC): New to handle .fini[0-4] sections used by _exit (CTOR, DTOR): Export ctor/dtor symbols; move them to ROM. (*.text,*.data,*.bss): Take into account .text.*, .data.*, .bss.*. * scripttempl/elfm68hc11.sc: Likewise. 2001-08-03 H.J. Lu * emultempl/beos.em (init): Add the missing initialization. 2001-08-03 Alan Modra * ld.texinfo (Input Section Basics): Clarify ordering of output sections. * ldlang.c (callback_t): Add wildcard_list param. (walk_wild_section): Remove "section" param. Rewrite for lang_wild_statement_type change. Remove unique_section_p test. (walk_wild_file): Remove "section" param. (walk_wild): Remove "section" and "file" params. (lang_gc_wild): Likewise. (wild): Likewise. Modify for lang_wild_statement_type change. (wild_sort): Likewise. Add "sec" param. (gc_section_callback): Likewise. (output_section_callback): Likewise. Do unique_section_p test. (map_input_to_output_sections): Modify call to wild. (lang_gc_sections_1): Likewise. (print_wild_statement): Modify for lang_wild_statement_type change. (lang_add_wild): Replace filename, filenames_sorted param with filespec. Replace section_name, sections_sorted, exclude_filename_list with section_list. * ldlang.h (lang_add_wild): Here too. (lang_wild_statement_type): Replace section_name, sections_sorted, and exclude_filename_list with section_list. * ldgram.y (current_file): Delete. (%union): Add wildcard_list. (file_NAME_list): Set type to wildcard_list. Build a linked list rather than calling lang_add_wild for each entry. (input_section_spec_no_keep): Call lang_add_wild here instead. * ld.h (struct wildcard_list): Declare. * mri.c (mri_draw_tree): Modify to suit new lang_add_wild. 2001-08-02 Charles Wilson * ldmain.c (main): initialize link_info.pei386_auto_import * pe-dll.c: new tables for auto-export filtering (auto_export): change API, pass abfd for contextual filtering. Loop thru tables of excluded symbols instead of comparing "by hand". 2001-08-02 Paul Sokolovsky * pe-dll.c: new variable pe_dll_enable_extra_debug. New static variable current_sec (static struct sec *). Add forward declaration for add_bfd_to_link. (process_def_file): Don't export undefined symbols. Do not export symbols starting with "_imp__". Call auto_export() with new API. (pe_walk_relocs_of_symbol): New function. (generate_reloc): add optional extra debugging (pe_dll_generate_def_file): eliminate extraneous initial blank line in output (make_one): enlarge symtab to make room for __nm__ symbols (DATA auto-import support). (make_singleton_name_thunk): New function. (make_import_fixup_mark): New function. (make_import_fixup_entry): New function. (pe_create_import_fixup): New function. (add_bfd_to_link): Specify that 'name' argument is a CONST char *. * pe-dll.h: declare new variable pe_dll_extra_pe_debug; declare new functions pe_walk_relocs_of_symbol and pe_create_import_fixup. * emultempl/pe.em: add new options --enable-auto-import, --disable-auto-import, and --enable-extra-pe-debug. (make_import_fixup): New function. (pe_find_data_imports): New function. (pr_sym): New function. (gld_${EMULATION_NAME}_after_open): Add optional extra pe debugging. Call pe_find_data_imports. Mark .idata as DATA, not CODE. 2001-08-02 Charles Wilson * ld.texinfo: add additional documentation for --export-all-symbols. Document --out-implib, --enable-auto-image-base, --disable-auto-image-base, --dll-search-prefix, --enable-auto-import, and --disable-auto-import. * ldint.texinfo: Add detailed documentation on auto-import implementation. 2001-07-30 Nick Clifton * ld.texinfo (Simple Assignments): Fix computation in SECTIONS example. 2001-07-24 Alan Modra * Makefile.am: Update dependencies with "make dep-am". * Makefile.in: Regenerate 2001-07-23 Alan Modra * ldcref.c (check_section_sym_xref): New function. (check_nocrossrefs): Call it. (check_nocrossref): Interate over h->refs here instead of.. (check_refs): ..here. Pass in the symbol name, section, and bfd rather than hash_entry pointers. (struct check_refs_info): Keep symbol name rather than hash entry. Remove "same". (check_reloc_refs): Tweak for above changes in check_refs_info. Only report references to section syms when symname is NULL to prevent duplicate messages for the same reloc. 2001-07-19 Nick Clifton * ldexp.c (exp_print_tree): Use stderr if config.map_file is not available. Do not print NULL trees. (exp_print_token): Print unknown tokens with values > 126 as decimal values not ASCII characters. * ldlang.c (lang_leave_overlay): If a region is specified assign it to all sections inside the overlay unless they have been assigned to the own, non-default, memory region. * README: Add header for consistency with other README files. 2001-07-14 H.J. Lu * 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 Nick Clifton * Makefile.am (em32relf.c): Change dependency from generic.em to elf32.em. * Makefile.in: Regenerate. 2001-07-14 matthew green * configure.tgt (i386-*-netbsdelf*): New target. (i386-*-netbsd*): Set targ_extra_emuls to `elf_i386' 2001-07-13 Jakub Jelinek * emultempl/elf32.em (output_prev_sec_find): New. (place_orphan): Use it. 2001-07-11 H.J. Lu * ldmain.c (main): Fix typos in the last change. 2001-07-11 Jakub Jelinek * ldmain.c (main): Disallow -F and -f without -shared. 2001-07-11 Nick Clifton * emultempl/pe.em (after_open): Check for the output_bfd not having any coff_data structure allocated to it. 2001-07-09 David O'Brien * emultempl/elf32.em: Do not assuming that contents of the buffer returned from basename function will remain unchanged accross other function calls. 2001-07-03 H.J. Lu * scripttempl/elf.sc (DYNAMIC_PAD): Revert the change made on 2001-07-03. It creates dynamic entries even for static binaries. 2001-07-03 Jakub Jelinek * scripttempl/elf.sc (DYNAMIC_PAD): New variable. (DYNAMIC): Use it to reserve few dynamic entries for post-linking tools. 2001-06-27 Alan Modra * emulparams/hppa64linux.sh: New file. * configure.tgt: hppa*64*-*-linux* uses hppa64linux.sh * Makefile.am (ALL_64_EMULATIONS): Add ehppa64linux.o (ehppa64linux.c): Add rule to make it. Run "make dep-am". * Makefile.in: Regenerate. 2001-06-21 Hans-Peter Nilsson * ld.texinfo (Options, -r): Mention restrictions when using different object formats. 2001-06-19 Hans-Peter Nilsson * ldlang.c (lang_check): Emit fatal error if relocatable link between different object flavours with relocations in input. 2001-06-19 H.J. Lu * ld.texinfo (-E, --export-dynamic): Mention --version-script. (--version-script): Mention the language support. 2001-06-19 H.J. Lu * ldlang.c (lang_check): Revert the change mode on 2001-06-15. 2001-06-18 H.J. Lu * Makefile.am (ld.1): Remove the prefix `$(srcdir)/'. (diststuff): Add $(MANS). * Makefile.in: Regenerated. * ld.1: Removed. 2001-06-18 Hans-Peter Nilsson * 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. * Makefile.am (ecriself.c, ed10velf.c, ei386moss.c): Depend on $(srcdir)/emultempl/elf32.em, not $(srcdir)/emultempl/generic.em. * Makefile.in: Regenerate. 2001-06-18 H.J. Lu * ldlang.c (init_os): Add the newline to the einfo call. (lang_check): Likewise. (lang_do_version_exports_section): Likewise. 2001-06-15 H.J. Lu * lexsup.c (parse_args); Save optind to report unrecognized option. 2001-06-15 Hans-Peter Nilsson * ldlang.c (lang_check): Emit fatal error if relocatable link between different object flavours. * lexsup.c (parse_args) : Set new link_info member export_dynamic. * ldmain.c (main): Initialize new link_info member export_dynamic. 2001-06-12 Nick Clifton * ldlang.c (walk_wild): Only call walk_wild_file if lookup_name returns something. (lookup_name): If load_symbols fails, return NULL. (load_symbols): Change to a boolean function. (open_input_bfds): If load_symbols fails then do not make the executable. 2001-06-08 Alan Modra * ldlang.c (record_bfd_errors): Remove. * emultempl/aix.em: Fix copyright dates. 2001-06-07 Andreas Jaeger * elf_x86_64.sh (NONPAGED_TEXT_START_ADDR): Increase. (TEXT_START_ADDR): Likewise. 2001-06-06 Martin Schwidefsky * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390. 2001-06-05 Danny Smith * emultempl/pe.em (init): Reduce default stack reserve to 0x200000. 2001-05-31 H.J. Lu * ldlang.c (open_input_bfds): Don't change the bfd error handler whilst loading symbols. 2001-05-28 Nick Clifton * configure.tgt: Remove i370-mvs architecture, it is not currently supported. 2001-05-25 H.J. Lu * emulparams/ppcmacos.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK like emulparams/aixppc.sh. 2001-05-25 H.J. Lu * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Move setting of output_filename after bfd_scan_arch. * emultempl/pe.em: Likewise. 2001-05-25 H.J. Lu * emulparams/aixrs6.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK like emulparams/aixppc.sh. * emultempl/aix.em (sc): Use ${srcdir}/emultempl/ostring.sed instead of ${srcdir}/emultempl/stringify.sed. 2001-05-25 Timothy Wall * emulparams/elf64_aix.sh: Change settings to match IBM linker output. 2001-05-25 Alan Modra * configure.host: Replace linuxoldld with linux*oldld. * configure.tgt: Likewise. 2001-05-24 H.J. Lu * emultempl/stringify.sed: Removed again. 2001-05-24 H.J. Lu * 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-24 Tom Rix * emultempl/aix.em : (gld${EMULATION_NAME}_read_file) udate import file format. (change_symbol_mode) New, same (is_syscall) New, same * emulparams/aixppc.sh : add SYSCALL_MASK and SYMBOL_MODE_MASK * emulparams/aixppc64.sh : same * emulparams/aixrs6.sh : same * emulparams/ppcmacos.sh : same * emultempl/aix.em : use strtoull to parse options * Makefile.am : add eaixppc64 emulation for xcoff64 * Makefile.in : same * configure.tgt : same * scripttempl/aix.sc : default text section offset to 0x10000000 default data section offset to 0x20000000 add .sv3264 and .sv64 pseudo sections loader and debug sections use the currect section offset. * emultempl/aix.em : Add xcoff64 support Add -binitfini support (gld${EMULATION_NAME}_before_parse) -binitfini (gld${EMULATION_NAME}_parse_args) same (gld${EMULATION_NAME}_before_allocation) format change for special sections * emulparams/aixppc64.sh : New file for xcoff64 support 2001-05-23 Alexandre Oliva * emultempl/elf32.em (ELF_INTERPRETER_SET_DEFAULT): Use this new variable to avoid non-portable shell construct. 2001-05-23 Thiemo Seufer * ldmain.c (get_emulation): Add -mips5 command line argument. 2001-05-22 Alexandre Oliva * emulparams/elf_i386_ldso.sh: New, copied from elf_i386.sh. (ELF_INTERPRETER_NAME): Define it. * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use it. * configure.tgt (targ_emul, targ_extra_emuls) [i[3456]86-*-solaris2*, i[3456]86-*-solaris*]: Use elf_i386_ldso as primary, elf_i386 as extra. * Makefile.am (ALL_EMULATIONS): Added eelf_i386_ldso.o. (eelf_i386_ldso.c): New rule. * Makefile.in: Rebuilt. 2001-05-22 Nick Clifton * lexsup.c (ld_options): Allow -I to be an alias for --dynamic-linker. This is for Solaris compatability. * ld.texinfo: Document that -I can be used. * ld.1: Regenerate. 2001-05-16 Alan Modra * ldlang.c (wild_doit): Use linker_has_input to reliably determine whether an input section is the first one assigned to an output section. Assorted formatting fixes. 2001-05-14 DJ Delorie * Makefile.am (ld.dvi): Search bfd/doc for texinfo files. * Makefile.in: Ditto. 2001-05-11 Jakub Jelinek * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put .gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind* output sections. * emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise. 2001-05-11 Jakub Jelinek * ldlang.c (lang_process): Call bfd_merge_sections. 2001-05-07 Thiemo Seufer * ldgram.y: Fix typo. 2001-05-03 H.J. Lu * 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-02 H.J. Lu * emultempl/pe.em: Include . 2001-05-02 Johan Rydberg * emulparams/elf32openrisc.sh: New file. * Makefile.am: Add OpenRISC target. * Makefile.in: Regenerated. * configure.tgt: Add openrisc-*-* mapping. 2001-05-02 Nick Clifton * emultempl/aix.em: Replace buystring with xstrdup. * emultempl/beos.em: Replace buystring with xstrdup. 2001-05-02 H.J. Lu * ldfile.c: Include "libiberty.h". * ldlex.l: Likewise. * ldmisc.c (buystring): Removed. * ldmisc.h: Likewise. * ldfile.c: Replace buystring with xstrdup. * ldlang.c: Likewise. * ldlex.l: Likewise. * ldmain.c: Likewise. * ldmisc.c: Likewise. * lexsup.c: Likewise. * mpw-eppcmac.c: Likewise. 2001-04-30 Andreas Jaeger * emulparms/elf_x86_64.sh (MAXPAGESIZE): Fix value. 2001-04-28 Paul Sokolovsky * ldlang.c (load_symbols): Give emulation a chance to process unrecognized file before fatal error is reported, not after. 2001-04-27 Sean McNeil * configure.tgt: Add arm-vxworks target. * scripttempl/armcoff.sc: Support .text or .data as a section name prefix. Define _etext. 2001-04-13 J.T. Conklin * ld.texinfo: Document --fatal-warnings. * ld.1: Regenerate. * ldmisc.c (vfinfo): Set flag to inhibit making executable if warnings have been turned into errors. * lexsup.c (OPTION_WARN_FATAL): Define. (ld_options): Entry for --fatal-warnings. (parse_args): Handle OPTION_WARN_FATAL. * ld.h (ld_config_type): Add fatal_warnings field. 2001-04-13 Jakub Jelinek * ldmain.c (main): Default to discard_sec_merge. * lexsup.c (OPTION_DISCARD_NONE): Define. (ld_options): Add --discard-none. (parse_args): Handle OPTION_DISCARD_NONE. * ldlang.c (wild_doit): SEC_MERGE should be set in the output section only if SEC_MERGE and SEC_STRINGS flags and entsize of all its input sections match. 2001-04-05 Steven J. Hill * Makefile.am (ALL_EMULATIONS): Add eelf32ltsmip.o. (ALL_64_EMULATIONS): Add eelf64btsmip.o and eelf64ltsmip.o. (eelf32ltsmip.c): New target. (eelf64btsmip.c): Likewise. (eelf64ltsmip.c): Likewise. * Makefile.in: Regenerated. * configure.tgt (mips*el-*-linux-gnu): Uses traditional MIPS target. (mips*-*-linux-gnu*): Likewise. * emulparams/elf32ltsmip.sh: New. Traditional little endian MIPS taget. * emulparams/elf64btsmip.sh: New. Traditional 64bit big endian target. * emulparams/elf64ltsmip.sh: New. Traditional 64bit little endian target. 2001-04-05 Hans-Peter Nilsson * emulparams/criself.sh (EXECUTABLE_SYMBOLS): Cannot provide correct value of __Stext here. (TEXT_START_SYMBOLS): Define; always define __Stext, to start of .startup section. * emulparams/crislinux.sh: Remove FIXME. 2001-04-02 Alan Modra * emulparams/hppalinux.sh (MAXPAGESIZE): Set to 64k. (TEXT_START_ADDR, TARGET_PAGE_SIZE): Likewise. 2001-03-27 Hans-Peter Nilsson * configure.tgt (cris-*-*): Change default emulation to criself. (cris-*-*aout*): New rule. 2001-03-27 Matthew Wilcox * emulparams/hppalinux.sh (MAXPAGESIZE): Set to 0x4000. (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto. 2001-03-26 Andreas Jaeger * ld.texinfo (Overview): Fix syntax in texi code. 2001-03-25 Stephane Carrez * ld.texinfo: Put @c man indications to generate the ld man page. When generating man, define all the variables. Define SEEALSO and SYNOPSIS. Re-organize some lines to avoid the cross references. * Makefile.am (MANCONF, TEXI2POD, POD2MAN): New variables. (ld.1): Generate from ld.texinfo. * Makefile.in: Regenerate. 2001-03-23 Mark Elbrecht * scripttempl/i386go32.sc: Support the GCC flags '-ffunction-sections' and '-fdata-sections'. Set the VMA of STABS sections to zero. 2001-03-17 Ulrich Drepper * 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-17 Ulrich Drepper * 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-07 Michael Meissner * scripttempl/elfd10v.sc (.rodata,.rodata1,.data1,.sdata): Deal with sections created by -fdata-sections. (.dynbss,.bss): Ditto. 2001-03-05 Alan Modra * emultempl/m68kelf.em (m68k_elf_after_allocation): Call after_allocation_default, not gld..._before_allocation. 2001-02-27 Alan Modra * configure.in (BFD_VERSION): New. (AM_INIT_AUTOMAKE): Use $BFD_VERSION. * configure: Regenerate. * Makefile.am: Run "make dep-am" * Makefile.in: Regenerate. 2001-02-26 Timothy Wall * emulparams/elf64_aix.sh: Add additional read-only sections; uncomment lines which are now required. 2001-02-26 H.J. Lu * ldlang.c (open_input_bfds): Set the bfd error handler so that problems can be caught whilst loading symbols. (record_bfd_errors): New function: Report BFD errors and mark the executable output as being invalid. 2001-02-22 Timothy Wall * configure.host: Add configuration for ia64-*-aix*. * Makefile.am (ALL_64_EMULATIONS): Add emulation for ia64-*-aix*. Add dependencies for eelf64_aix.c. * Makefile.in: Regenerate. * configure.tgt: Add ia64-*-aix* mapping. * emulparams/elf64_aix.sh: Add settings for elf64 on aix5. * testsuite/ld-bootstrap/bootstrap.exp: Exclude ia64 flavor from AIX-specific test. 2001-02-20 H.J. Lu * ldfile.c (ldfile_open_file): Set entry->search_dirs_flag to false if we found the file. 2001-02-18 David O'Brien * configure.tgt: Add FreeBSD/Alpha, FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/PowerPC, FreeBSD/arm, and FreeBSD/sparc64 entries. 2001-02-18 lars brinkhoff * Makefile.am: Add PDP-11 target. * configure.tgt: Likewise. * emulparams/pdp11.sh: New file. 2001-02-17 David O'Brien * configure.host: Add a generic FreeBSD configuration entry such that all [modern] FreeBSD systems on all platforms will look the same. 2001-02-14 H.J. Lu * configure.tgt: Remove mention of earmelf_linux26. 2001-02-13 Richard Henderson * emulparams/elf64_ia64.sh (OTHER_GOT_SYMBOLS): Remove. 2001-02-13 H.J. Lu * ldexp.h (node_type): Add etree_provided. * ldexp.c (exp_fold_tree): Handle etree_provided. Set the node type to etree_provided if defined by PROVIDE. Allow updating for etree_provided. (exp_print_tree): Handle etree_provided. * mpw-elfmips.c (gldelf32ebmip_find_exp_assignment): Handle etree_provided. 2001-02-09 David Mosberger * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add .IA_64.unwind.* pattern to unwind table section and .IA_64.unwind_info* pattern to unwind info section. 2001-02-09 Martin Schwidefsky * Makefile.am: Add linux target for S/390. * Makefile.in: Likewise. * configure.host: Likewise. * configure.tgt: Likewise. * emulparams/elf64_s390.sh: New file. * emulparams/elf_s390.sh: New file. 2001-02-09 Jakub Jelinek * configure.tgt (sparc64-*-linux-gnu*): Add elf32_sparc into targ_extra_libpath. (sparc-*-linux-gnu*): Add elf64_sparc into targ_extra_libpath. 2001-02-06 Philip Blundell * Makefile.am: Remove mention of earmelf_linux26. * Makefile.in: Regenerate. 2001-02-04 Philip Blundell * emulparams/armelf_linux.sh (TEXT_START_ADDR): Set to 0x8000. * emulparams/armelf_linux26.sh: Delete. * configure.tgt: Remove mention of armelf_linux26 emulation. 2001-02-01 Nick Clifton * ld.1: Replace occurances of -oformat with --oformat. 2001-01-25 Jim Driftmyer * ldlang.c (lang_leave_overlay): Don't set lma_region when load_base is specified. 2001-01-24 Hans-Peter Nilsson * emultempl/elf32.em: Correct spelling in comments and listed options. 2001-01-23 Alan Modra * ldlang.c (lang_leave_overlay): Only set lma_region from the default for the first section of a group of overlay sections. 2001-01-22 Alan Modra * Makefile.am (GENSCRIPTS): Pass exec_prefix. * Makefile.in: Regenerate. * genscripts.sh: Use exec_prefix parameter to specify tool lib. Check for null tool_dir. 2001-01-16 Jim Wilson * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add IA_64.unwind and IA_64.unwind.info. 2001-01-16 H.J. Lu * ldlang.c (lang_check): Merge the private data only if the input file has contents. 2001-01-14 Alan Modra * emulparams/hppalinux.sh (OUTPUT_FORMAT): Set to elf32-hppa-linux. * emultempl/hppaelf.em (hppaelf_after_parse): New function, enabling search for libmilli. On a relocatable link, make .text sections unique. (LDEMUL_AFTER_PARSE): Define. (hppaelf_finish): Correct spelling of relocatable in comments. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't rummage through the script for sections on the unique list. Correct length of strncmp for ".note". (gld${EMULATION_NAME}_check_needed): Rearrange function. * ldlang.c (unique_section_list): New var. (unique_section_p): New function. (walk_wild_section): Don't match sections on unique_section_list. (lang_add_unique): New function. Correct spelling of relocatable in comments. * ldlang.h (struct unique_sections): Declare. (unique_section_list): Declare. (unique_section_p): Declare. (lang_add_unique): Declare. * lexsup.c (ld_options): Allow --unique to take an optional arg. (parse_args [OPTION_UNIQUE]): Call lang_add_unique. * ld.texinfo (--unique): Update. 2001-01-13 Nick Clifton * lexsup.c (parse_args): Remove spurious white space. 2001-01-12 Nick Clifton * lexsup.c (parse_args): Update copyright date. 2001-01-12 Philip Blundell * configure.host: Set HOSTING_LIBS appropriately for ix86-cygwin. 2001-01-10 Kazu Hirata * scripttempl/h8300.sc: Fix formatting. Fix a comment typo. * scripttempl/h8300h.sc: Fix formatting. * scripttempl/h8300s.sc: Likewise. * scripttempl/h8500.sc: Likewise. * scripttempl/h8500b.sc: Likewise. * scripttempl/h8500c.sc: Likewise. * scripttempl/h8500m.sc: Likewise. * scripttempl/h8500s.sc: Likewise. 2000-01-07 David O'Brien * emultempl/elf32.em: Only perform Linux ld hints processing when targeting Linux. 2001-01-07 Philip Blundell * ld.texinfo (Bug Reporting): Update email address for reports. 2000-12-31 Nick Clifton * lexsup.c (parse_args): Set opterr to 0 and detect unparsed long options by checking for a return value of '?' not -1. 2000-12-28 Nick Clifton * lexsup.c (struct ld_option): Add new enum value: EXACTLY_TWO_DASHES. (ld_options[]): Change -omagic, -output and -oformat options to be EXACTLY_TWO_DASHES. (OUTPUT_COUNT): Use ARRAY_SIZE. (parse_args): Change parameter 'argc' to unsigned. Place EXACTLY_TWO_DASHES options into new really_longopts array. If getopt_long_only fails, try calling getopt_long using the really_longopts array. (help): Print a double dash for both EXACTLY_TWO_DASHES and TWO_DASHES options. * ldlex.h: Fix prototype of parse_args. * ld.texinfo: Document that long options starting with 'o' must be preceeded by two dashes. Change example of a single dashed long option from -oformat to -trace-symbol. 2000-12-26 Danny Smith * emultempl/pe.em (OPTION_NO_DEFAULT_EXCLUDES): Define. (longopts[]): New --no-default-excludes option. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse_args): Handle. 2000-12-13 Michael Sokolov * ldlang.c (new_stat): Revert the last beautification with "innocent" whitespace, it breaks the K&R C preprocessor. 2000-12-11 DJ Delorie * ld.texinfo: Add notes about --whole-archive and gcc. 2000-11-18 Fred Fish * lexsup.c (OPTION_ALLOW_SHLIB_UNDEFINED): Define. (ld_options): Entry for --allow-shlib-undefined. (parse_args): Handle OPTION_ALLOW_SHLIB_UNDEFINED. * ldmain.c (main): Initialize link_info.allow_shlib_undefined to false. * ld.texinfo: Document new command line switch. 2000-12-12 Geoffrey Keating * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): .fixup is actually read/write. * emulparams/elf32lppc.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf32ppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf32lppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. 2000-12-11 Jan Hubicka * NEWS: Add note about x86_64 architecture. 2000-12-06 Mark Elbrecht * scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end. Set DWARF2 sections to a VMA of zero. 2000-12-01 Joel Sherrill * configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*): New targets. (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. (sparc*-*-rtems*): Switched from a.out to ELF. 2000-11-30 Jan Hubicka * Makefile.am (ALL_EMULATIONS): Add eelf_x86_64.o (eelf_x86_64.c): New. * Makefile.in: Regenerate. * configure.tgt: Add support for x86_64-*-linux-gnu*. * emulparams/elf_x86_64.sh: New. 2000-11-30 Hans-Peter Nilsson * emulparams/crislinux.sh (ENTRY): Change back to _start. (TEXT_START_SYMBOLS): Remove conditional setting of __start. * scripttempl/crisaout.sc: Change all RELOCATING not related to merging non-a.out sections into CONSTRUCTING. 2000-11-28 Nick Clifton * ld.1 (COPYING): Mention that the GNU Free Documentation License is present in the sources, but not the output, and also available from the GNU website. (GNU Free Documentation License): Comment out this section. 2000-11-28 David O'Brien * emulparams/elf64alpha.sh (ENTRY): Remove leading underscore as ELF does not use them. 2000-11-25 David O'Brien * ld.1: Remove old date so it does not give the impression the manpage is way out of date. 2000-11-24 Nick Clifton * configure.tgt (xscale-coff): Add target. (xscale-elf): Add target. 2000-11-24 Fred Fish * ldmain.c (main): Remove redundant init of config.make_executable to true. 2000-11-15 Richard Henderson * emulparams/elf64alpha.sh (MAXPAGESIZE): Typo -- 64k, not 1M. 2000-11-14 Kazu Hirata * scripttempl/h8300.sc: Fix formatting. * scripttempl/h8300h.sc: Likewise. * scripttempl/h8300s.sc: Likewise. 2000-11-14 Denis Chertykov * scripttempl/elf32avr.sc: Fix bug in .eeprom segment. 2000-11-09 Philip Blundell * emultempl/pe.em: Define ___start_SECNAME and ___stop_SECNAME around orphan sections whose names can be represented in C. 2000-11-07 Jim Wilson * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata. 2000-11-06 Nick Clifton * ld.texinfo: Add GNU Free Documentation License. * ldint.texinfo: Add GNU Free Documentation License. * ld.1: Add GNU Free Documentation License. 2000-11-05 Alan Modra * ldlex.l (yy_create_string_buffer): Init yy_is_our_buffer, yy_is_interactive, yy_at_bol, and yy_fill_buffer. * Makefile.am (DISTCLEANFILES): Add stringify.sed. Move 2000-11-02 Makefile.in changes to this file. * Makefile.in: Regenerate. 2000-11-03 Nick Clifton * scripttempl/h8300.sc: Use ${CONSTRUCTING...} to enclose constructors and destructors. * scripttempl/h8300h.sc: Ditto. * scripttempl/h8300s.sc: Ditto. * scripttempl/h8500.sc: Ditto. * scripttempl/h8500b.sc: Ditto. * scripttempl/h8500c.sc: Ditto. * scripttempl/h8500m.sc: Ditto. * scripttempl/h8500s.sc: Ditto. * scripttempl/v850.sc: Ditto. * scripttempl/w65.sc: Ditto. * scripttempl/z8000.sc: Ditto. 2000-11-02 Per Lundberg * Makefile.in (e_i386_chaos.c): New rule. (ALL_EMULATIONS): Added e_i386_chaos.o. * emulparams/elf_i386_chaos.sh: New file. * configure.tgt: Recognise i[3456]86-chaosdev-storm-chaos. 2000-10-20 Jakub Jelinek * emulparams/elf64_sparc.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): Set to 4GB for Solaris targets. Fix sed invocation, so that it coped with '/' in Solaris 64bit library path suffix. Based on patch by Andrew Macleod . 2000-10-18 Hans-Peter Nilsson * scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32), for consecutive sections. 2000-10-17 Chandrakala Chavva * lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific options. * ld.texinfo: Added notes about this new option. 2000-10-16 Nick Clifton * emultempl/pe.em (_after_open): Add tests of return values from bfd functions. Emit appropriate error messages if necessary. 2000-10-13 Nick Clifton * emultempl/pe.em (_after_open): Delete 'is2' and 'nsyms' local variables - they are not used, but leave in the call to bfd_canonicalize_symtab. (_open_dynamic_archive): Add #ifdef DLL_SUPPORT around use of pe_dll_search_prefix. 2000-10-12 Charles Wilson * emultempl/pe.em (pe_dll_search_prefix): New variable, (longopts): New --dll-search-prefix option. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse_args): Handle. (gld_${EMULATION_NAME}_open_dynamic_archive): When linking dynamically, search for a dll named '.dll' in preference to 'lib.dll' if --dll-search-prefix is specified. 2000-10-12 Alan Modra * ldlang.c (section_already_linked): Set kept_section instead of sec->comdat->sec. 2000-10-10 Kazu Hirata * deffile.h: Fix formatting. * lexsup.c: Likewise. * mri.c: Likewise. 2000-10-09 Paul Sokolovsky * pe-dll.c (make_one): Do not generate code thunk for DATA exports. (process_def_file): deduce DATA flag for auto-export sumbols. 2000-10-09 Kazu Hirata * ld.h: Fix formatting. * ldcref.c: Likewise. * ldctor.h: Likewise. * ldemul.c: Likewise. * ldemul.h: Likewise. * ldexp.c: Likewise. * ldexp.h: Likewise. * ldfile.c: Likewise. * ldfile.h: Likewise. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldmain.c: Likewise. * pe-dll.c: Likewise. * pe-dll.c: Revert some formatting fixes. 2000-10-08 Kazu Hirata * pe-dll.c: Fix formatting. 2000-10-05 Kazu Hirata * ldlang.c: Fix formatting. 2000-10-03 DJ Delorie * pe-dll.c (fill_edata): initialize entire block (make_one): fill in correct section. 2000-10-03 Kazu Hirata * ldexp.c: Fix formatting. 2000-10-02 DJ Delorie * emultempl/pe.em (gld_*_after_open): detect case where there two import libraries for same dll; rename one to ensure proper link order. * pe-dll.c (process_def_file): compare ordinals to -1, not 0; fix typo (generate_edata): fix typo 2000-09-29 Hans-Peter Nilsson * scripttempl/crisaout.sc (ENTRY): Now __start. (.text): Add default setting for __start. Remove CONSTRUCTORS handling. (/DISCARD/): Add .gnu.warning.*. * emulparams/crislinux.sh (ENTRY): Now __start. (TEXT_START_SYMBOLS): New; provide __Stext and __start default. * emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris. (ENTRY): Now __start. (INITIAL_READONLY_SECTIONS): Add KEEP for .startup. (EXECUTABLE_SYMBOLS): Add default setting for __start. 2000-09-29 Kazu Hirata * deffile.h: Fix formatting. * ld.h: Likewise. * ldcref.c: Likewise. * ldctor.c: Likewise. * ldctor.h: Likewise. * ldemul.c: Likewise. * ldemul.h: Likewise. * ldexp.c: Likewise. * ldexp.h: Likewise. * ldfile.c: Likewise. * ldfile.h: Likewise. * ldlang.c: Likewise. * ldlang.h: Likewise. * lexsup.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise. 2000-09-28 Paul Sokolovsky * pe-dll.c (process_def_file): Uninitialized data wasn't exported with --export-all-symbols switch. 2000-09-28 DJ Delorie * pe-dll.c (fill_edata): rearrange the data so that ordinals and noname work properly. 2000-09-28 Alan Modra * ld.texinfo (HPPA ELF32): New section. * emultempl/hppaelf.em (group_size): New. (hppaelf_finish): Pass group_size to elf32_hppa_size_stubs. (PARSE_AND_LIST_PROLOGUE): Add OPTION_STUBGROUP_SIZE. (PARSE_AND_LIST_LONGOPTS): Add --stub-group-size. Duplicate options to prevent abbreviations matching. (PARSE_AND_LIST_OPTIONS): Describe the above. Reformat. (PARSE_AND_LIST_ARGS_CASES): Handle it. 2000-09-21 Michael Sokolov * emultempl/m68kelf.em: Conditionalise the embedded relocs feature on the m68*-*-elf target. Make it support COFF input objects. 2000-09-21 Kazu Hirata * ldmain.c: Fix formatting. * ldmisc.c: Likewise. * ldver.c: Likewise. * ldwrite.c: Likewise. 2000-09-21 Alan Modra * ldwrite.c (clone_section): Silence gcc warnings. 2000-09-20 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Handle out of memory failure. * ldwrite.c (ldwrite): Remove unnecessary einfo arg. (clone_section): Handle out of memory failures. Rename var to avoid c++ reserved word. 2000-09-18 Alan Modra * emultempl/hppaelf.em (hppaelf_add_stub_section): Rename stub_name param to stub_sec_name. (hppaelf_finish): Modify call to elf32_hppa_size_stubs. 2000-09-10 Michael Sokolov * emultempl/m68kelf.em: New file. * emulparams/m68kelf.sh (EXTRA_EM_FILE): Use it. * Makefile.am (em68kelf.c): Add dependency on m68kelf.em. * Makefile.in: Regenerate. 2000-09-15 Alan Modra * emulparams/hppalinux.sh (DATA_START_SYMBOLS): Provide $global$ only as needed. 2000-09-13 Nick Clifton * ldmain.c (multiple_definition): Disable relaxation if multiple symbol definitions are encountered - otherwise the linker could abort with an assertion failure. 2000-09-10 Nick Clifton * mri.c: Fix formatting. 2000-09-07 H.J. Lu * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM. * configure: Rebuild. 2000-09-07 H.J. Lu * Makefile.am (lexsup.o): Also depend on $(INCDIR)/demangle.h. * Makefile.in: Rebuild. 2000-09-07 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix broken list handling. Create __start_SECNAME and __stop_SECNAME when no place-holder. Add some comments. Test both SEC_CODE and SEC_READONLY for hold_text to prevent .rodata orphan poisoning. Handle case where no output section statement created. 2000-09-07 Niibe Yutaka , Kaz Kojima , Alexandre Oliva * configure.tgt (sh-*-linux*): Added. * Makefile.am: Added eshelf_linux and eshlelf_linux. * Makefile.in: Rebuilt. * emulparams/shelf_linux.sh: New file. * emulparams/shlelf_linux.sh: New file. 2000-09-06 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't try shuffling sections when the orphan happens to be the place holder. Keep count of unique section names generated so we speed the search for a new name. 2000-09-06 Alexandre Oliva * configure: Rebuilt with new libtool.m4. 2000-09-05 Nick Clifton * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * config.in: Regenerate. * po/ld.pot: Regenerate. * ldint.texinfo: Remove CVS revision marker - it foils local comparisons. * emultempl/ticoff.em: Remove extraneous comma. 2000-09-05 Alan Modra * emultempl/hppaelf.em (hppaelf_add_stub_section): Add SEC_RELOC to stub section flags. (hppa_for_each_input_file_wrapper): New. (hppa_lang_for_each_input_file): New. (lang_for_each_input_file): Define to call above. (multi_subspace): New. (hppaelf_finish): Pass multi_subspace to elf32_hppa_size_stubs. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (hppaelf_finish): Call elf32_hppa_set_gp. (hppaelf_set_output_arch): Remove. (LDEMUL_SET_OUTPUT_ARCH): Remove. * emulparams/hppalinux.sh (ELFSIZE): Define. (MACHINE): Define. (OTHER_READONLY_SECTIONS): Define. (DATA_PLT): Define. (GENERATE_SHLIB_SCRIPT): Define. * ldlang.c: Add missing prototypes, and tidy others. Change CONST to const throughout. Change `void *' to `PTR' throughout. (lang_memory_default): Function is local to file, add `static'. * Makefile.am (ehppaelf.c): Depend on emultempl/elf32.em. (ehppalinux.c): Likewise. (earmelf.c): Likewise. (earmelf_linux.c): Likewise. (earmelf_linux26.c): Likewise. * Makefile.in: Regenerate. * ld.h (ld_config_type): Add unique_orphan_sections. * lexsup.c (OPTION_UNIQUE): Define. (ld_options): Add "--unique". (parse_args): Handle it. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't search for an existing output section if unique_orphan_sections is set. Make use of bfd_get_unique_section_name rather than duplicating code here. * ld.texinfo: Describe --unique. * lexsup.c (ld_options): Make split-by-reloc arg optional. Add optional arg to split-by-file. (parse_args): Handle them. * ld.texinfo: Update description of these options. * ldwrite.c (clone_section): Pass in the section name. Replace local code with bfd_get_unique_section_name. (split_sections): Tidy code and comments. Use a list traversal more appropriate to the list construction. Handle cooked section sizes. Split when split_by_reloc reached rather than exceeded. Track section size and split when split_by_file reached. Fix link_order_tail (even though it's not used). (ldwrite): Modify condition for calling split_sections to suit changed split_by_reloc and split_by_file. * ldmain.c (main): Init config.split_by_reloc and config.split_by_file to -1. * ld.h (ld_config_type): Change split_by_reloc to unsigned. Change split_by_file to bfd_size_type. 2000-09-02 Nick Clifton * configure.in: Increase version number to 2.10.91. * NEWS: Mention new ability to support removal of duplicate DWARF2 debug information. * configure: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. 2000-09-02 Daniel Berlin * scripttempl/elf.sc: Add .gnu.linkonce.wi.* to .debug_info sections. * scripttempl/elf32avr.sc: Ditto. * scripttempl/elfd10v.sc: Ditto. * scripttempl/elfd30v.sc: Ditto. * scripttempl/elfi370.sc: Ditto. * scripttempl/elfm68hc11.sc: Ditto. * scripttempl/elfm68hc12.sc: Ditto. * scripttempl/elfi386beos.sc: Ditto. * scripttempl/v850.sc: Ditto. 2000-08-31 Alexandre Oliva * acinclude.m4: Include libtool and gettext macros from the top level. * aclocal.m4, configure: Rebuilt. 2000-08-25 Nick Clifton * ldlang.c (open_output): When choosing the target for a particular endianness, do nothing if the target is not supported. 2000-08-25 H.J. Lu * 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-24 Hans-Peter Nilsson * NEWS: Mention support for CRIS. 2000-08-23 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get the current runpath list from bfd_elf_get_runpath_list () before search. 2000-08-22 H.J. Lu * 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-14 Jason Eckhardt * NEWS: Mention i860 support. 2000-08-14 Andreas Schwab * scripttempl/elf.sc: Fix last change to use correct comment syntax. 2000-08-10 Geoff Keating * scripttempl/elf.sc: Add a comment giving the correspondence between sections, per-datum sections, and linkonce sections. Make the comment true even for .bss, .sdata, .sdata2, .sbss, and .sbss2. 2000-08-10 Jason Eckhardt * emulparams/elf32_i860.sh: New file. * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}. * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o. (eelf32_i860.c): New rule. * Makefile.in: Regenerate. 2000-08-10 Nick Clifton * emulparams/mipspe.sh (ENTRY): Add definition. 2000-08-08 Peter Jeremy * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath in error message. 2000-08-08 Stephane Carrez * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate the final size of .bss section. * scripttempl/elfm68hc12.sc: Likewise. 2000-08-04 Alan Modra * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to gld${EMULATION_NAME}_parse_args for consistency. Combine lastoptind and prevoptind vars, and keep track of last optind. (gld_${EMULATION_NAME}_list_options): Rename to gld${EMULATION_NAME}_list_options. 2000-08-03 Rodney Brown * configure.tgt: Select targ_emul=elf_i386 for Unixware 7 (i586-sco-sysv5uw7.1.0). 2000-07-27 H.J. Lu * emulparams/elf64alpha.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. (PARSE_AND_LIST_EPILOGUE): Likewise. 2000-07-28 Alan Modra * emultempl/armelf.em: Elide functions common to elf32.em, ie. most of the file. (arm_elf_after_open): New. Do arm specific things then call gld${EMULATION_NAME}_after_open. (arm_elf_before_allocation): New. Call gld${EMULATION_NAME}_before_allocation then do arm specifics. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_SHORTOPTS): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (LDEMUL_AFTER_OPEN): Define. (LDEMUL_BEFORE_ALLOCATION): Define. (LDEMUL_BEFORE_PARSE): Define. (LDEMUL_FINISH): Define. * emultempl/hppaelf.em: Similarly zap most of this file. (hppaelf_add_stub_section): Prototype. (hppaelf_layaout_sections_again): Prototype. (hook_in_stub): Prototype. (LDEMUL_SET_OUTPUT_ARCH): Define. (LDEMUL_FINISH): Define. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define. * emulparams/armelf.sh (TEMPLATE_NAME): Use elf32. (EXTRA_EM_FILE): New. * emulparams/armelf_linux.sh: Likewise. * emulparams/armelf_linux26.sh: Likewise. * emulparams/hppalinux.sh: Likewise. * emulparams/hppaelf.sh: Likewise. (NOP): Define. * emultempl/elf32.em: Fix formatting. (EXTRA_EM_FILE): Source it. (LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL, LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION, LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET, LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH, LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS, LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN, LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE, LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE, LDEMUL_FIND_POTENTIAL_LIBRARIES): New shell vars. Add code to allow functions in this file to be overridden. (PARSE_AND_LIST_SHORTOPTS): Handle it. * emultempl/m68kcoff.em: Include ldfile.h before ldemul.h. * emultempl/elf32.em: Reorganize file. 2000-07-27 Ivan Kokshaysky * emulparams/elf64alpha.sh: Implement "-taso" emulation specific option to fit 64-bit executable in the lower 31-bit address range. This is done by changing start address of .interp (the very first section of executable) and then setting EF_ALPHA_32BIT elf header flag. 2000-07-21 Michael Sokolov * emultempl/m68kcoff.em: New file. * emulparams/m68kcoff.sh (TEMPLATE_NAME): Use m68kcoff template. * Makefile.am (em68kcoff.c): Depend on m68kcoff.em rather than generic.em. * Makefile.in: Regenerate. 2000-07-20 H.J. Lu * 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 H.J. Lu * 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-05 Kenneth Block * lexsup.c: Add optional style to demangle switch * ld.texinfo: Document optional style to demangle switch. 2000-07-20 Hans-Peter Nilsson * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o, ecrislinux.o. (ecrisaout.c, ecriself.c, ecrislinux.c): New rules. Regenerate dependencies. * Makefile.in: Rebuild. * configure.tgt (cris-*-*): New target. * emulparams/crisaout.sh, emulparams/criself.sh, emulparams/crislinux.sh, scripttempl/crisaout.sc: New files. * po/POTFILES.in, po/ld.pot: Regenerate. 2000-07-20 H.J. Lu * emultempl/elf32.em (gld_${EMULATION_NAME}_list_options): Print out ignored -z options. 2000-07-19 H.J. Lu * 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-19 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call bfd_elf_set_dt_needed_soname (). 2000-07-18 DJ Delorie * pe-dll.c (pe_dll_id_target): check object target name also 2000-07-18 Hans-Peter Nilsson * scripttempl/elf.sc (.init): Only do ${INIT_START} and ${INIT_END} if relocating. (.fini): Likewise ${FINI_START} and ${FINI_END}. 2000-07-16 Charles Wilson * emultempl/pe.em (gld_*_open_dynamic_archive): New search order for dynamic library '-lfoo' on pei386: libfoo.dll.a, foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility errors introduced by the old dynamic lib search order. 2000-07-17 DJ Delorie * pe-dll.c (process_def_file): auto-export data items also (pe_process_import_defs): also see if _imp_ form needed 2000-07-12 Charles Wilson * pe-dll.c (make_one): fix a typo in the __imp_ name decoration for dll import libraries 2000-07-12 Mark Elbrecht * scripttempl/i386go32.sc: Support the g++ attribute init_priority in gcc 2.95.2 and later. 2000-07-11 Kazu Hirata * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error message. 2000-07-10 Alan Modra * ldemul.h (struct lang_input_statement_struct): Remove forward declaration. (struct search_dirs): Likewise. * ldfile.h (struct lang_input_statement_struct): Likewise. Protect file from multiple inclusion. * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Move file_chain declaration from macro to file scope. * ldemul.c: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order. * ldgram.y: Likewise here. * ldlang.c: And here. * ldmain.c: And here. * mpw-elfmips.c: And here. * mpw-eppcmac.c: And here. * emultempl/aix.em: And here. * emultempl/armcoff.em: And here. * emultempl/armelf.em: And here. * emultempl/armelf_oabi.em: And here. * emultempl/beos.em: And here. * emultempl/elf32.em: And here. * emultempl/hppaelf.em: And here. * emultempl/linux.em: And here. * emultempl/lnk960.em: And here. * emultempl/pe.em: And here. * emultempl/sunos.em: And here. * mpw-esh.c: And here. Include ldexp.h and ldlang.h too. * mpw-idtmips.c: Ditto. * emultempl/generic.em: Ditto. * emultempl/gld960.em: Ditto. * emultempl/gld960c.em: Ditto. * emultempl/mipsecoff.em: Ditto. * emultempl/ticoff.em: Ditto. * emultempl/vanilla.em: Ditto. * pe-dll.c: Include ldfile.h * ldver.c: Include ldexp.h, ldlang.h, ldfile.h * mpw-elfmips.c: (gldelf32ebmip_before_allocation): Add missing arguments to bfd_elf32_size_dynamic_sections call. (gldelf32ebmip_place_orphan): Add missing arguments to lang_leave_output_section_statement call. 2000-07-10 H.J. Lu * emultempl/pe.em (pe_enable_stdcall_fixup): Protect with DLL_SUPPORT. (strhash): Likewise. (compute_dll_image_base): Likewise. (pe_undef_found_sym): Likewise. (pe_undef_cdecl_match): Likewise. (gld_${EMULATION_NAME}_open_dynamic_archive): Mark the argument "arch" with ATTRIBUTE_UNUSED. 2000-07-10 Alan Modra * configure.tgt: Remove extraneous hppa*-*-linux-gnu*. From Ryan Bradetich * ldwrite.c (SSIZE): Remove to cure macro redefinition warning. 2000-07-09 Alan Modra Changes to create multiple linker stubs, positioned immediately before the section where they are required. * emultempl/hppaelf.em: Include elf32-hppa.h. (stub_sec, file_chain): Delete. (hppaelf_create_output_section_statements): Don't make a stub section here. (hook_stub_info): New struct. (hook_in_stub): New function. (hppaelf_add_stub_section): New function. (hppaelf_finish): Do nothing for relocateable links. Modify the call to elf32_hppa_size_stubs. Move code for updating section layout from here... (hppaelf_layaout_sections_again): ..to here, a new function. * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix broken list handling. Pass in a pointer to the list. (hppaelf_finish): Update call to hppaelf_delete_padding_statements for above changes. (hppaelf_before_parse): Prototype. (hppaelf_set_output_arch): Prototype. (hppaelf_create_output_section_statements): Prototype. (hppaelf_delete_padding_statements): Prototype. (hppaelf_finish): Prototype. Merge from elf32.em * emultempl/hppaelf.em: Include ctype.h. (struct orphan_save): New. (gld${EMULATION_NAME}_place_orphan): New. (output_rel_find): New. (hppaelf_get_script): Update from elf32.em. (ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation. Change emulation_name field to "${EMULATION_NAME}". Add gld${EMULATION_NAME}_place_orphan. * Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o, add ehppalinux.o, sort it. Regenerate dependencies. (ehppalinux.c): Depend on hppaelf.em * Makefile.in: Regenerate. * configure.tgt: targ_emul=hppalinux for hppa*linux * emulparams/hppalinux.sh: New. * emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex. 2000-07-08 Alan Modra * lexsup.c (parse_args): Copy section name. 2000-07-07 Charles Wilson * emultempl/pe.em: institute the following search order for dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import libs), libfoo.dll, foo.dll (link direct to dll). Fall back to static lib (libfoo.a) if none of the above are found. 2000-07-07 Mumit Khan * emultempl/pe.em (pe_enable_auto_image_base): New variable. (longopts): New --{enable,disable}-auto-image-base options. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse): Handle. (strhash): New static function. (compute_dll_image_base): New static function. (gld_${EMULATION_NAME}_set_symbols): Use. 2000-07-05 DJ Delorie * MAINTAINERS: new 2000-07-01 Koundinya K * configure.tgt: Add traditional mips (mips*-*-sysv4*) target. * emulparams/elf32btsmip.sh: New file. * Makefile.am: Add traditional mips target. * Makefile.in: Rebuild. 2000-07-01 H.J. Lu * Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for automake to use YLWRAP. * Makefile.in: Rebuild. 2000-07-01 Alan Modra * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed (CLEANFILES): Add DEPA. * Makefile.in: Regenerate. 2000-06-30 Timothy Wall * scripttempl/tic54xcoff.sc: PAGE N is not implemented, so encode the page in the upper octet of the address. 2000-06-26 Marek Michalkiewicz * emulparams/avrmega161.sh (ARCH): Change to avr:5. 2000-06-24 Alan Modra * NEWS: arm-elf does --gc-sections too. 2000-06-22 Alan Modra * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we find one. * Makefile.in: Regenerate. 2000-06-21 H.J. Lu * Makefile.am: Rebuild dependency. * Makefile.in: Rebuild. 2000-06-20 H.J. Lu * Makefile.am: Rebuild dependency. * Makefile.in: Rebuild. 2000-06-20 Timothy Wall * scripttempl/tic54xcoff.sc: New. * ldlang.c (wild_doit): Propagate SEC_BLOCK flag. * gen-doc.texi: Add flag for TI COFF. * ld.texinfo: Add documentation for TI COFF handling switches. * emultempl/ticoff.em: New. TI COFF handling. * configure.tgt: Add tic54x target. * Makefile.am: Add tic54x target. * Makefile.in: Ditto. 2000-06-20 Alan Modra * ldmain.c (set_scripts_dir): Correct pointer comparison when checking for backslashes. 2000-06-19 Alan Modra * NEWS: Move entries not in 2.10 above "Changes in version 2.10". 2000-06-18 Alan Modra * NEWS: Update list of targets supporting --gc-sections. * scripttempl/elf.sc: KEEP .eh_frame contents. * scripttempl/elfd30v.sc: Same here. 2000-06-18 Stephane Carrez * Makefile.am (ALL_EMULATIONS): Added new emulation for m68hc12 and m68hc11 (elf). * Makefile.in: Rebuild. * configure.tgt: Recognize m68hc12 and m68hc11. * scripttempl/elfm68hc12.sc: New file. * emulparams/m68hc12elfb: New emulation. * emulparams/m68hc12elf: New emulation. * emulparams/m68hc11elfb.sh: New file. User configurable emulation (includes a memory.x script to define the ROM and RAM banks). * scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh: New configuration files for support of Motorola 68hc11 2000-06-15 Alan Modra * ldmain.c (main): Only change SEC_READONLY for final link. 2000-06-13 H.J. Lu * configure: Regenerate. 2000-06-08 David O'Brien * configure.in (VERSION): Update to show this is the CVS mainline. 2000-06-07 Michael Sokolov * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all input objects to be ECOFF. (check_sections): einfo takes %B, not %P, to print a BFD name. 2000-06-05 Michael Matz * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in version scripts. * ldlex.l (V_IDENTIFIER): Accept `::' in symbols. 2000-05-23 Marek Michalkiewicz * emulparams/avr1200.sh (STACK): Define as 0. * emulparams/avr23xx.sh (STACK): Define as last internal SRAM address. * emulparams/avr4433.sh (STACK): Likewise. * emulparams/avr44x4.sh (STACK): Likewise. * emulparams/avr85xx.sh (STACK): Likewise. * emulparams/avrmega103.sh (STACK): Likewise. * emulparams/avrmega161.sh (STACK): Likewise. * emulparams/avrmega603.sh (STACK): Likewise. * scripttempl/elf32avr.sc (__data_start): Define for gcrt1. (__stack): Define from ${STACK} for main(). 2000-05-26 Alan Modra * Makefile.am: Update dependencies with "make dep-am" * Makefile.in: Regenerate. 2000-05-26 Eli Zaretskii * ldmain.c: Include filenames.h. (set_scripts_dir): Support backslashes in program name. 2000-05-22 Igor Shevlyakov * ldmain.c (main): When deciding if ".text" section should be read-only, don't forget to reset SEC_READONLY because it could be already set. 2000-05-22 Thomas de Lellis * ld.1: Add documentation for new command line option: --section-start = This is a generic version of -Ttext etc. which accepts any section name as a parameter instead of just text/data/ bss. * ld.texinfo: More docs. * NEWS: More docs. * lexsup.c: (parse_args): Recognize new command line option. (ld_options): Add new option. 2000-05-18 H.J. Lu * lexsup.c (parse_args): `i' == `r', not `q'. 2000-05-18 Jeffrey A Law (law@cygnus.com) * configure.tgt (hppa*64*-*-*): Enable PA64 target. 2000-05-17 S. Bharadwaj Yadavalli Rick Gorton Add support for '-q' == '--emit-relocs' switch. * ldmain.c (main): Default to false. * lexsup.c (parse_args): Turn on emitrelocations flag if set. * NEWS: Describe the emitrelocations switch. * ld.texinfo: Describe the emitrelocations switch. 2000-05-16 Charles Wilson * emultempl/pe.em (_open_dynamic_archive): New function: Search the library path for "foo.dll" and "libfoo.dll" dynamic libraries before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo' link options. 2000-05-15 David O'Brien * lexsup.c (parse_args): Update the year in the copyright notice. 2000-05-13 Alan Modra * ld.h (gettext, dgettext, dcgettext, textdomain, bindtextdomain): Replace defines with those from intl/libgettext.h to quieten gcc warnings. 2000-05-10 H.J. Lu * ldlang.c (open_input_bfds): Don't load the same file within a group again if the whole archive has been loaded already. 2000-05-03 Alan Modra From Ulf Carlsson and Andreas Jaeger * lexsup.c (set_section_start): Use bfd_scan_vma rather than strtoul. 2000-05-01 Jim Wilson * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}. * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for host "ia64-*-linux-gnu*". 2000-04-29 Andreas Jaeger * ld.h: Correctly check GCC version. 2000-04-25 Jeffrey A Law (law@cygnus.com) * Makefile.am: Add PA64 support. Add missing dependencies for PA32 elf support. * Makefile.in: Rebuilt. * configure.tgt: Add PA64 support (currently disabled). 2000-04-25 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete. (output_rel_find): New function. (hold_section, hold_use): Delete. (hold_text, hold_rodata, hold_data, hold_bss, hold_rel, hold_interp): Make local to place_orphan. (gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find rather than place_section to find possible previous use of orphan. Similarly find the place-holder output sections. Use returned value from lang_enter_output_section_statement rather than calling lang_output_section_statement_lookup. * emultempl/armelf.em: Same here. * emultempl/pe.em: Similar to above, but no need for output_rel_find. * ldlang.c (lang_enter_output_section_statement): Return output section statement. * ldlang.h (lang_enter_output_section_statement): Change declaration too. * ldlang.h (lang_output_section_statement): Export it. * ldlang.c (lang_output_section_statement): Ditto. 2000-04-24 Nick Clifton * ld.texinfo (Output Section Data): Add note that section data commands cannot appear outside of section directives. 2000-04-2 Matthew Green * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support. 2000-04-21 Richard Henderson David Mosberger * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o. (eelf64_ia64.c): New rule. * Makefile.in: Rebuild. * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets. * emulparams/elf64_ia64.sh: New file. 2000-04-21 Richard Henderson * scripttempl/elfd30v.sc: Place .gcc_except_table. 2000-04-19 Alan Modra * dep-in.sed: Match space at start of file name, not at end. 2000-04-18 H.J. Lu * 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 Alan Modra * emultempl/elf32.em (struct orphan_save): Add section field. (gld${EMULATION_NAME}_place_orphan): Use above to keep sections in better order, and place first orphan section as we did before the 2000-04-12 patch. Ignore ~SEC_ALLOC sections when choosing place. Don't call make_bfd_section here, let wild_doit do the job for us. Don't build a statement list when we'll only throw it away. * emultempl/armelf.em: Ditto. * emultempl/pe.em: Similarly. 2000-04-14 Geoff Keating * scripttempl/elfppc.sc: Remove. * emulparams/elf32ppc.sh: Use elf.sc. * emulparams/elf32lppc.sh: Use elf.sc. * emulparams/elf32ppclinux.sh: Use elf.sc. * emulparams/elf32ppcsim.sh: New file. * emulparams/elf32lppcsim.sh: New file. * Makefile.am: Update dependencies. Add elf32ppcsim ad elf32lppcsim. (ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim. * Makefile.in: Regenerate. * configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim. 2000-04-14 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process ~SEC_ALLOC sections too. Init start address of debug sections. * emultempl/armelf.em (gld${EMULATION_NAME}_place_orphan): Ditto. * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Ditto. Also set all relocateable section start addresses. 2000-04-13 Geoff Keating * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections. Add new BSS_PLT variable for when .plt need not be contained in the file. Move _etext so that it is also after .fini, and provide both etext and _etext with a leading underscore. Mark the start and end of .sbss. 2000-04-12 Alan Modra * emultempl/elf32.em (struct orphan_save): New. (hold_text, hold_rodata, hold_data, hold_bss, hold_rel, hold_interp): Make them struct orphan_save. (gld${EMULATION_NAME}_place_section): Modify for new hold_*. (gld${EMULATION_NAME}_place_orphan): Add new orphan sections to the end of the relevant section list. Also add associated section statements to the end of any previous orphan statements. * emultempl/armelf.em: Similarly. * emultempl/pe.em: Similarly. 2000-04-11 Alan Modra * ld.texinfo (Simple Example): Remove extraneous paragraph. 2000-04-07 Andrew Cagney * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add --enable-build-warnings option. * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions. * Makefile.in, configure: Re-generate. 2000-04-04 Alan Modra * po/ld.pot: Regenerate. * lexsup.c (help): Restore translated part of bug string. * Makefile.am (MKDEP): Use gcc -MM rather than mkdep. (DEP): Quote when passing vars to sub-make. Add warning message to end. (DEP1): Rewrite for "gcc -MM". (CLEANFILES): Add DEP2. Update dependencies. * Makefile.in: Regenerate. 2000-04-03 Alan Modra * ld.h: #include "bin-bugs.h" * lexsup.c (help): Use REPORT_BUGS_TO. 2000-03-27 Denis Chertykov * configure.tgt (avr-*-*): New target support. * Makefile.am: Likewise. * scripttempl/elf32avr.sc: New script file. * emulparams/avr1200.sh: New file. * emulparams/avr23xx.sh: New file. * emulparams/avr4433.sh New file. * emulparams/avr44x4.sh New file. * emulparams/avr85xx.sh New file. * emulparams/avrmega103.sh New file. * emulparams/avrmega161.sh New file. * emulparams/avrmega603.sh New file. * Makefile.in: Regenerate. 2000-03-09 Andreas Jaeger * Makefile.am (check-DEJAGNU): Also unset LANG. * Makefile.in: Rebuild. 2000-03-06 Ian Lance Taylor * ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty archive. 2000-03-02 H.J. Lu * emulparams/elf32mcore.sh: Include "getopt.h". 2000-03-01 Ian Lance Taylor * configure.tgt: Remove *-*-aout, *-*-coff, and *-*-netware. 2000-03-01 H.J. Lu * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR. * emulparams/shpe.sh: Likewise. 2000-03-01 Nick Clifton * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED to unused parameters. * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static functions only used by DLL code. (_place_orphan): Initialise 'dollar'. 2000-03-01 H.J. Lu * ldmain.c (undefined_symbol): Take one more arg, fatal, to indicate if the undefined symbol is a fatal error or not. Don't delete the output file if "fatal" is false. 2000-02-29 H.J. Lu * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)". Set LC_COLLATE and LC_ALL to null and export them. It is for sort which expects the C locale. Add $(LIBS) to all $(HOSTING_LIBS). * Makefile.in: Rebuild. 2000-02-29 Alan Modra * emultempl/{aix.em, armcoff.em, armelf.em, armelf_oabi.em, beos.em, elf32.em, generic.em, gld960.em, gld960c.em, hppaelf.em, linux.em, lnk960.em, mipsecoff.em, sunos.em, vanilla.em} (ld_emulation_xfer_struct): Add missing NULL initialiser for find_potential_libraries. 2000-02-28 Jim Blandy * ldgram.y (exclude_name_list): Don't require a comma to separate list entries; the lexer considers commas to be valid part of a filename, so in something like `foo, bar' the comma is considered part of the first filename, `foo,'. * ld.texinfo: Update section on EXCLUDE_FILE lists. 2000-02-27 Loren J. Rittle * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for host "i[3456]86-*-freebsdelf*". 2000-02-27 Mark Elbrecht * scripttempl/i386go32.sc: Move misplaced semicolons. 2000-02-25 Ian Lance Taylor * Makefile.am (ALL_EMULATIONS): Remove ehppaelf.o. (ALL_64_EMULATIONS): Remove eelf64hppa.o. (eelf64hppa.c, ehppaelf.c): Remove targets. * Makefile.in: Rebuild. 2000-02-25 Alexandre Oliva * configure.tgt (targ_extra_ofiles): Enable elf64_sparc on GNU/Linux/sparc, but keep the default as 32. * configure.tgt: Enable elf64_sparc on Solaris7+/sparc. And make it default if sparcv9 or sparc64. 2000-02-24 Nick Clifton * Makefile.am: Add rules to build emipspe.o and earmpe.o. * Makefile.in: Regenerate. * configure.tgt: Add targets for arm-wince, sh-pe and mips-pe. * ldemul.h (ld_emulation_xfer_struct): Add new field: find_potential_libraries. * ldemul.c (ldemul_find_potential_libraries): New function. * ldfile.c (ldfile_open_file_search): Allow function to be exported. (ldfile_open_file): Call ldemul_find_potential_libraries. * ldfile.h: Add prototype for ldfile_open_file_search. * pe-dll.c: Add support for ARM, MIPS and SH targets. * emulparams/mipspe.sh: New file. Parameters for mips-pe target. * emulparams/shpe.sh: New file. Parameters for sh-pe target. * emultempl/pe.em: Add support for ARM, MIPS and SH DLLs. (gld_X_find_potential_libraries): New function. Search for libraries called "*.lib". * scripttempl/pe.sc: Add .pdata section. 2000-02-23 Richard Henderson * scripttempl/elfd10v.sc: Remove dynamic linking hooks. Add and use memory regions. 2000-02-23 Linas Vepstas (linas@linas.org) * emulparams/elf32i370.sh, scripttempl/elfi370.sc: New. * Makefile.am: Add support for Linux/IBM 370. * configure.tgt: Likewise. * Makefile.in: Regenerate. 2000-02-21 Alan Modra * ldlang.c (print_input_section, print_data_statement, print_reloc_statement, print_padding_statement, insert_pad, size_input_section, lang_check_section_addresses, lang_size_sections, lang_do_assignments, lang_set_startof, lang_one_common): Change `opb' to unsigned. (lang_do_assignments): Also change `size' to unsigned. 2000-02-16 Richard Henderson * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION. 2000-02-16 Timothy Wall * mri.c (mri_draw_tree): Add default LMA region argument to call to lang_leave_output_section_statement. * ldlang.h: Update prototypes with LMA region arguments. * ldlang.c (lang_size_sections): Encapsulate region bounds checking in os_check_region call. (os_check_region): New function. (lang_output_section_statement_lookup): Initialize lma_region. (lang_leave_output_section_statement): Add LMA region argument. (lang_leave_overlay): Ditto. * ldgram.y: Handle LMA region syntax. * ld.texinfo (Output Section Description): Describe LMA region usage. * emultempl/armelf.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. * emultempl/elf32.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. * emultempl/pe.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. 2000-02-04 Timothy Wall * ldlang.c (lang_check_section_addresses): Use bytes instead of octets when calculating section end addresses. 2000-02-04 Timothy Wall * ldlang.c (lang_size_sections): Fix typo in ALIGN_N invocation. 2000-02-03 Timothy Wall * ldexp.c (fold_name): Make SIZEOF operator return byte count, not octet count. * ldlang.c (print_input_section, print_data_statement, print_reloc_statement, print_padding_statement): Print target address values and section sizes as bytes, not octets. (insert_pad) Calculate padding size in octets, and adjust "dot" by bytes. (size_input_section) Always adjust "dot" by bytes, not octets. (lang_check_section_addresses, lang_do_assignments) Adjust "dot" by bytes, not octets. Use the larger of the directive size or octets_per_byte for the number of octets actually allocated in the output section. (lang_set_startof) Make sure STARTOF returns a target address. (lang_one_common) Record size changes in octets. (lang_abs_symbol_at_end_of) Section end symbol's value is recorded in target bytes. * ld.texinfo: Updated description of BYTE, SHORT, LONG, etc. to be clear about behavior when an octet is smaller than one byte. 2000-01-27 Alan Modra * ldcref.c (output_cref): Don't pass message strings to printf as format arg. Update copyright. * ldmisc.c (vfinfo): Same here. Update copyright. 2000-01-23 Alan Modra * emultempl/{armcoff.em,armelf.em,armelf_oabi.em,beos.em, generic.em,gld960.em,gld960c.em,hppaelf.em,linux.em,lnk960.em, mipsecoff.em,sunos.em,vanilla.em} (ld_emulation_xfer_struct): Add missing NULL initialisers, and comments. * testsuite/ld-srec/sr3.cc (__rethrow): New. 2000-01-21 Nick Clifton * ldlang.c (lang_size_sections): Fix typo in comment. 2000-01-18 H.J. Lu * ldlang.c (lang_size_sections): Also update the current address of a region if the SEC_NEVER_LOAD bit is not set. 2000-01-10 Philip Blundell * configure.tgt (arm*-*-conix*): New target. 2000-01-07 Nick Clifton * ld.texinfo (Options): Remind users to preceed linker command line switches with -Wl, (or whatever is appropriate) if it is being invoked by a comnpiler driver program. Fix description of the behaviour of the -n command line switch. 2000-01-05 Catherine Moore * ld.h (wildcard_spec): Change exclude_name to exclude_name_list. (name_list): New. * ld.texinfo (EXCLUDE_FILE): Update documentation. * ldgram.y (wildcard_spec): Support a list of excluded_files. (exclude_name_list): New. ldlang.c (walk_wild_section): Support list of excluded files. (print_wild_statement): Likewise. (lang_add_wild): Likewise. * ldlang.h (lang_wild_statement_type): Likewise. * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support. 2000-01-04 Mumit Khan * pe-dll.c (pe_dll_warn_dup_exports): New variable. (process_def_file): Use. (pe_dll_compat_implib): New variable. (make_one): Use. * pe-dll.h: Add exports of pe_dll_warn_dup_exports and pe_dll_compat_implib. * emultempl/pe.em (longopts): Add warn-duplicate-exports and compat-implib options. (gld_${EMULATION_NAME}_list_options): List new options. (gld_${EMULATION_NAME}_parse_args): Handle. * pe-dll.c (pe_dll_generate_implib): Use the correct name for output dll. * deffilep.y (opt_name): Allow "." in name. For older changes see ChangeLog-9899 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: