2002-05-02 Alan Modra * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Adjust for ppc64_elf_set_toc change. #include libbfd.h. (build_section_lists): Do output_section tests here. 2002-04-30 Tom Rix * emultempl/aix.em : (gld*_parse_arge): Formatting changes. 2002-05-01 Alan Modra Long branch stubs, multiple stub sections. * emultempl/ppc64elf.em: Include ldctor.h. (stub_file): New var. (group_size): New var. (ppc_create_output_section_statements): New function. (struct hook_stub_info): New. (hook_in_stub): New function. (ppc_add_stub_section): New function. (ppc_layout_sections_again): New function. (build_section_lists): New function. (gld${EMULATION_NAME}_finish): Rewrite. (real_func): New var. (ppc_for_each_input_file_wrapper): New function. (ppc_lang_for_each_input_file): New function. (lang_for_each_input_file): Define. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define. 2002-04-30 Tom Rix * emultempl/aix.em (gld*_parse_arge, gld*_before_allocation): Add -blibpath, -bnolibpath support. 2002-04-30 Mark Mitchell * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o. (eelf32ppcwindiss.c): New target. * Makefile.in: Regenerated. * configure.tgt: Add support for powerpc-*-windiss. * emulparams/elf32ppcwindiss.sh: New file. 2002-04-30 Richard Sandiford * ldlang.c (print_assignment): Update print_dot for assignments to ".". * ldexp.c (exp_print_token): Add "infix_p" argument. (exp_print_tree): Update accordingly. 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. Wed Apr 17 19:23:14 2002 J"orn Rennecke * emulparams/shelf32.sh (MACHINE): Now sh5. 2002-04-17 Thiemo Seufer * ldgram.y: Fix syntax warning. 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-08 Alan Modra * ldlang.c (lang_size_sections_1): 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-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. 2002-04-04 Thiemo Seufer * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options. 2002-04-03 Jakub Jelinek * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size is smaller than maximum, round dot up to common page boundary. 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-23 Andreas Jaeger * emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it. 2002-03-21 Alan Modra * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 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 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 17:38:39 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-18 Tom Rix * Makefile.am : Add eaix5ppc and eaix5rs6, AIX 5 support. * configure.tgt : Same. * emulparms/aix5ppc.sh : New file. For eaix5ppc. * emulparms/aix5rs6.sh : New file. For eaix5rs6. * emulparms/aixppc.sh : OUPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT emulation parameters for better -b32, -b64 support. * emulparms/aixrs6.sh : Same. * emulparms/ppcmacos.sh : Same. * emultempl/aix.em (choose_target) : Use new emulation parameters OUTPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT. * Makefile.in : Regenerate. 2002-03-18 Nick Clifton * po/fr.po: Updated version. 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 Nick Clifton * po/fr.po: Updated version. 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-07 Daniel Jacobowitz * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo. 2002-03-05 Jakub Jelinek * scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with DATA_SEGMENT_ALIGN. 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-02-20 Andreas Schwab * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold .IA64_unwind* in a relocatable link. 2002-02-20 Nick Clifton * NEWS: Mark 2.12 branch. 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-02-18 Tom Rix * emultempl/aix.em (gld*_parse_args): Add -brtl support. (gld*_before_allocation): Same. (gld*_create_output_section_statements): Generate __rtinit if run time linking. Add librtl.a to the link. (gld*_read_file): Clean. 2002-02-18 Alan Modra * emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define. 2002-02-18 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-18 Nick Clifton * po/tr.po: Updated version. 2002-02-18 Alan Modra * ld.texinfo (Output Section Fill): Fix amateur texinfo. (FILL): Likewise. 2002-02-17 Hans-Peter Nilsson * emultempl/mmo.em (mmo_after_open): Don't call _bfd_mmix_check_all_relocs when producing ELF output. 2002-02-15 Richard Henderson * emulparams/elf64alpha.sh (NOP): Adjust for big-endian definition. Emit a unop+nop pair. 2002-02-15 Hans-Peter Nilsson * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check for presence of .MMIX.reg_contents.linker_allocated before early exit. * NEWS: Mention support for MMIX. 2002-02-15 Alan Modra Support arbitrary length fill patterns. * ld.texinfo (Output Section Fill): Describe fill expressions. (FILL): Refer to the above. * ldexp.h (etree_value_type): Add "str" field. (union etree_union): Add "str" to "value" struct. (exp_bigintop): Declare. (exp_get_fill): Declare. * ldexp.c: Include "safe-ctype.h". (exp_intop): Set value.str to NULL. (exp_bigintop): New function. (new_rel): Pass in "str", and set new.str from it. (new_rel_from_section): Set new.str to NULL. (fold_name): Adjust calls to new_rel. (exp_fold_tree): Likewise. (exp_get_fill): New function. * ldgram.y (struct big_int bigint, fill_type *fill): New. (INT): Returns a "bigint". Adjust all code handling INTs. (fill_opt): Returns a "fill". (fill_exp): Split out of fill_opt, use for FILL. * ldlang.h (struct _fill_type): New. (fill_type): Move typedef to ldexp.h. (lang_output_section_statement_type): "fill" is now a pointer. (lang_fill_statement_type): Likewise. (lang_padding_statement_type): Likewise. (lang_add_fill): Now takes a "fill_type *" param. (lang_leave_output_section_statement): Likewise. (lang_do_assignments): Likewise. (lang_size_sections): Likewise. (lang_leave_overlay_section): Likewise. (lang_leave_overlay): Likewise. * ldlang.c: Include ldgram.h after ldexp.h. (lang_output_section_statement_lookup): Adjust for fill_type change. (print_fill_statement): Likewise. (print_padding_statement): Likewise. (insert_pad): Now takes a "fill_type *" arg. (size_input_section): Likewise. (lang_size_sections_1): Likewise. (lang_size_sections): Likewise. (lang_do_assignments): Likewise. (lang_add_fill): Likewise. (lang_leave_output_section_statement): Likewise. (lang_leave_overlay_section): Likewise. (lang_leave_overlay): Likewise. Adjust all callers of the above function. * ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers starting with "0X" as well as "0x". Return bigint.str for hex numbers starting with "0x" or "0X", zero bigint.str otherwise. Always use base 16 for numbers starting with "$". * ldmain.c: Include ldgram.h after ldexp.h. * ldwrite.c (build_link_order): Use bfd_data_link_order in place of bfd_fill_link_order. * pe-dll.c: Adjust lang_do_assignments calls. * emultempl/elf32.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust lang_add_assignment call. * emultempl/pe.em: Likewise. 2002-02-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-12 Jakub Jelinek * ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens. * ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens. (exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp). * ldexp.c (exp_data_seg): New variable. (exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END. (fold_binary): Handle DATA_SEGMENT_ALIGN. (exp_fold_tree): Handle DATA_SEGMENT_END. Pass allocation_done when recursing instead of hardcoding lang_allocating_phase_enum. * ldexp.h (exp_data_seg): New. * ldlang.c (lang_size_sections_1): Renamed from lang_size_sections. (lang_size_sections): New. * ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document. * scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END if COMMONPAGESIZE is defined. * emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K. * emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K. * emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K. * emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K. * emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared libraries only. 2002-02-11 Alan Modra * Makefile.in: Regenerate. 2002-02-10 Daniel Jacobowitz * lexsup.c: Remove strtoul declaration. 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-10 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-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: