3 * Makefile.am: Add PDP-11 target.
4 * configure.tgt: Likewise.
5 * emulparams/pdp11.sh: New file.
9 * configure.host: Add a generic FreeBSD configuration entry such that
10 all [modern] FreeBSD systems on all platforms will look the same.
14 * configure.tgt: Remove mention of earmelf_linux26.
18 * emulparams/elf64_ia64.sh (OTHER_GOT_SYMBOLS): Remove.
22 * ldexp.h (node_type): Add etree_provided.
23 * ldexp.c (exp_fold_tree): Handle etree_provided. Set the node
24 type to etree_provided if defined by PROVIDE. Allow updating
26 (exp_print_tree): Handle etree_provided.
27 * mpw-elfmips.c (gldelf32ebmip_find_exp_assignment): Handle
32 * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add
33 .IA_64.unwind.* pattern to unwind table section and
34 .IA_64.unwind_info* pattern to unwind info section.
38 * Makefile.am: Add linux target for S/390.
39 * Makefile.in: Likewise.
40 * configure.host: Likewise.
41 * configure.tgt: Likewise.
42 * emulparams/elf64_s390.sh: New file.
43 * emulparams/elf_s390.sh: New file.
47 * configure.tgt (sparc64-*-linux-gnu*): Add elf32_sparc into
49 (sparc-*-linux-gnu*): Add elf64_sparc into targ_extra_libpath.
53 * Makefile.am: Remove mention of earmelf_linux26.
54 * Makefile.in: Regenerate.
58 * emulparams/armelf_linux.sh (TEXT_START_ADDR): Set to 0x8000.
59 * emulparams/armelf_linux26.sh: Delete.
60 * configure.tgt: Remove mention of armelf_linux26 emulation.
64 * ld.1: Replace occurances of -oformat with --oformat.
68 * ldlang.c (lang_leave_overlay): Don't set lma_region when
69 load_base is specified.
73 * emultempl/elf32.em: Correct spelling in comments and listed
78 * ldlang.c (lang_leave_overlay): Only set lma_region from the
79 default for the first section of a group of overlay sections.
83 * Makefile.am (GENSCRIPTS): Pass exec_prefix.
84 * Makefile.in: Regenerate.
85 * genscripts.sh: Use exec_prefix parameter to specify tool lib.
86 Check for null tool_dir.
90 * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add IA_64.unwind
91 and IA_64.unwind.info.
95 * ldlang.c (lang_check): Merge the private data only if the
96 input file has contents.
100 * emulparams/hppalinux.sh (OUTPUT_FORMAT): Set to elf32-hppa-linux.
102 * emultempl/hppaelf.em (hppaelf_after_parse): New function,
103 enabling search for libmilli. On a relocatable link, make .text
105 (LDEMUL_AFTER_PARSE): Define.
106 (hppaelf_finish): Correct spelling of relocatable in comments.
108 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
109 rummage through the script for sections on the unique list.
110 Correct length of strncmp for ".note".
111 (gld${EMULATION_NAME}_check_needed): Rearrange function.
113 * ldlang.c (unique_section_list): New var.
114 (unique_section_p): New function.
115 (walk_wild_section): Don't match sections on unique_section_list.
116 (lang_add_unique): New function.
117 Correct spelling of relocatable in comments.
119 * ldlang.h (struct unique_sections): Declare.
120 (unique_section_list): Declare.
121 (unique_section_p): Declare.
122 (lang_add_unique): Declare.
124 * lexsup.c (ld_options): Allow --unique to take an optional arg.
125 (parse_args [OPTION_UNIQUE]): Call lang_add_unique.
127 * ld.texinfo (--unique): Update.
131 * lexsup.c (parse_args): Remove spurious white space.
135 * lexsup.c (parse_args): Update copyright date.
139 * configure.host: Set HOSTING_LIBS appropriately for ix86-cygwin.
143 * scripttempl/h8300.sc: Fix formatting. Fix a comment typo.
144 * scripttempl/h8300h.sc: Fix formatting.
145 * scripttempl/h8300s.sc: Likewise.
146 * scripttempl/h8500.sc: Likewise.
147 * scripttempl/h8500b.sc: Likewise.
148 * scripttempl/h8500c.sc: Likewise.
149 * scripttempl/h8500m.sc: Likewise.
150 * scripttempl/h8500s.sc: Likewise.
154 * emultempl/elf32.em: Only perform Linux ld hints processing when
159 * ld.texinfo (Bug Reporting): Update email address for reports.
163 * lexsup.c (parse_args): Set opterr to 0 and detect unparsed long
164 options by checking for a return value of '?' not -1.
168 * lexsup.c (struct ld_option): Add new enum value:
170 (ld_options[]): Change -omagic, -output and -oformat options
171 to be EXACTLY_TWO_DASHES.
172 (OUTPUT_COUNT): Use ARRAY_SIZE.
173 (parse_args): Change parameter 'argc' to unsigned.
174 Place EXACTLY_TWO_DASHES options into new really_longopts
176 If getopt_long_only fails, try calling getopt_long using the
177 really_longopts array.
178 (help): Print a double dash for both EXACTLY_TWO_DASHES and
181 * ldlex.h: Fix prototype of parse_args.
183 * ld.texinfo: Document that long options starting with 'o'
184 must be preceeded by two dashes. Change example of a single
185 dashed long option from -oformat to -trace-symbol.
189 * emultempl/pe.em (OPTION_NO_DEFAULT_EXCLUDES): Define.
190 (longopts[]): New --no-default-excludes option.
191 (gld_${EMULATION_NAME}_list_options): Document.
192 (gld_${EMULATION_NAME}_parse_args): Handle.
196 * ldlang.c (new_stat): Revert the last beautification with "innocent"
197 whitespace, it breaks the K&R C preprocessor.
201 * ld.texinfo: Add notes about --whole-archive and gcc.
205 * lexsup.c (OPTION_ALLOW_SHLIB_UNDEFINED): Define.
206 (ld_options): Entry for --allow-shlib-undefined.
207 (parse_args): Handle OPTION_ALLOW_SHLIB_UNDEFINED.
208 * ldmain.c (main): Initialize link_info.allow_shlib_undefined
210 * ld.texinfo: Document new command line switch.
214 * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS):
215 .fixup is actually read/write.
216 * emulparams/elf32lppc.sh (OTHER_READWRITE_SECTIONS): Likewise.
217 * emulparams/elf32ppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise.
218 * emulparams/elf32lppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise.
222 * NEWS: Add note about x86_64 architecture.
226 * scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end.
227 Set DWARF2 sections to a VMA of zero.
231 * configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*):
233 (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
234 (sparc*-*-rtems*): Switched from a.out to ELF.
238 * Makefile.am (ALL_EMULATIONS): Add eelf_x86_64.o
239 (eelf_x86_64.c): New.
240 * Makefile.in: Regenerate.
241 * configure.tgt: Add support for x86_64-*-linux-gnu*.
242 * emulparams/elf_x86_64.sh: New.
246 * emulparams/crislinux.sh (ENTRY): Change back to _start.
247 (TEXT_START_SYMBOLS): Remove conditional setting of __start.
249 * scripttempl/crisaout.sc: Change all RELOCATING not related to
250 merging non-a.out sections into CONSTRUCTING.
254 * ld.1 (COPYING): Mention that the GNU Free Documentation
255 License is present in the sources, but not the output, and
256 also available from the GNU website.
257 (GNU Free Documentation License): Comment out this section.
261 * emulparams/elf64alpha.sh (ENTRY): Remove leading underscore as ELF
266 * ld.1: Remove old date so it does not give the impression the manpage
271 * configure.tgt (xscale-coff): Add target.
272 (xscale-elf): Add target.
276 * ldmain.c (main): Remove redundant init of config.make_executable
281 * emulparams/elf64alpha.sh (MAXPAGESIZE): Typo -- 64k, not 1M.
285 * scripttempl/h8300.sc: Fix formatting.
286 * scripttempl/h8300h.sc: Likewise.
287 * scripttempl/h8300s.sc: Likewise.
291 * scripttempl/elf32avr.sc: Fix bug in .eeprom segment.
295 * emultempl/pe.em: Define ___start_SECNAME and ___stop_SECNAME
296 around orphan sections whose names can be represented in C.
300 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local
301 hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata.
305 * ld.texinfo: Add GNU Free Documentation License.
306 * ldint.texinfo: Add GNU Free Documentation License.
307 * ld.1: Add GNU Free Documentation License.
311 * ldlex.l (yy_create_string_buffer): Init yy_is_our_buffer,
312 yy_is_interactive, yy_at_bol, and yy_fill_buffer.
314 * Makefile.am (DISTCLEANFILES): Add stringify.sed.
315 Move 2000-11-02 Makefile.in changes to this file.
316 * Makefile.in: Regenerate.
320 * scripttempl/h8300.sc: Use ${CONSTRUCTING...} to enclose
321 constructors and destructors.
322 * scripttempl/h8300h.sc: Ditto.
323 * scripttempl/h8300s.sc: Ditto.
324 * scripttempl/h8500.sc: Ditto.
325 * scripttempl/h8500b.sc: Ditto.
326 * scripttempl/h8500c.sc: Ditto.
327 * scripttempl/h8500m.sc: Ditto.
328 * scripttempl/h8500s.sc: Ditto.
329 * scripttempl/v850.sc: Ditto.
330 * scripttempl/w65.sc: Ditto.
331 * scripttempl/z8000.sc: Ditto.
335 * Makefile.in (e_i386_chaos.c): New rule.
336 (ALL_EMULATIONS): Added e_i386_chaos.o.
337 * emulparams/elf_i386_chaos.sh: New file.
338 * configure.tgt: Recognise i[3456]86-chaosdev-storm-chaos.
342 * emulparams/elf64_sparc.sh (TEXT_START_ADDR,
343 NONPAGED_TEXT_START_ADDR): Set to 4GB for Solaris targets.
344 Fix sed invocation, so that it coped with '/' in Solaris 64bit
350 * scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32),
351 for consecutive sections.
355 * lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific
357 * ld.texinfo: Added notes about this new option.
361 * emultempl/pe.em (_after_open): Add tests of return values from
362 bfd functions. Emit appropriate error messages if necessary.
366 * emultempl/pe.em (_after_open): Delete 'is2' and 'nsyms'
367 local variables - they are not used, but leave in the call to
368 bfd_canonicalize_symtab.
369 (_open_dynamic_archive): Add #ifdef DLL_SUPPORT around use of
370 pe_dll_search_prefix.
374 * emultempl/pe.em (pe_dll_search_prefix): New variable,
375 (longopts): New --dll-search-prefix option.
376 (gld_${EMULATION_NAME}_list_options): Document.
377 (gld_${EMULATION_NAME}_parse_args): Handle.
378 (gld_${EMULATION_NAME}_open_dynamic_archive): When linking
379 dynamically, search for a dll named '<prefix><basename>.dll'
380 in preference to 'lib<basename>.dll' if --dll-search-prefix
385 * ldlang.c (section_already_linked): Set kept_section instead of
390 * deffile.h: Fix formatting.
391 * lexsup.c: Likewise.
396 * pe-dll.c (make_one): Do not generate code thunk for DATA
398 (process_def_file): deduce DATA flag for auto-export sumbols.
402 * ld.h: Fix formatting.
403 * ldcref.c: Likewise.
404 * ldctor.h: Likewise.
405 * ldemul.c: Likewise.
406 * ldemul.h: Likewise.
409 * ldfile.c: Likewise.
410 * ldfile.h: Likewise.
411 * ldlang.c: Likewise.
412 * ldlang.h: Likewise.
413 * ldmain.c: Likewise.
414 * pe-dll.c: Likewise.
416 * pe-dll.c: Revert some formatting fixes.
420 * pe-dll.c: Fix formatting.
424 * ldlang.c: Fix formatting.
428 * pe-dll.c (fill_edata): initialize entire block
429 (make_one): fill in correct section.
433 * ldexp.c: Fix formatting.
437 * emultempl/pe.em (gld_*_after_open): detect case where there two
438 import libraries for same dll; rename one to ensure proper link
441 * pe-dll.c (process_def_file): compare ordinals to -1, not 0; fix
443 (generate_edata): fix typo
447 * scripttempl/crisaout.sc (ENTRY): Now __start.
448 (.text): Add default setting for __start.
449 Remove CONSTRUCTORS handling.
450 (/DISCARD/): Add .gnu.warning.*.
451 * emulparams/crislinux.sh (ENTRY): Now __start.
452 (TEXT_START_SYMBOLS): New; provide __Stext and __start default.
453 * emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris.
454 (ENTRY): Now __start.
455 (INITIAL_READONLY_SECTIONS): Add KEEP for .startup.
456 (EXECUTABLE_SYMBOLS): Add default setting for __start.
460 * deffile.h: Fix formatting.
462 * ldcref.c: Likewise.
463 * ldctor.c: Likewise.
464 * ldctor.h: Likewise.
465 * ldemul.c: Likewise.
466 * ldemul.h: Likewise.
469 * ldfile.c: Likewise.
470 * ldfile.h: Likewise.
471 * ldlang.c: Likewise.
472 * ldlang.h: Likewise.
473 * lexsup.c: Likewise.
475 * pe-dll.c: Likewise.
479 * pe-dll.c (process_def_file): Uninitialized data wasn't
480 exported with --export-all-symbols switch.
484 * pe-dll.c (fill_edata): rearrange the data so that ordinals and
485 noname work properly.
489 * ld.texinfo (HPPA ELF32): New section.
491 * emultempl/hppaelf.em (group_size): New.
492 (hppaelf_finish): Pass group_size to elf32_hppa_size_stubs.
493 (PARSE_AND_LIST_PROLOGUE): Add OPTION_STUBGROUP_SIZE.
494 (PARSE_AND_LIST_LONGOPTS): Add --stub-group-size. Duplicate
495 options to prevent abbreviations matching.
496 (PARSE_AND_LIST_OPTIONS): Describe the above. Reformat.
497 (PARSE_AND_LIST_ARGS_CASES): Handle it.
501 * emultempl/m68kelf.em: Conditionalise the embedded relocs feature
502 on the m68*-*-elf target. Make it support COFF input objects.
506 * ldmain.c: Fix formatting.
507 * ldmisc.c: Likewise.
509 * ldwrite.c: Likewise.
513 * ldwrite.c (clone_section): Silence gcc warnings.
517 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Handle
518 out of memory failure.
520 * ldwrite.c (ldwrite): Remove unnecessary einfo arg.
521 (clone_section): Handle out of memory failures. Rename var to
522 avoid c++ reserved word.
526 * emultempl/hppaelf.em (hppaelf_add_stub_section): Rename
527 stub_name param to stub_sec_name.
528 (hppaelf_finish): Modify call to elf32_hppa_size_stubs.
532 * emultempl/m68kelf.em: New file.
533 * emulparams/m68kelf.sh (EXTRA_EM_FILE): Use it.
534 * Makefile.am (em68kelf.c): Add dependency on m68kelf.em.
535 * Makefile.in: Regenerate.
539 * emulparams/hppalinux.sh (DATA_START_SYMBOLS): Provide $global$
544 * ldmain.c (multiple_definition): Disable relaxation if
545 multiple symbol definitions are encountered - otherwise the
546 linker could abort with an assertion failure.
550 * mri.c: Fix formatting.
554 * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
555 * configure: Rebuild.
559 * Makefile.am (lexsup.o): Also depend on $(INCDIR)/demangle.h.
560 * Makefile.in: Rebuild.
564 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix
565 broken list handling. Create __start_SECNAME and __stop_SECNAME
566 when no place-holder. Add some comments. Test both SEC_CODE and
567 SEC_READONLY for hold_text to prevent .rodata orphan poisoning.
568 Handle case where no output section statement created.
572 * configure.tgt (sh-*-linux*): Added.
573 * Makefile.am: Added eshelf_linux and eshlelf_linux.
574 * Makefile.in: Rebuilt.
575 * emulparams/shelf_linux.sh: New file.
576 * emulparams/shlelf_linux.sh: New file.
580 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
581 try shuffling sections when the orphan happens to be the place
582 holder. Keep count of unique section names generated so we speed
583 the search for a new name.
587 * configure: Rebuilt with new libtool.m4.
591 * Makefile.in: Regenerate.
592 * aclocal.m4: Regenerate.
593 * configure: Regenerate.
594 * config.in: Regenerate.
595 * po/ld.pot: Regenerate.
597 * ldint.texinfo: Remove CVS revision marker - it foils local
600 * emultempl/ticoff.em: Remove extraneous comma.
604 * emultempl/hppaelf.em (hppaelf_add_stub_section): Add SEC_RELOC
605 to stub section flags.
606 (hppa_for_each_input_file_wrapper): New.
607 (hppa_lang_for_each_input_file): New.
608 (lang_for_each_input_file): Define to call above.
609 (multi_subspace): New.
610 (hppaelf_finish): Pass multi_subspace to elf32_hppa_size_stubs.
611 (PARSE_AND_LIST_PROLOGUE): Define.
612 (PARSE_AND_LIST_LONGOPTS): Define.
613 (PARSE_AND_LIST_OPTIONS): Define.
614 (PARSE_AND_LIST_ARGS_CASES): Define.
615 (hppaelf_finish): Call elf32_hppa_set_gp.
616 (hppaelf_set_output_arch): Remove.
617 (LDEMUL_SET_OUTPUT_ARCH): Remove.
619 * emulparams/hppalinux.sh (ELFSIZE): Define.
621 (OTHER_READONLY_SECTIONS): Define.
623 (GENERATE_SHLIB_SCRIPT): Define.
625 * ldlang.c: Add missing prototypes, and tidy others. Change CONST
626 to const throughout. Change `void *' to `PTR' throughout.
627 (lang_memory_default): Function is local to file, add `static'.
629 * Makefile.am (ehppaelf.c): Depend on emultempl/elf32.em.
630 (ehppalinux.c): Likewise.
631 (earmelf.c): Likewise.
632 (earmelf_linux.c): Likewise.
633 (earmelf_linux26.c): Likewise.
634 * Makefile.in: Regenerate.
636 * ld.h (ld_config_type): Add unique_orphan_sections.
637 * lexsup.c (OPTION_UNIQUE): Define.
638 (ld_options): Add "--unique".
639 (parse_args): Handle it.
640 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
641 search for an existing output section if unique_orphan_sections is
642 set. Make use of bfd_get_unique_section_name rather than
643 duplicating code here.
644 * ld.texinfo: Describe --unique.
646 * lexsup.c (ld_options): Make split-by-reloc arg optional. Add
647 optional arg to split-by-file.
648 (parse_args): Handle them.
649 * ld.texinfo: Update description of these options.
650 * ldwrite.c (clone_section): Pass in the section name. Replace
651 local code with bfd_get_unique_section_name.
652 (split_sections): Tidy code and comments. Use a list traversal
653 more appropriate to the list construction. Handle cooked section
654 sizes. Split when split_by_reloc reached rather than exceeded.
655 Track section size and split when split_by_file reached. Fix
656 link_order_tail (even though it's not used).
657 (ldwrite): Modify condition for calling split_sections to suit
658 changed split_by_reloc and split_by_file.
659 * ldmain.c (main): Init config.split_by_reloc and
660 config.split_by_file to -1.
661 * ld.h (ld_config_type): Change split_by_reloc to unsigned.
662 Change split_by_file to bfd_size_type.
666 * configure.in: Increase version number to 2.10.91.
667 * NEWS: Mention new ability to support removal of duplicate DWARF2
669 * configure: Regenerate.
670 * aclocal.m4: Regenerate.
671 * config.in: Regenerate.
675 * scripttempl/elf.sc: Add .gnu.linkonce.wi.* to .debug_info
677 * scripttempl/elf32var.sc: Ditto.
678 * scripttempl/elfd10v.sc: Ditto.
679 * scripttempl/elfd30v.sc: Ditto.
680 * scripttempl/elfi370.sc: Ditto.
681 * scripttempl/elfm68hc11.sc: Ditto.
682 * scripttempl/elfm68hc12.sc: Ditto.
683 * scripttempl/elfi386beos.sc: Ditto.
684 * scripttempl/v850.sc: Ditto.
688 * acinclude.m4: Include libtool and gettext macros from the
690 * aclocal.m4, configure: Rebuilt.
694 * ldlang.c (open_output): When choosing the target for a
695 particular endianness, do nothing if the target is not
700 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
701 check -rpath nor LD_RUN_PATH for cross link.
702 * ld.texinfo: Document the change.
706 * NEWS: Mention support for CRIS.
710 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get
711 the current runpath list from bfd_elf_get_runpath_list ()
716 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search
717 the DT_RPATH/DT_RUNPATH entries for DT_NEEDED after
718 LD_LIBRARY_PATH for native linker. Display the needed DSO if
719 trace_file_tries is non-zero.
720 (gld${EMULATION_NAME}_try_needed): Report the needed DSO found
721 if trace_file_tries is non-zero.
723 * ld.texinfo: Document the usage of DT_RPATH/DT_RUNPATH.
728 * NEWS: Mention i860 support.
732 * scripttempl/elf.sc: Fix last change to use correct comment
737 * scripttempl/elf.sc: Add a comment giving the correspondence
738 between sections, per-datum sections, and linkonce sections. Make
739 the comment true even for .bss, .sdata, .sdata2, .sbss, and
744 * emulparams/elf32_i860.sh: New file.
745 * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}.
746 * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o.
747 (eelf32_i860.c): New rule.
748 * Makefile.in: Regenerate.
752 * emulparams/mipspe.sh (ENTRY): Add definition.
756 * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath
761 * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate
762 the final size of .bss section.
763 * scripttempl/elfm68hc12.sc: Likewise.
767 * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to
768 gld${EMULATION_NAME}_parse_args for consistency. Combine
769 lastoptind and prevoptind vars, and keep track of last optind.
770 (gld_${EMULATION_NAME}_list_options): Rename to
771 gld${EMULATION_NAME}_list_options.
775 * configure.tgt: Select targ_emul=elf_i386 for Unixware 7
776 (i586-sco-sysv5uw7.1.0).
780 * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed.
781 (PARSE_AND_LIST_PROLOGUE): New.
782 (PARSE_AND_LIST_LONGOPTS): Likewise.
783 (PARSE_AND_LIST_OPTIONS): Likewise.
784 (PARSE_AND_LIST_ARGS_CASES): Likewise.
785 (PARSE_AND_LIST_EPILOGUE): Likewise.
789 * emultempl/armelf.em: Elide functions common to elf32.em,
790 ie. most of the file.
791 (arm_elf_after_open): New. Do arm specific things then call
792 gld${EMULATION_NAME}_after_open.
793 (arm_elf_before_allocation): New. Call
794 gld${EMULATION_NAME}_before_allocation then do arm specifics.
795 (PARSE_AND_LIST_PROLOGUE): Define.
796 (PARSE_AND_LIST_SHORTOPTS): Define.
797 (PARSE_AND_LIST_LONGOPTS): Define.
798 (PARSE_AND_LIST_OPTIONS): Define.
799 (PARSE_AND_LIST_ARGS_CASES): Define.
800 (LDEMUL_AFTER_OPEN): Define.
801 (LDEMUL_BEFORE_ALLOCATION): Define.
802 (LDEMUL_BEFORE_PARSE): Define.
803 (LDEMUL_FINISH): Define.
805 * emultempl/hppaelf.em: Similarly zap most of this file.
806 (hppaelf_add_stub_section): Prototype.
807 (hppaelf_layaout_sections_again): Prototype.
808 (hook_in_stub): Prototype.
809 (LDEMUL_SET_OUTPUT_ARCH): Define.
810 (LDEMUL_FINISH): Define.
811 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
813 * emulparams/armelf.sh (TEMPLATE_NAME): Use elf32.
814 (EXTRA_EM_FILE): New.
815 * emulparams/armelf_linux.sh: Likewise.
816 * emulparams/armelf_linux26.sh: Likewise.
817 * emulparams/hppalinux.sh: Likewise.
818 * emulparams/hppaelf.sh: Likewise.
821 * emultempl/elf32.em: Fix formatting.
822 (EXTRA_EM_FILE): Source it.
823 (LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL,
824 LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION,
825 LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET,
826 LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH,
827 LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS,
828 LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN,
829 LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE,
830 LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE,
831 LDEMUL_FIND_POTENTIAL_LIBRARIES): New shell vars. Add code to
832 allow functions in this file to be overridden.
833 (PARSE_AND_LIST_SHORTOPTS): Handle it.
835 * emultempl/m68kcoff.em: Include ldfile.h before ldemul.h.
837 * emultempl/elf32.em: Reorganize file.
841 * emulparams/elf64alpha.sh: Implement "-taso" emulation
842 specific option to fit 64-bit executable in the lower
843 31-bit address range. This is done by changing start
844 address of .interp (the very first section of executable)
845 and then setting EF_ALPHA_32BIT elf header flag.
849 * emultempl/m68kcoff.em: New file.
850 * emulparams/m68kcoff.sh (TEMPLATE_NAME): Use m68kcoff template.
851 * Makefile.am (em68kcoff.c): Depend on m68kcoff.em rather than
853 * Makefile.in: Regenerate.
857 * emultempl/elf32.em (longopts): Duplicate "disable-new-dtags"
858 and "disable-new-dtags" to stop getopt from treating -d/-e as
859 abbreviations for these options.
863 * ld.texinfo: Add documentation for --disable-new-dtags and
866 * ldmain.c (main): Initialize link_info.new_dtags to false.
868 * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
869 --disable-new-dtags and --enable-new-dtags.
870 (gld_${EMULATION_NAME}_list_options): Likewise.
874 * ld/lexsup.c: Add optional style to demangle switch
875 * ld/ld.texinfo: Document optional style to demangle switch.
879 * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
881 (ecrisaout.c, ecriself.c, ecrislinux.c): New rules.
882 Regenerate dependencies.
883 * Makefile.in: Rebuild.
884 * configure.tgt (cris-*-*): New target.
885 * emulparams/crisaout.sh, emulparams/criself.sh,
886 emulparams/crislinux.sh, scripttempl/crisaout.sc: New files.
887 * po/POTFILES.in, po/ld.pot: Regenerate.
891 * emultempl/elf32.em (gld_${EMULATION_NAME}_list_options):
892 Print out ignored -z options.
896 * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed.
897 (PARSE_AND_LIST_PROLOGUE): New.
898 (PARSE_AND_LIST_LONGOPTS): Likewise.
899 (PARSE_AND_LIST_OPTIONS): Likewise.
900 (PARSE_AND_LIST_ARGS_CASES): Likewise.
902 * ldmain.c (main): Clear link_info.flags and link_info.flags_1.
904 * lexsup.c (ld_options): Comment out 'z'.
905 (parse_args): Likewise.
907 * emultempl/elf32.em: Include "elf/common.h".
908 (gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
910 (gld_${EMULATION_NAME}_list_options): Likewise.
912 * ld.texinfo: Add documentation for the recognized -z options.
916 * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call
917 bfd_elf_set_dt_needed_soname ().
921 * pe-dll.c (pe_dll_id_target): check object target name also
925 * scripttempl/elf.sc (.init): Only do ${INIT_START} and
926 ${INIT_END} if relocating.
927 (.fini): Likewise ${FINI_START} and ${FINI_END}.
931 * src/ld/emultempl/pe.em (gld_*_open_dynamic_archive): New search
932 order for dynamic library '-lfoo' on pei386: libfoo.dll.a,
933 foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility
934 errors introduced by the old dynamic lib search order.
938 * pe-dll.c (process_def_file): auto-export data items also
939 (pe_process_import_defs): also see if _imp_ form needed
943 * pe-dll.c (make_one): fix a typo in the __imp_ name decoration
944 for dll import libraries
948 * scripttempl/i386go32.sc: Support the g++ attribute init_priority in
949 gcc 2.95.2 and later.
953 * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
958 * ldemul.h (struct lang_input_statement_struct): Remove forward
960 (struct search_dirs): Likewise.
961 * ldfile.h (struct lang_input_statement_struct): Likewise.
962 Protect file from multiple inclusion.
963 * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Move file_chain
964 declaration from macro to file scope.
966 * ldemul.c: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order.
967 * ldgram.y: Likewise here.
968 * ldlang.c: And here.
969 * ldmain.c: And here.
970 * mpw-elfmips.c: And here.
971 * mpw-eppcmac.c: And here.
972 * emultempl/aix.em: And here.
973 * emultempl/armcoff.em: And here.
974 * emultempl/armelf.em: And here.
975 * emultempl/armelf_oabi.em: And here.
976 * emultempl/beos.em: And here.
977 * emultempl/elf32.em: And here.
978 * emultempl/hppaelf.em: And here.
979 * emultempl/linux.em: And here.
980 * emultempl/lnk960.em: And here.
981 * emultempl/pe.em: And here.
982 * emultempl/sunos.em: And here.
983 * mpw-esh.c: And here. Include ldexp.h and ldlang.h too.
984 * mpw-idtmips.c: Ditto.
985 * emultempl/generic.em: Ditto.
986 * emultempl/gld960.em: Ditto.
987 * emultempl/gld960c.em: Ditto.
988 * emultempl/mipsecoff.em: Ditto.
989 * emultempl/ticoff.em: Ditto.
990 * emultempl/vanilla.em: Ditto.
992 * pe-dll.c: Include ldfile.h
993 * ldver.c: Include ldexp.h, ldlang.h, ldfile.h
995 * mpw-elfmips.c: (gldelf32ebmip_before_allocation): Add missing
996 arguments to bfd_elf32_size_dynamic_sections call.
997 (gldelf32ebmip_place_orphan): Add missing arguments to
998 lang_leave_output_section_statement call.
1002 * emultempl/pe.em (pe_enable_stdcall_fixup): Protect with
1004 (strhash): Likewise.
1005 (compute_dll_image_base): Likewise.
1006 (pe_undef_found_sym): Likewise.
1007 (pe_undef_cdecl_match): Likewise.
1008 (gld_${EMULATION_NAME}_open_dynamic_archive): Mark the
1009 argument "arch" with ATTRIBUTE_UNUSED.
1013 * configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
1016 * ldwrite.c (SSIZE): Remove to cure macro redefinition warning.
1020 Changes to create multiple linker stubs, positioned immediately
1021 before the section where they are required.
1022 * emultempl/hppaelf.em: Include elf32-hppa.h.
1023 (stub_sec, file_chain): Delete.
1024 (hppaelf_create_output_section_statements): Don't make a stub
1026 (hook_stub_info): New struct.
1027 (hook_in_stub): New function.
1028 (hppaelf_add_stub_section): New function.
1029 (hppaelf_finish): Do nothing for relocateable links. Modify the
1030 call to elf32_hppa_size_stubs. Move code for updating section
1032 (hppaelf_layaout_sections_again): ..to here, a new function.
1034 * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix
1035 broken list handling. Pass in a pointer to the list.
1036 (hppaelf_finish): Update call to hppaelf_delete_padding_statements
1038 (hppaelf_before_parse): Prototype.
1039 (hppaelf_set_output_arch): Prototype.
1040 (hppaelf_create_output_section_statements): Prototype.
1041 (hppaelf_delete_padding_statements): Prototype.
1042 (hppaelf_finish): Prototype.
1045 * emultempl/hppaelf.em: Include ctype.h.
1046 (struct orphan_save): New.
1047 (gld${EMULATION_NAME}_place_orphan): New.
1048 (output_rel_find): New.
1049 (hppaelf_get_script): Update from elf32.em.
1050 (ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation.
1051 Change emulation_name field to "${EMULATION_NAME}". Add
1052 gld${EMULATION_NAME}_place_orphan.
1054 * Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o, add
1055 ehppalinux.o, sort it. Regenerate dependencies.
1056 (ehppalinux.c): Depend on hppaelf.em
1057 * Makefile.in: Regenerate.
1059 * configure.tgt: targ_emul=hppalinux for hppa*linux
1061 * emulparams/hppalinux.sh: New.
1062 * emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex.
1066 * lexsup.c (parse_args): Copy section name.
1070 * emultempl/pe.em: institute the following search order for
1071 dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
1072 libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
1073 static lib (libfoo.a) if none of the above are found.
1077 * emultempl/pe.em (pe_enable_auto_image_base): New variable.
1078 (longopts): New --{enable,disable}-auto-image-base options.
1079 (gld_${EMULATION_NAME}_list_options): Document.
1080 (gld_${EMULATION_NAME}_parse): Handle.
1081 (strhash): New static function.
1082 (compute_dll_image_base): New static function.
1083 (gld_${EMULATION_NAME}_set_symbols): Use.
1091 * configure.tgt: Add traditional mips (mips*-*-sysv4*) target.
1092 * emulparams/elf32btsmip.sh: New file.
1093 * Makefile.am: Add traditional mips target.
1094 * Makefile.in: Rebuild.
1098 * Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for
1099 automake to use YLWRAP.
1100 * Makefile.in: Rebuild.
1104 * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
1105 (CLEANFILES): Add DEPA.
1106 * Makefile.in: Regenerate.
1108 2000-06-30 Timothy Wall <twall@ppc>
1110 * scripttempl/tic54xcoff.sc: PAGE N is not implemented, so encode
1111 the page in the upper octet of the address.
1115 * emulparams/avrmega161.sh (ARCH): Change to avr:5.
1119 * NEWS: arm-elf does --gc-sections too.
1123 * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
1125 * Makefile.in: Regenerate.
1129 * Makefile.am: Rebuild dependency.
1130 * Makefile.in: Rebuild.
1134 * Makefile.am: Rebuild dependency.
1135 * Makefile.in: Rebuild.
1139 * scripttempl/tic54xcoff.sc: New.
1140 * ldlang.c (wild_doit): Propagate SEC_BLOCK flag.
1141 * gen-doc.texi: Add flag for TI COFF.
1142 * ld.texinfo: Add documentation for TI COFF handling switches.
1143 * emultempl/ticoff.em: New. TI COFF handling.
1144 * configure.tgt: Add tic54x target.
1145 * Makefile.am: Add tic54x target.
1146 * Makefile.in: Ditto.
1150 * ldmain.c (set_scripts_dir): Correct pointer comparison when
1151 checking for backslashes.
1155 * NEWS: Move entries not in 2.10 above "Changes in version 2.10".
1159 * NEWS: Update list of targets supporting --gc-sections.
1161 * scripttempl/elf.sc: KEEP .eh_frame contents.
1162 * scripttempl/elfd30v.sc: Same here.
1166 * Makefile.am (ALL_EMULATIONS): Added new emulation for m68hc12
1168 * Makefile.in: Rebuild.
1169 * configure.tgt: Recognize m68hc12 and m68hc11.
1170 * scripttempl/elfm68hc12.sc: New file.
1171 * emulparams/m68hc12elfb: New emulation.
1172 * emulparams/m68hc12elf: New emulation.
1173 * emulparams/m68hc11elfb.sh: New file. User configurable emulation
1174 (includes a memory.x script to define the ROM and RAM banks).
1175 * scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh:
1176 New configuration files for support of Motorola 68hc11
1180 * ldmain.c (main): Only change SEC_READONLY for final link.
1184 * configure: Regenerate.
1188 * configure.in (VERSION): Update to show this is the CVS mainline.
1192 * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all
1193 input objects to be ECOFF.
1194 (check_sections): einfo takes %B, not %P, to print a BFD name.
1198 * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in
1201 * ldlex.l (V_IDENTIFIER): Accept `::' in symbols.
1205 * emulparams/avr1200.sh (STACK): Define as 0.
1206 * emulparams/avr23xx.sh (STACK): Define as last internal SRAM address.
1207 * emulparams/avr4433.sh (STACK): Likewise.
1208 * emulparams/avr44x4.sh (STACK): Likewise.
1209 * emulparams/avr85xx.sh (STACK): Likewise.
1210 * emulparams/avrmega103.sh (STACK): Likewise.
1211 * emulparams/avrmega161.sh (STACK): Likewise.
1212 * emulparams/avrmega603.sh (STACK): Likewise.
1213 * scripttempl/elf32avr.sc (__data_start): Define for gcrt1.
1214 (__stack): Define from ${STACK} for main().
1218 * Makefile.am: Update dependencies with "make dep-am"
1219 * Makefile.in: Regenerate.
1223 * ldmain.c: Include filenames.h.
1224 (set_scripts_dir): Support backslashes in program name.
1228 * ldmain.c (main): When deciding if ".text" section should be
1229 read-only, don't forget to reset SEC_READONLY because it
1230 could be already set.
1234 * ld.1: Add documentation for new command line option:
1235 --section-start <sectionname>=<sectionorg>
1236 This is a generic version of -Ttext etc. which accepts
1237 any section name as a parameter instead of just text/data/
1239 * ld.texinfo: More docs.
1241 * lexsup.c: (parse_args): Recognize new command line option.
1242 (ld_options): Add new option.
1246 * lexsup.c (parse_args): `i' == `r', not `q'.
1250 * configure.tgt (hppa*64*-*-*): Enable PA64 target.
1255 Add support for '-q' == '--emit-relocs' switch.
1256 * ldmain.c (main): Default to false.
1257 * lexsup.c (parse_args): Turn on emitrelocations flag if set.
1258 * NEWS: Describe the emitrelocations switch.
1259 * ld.texinfo: Describe the emitrelocations switch.
1263 * ld/emultempl/pe.em (_open_dynamic_archive): New function: Search
1264 the library path for "foo.dll" and "libfoo.dll" dynamic libraries
1265 before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo'
1270 * lexsup.c (parse_args): Update the year in the copyright notice.
1274 * ld.h (gettext, dgettext, dcgettext, textdomain, bindtextdomain):
1275 Replace defines with those from intl/libgettext.h to quieten gcc
1280 * ldlang.c (open_input_bfds): Don't load the same file within
1281 a group again if the whole archive has been loaded already.
1286 * lexsup.c (set_section_start): Use bfd_scan_vma rather than
1291 * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}.
1293 * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1294 host "ia64-*-linux-gnu*".
1298 * ld.h: Correctly check GCC version.
1302 * Makefile.am: Add PA64 support. Add missing dependencies for
1304 * Makefile.in: Rebuilt.
1305 * configure.tgt: Add PA64 support (currently disabled).
1309 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete.
1310 (output_rel_find): New function.
1311 (hold_section, hold_use): Delete.
1312 (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
1313 hold_interp): Make local to place_orphan.
1314 (gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find
1315 rather than place_section to find possible previous use of orphan.
1316 Similarly find the place-holder output sections. Use returned
1317 value from lang_enter_output_section_statement rather than calling
1318 lang_output_section_statement_lookup.
1319 * emultempl/armelf.em: Same here.
1320 * emultempl/pe.em: Similar to above, but no need for output_rel_find.
1322 * ldlang.c (lang_enter_output_section_statement): Return output
1324 * ldlang.h (lang_enter_output_section_statement): Change
1327 * ldlang.h (lang_output_section_statement): Export it.
1328 * ldlang.c (lang_output_section_statement): Ditto.
1332 * ld.texinfo (Output Section Data): Add note that section data
1333 commands cannot appear outside of section directives.
1337 * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support.
1342 * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o.
1343 (eelf64_ia64.c): New rule.
1344 * Makefile.in: Rebuild.
1345 * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets.
1346 * emulparams/elf64_ia64.sh: New file.
1350 * scripttempl/elfd30v.sc: Place .gcc_except_table.
1354 * dep-in.sed: Match space at start of file name, not at end.
1358 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
1359 lang_leave_output_section_statement () after calling
1360 lang_enter_output_section_statement ().
1361 * emultempl/armelf.em: Likewise.
1365 * emultempl/elf32.em (struct orphan_save): Add section field.
1366 (gld${EMULATION_NAME}_place_orphan): Use above to keep sections in
1367 better order, and place first orphan section as we did before the
1368 2000-04-12 patch. Ignore ~SEC_ALLOC sections when choosing place.
1369 Don't call make_bfd_section here, let wild_doit do the job for us.
1370 Don't build a statement list when we'll only throw it away.
1371 * emultempl/armelf.em: Ditto.
1372 * emultempl/pe.em: Similarly.
1376 * scripttempl/elfppc.sc: Remove.
1377 * emulparams/elf32ppc.sh: Use elf.sc.
1378 * emulparams/elf32lppc.sh: Use elf.sc.
1379 * emulparams/elf32ppclinux.sh: Use elf.sc.
1380 * emulparams/elf32ppcsim.sh: New file.
1381 * emulparams/elf32lppcsim.sh: New file.
1382 * Makefile.am: Update dependencies. Add elf32ppcsim ad elf32lppcsim.
1383 (ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim.
1384 * Makefile.in: Regenerate.
1385 * configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim.
1389 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process
1390 ~SEC_ALLOC sections too. Init start address of debug sections.
1391 * emultempl/armelf.em (gld${EMULATION_NAME}_place_orphan): Ditto.
1392 * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Ditto.
1393 Also set all relocateable section start addresses.
1397 * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections.
1398 Add new BSS_PLT variable for when .plt need not be contained in
1399 the file. Move _etext so that it is also after .fini, and provide
1400 both etext and _etext with a leading underscore. Mark the start
1405 * emultempl/elf32.em (struct orphan_save): New.
1406 (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
1407 hold_interp): Make them struct orphan_save.
1408 (gld${EMULATION_NAME}_place_section): Modify for new hold_*.
1409 (gld${EMULATION_NAME}_place_orphan): Add new orphan sections to
1410 the end of the relevant section list. Also add associated section
1411 statements to the end of any previous orphan statements.
1412 * emultempl/armelf.em: Similarly.
1413 * emultempl/pe.em: Similarly.
1417 * ld.texinfo (Simple Example): Remove extraneous paragraph.
1421 * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
1422 --enable-build-warnings option.
1423 * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
1424 * Makefile.in, configure: Re-generate.
1428 * po/ld.pot: Regenerate.
1430 * lexsup.c (help): Restore translated part of bug string.
1432 * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
1433 (DEP): Quote when passing vars to sub-make. Add warning message
1435 (DEP1): Rewrite for "gcc -MM".
1436 (CLEANFILES): Add DEP2.
1437 Update dependencies.
1438 * Makefile.in: Regenerate.
1442 * ld.h: #include "bin-bugs.h"
1443 * lexsup.c (help): Use REPORT_BUGS_TO.
1447 * configure.tgt (avr-*-*): New target support.
1448 * Makefile.am: Likewise.
1449 * scripttempl/elf32avr.sc: New script file.
1450 * emulparams/avr1200.sh: New file.
1451 * emulparams/avr23xx.sh: New file.
1452 * emulparams/avr4433.sh New file.
1453 * emulparams/avr44x4.sh New file.
1454 * emulparams/avr85xx.sh New file.
1455 * emulparams/avrmega103.sh New file.
1456 * emulparams/avrmega161.sh New file.
1457 * emulparams/avrmega603.sh New file.
1458 * Makefile.in: Regenerate.
1462 * Makefile.am (check-DEJAGNU): Also unset LANG.
1463 * Makefile.in: Rebuild.
1467 * ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty
1472 * emulparams/elf32mcore.sh: Include "getopt.h".
1476 * configure.tgt: Remove *-*-aout, *-*-coff, and *-*-netware.
1480 * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR.
1481 * emulparams/shpe.sh: Likewise.
1485 * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED
1486 to unused parameters.
1488 * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static
1489 functions only used by DLL code.
1490 (_place_orphan): Initialise 'dollar'.
1494 * ldmain.c (undefined_symbol): Take one more arg, fatal, to
1495 indicate if the undefined symbol is a fatal error or not.
1496 Don't delete the output file if "fatal" is false.
1500 * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)".
1501 Set LC_COLLATE and LC_ALL to null and export them. It is for
1502 sort which expects the C locale.
1503 Add $(LIBS) to all $(HOSTING_LIBS).
1504 * Makefile.in: Rebuild.
1508 * emultempl/{aix.em, armcoff.em, armelf.em, armelf_oabi.em,
1509 beos.em, elf32.em, generic.em, gld960.em, gld960c.em, hppaelf.em,
1510 linux.em, lnk960.em, mipsecoff.em, sunos.em, vanilla.em}
1511 (ld_emulation_xfer_struct): Add missing NULL initialiser for
1512 find_potential_libraries.
1516 * ldgram.y (exclude_name_list): Don't require a comma to separate
1517 list entries; the lexer considers commas to be valid part of a
1518 filename, so in something like `foo, bar' the comma is considered
1519 part of the first filename, `foo,'.
1520 * ld.texinfo: Update section on EXCLUDE_FILE lists.
1524 * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1525 host "i[3456]86-*-freebsdelf*".
1529 * scripttempl/i386go32.sc: Move misplaced semicolons.
1533 * Makefile.am (ALL_EMULATIONS): Remove ehppaelf.o.
1534 (ALL_64_EMULATIONS): Remove eelf64hppa.o.
1535 (eelf64hppa.c, ehppaelf.c): Remove targets.
1536 * Makefile.in: Rebuild.
1540 * configure.tgt (targ_extra_ofiles): Enable elf64_sparc on
1541 GNU/Linux/sparc, but keep the default as 32.
1543 * configure.tgt: Enable elf64_sparc on Solaris7+/sparc. And make
1544 it default if sparcv9 or sparc64.
1548 * Makefile.am: Add rules to build emipspe.o and earmpe.o.
1549 * Makefile.in: Regenerate.
1550 * configure.tgt: Add targets for arm-wince, sh-pe and mips-pe.
1552 * ldemul.h (ld_emulation_xfer_struct): Add new field:
1553 find_potential_libraries.
1554 * ldemul.c (ldemul_find_potential_libraries): New function.
1556 * ldfile.c (ldfile_open_file_search): Allow function to be
1558 (ldfile_open_file): Call ldemul_find_potential_libraries.
1559 * ldfile.h: Add prototype for ldfile_open_file_search.
1561 * pe-dll.c: Add support for ARM, MIPS and SH targets.
1563 * emulparams/mipspe.sh: New file. Parameters for mips-pe target.
1564 * emulparams/shpe.sh: New file. Parameters for sh-pe target.
1566 * emultempl/pe.em: Add support for ARM, MIPS and SH DLLs.
1567 (gld_X_find_potential_libraries): New function. Search for
1568 libraries called "*.lib".
1570 * scriptempl/pe.sc: Add .pdata section.
1574 * scripttempl/elfd10v.sc: Remove dynamic linking hooks.
1575 Add and use memory regions.
1579 * emulparams/elf32i370.sh, scripttempl/elfi370.sc: New.
1581 * Makefile.am: Add support for Linux/IBM 370.
1582 * configure.tgt: Likewise.
1584 * Makefile.in: Regenerate.
1588 * ldlang.c (print_input_section, print_data_statement,
1589 print_reloc_statement, print_padding_statement, insert_pad,
1590 size_input_section, lang_check_section_addresses,
1591 lang_size_sections, lang_do_assignments, lang_set_startof,
1592 lang_one_common): Change `opb' to unsigned.
1593 (lang_do_assignments): Also change `size' to unsigned.
1597 * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION.
1601 * mri.c (mri_draw_tree): Add default LMA region argument to call
1602 to lang_leave_output_section_statement.
1603 * ldlang.h: Update prototypes with LMA region arguments.
1604 * ldlang.c (lang_size_sections): Encapsulate region bounds
1605 checking in os_check_region call.
1606 (os_check_region): New function.
1607 (lang_output_section_statement_lookup): Initialize lma_region.
1608 (lang_leave_output_section_statement): Add LMA region argument.
1609 (lang_leave_overlay): Ditto.
1610 * ldgram.y: Handle LMA region syntax.
1611 * ld.texinfo (Output Section Description): Describe LMA region usage.
1612 * emultempl/armelf.em (gld$place_orphan): Add default value for
1613 lma region in call to lang_leave_output_section_statement.
1614 * emultempl/elf32.em (gld$place_orphan): Add default value for
1615 lma region in call to lang_leave_output_section_statement.
1616 * emultempl/pe.em (gld$place_orphan): Add default value for
1617 lma region in call to lang_leave_output_section_statement.
1622 * ldlang.c (lang_check_section_addresses): Use bytes instead of
1623 octets when calculating section end addresses.
1627 * ldlang.c (lang_size_sections): Fix typo in ALIGN_N invocation.
1631 * ld/ldexp.c (fold_name): Make SIZEOF operator return byte count, not
1633 * ld/ldlang.c (print_input_section, print_data_statement,
1634 print_reloc_statement, print_padding_statement): Print target
1635 address values and section sizes as bytes, not octets.
1636 (insert_pad) Calculate padding size in octets, and adjust "dot"
1638 (size_input_section) Always adjust "dot" by bytes, not octets.
1639 (lang_check_section_addresses, lang_do_assignments) Adjust
1640 "dot" by bytes, not octets. Use the larger of the directive size
1641 or octets_per_byte for the number of octets actually allocated in
1643 (lang_set_startof) Make sure STARTOF returns a target address.
1644 (lang_one_common) Record size changes in octets.
1645 (lang_abs_symbol_at_end_of) Section end symbol's value is
1646 recorded in target bytes.
1647 * ld.texinfo: Updated description of BYTE, SHORT, LONG, etc.
1648 to be clear about behavior when an octet is smaller than one byte.
1652 * ldcref.c (output_cref): Don't pass message strings to printf
1656 * ldmisc.c (vfinfo): Same here.
1661 * emultempl/{armcoff.em,armelf.em,armelf_oabi.em,beos.em,
1662 generic.em,gld960.em,gld960c.em,hppaelf.em,linux.em,lnk960.em,
1663 mipsecoff.em,sunos.em,vanilla.em} (ld_emulation_xfer_struct):
1664 Add missing NULL initialisers, and comments.
1666 * testsuite/ld-srec/sr3.cc (__rethrow): New.
1670 * ldlang.c (lang_size_sections): Fix typo in comment.
1674 * ldlang.c (lang_size_sections): Also update the current
1675 address of a region if the SEC_NEVER_LOAD bit is not set.
1679 * configure.tgt (arm*-*-conix*): New target.
1683 * ld.texinfo (Options): Remind users to preceed linker command
1684 line switches with -Wl, (or whatever is appropriate) if it is
1685 being invoked by a comnpiler driver program.
1686 Fix description of the behaviour of the -n command line switch.
1690 * ld.h (wildcard_spec): Change exclude_name to exclude_name_list.
1692 * ld.texinfo (EXCLUDE_FILE): Update documentation.
1693 * ldgram.y (wildcard_spec): Support a list of excluded_files.
1694 (exclude_name_list): New.
1695 ldlang.c (walk_wild_section): Support list of excluded files.
1696 (print_wild_statement): Likewise.
1697 (lang_add_wild): Likewise.
1698 * ldlang.h (lang_wild_statement_type): Likewise.
1699 * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
1703 * pe-dll.c (pe_dll_warn_dup_exports): New variable.
1704 (process_def_file): Use.
1705 (pe_dll_compat_implib): New variable.
1708 * pe-dll.h: Add exports of pe_dll_warn_dup_exports and
1709 pe_dll_compat_implib.
1711 * emultempl/pe.em (longopts): Add warn-duplicate-exports and
1712 compat-implib options.
1713 (gld_${EMULATION_NAME}_list_options): List new options.
1714 (gld_${EMULATION_NAME}_parse_args): Handle.
1716 * pe-dll.c (pe_dll_generate_implib): Use the correct name for output
1719 * deffilep.y (opt_name): Allow "." in name.
1721 For older changes see ChangeLog-9899
1727 version-control: never