3 Add m32r-linux and PIC support. Add new ABI that uses RELA.
4 * Makefile.am: Added em32rlelf.c, em32relf_linux.c,
6 * Makefile.in: Regenerate.
7 * configure.tgt (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*):Added.
8 * emulparams/m32relf_linux.sh: Added.
9 * emulparams/m32rlelf.sh: Ditto.
10 * emulparams/m32rlelf_linux.sh: Ditto.
11 * NEWS: Mention support m32r Linux.
16 * emultempl/pe.em (_after_open): When scanning MS import
17 libraries allow for the possible presence of static objects.
21 * ldlang.c (lang_vers_match): Pass "DMGL_PARAMS | DMGL_ANSI" to
26 * ldemul.c: Convert to ISO-C.
31 * lexsup.c (is_num): Remove.
35 * pe-dll.c (generate_reloc): Remap ARM_26D relocation from 5 to
36 0. This fixes "bad fixup" error generated by MS linker.
40 * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Set
41 link_info.need_relax_finalize to TRUE.
43 * ldlang.c (lang_process): Use link_info.need_relax_finalize
44 instead of link_info.relax_finalizing.
45 * ldmain.c (main): Likewise.
49 * armpe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
53 * ldlang.c (lang_do_assignments): Function return is void.
54 * ldlang.h (lang_do_assignments): Ditto.
55 * emultempl/netbsd.em (gld${EMULATION_NAME}_before_parse): Declare.
56 * Makefile.am (ens32knbsd.c): Depend on netbsd.em.
57 * Makefile.in: Regenerate.
61 * configure.tgt: Add vax-linux-gnu target.
65 * scripttempl/elf32msp430.sc (HEAP_SECTION_MSP430): New section for
67 (_etext): provide this defenition for all scripts.
71 * emultempl/beos.em: Remove ARGSUSED.
75 * emultempl/pe.em (pe_fixup_stdcalls): Update for renamed
76 bfd_link_hash_entry field "next" -> "und_next".
77 (pe_find_data_imports): Likewise.
78 (gld_${EMULATION_NAME}_after_open): Likewise.
79 * emultempl/sunos.em (before_allocation): Likewise.
83 * ld.texinfo (Options): --ignore-all is no longer the default
84 behaviour for shared libraries and dynamic executables.
88 * Makefile.am: Run "make dep-am".
89 * Makefile.in: Regenerate.
93 * ldmain.c (main): Remove mpc860c0 code.
94 * lexsup.c (enum option_values): Delete OPTION_MPC860C0.
95 (ld_options): Delete mpc860c0 entry.
96 (parse_args): Likewise.
100 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Test
101 hash table type rather than testing creator flavour.
102 * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
103 Only create stub_file bfd if hash table creator is as expected.
104 (gld${EMULATION_NAME}_finish): Test stub_file.
108 * emulparams/elf64_ia64_fbsd.sh (TEXT_START_ADDR): Define.
113 * ldlang.c (lang_process): Move lang_reset_memory_regions call after
114 lang_do_assignments call.
116 * emulparams/elf64_ia64.sh (OTHER_PLT_RELOC_SECTIONS): Include
121 * scripttempl/pe.sc: Add support for TLS sections.
125 * configure.host (HOSTING_LIBS): Group libgcc and libc with
126 --start-group, --end-group pair.
127 (*-*-netbsd*, am33_2.0-*-linux*): Use the default HOSTING_LIBS.
128 (am33_2.0-*-linux*): Edit default HOSTING_CRT0.
129 (arm*-*-linux-gnu*): Remove extraneous '*' in sed expression.
130 (hppa*64*-*-linux*, hppa*-*-linux*): Remove target specific case.
134 * ldfile.c (ldfile_open_file): Use "No such file" error message.
138 * ls.texinfo: Fix "the the" typo.
142 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Only do
143 pe_dll_extra_pe_debug stuff when DLL_SUPPORT defined.
144 (pr_sym): Move inside #ifdef DLL_SUPPORT.
146 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Zap
149 * emulparams/elf32_i860.sh (TEXT_START_ADDR): Define.
153 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
158 * ldlang.c (lookup_name): When looking for a previously loaded
159 file compare the local_sym_name not the filename, as the
160 filename might have been transformed via the search directory
162 If the sought-for file has not been found in the input file
163 chain then create a new node with the search_dirs_flag set so
164 that the entire set of directory paths will be scanned for it.
168 * emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry"
169 with "struct bfd_symbol".
173 * Makefile.am (ALL_EMULATIONS): Add elf32mipswindiss.o.
174 (eelf32mipswindiss.c): New target.
175 * Makefile.in: Regenerated.
176 * emulparams/elf32mipswindiss.sh: New file.
177 * configure.tgt (i[3-7]86-*-vxworks*, arm-*-vxworks, sh-*-vxworks,
178 mips*-*-vxworks*): Use ELF now.
179 (mips*-*-windiss): New stanza, use elf32mipswindiss.
183 * scripttempl/elfm68hc12.sc: Define eeprom memory region.
187 * ChangeLog-9197: Fix typos.
189 * ld.texinfo: Likewise.
190 * ldlang.c: Fix comment typos.
194 * ldlang.c (lang_vers_match): Fix a typo.
198 * ldlang.c (lang_vers_match): Check demangled symbols.
202 * ldlang.c (lang_vers_match): Check "symbol" instead of
203 "wildcard" and "pattern". Fix a typo.
204 (lang_finalize_version_expr_head): Likewise.
205 (lang_register_vers_node): Likewise.
206 (realsymbol): New function.
207 (lang_new_vers_pattern): Set "symbol" and remove "wildcard".
209 * ldlex.l (V_IDENTIFIER): Allow '\\'.
213 * emultempl/m68hc1xelf.em (before_allocation): Add missing second
214 parameter to lang_memory_region_lookup.
218 * ldlang.c: Include hashtab.h.
219 (lang_vers_match_lang_c, lang_vers_match_lang_cplusplus,
220 lang_vers_match_lang_java): Remove.
221 (lang_vers_match): New function.
222 (lang_new_vers_pattern): Initialize wildcard and mask
223 fields, don't initialize match.
224 (lang_new_vers_node): Use xcalloc. Adjust for globals and
225 locals field type changes. Set match field.
226 (version_expr_head_hash, version_expr_head_eq): New functions.
227 (lang_finalize_version_expr_head): New function.
228 (lang_register_vers_node): Call lang_finalize_version_expr_head.
229 Search in hash table if not wildcard when looking for duplicates.
230 * emultempl/ppc64elf.em (new_vers_pattern): Don't bother with
231 duplicate checking. Initialize all fields of dot_entry from entry
232 with the exception of pattern and next.
236 * ldlang.c (lang_memory_region_lookup): Add second parameter -
237 create - which is true if the region is being created. Issue
238 appropriate warning messages for finding and not finding
239 already created regions.
240 (lang_memory_default): Use DEFAULT_MEMORY_REGION.
241 (lang_leave_overlay_section): Likewise.
242 (lang_size_sections_1): Likewise.
243 Pass second parameter to lang_memory_region_lookup.
244 (lang_get_regions): Likewise.
245 * ldlang.h (DEFAULT_MEMORY_REGION): Define.
246 Update prototype for lang_memory_region_lookup.
247 * ldgram.y: Pass second parameter to lang_memory_region_lookup.
248 Use DEFAULT_MEMORY_REGION instead of "*default".
252 * pe-dll.c: Replace "struct sec" with "struct bfd_section".
256 * Makefile.am: Remove old (before GCC 3.3) emulations for AVR
257 target: avr1200, avr23xx, avr4433, avr44x4, avr85xx, avrmega103,
258 avrmega161, avrmega603. Default to avr2.
259 * Makefile.in: Regenerate.
260 * configure.tgt: Likewise.
261 * emulparams/avr1200.sh: Remove.
262 * emulparams/avr23xx.sh: Remove.
263 * emulparams/avr4433.sh: Remove.
264 * emulparams/avr44x4.sh: Remove.
265 * emulparams/avr85xx.sh: Remove.
266 * emulparams/avrmega103.sh: Remove.
267 * emulparams/avrmega161.sh: Remove.
268 * emulparams/avrmega603.sh: Remove.
269 * scripttempl/elf32avr.sc: Remove.
273 * emultempl/ticoff.em (gld_${EMULATION_NAME}_list_options): Add
276 * deffilep.y: Remove commas from %token lines.
280 * emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker
281 relaxation always; don't exclude relocatable linking. Adjust for
282 _bfd_mmix_prepare_linker_allocated_gregs renamed to
283 _bfd_mmix_before_linker_allocation.
284 (mmix_after_allocation): Adjust for
285 _bfd_mmix_finalize_linker_allocated_gregs renamed to
286 _bfd_mmix_after_linker_allocation.
287 * scripttempl/mmo.sc: Use ADDR (.text), not . - SIZEOF (.text).
289 * ldlang.c (lang_size_sections): Last, set _cooked_size for output
294 * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use
295 GENSCRIPTS and GEN_DEPENDS in place of these.
296 * Makefile.in: Regenerate.
297 * genscripts_extra.sh: Delete. Merge extra functionality to..
298 * genscripts.sh: ..here.
300 * emulparams/gld960.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Define.
301 * emulparams/gld960coff.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
302 * emulparams/lnk960.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
303 * emulparams/m88kbcs.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
304 * emulparams/vanilla.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
308 * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Don't
309 use $EMULATION_NAME to call bfd function.
313 * pe-dll.c (pe_implied_import_dll): Also scan .rdata sections
314 to identify data symbols.
318 * emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Move
319 definition from elf64btsmip.sh.
320 (TEXT_DYNAMIC): Likewise elf32btsmipn32.sh.
321 * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Remove.
322 * emulparams/elf64btsmip.sh (INITIAL_READONLY_SECTIONS): Remove.
323 * emulparams/elf64bmip.sh (SHLIB_TEXT_START_ADDR): Define.
324 (EXECUTABLE_SYMBOLS): Set __elf_header correctly for shared objects.
325 Define __program_header_table in terms of __elf_header.
329 * Makefile.am (eelf64_ia64.c): Also depend on
330 $(srcdir)/emultempl/ia64elf.em.
331 * Makefile.in: Regenerated.
333 * emulparams/elf64_ia64.sh (EXTRA_EM_FILE): Set to ia64elf.
335 * emultempl/ia64elf.em: New.
339 * emulparams/shelf32_nbsd.sh (OTHER_SECTIONS): Redefine.
343 * ld.texinfo (Builtin Functions) <DEFINED>: Say that only symbols
344 defined before the statement using DEFINED yield 1.
345 * ldexp.c (fold_name) <case DEFINED>: In lang_first_phase_enum,
346 call lang_track_definedness on symbol. In subsequent phases, use
347 lang_symbol_definition_iteration and lang_statement_iteration to
348 check whether the symbol was defined before the current statement.
349 (exp_fold_tree) <case etree_assign et al>: Call
350 lang_update_definedness before updating symbol type when setting
352 * ldlang.c (lang_definedness_table): New variable.
353 (lang_definedness_newfunc, lang_track_definedness)
354 (lang_symbol_definition_iteration, lang_update_definedness): New
356 (lang_init): Initialize lang_definedness_table and
357 lang_statement_iteration.
358 (lang_finish): Destroy bfd_hash_table_free.
359 (lang_size_sections): Increment lang_statement_iteration.
360 (lang_do_assignments_1): New function with former
361 lang_do_assignments contents. Change recursive calls to call this
363 (lang_do_assignments): Evacuate contents. Increment
364 lang_statement_iteration, then just call lang_do_assignments_1.
365 * ldlang.h (struct lang_definedness_hash_entry)
366 (lang_statement_iteration, lang_track_definedness)
367 (lang_symbol_definition_iteration, lang_update_definedness):
372 * scripttempl/elf.sc (__executable_start): Provide.
376 * emulparams/armelf.sh: Define NO_SMALL_DATA.
377 * emulparams/armelf_linux.sh, emulparams/armelf_oabi.sh,
378 emulparams/armnto.sh: Likewise.
382 * ldlang.c (lang_size_sections_1): Use IGNORE_SECTION to tell
383 whether to skip test for no memory region.
387 * lexsup.c (parse_args: OPTION_CALL_SHARED): Revise comment
388 describing defaults. Change default to report unresolved symbols
389 in object files as well.
393 * ldexp.c (fold_name) <case DEFINED>: Set section of result to
398 * emulparams/elf32xtensa.sh (OTHER_READONLY_SECTIONS,
399 OTHER_READWRITE_SECTIONS, OTHER_SECTIONS): Set section addresses to
400 zero for relocatable links.
404 * configure.host (HOSTING_LIBS): Define for hppa*-*-linux*.
408 * ldwrite.c (unsplittable_name): New.
409 (clone_section): Strip existing numeric suffix. Only truncate names
411 (split_sections): Use unsplittable_name.
415 * lexsup.c (parse_args): Report unresolved symbols in shared
416 libraries when creating a dynamic executable. This is a
417 restoration of the default behaviour for previous versions of
422 * emulparams/hppanbsd.sh: Remove OUTPUT_FORMAT.
423 * emulparams/hppaobsd.sh: Add OUTPUT_FORMAT="elf32-hppa".
427 * configure.tgt: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
431 * pe-dll.c (make_one): Correct sym def order & pick right sym for
436 * NEWS: Add an indication of the cutoff for 2.14.
440 * ldmain.c (get_emulation): Ignore "-mips64r2".
444 * configure.host: Match GNU/KFreeBSD with new kfreebsd*-gnu
446 * configure.tgt: Likewise.
450 * emulparams/elf32ip2k.sh (TEMPLATE_NAME): Define.
454 * po/tr.po: Updated Turkish translation.
458 * ldmain.c: Initialise the new fields in bfd_link_info to
460 * lexsup.c (enum option_values): New enum. Use this to
461 replace the hand coded values for the long switch options.
462 (ld_options): Add 'unresolved-symbols',
463 'warn-unresolved-symbols' and 'error-unresolved-symbols'.
464 (parse_args): Handle the new switches. Set the values of
465 unresolved_symbols_in_objects and
466 unresolved_symbols_in_shared_libs appropriately. If they were
467 not initialised by the command line, install default values.
468 * emultempl/elf32.em (handle_option): Update OPTION_GROUP and
469 -z defs to use the new fields in bfd_link_info.
470 * ld.texinfo: Document the new switches.
471 * NEWS: Mention this feature.
475 * Makefile.am (GENSCRIPTS_EXTRA): New script definition which
476 calls genscripts_extra.sh.
477 Rearrange all msp430 depends using this script.
478 * Makefile.in: Regenerate.
479 * genscripts_extra.sh: New file: Similar to genscripts.sh, except
480 that the script to be run to generate the emulations can be passed
481 as an optional parameter instead of being computed from the
483 * emulparams/msp430all.sh: New file: Combine all msp430 subdevice
484 definitions into one file.
485 * emulparams/msp430x*.sh: Removed.
489 * ld.texinfo (Options): Put keywords for the -z option into a
490 table. Add more text describing what the -z now option does.
494 * dep-in.sed: Remove libintl.h.
495 * Makefile.am (POTFILES.in): Unset LC_COLLATE.
496 * Makefile.in: Regenerate.
500 * genscripts.sh (libpath.exp): Only generate for first emulation.
501 (LIB_PATH): Correct order of paths. Don't add $tool_lib when
502 already present or when LIB_PATH is set to ":".
506 * ldmain.c (undefined_symbol): Change parameter name from `fatal'
507 to `error'. If only a warning, put warning in the reported
508 string. Consistently set failure flag when not a warning.
512 * Makefile.am: Add xW42 and xE42 parts. Sort MPU list according to
514 * Makefile.in: Regenerate.
515 * configure.tgt: Add extra emulations.
516 * emulparams/msp430xE423.sh: New file.
517 * emulparams/msp430xE427.sh: New file.
518 * emulparams/msp430xW425.sh: New file.
519 * emulparams/msp430xE425.sh: New file.
520 * emulparams/msp430xW423.sh: New file.
521 * emulparams/msp430xW427.sh: New file.
525 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
526 Change second (cmdline) arg to lang_add_entry to FALSE.
527 (set_pe_subsystem): Change second arg to lang_add_entry to TRUE.
532 * configure.tgt: Recognize new target i860-*-coff.
533 * Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
534 (ecoff_i860.c): New rule.
535 * emulparams/coff_i860.sh: New file.
536 * scripttempl/i860coff.sc: New file.
537 * Makefile.in: Regenerate.
541 * emultempl/elf32.em (before_allocation): Prepend "warning: "
542 to messages produced for .gnu.warning.SYMBOL sections.
546 * emultempl/elf32.em (output_rel_find): Add "isdyn" param. Put
547 .rel.dyn before other reloc sections. Don't stop looking for reloc
548 sections on finding one that isn't allocated. Match .rel even when
549 placing .rela and vice versa, when setting last_rel and
550 last_rel_alloc for the first time. If no reloc sections in script,
551 prefer allocated section over non-alloc.
552 (gld${EMULATION_NAME}_place_orphan): Handle orphan .rel.dyn.
556 * emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack
557 section for shared library.
558 * emulparams/shelf32.sh (OTHER_SECTIONS): Likewise.
559 * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise.
563 * scripttempl/elfm68hc12.sc: Add gcc_except_table.
564 * scripttempl/elfm68hc11.sc: Likewise.
568 * emulparams/elf64ppc.sh (GOT): Fix for shell brace matching.
570 * emulparams/elf64ppc.sh (GOT): Don't merge .toc into .got for ld -r.
574 * ld.texinfo: Typo fixes. Document SUBALIGN.
575 * ldgram.y (opt_subalign): Add.
576 * ldlex.l (SUBALIGN): Recognize.
577 * ldlang.c (overlay_subalign): New var.
578 (lang_enter_overlay): Add subalign param.
579 (lang_enter_overlay_section): Pass overlay_subalign to
580 lang_enter_output_section_statement.
581 * ldlang.h (lang_enter_overlay): Update.
585 * po/fr.po: Updated French translation.
589 * scripttempl/elfm68hc11.sc: Keep ctor/dtor sections; Take into
590 account .tramp sections;
591 * scripttempl/elfm68hc12.sc: Likewise.
595 * ld/pe-dll.c: Add libcygwin to autofilter_liblist[]
599 * po/es.po: New Spanish translation.
603 * po/ld.pot: Regenerate.
607 * emulparams/elf32xtensa.sh (OTHER_READONLY_SECTIONS): Replace .xt.lit
608 with new .got.loc section.
609 (OTHER_READWRITE_SECTIONS): Do not combine linkonce sections for
610 non-relocating links.
611 (OTHER_SECTIONS): Add .xt.lit here. Change it to keep linkonce
612 sections separate for non-relocating links; likewise for .xt.insn.
617 * emulparams/elf32am33lin.sh: Adjust to match kernel parameters.
619 * configure.host (am33_2.0-*-linux*): Added.
620 * configure.tgt (am33_2.0-*-linux*): Likewise.
621 * emulparams/elf32am33lin.sh: New.
622 * Makefile.am (eelf32am33lin.c): New rule.
623 * Makefile.in: Rebuilt.
628 * emulparams/mn10300.sh (TEMPLATE_NAME): Define.
629 (GENERATE_SHLIB_SCRIPT): Likewise.
633 * emulparams/elf64ppc.sh (OTHER_GOT_SECTIONS): Don't define.
635 * emultempl/ppc64elf.em (stub_added): New static var.
636 (ppc_create_output_section_statements): Call ppc64_elf_init_stub_bfd.
637 (ppc_add_stub_section): Set stub_added.
638 (gld${EMULATION_NAME}_finish): Look for .got rather than .toc. Adjust
639 ppc64_elf_size_stubs call and test for stubs.
640 * scripttempl/elf.sc (GOT): Define and use.
644 * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
645 Allow second call from ldemul_finish.
649 * emulparams/shelf32.sh (STACK_ADDR): Don't define.
650 (OTHER_SECTIONS): Include .stack.
651 * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise.
655 * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't include
657 (OTHER_READWRITE_SECTIONS): Include .opd if -pie.
658 * scripttempl/elf.sc: Use SHLIB_DATA_ADDR instead of DATA_ADDR
663 * ld.h: Convert to C90, remove unnecessary prototypes and casts.
664 Replace PTR with void *. Formatting.
665 * ldcref.c: Likewise.
666 * ldctor.c: Likewise.
667 * ldctor.h: Likewise.
668 * ldemul.h: Likewise.
671 * ldfile.c: Likewise.
672 * ldfile.h: Likewise.
673 * ldlang.c: Likewise.
674 * ldlang.h: Likewise.
677 * ldmain.c: Likewise.
678 * ldmain.h: Likewise.
679 * ldmisc.c: Likewise.
680 * ldmisc.h: Likewise.
682 * ldwrite.c: Likewise.
683 * ldwrite.h: Likewise.
684 * lexsup.c: Likewise.
687 * pe-dll.c: Likewise.
688 * pe-dll.h: Likewise.
689 * deffilep.y: Likewise.
690 * deffile.h: Likewise. Don't include ansidecl.h.
691 * emulparams/elf32mcore.sh: Remove unnecessary cast.
692 * emultempl/m68kcoff.em: Likewise.
693 * emultempl/m68kelf.em: Likewise.
694 * emultempl/ticoff.em: Remove lang_add_output_format declaration.
695 * sysdep.h: Don't include ansidecl.h.
696 * Makefile.am: Run "make dep-am".
697 * Makefile.in: Regenerate.
701 * deffilep.y (def_file_add_directive): Cope with NUL seperated
702 directives. Fix reporting of unparseable directives.
703 (def_error): Check for a NULL def_filename.
707 * emultempl/aix.em: Convert to C90, remove unnecessary prototypes
708 and casts. Replace PTR with void *. Formatting.
709 * emultempl/alphaelf.em: Likewise.
710 * emultempl/armcoff.em: Likewise.
711 * emultempl/armelf.em: Likewise.
712 * emultempl/armelf_oabi.em: Likewise.
713 * emultempl/beos.em: Likewise.
714 * emultempl/elf32.em: Likewise.
715 * emultempl/generic.em: Likewise.
716 * emultempl/gld960.em: Likewise.
717 * emultempl/gld960c.em: Likewise.
718 * emultempl/hppaelf.em: Likewise.
719 * emultempl/linux.em: Likewise.
720 * emultempl/lnk960.em: Likewise.
721 * emultempl/m68hc1xelf.em: Likewise.
722 * emultempl/m68kcoff.em: Likewise.
723 * emultempl/m68kelf.em: Likewise.
724 * emultempl/mipsecoff.em: Likewise.
725 * emultempl/mipself.em: Likewise.
726 * emultempl/mmix-elfnmmo.em: Likewise.
727 * emultempl/mmixelf.em: Likewise.
728 * emultempl/mmo.em: Likewise.
729 * emultempl/needrelax.em: Likewise.
730 * emultempl/netbsd.em: Likewise.
731 * emultempl/pe.em: Likewise.
732 * emultempl/sh64elf.em: Likewise.
733 * emultempl/sunos.em: Likewise.
734 * emultempl/ticoff.em: Likewise.
735 * emultempl/vanilla.em: Likewise.
736 * emultempl/xtensaelf.em: Likewise.
737 * Makefile.am: Correct dependencies.
738 * Makefile.in: Regenerate.
742 * ld.texinfo: Correct spelling of "relocatable".
743 * ldctor.c: Likewise.
745 * ldfile.c: Likewise.
746 * ldint.texinfo: Likewise.
747 * ldlang.c: Likewise.
748 * ldmain.c: Likewise.
749 * ldwrite.c: Likewise.
750 * lexsup.c: Likewise.
751 * emultempl/aix.em: Likewise.
752 * emultempl/alphaelf.em: Likewise.
753 * emultempl/armcoff.em: Likewise.
754 * emultempl/armelf_oabi.em: Likewise.
755 * emultempl/beos.em: Likewise.
756 * emultempl/elf32.em: Likewise.
757 * emultempl/generic.em: Likewise.
758 * emultempl/gld960.em: Likewise.
759 * emultempl/gld960c.em: Likewise.
760 * emultempl/hppaelf.em: Likewise.
761 * emultempl/linux.em: Likewise.
762 * emultempl/lnk960.em: Likewise.
763 * emultempl/m68hc1xelf.em: Likewise.
764 * emultempl/m68kcoff.em: Likewise.
765 * emultempl/m68kelf.em: Likewise.
766 * emultempl/mipsecoff.em: Likewise.
767 * emultempl/mipself.em: Likewise.
768 * emultempl/mmix-elfnmmo.em: Likewise.
769 * emultempl/mmo.em: Likewise.
770 * emultempl/needrelax.em: Likewise.
771 * emultempl/pe.em: Likewise.
772 * emultempl/ppc64elf.em: Likewise.
773 * emultempl/sh64elf.em: Likewise.
774 * emultempl/sunos.em: Likewise.
775 * emultempl/ticoff.em: Likewise.
776 * emultempl/xtensaelf.em: Likewise.
780 * emultempl/ppc32elf.em: Convert to C90.
784 * emultempl/ppc64elf.em: Convert to C90 function definitions, remove
785 unnecessary prototypes and casts.
789 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Dump out
790 statistics from ppc64_elf_build_stubs.
794 * emultempl/ppc64elf.em (build_section_lists): Check return status
795 from ppc64_elf_next_input_section.
799 * ldlang.c (section_already_linked): Put back assignment of
804 * pe-dll.c (generate_reloc): Catch and ignore an ARM_26D
809 * configure.host (*-*-freebsd*): Add known path for ld-elf.so.1
810 if not produced by gcc.
814 * configure.tgt: Add specific case for cris-*-linux-gnu*
815 with crislinux emulation only.
819 * configure.tgt: Add i386-netbsd-gnu target.
823 * configure.tgt (mips*-sgi-irix6*): Add the o32 and n64 emulations
824 to $targ_extra_libpath.
828 * po/Make-in (DESTDIR): New.
829 (install-data-yes): Support $(DESTDIR).
830 (uninstall): Likewise.
834 * Makefile.am (ALL_EMULATIONS): Add em32relf.o.
835 * Makefile.in: Regenerate.
839 * configure.tgt (h8300*): Add h8300sxn emulations.
840 * Makefile.am (ALL_EMULATIONS): Add eh8300sxn.o and eh8300sxnelf.o.
841 (eh8300sxn.c, eh8300sxnelf.c): New rules.
842 * Makefile.in: Regenerate.
843 * emulparams/h8300sxnelf.sh, emulparams/h8300sxn.sh: New files.
844 * scripttempl/h8300sxn.sc: New file.
848 * emulparams/elf64ppc.sh (EXECUTABLE_SYMBOLS, OTHER_BSS_END_SYMBOLS,
849 CTOR_START, CTOR_END, DTOR_START, DTOR_END): Don't define.
853 * emultempl/ppc64elf.em (emit_stub_syms, toc_section): New vars.
854 (build_toc_list): New function.
855 (gld${EMULATION_NAME}_finish): Call build_toc_list and
856 ppc64_elf_reinit_toc. Adjust ppc64_elf_build_stubs call.
857 (OPTION_STUBSYMS): Define.
858 (PARSE_AND_LIST_LONGOPTS): Add emit-stub-syms.
859 (PARSE_AND_LIST_OPTIONS): Document.
860 (PARSE_AND_LIST_ARGS_CASES): Handle.
864 * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Remove
865 extra \t in -z noexecstack line.
869 * ldgram.y (phdr_type): Grok PT_GNU_STACK.
870 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
871 -z execstack and -z noexecstack.
872 (gld${EMULATION_NAME}_list_options): Likewise.
873 * scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
879 * Makefile.am: Add new emulations for h8300sx.
880 * Makefile.in: Regenerate.
881 * configure.tgt: Add new emulations.
882 * emulparams/h8300sx.sh: New emulation.
883 * emulparams/h8300sxelf.sh: Ditto.
884 * scripttempl/h8300sx.sc: Ditto.
888 * ldmisc.c: Include "bfdlink.h".
889 (error_handler): Handle LD_DEFINITION_IN_DISCARDED_SECTION
890 and -LD_DEFINITION_IN_DISCARDED_SECTION.
892 * Makefile.am: Rebuild dependency.
893 * Makefile.in: Regenerated.
897 * emulparams/shlelf_linux.sh (GENERATE_PIE_SCRIPT): Set to yes.
898 * emulparams/shlelf32_linux.sh (GENERATE_PIE_SCRIPT): Likewize.
902 * pe-dll.c (fill_edata): Scan table pe_dll->exports, which is
903 sorted alphabetically, instead of exported_symbols, which is
909 * lexsup.c (OPTION_PIE): Define.
910 (ld_options): Add -pie and --pic-executable options.
911 (parse_args): Handle OPTION_PIE.
912 * ldmain.c (main): Initialize link_info.pie and
913 link_info.executable.
914 * genscripts.sh: Generate PIE scripts.
915 * ld.texinfo: Document -pie and --pic-executable options.
916 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
917 (gld${EMULATION_NAME}_place_orphan): Likewise.
918 (gld${EMULATION_NAME}_get_script): Include PIE scripts.
919 * scripttempl/elf.sc: In PIE scripts set . the same way as in
921 * emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
922 * emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
923 * emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
924 * emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
925 * emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
926 * emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
927 * emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
928 * emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
929 * emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
930 * emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
931 * emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
935 * genscripts.sh: Create tmpdir/libpath.exp.
939 * emultempl/armelf.em (arm_elf_before_allocation): Replace ASSERT
940 with a test for a NULL bfd_for_interworking.
944 * configure.host (*-*-netbsd*): Set HOSTING_CRT0 and HOSTING_LIBS
945 correctly for more recent versions of NetBSD.
946 (alpha*-*-netbsd*): Remove.
947 (i[3-7]86-*-netbsd*): Remove.
951 * emultempl/pe.em: Include "safe-ctype.h" instead of <ctype.h>.
955 * emulparams/elf64btsmip.sh: Set TEXT_START_ADDR to 0x120000000 to
956 trap on pointer crops.
960 * configure.tgt: Check for a target triplet of shl-...-netbsdelf
961 as well as shle-...-netbsdelf.
965 * configure.host: Accept i[3-7]86 variants.
966 * configure.tgt: Likewise.
970 * emulparams/elf64_ia64.sh: Don't set COMMONPAGESIZE for now.
974 * Makefile.am (ALL_EMULATIONS): Add earmelfb.o and earmelfb_linux.o.
975 (earmelfb.c, earmelfb_linux.c): New rules.
976 * Makefile.in: Regenerated.
977 * emulparams/armelfb.sh, emulparams/armelfb_linux.sh: New files.
978 * configure.tgt: Add armeb-elf and arm*b-*-linux-gnu.
982 * ldlang.c (lang_size_sections_1): Default to generating a
983 fatal error message if a loadable section is not allocated
984 to a memory region when regions are defined.
988 * Makefile.am (em68hc11elf.c): Correct dependencies.
989 (em68hc11elfb.c, em68hc12elf.c, em68hc12elfb.c): Likewise.
990 * Makefile.in: Regenerate.
991 * emultempl/elf32.em (find_exp_assignment): Adjust for changed
992 bfd_elf_record_link_assignment name.
996 * ldmain.h (overflow_cutoff_limit): Declare.
997 * ldmain.c (overflow_cutoff_limit): Define, initialized to 10.
998 (reloc_overflow): Limit error messages based on it.
999 * lexsup.c (parse_args) <OPTION_VERBOSE>: Set cutoff to
1004 * ldlex.l: Accept C style comments in version scripts.
1008 * ldlang.c (lang_process): Add the relax finalize pass.
1010 * ldmain.c (main): Initialize link_info.relax_finalizing to
1015 * ldgram.y (phdr_type): Grok PT_TLS and PT_GNU_EH_FRAME names.
1016 If a name string is unknown, give an error rather than crashing later.
1020 * Makefile.am (ALL_EMULATIONS): Add eh8300hn.o, eh8300sn.o,
1021 eh8300hnelf.o, eh8300snelf.o and respective rules.
1022 * Makefile.in: Regenerate.
1023 * configure.tgt: Add h8300hn, h8300sn, h8300hnelf, h8300snelf
1024 * emulparams/h8300hn.sh: New
1025 * emulparams/h8300sn.sh: New
1026 * emulparams/h8300hnelf.sh: New
1027 * emulparams/h8300snelf.sh: New
1028 * scripttempl/h8300hn.sc: new
1029 * scripttempl/h8300sn.sc: new
1033 * ldmain.c (link_callbacks): Initialize error_handler.
1035 * ldmisc.c (error_handler): New function.
1037 * ldmisc.h (error_handler): New prototype.
1041 * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra.
1042 * emulparams/m68hc11elfb.sh: Likewise.
1043 * emulparams/m68hc12elf.sh: Likewise.
1044 * emulparams/m68hc12elfb.sh: Likewise.
1048 * emultempl/m68hc1xelf.em: New file to generate far trampolines on
1050 (LDEMUL_BEFORE_ALLOCATION): Override to gather the trampolines to
1052 (LDEMUL_FINISH): Override to generate the trampolines after gc and
1054 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Override to create the
1055 stub file for trampolines.
1056 (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_LONGOPTS): New options
1057 --no-trampoline and --bank-window to control the memory bank window.
1061 * ldfile.c (ldfile_add_library_path): Remove the unused
1066 * scripttempl/xstormy16.sc (__data, __rdata): New.
1070 * scripttempl/xstormy16.sc: Add .jcr section mapping.
1076 * ldlex.l: Use YY_CURRENT_BUFFER instead of yy_current_buffer.
1080 * h8-doc.texi: Replace occurrances of 'Hitachi' with 'Renesas'.
1081 * ld.texinfo: Likewise.
1086 * scripttempl/elf.sc (CTOR): Handle crtbeginS.o, crtendS.o and
1087 other variants of crtbegin.o, crtend.o.
1089 * scripttempl/crisaout.sc (ctors, dtors): Likewise.
1090 * scripttempl/elf_chaos.sc (CTOR, DTOR): Likewise.
1091 * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
1092 * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
1093 * scripttempl/elfxtensa.sc (CTOR, DTOR): Likewise.
1094 * scripttempl/iq2000.sc (CTOR, DTOR): Likewise.
1095 * scripttempl/mmo.sc (ctors, dtors): Likewise.
1096 * scripttempl/xstormy16.sc (CTOR, DTOR): Likewise.
1100 * scripttempl/elf32msp430.sc: Add initX, finiX, ctors, dtors
1101 sections to respect C++ constructor/destructor. Add ctors/dtors
1102 start/stop definitions.
1103 * scripttempl/elf32msp430_3.sc: Likewise.
1107 * ld.texinfo (Options): Add a reminder of the target specific
1108 nature to the description of the i386 PE specific options, for
1109 readers who have not read all the way through the manual.
1113 * configure.tgt: Fixed bug in list of targ_extra_emuls.
1114 * emulparams/tic3xcoff.sh (SCRIPT_NAME): Namespace
1115 cleanup. Replace s/c4x/tic4x and s/c3x/tic3x/
1116 * emulparams/tic3xcoff_onchip.sh: Ditto
1117 * emulparams/tic4xcoff.sh: Ditto
1118 * scripttempl/tic4xcoff.sc: Ditto
1122 * NEWS: Mention support for Xtensa architecture.
1126 * pe-dll.c (pe_detail_list): arm-pe targets use underscores.
1130 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
1131 Don't call pe_dll_build_section() if link_info.relocateable.
1132 (gld_${EMULATION_NAME}_finish): Don't call pe_dll_fill_sections()
1133 if link_info.relocateable.
1137 * pe-dll.c (process_def_file): Don't create an export
1138 section if there are no exports and we're building an exe
1139 (pe_dll_build_sections): Ditto
1140 (pe_dll_fill_sections): Conditionalize setting
1141 abfd->dll true on info->shared
1142 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
1143 If i386pe or armpe, call pe_dll_build_section()
1144 for both exe's and dll's, not just dll's.
1145 (gld_${EMULATION_NAME}_finish): For all targets except
1146 shpe and mipspe, call pe_dll_fill_sections() for both
1147 exe's and dll's, not just dll's.
1151 * emulparams/xtensa-config.sh: Remove comment indicating that this is
1156 * Makefile.am (ALL_EMULATIONS): Add eelf32xtensa.o.
1157 (eelf32xtensa.c): New target.
1158 * Makefile.in: Regenerate.
1159 * configure.tgt: Handle xtensa-*-*.
1160 * gen-doc.texi: Set XTENSA variable.
1161 * ld.texinfo: Set XTENSA variable. Add new Xtensa node.
1162 * emulparams/elf32xtensa.sh: New file.
1163 * emulparams/xtensa-config.sh: Likewise.
1164 * emultempl/xtensaelf.em: Likewise.
1165 * scripttempl/elfxtensa.sc: Likewise.
1169 * configure.tgt (powerpc*-*-linux*): Add elf32ppc to ppc64
1170 targ_extra_libpath. Add elf64ppc to ppc targ_extra_libpath
1171 if --enable-64-bit-bfd.
1175 * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Change name of
1177 * emulparams/armelf_linux.sh (OTHER_READONLY_SECTIONS): Change
1178 name of note section.
1182 * ld.texinfo (-Tbss, -Tdata, -Ttext): Document in terms of
1187 * ldfile.c (ldfile_add_library_path): Always allocate space for
1189 * ldlang.c (lang_register_vers_node): Free the node if it cannot
1191 * ldmain.c (set_scripts_dir): Always free the constructed
1193 (add_keepsyms_file): Fix memory leak.
1194 * ldmisc.c (vfinfo): Likewise.
1195 * lexsup.c (parse_args): Likewise.
1200 Contribute support for Intel's iWMMXt chip - an ARM variant:
1202 * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Define.
1203 * emulparams/armelf_linux.sh (OTHER_READONLY_SECTIONS): Define.
1204 * scripttempl/armcoff.sc (.data): Ensure 8 byte alignment.
1209 * ldmain.h (ld_canon_sysroot, ld_canon_sysroot_len): Declare.
1210 * ldmain.c (ld_canon_sysroot, ld_canon_sysroot_len): Define.
1211 (main): Initialize them.
1212 * ldfile.c: Include pathnames.h.
1213 (is_sysrooted_pathname): New.
1214 (ldfile_add_library_path): Use it.
1215 (ldfile_open_file_search): Likewise. Use IS_ABSOLUTE_PATH. Don't
1216 search_dirs if given an absolute pathname.
1217 (ldfile_open_file): Issue error message for sysrooted
1219 * Makefile.am: Updated dependencies.
1220 * Makefile.in: Rebuild.
1224 * ld.texinfo: Rename all occurances of C54X to TIC54X.
1228 * ldfile.c (ldfile_try_open_bfd): Pop lexer start condition after
1233 * deffilep.y (opt_base): If no number given, set to default
1238 * deffilep.y (def_import): Use default extension of "dll"
1239 if no extension provided in parsed IMPORT definition.
1241 * deffilep.y (def_lex): Revert 2003-03-12 change.
1242 (dot_name): New id type and rule.
1243 (expline): Use instead of ID.
1244 (opt_equal_name): Likewise.
1248 * deffilep.y (def_lex): Accept '.' as valid non-lead char.
1252 * configure.tgt: Add NATIVE_LIB_DIRS for cygwin target back after
1253 apparent accidental removal on 2003-01-06.
1257 * Makefile.am: Add new devices x1122 x1132 emulation
1258 * configure.tgt: Likewise.
1259 * Makefile.in: Regenerate.
1260 * emulparams/msp430x1122.sh: New file.
1261 * emulparams/msp430x1132.sh: New file.
1265 * ldmain.c (set_scripts_dir): Look for relative to TOOLBINDIR as
1268 * ldfile.h (struct search_dirs): Added sysrooted field.
1269 * ldlang.h (struct lang_input_statement_struct): Likewise.
1270 * ldfile.c (ldfile_add_library_path): Mark sysrooted paths.
1271 (ldfile_open_file_search): Look for sysrooted filename starting
1272 with / in ld_sysroot instead of in the current directory. Clear
1273 sysrooted flag if it's found in the current directory. Set it
1274 from the search directory's sysrooted flag where it is found
1276 * ldlang.c (ldlang_sysrooted_script): New static variable.
1277 (new_afile): Mark search_file_enums as sysrooted if
1278 ldlang_sysrooted_script.
1279 (load_symbols): Set ldlang_sysrooted_script according to the
1280 script's sysrooted field while processing it.
1281 * ld.texinfo: Document INPUT behavior in sysroot.
1285 * scripttempl/pe.sc: Use PROVIDE with etext, end, _end,
1289 * emulparams/elf64alpha.sh (EXTRA_EM_FILE): Define.
1290 (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
1291 PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES,
1292 PARSE_AND_LIST_EPILOGUE): Don't define.
1293 * emultempl/alphaelf.em: New file.
1297 * ldemul.c: Include getopt.h.
1298 * emultempl/elf32.em: Include getopt.h earlier.
1299 * emultempl/ticoff.em: Likewise.
1303 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combreloc
1304 support when scripts read from files.
1308 * ldemul.c (ldemul_parse_args): Return FALSE by default.
1309 * ldemul.h (struct ld_emulation_xfer_struct): Update parse_args
1312 * ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.
1313 (ldemul_parse_args): Return bfd_boolean. Formatting.
1314 * ldemul.h (ldemul_add_options, ldemul_handle_option): Declare.
1315 (ldemul_parse_args): Adjust.
1316 (struct ld_emulation_xfer_struct): Add add_options and handle_option.
1317 Return bfd_boolean from parse_args.
1318 * lexsup.c (parse_args): Malloc shortopts, longopts and
1319 really_longopts. Call ldemul_add_options and ldemul_handle_option.
1320 * emultempl/aix.em (gld${EMULATION_NAME}_add_options): Split out from
1321 gld${EMULATION_NAME}_parse_args.
1322 (gld${EMULATION_NAME}_handle_option): Likewise.
1323 (ld_${EMULATION_NAME}_emulation): Adjust initializer.
1324 * emultempl/armcoff.em: As for aix.em, but remove parse_args.
1325 * emultempl/beos.em: Likewise.
1326 * emultempl/pe.em: Likewise.
1327 * emultempl/ticoff.em: Likewise.
1328 * emultempl/elf32.em: Likewise. Don't duplicate long options either.
1329 (gld${EMULATION_NAME}_add_sysroot): Prototype.
1330 * emultempl/armelf.em (PARSE_AND_LIST_LONGOPTS): Don't duplicate
1332 * emultempl/hppaelf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
1333 * emultempl/ppc32elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
1334 * emultempl/ppc64elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
1335 * emultempl/armelf_oabi.em (ld_${EMULATION_NAME}_emulation): Adjust
1337 * emultempl/generic.em: Likewise.
1338 * emultempl/gld960.em: Likewise.
1339 * emultempl/gld960c.em: Likewise.
1340 * emultempl/linux.em: Likewise.
1341 * emultempl/lnk960.em: Likewise.
1342 * emultempl/m68kcoff.em: Likewise.
1343 * emultempl/mipsecoff.em: Likewise.
1344 * emultempl/sunos.em: Likewise.
1345 * emultempl/vanilla.em: Likewise.
1346 * emultempl/netbsd.em (gldnetbsd_before_parse): Prototype.
1350 * emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Fix
1351 memory allocation error.
1353 * Makefile.am (ldmain.o): Define TOOLBINDIR.
1354 * Makefile.in: Rebuilt.
1355 * ldmain.c (ld_sysroot): Try to set from TOOLBINDIR too.
1359 * ldlang.c (lang_size_sections_1): Add CHECK_REGIONS argument and only
1360 call os_region_check when it is set.
1361 (lang_size_sections): Add CHECK_REGIONS argument and pass it through to
1362 lang_size_sections_1.
1363 (lang_process): Change lang_size_sections calls to set CHECK_REGIONS
1364 only for the last call, not on every relaxation iteration.
1365 * ldlang.h (lang_size_sections): Update prototype.
1366 * pe-dll.c (pe_dll_fill_sections): Set CHECK_REGIONS argument in calls
1367 to lang_size_sections.
1368 (pe_exe_fill_sections): Likewise.
1369 * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Likewise.
1370 * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
1371 * emultempl/ppc64elf.em (ppc_before_allocation): Likewise.
1372 (ppc_layout_sections_again): Likewise.
1376 * gen-doc.texi: Set ARM and HPPA variables.
1377 * ld.texinfo: Fix typos and obvious texinfo mistakes. Make section
1378 title capitalization more consistent. Add missing menu entries for
1379 machine-specific sections and conditionalize them consistently.
1380 Conditionalize text that is irrelevant when SingleFormat is set.
1381 Add @group divisions to improve page breaks in long examples.
1382 Use @iftex/@ifnottex instead of @iftex/@ifinfo so that HTML output
1383 is correct. Remove "FIXME" comment about not using
1384 @raisesections/@lowersections. Use @raisesections/@lowersections
1385 consistently for machine-specific sections. Change to be more polite
1386 about poor bug reports. Replace FDL appendix with include of fdl.texi.
1387 Move WIN32 node to match its order in the menus.
1388 * fdl.texi: New file.
1392 * configure.in (TARGET_SYSTEM_ROOT): Set default to
1393 ${exec_prefix}/${target_alias}/sys-root. Match explicit
1394 '${exec_prefix}' (in addition to the expansion thereof) as
1396 * configure: Rebuilt.
1400 * ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.
1404 * ldgram.y (vers_defns): Allow optional trailing semicolon in
1409 * emultempl/ppc32elf.em: New file.
1410 * emulparams/elf32ppc.sh (EXTRA_EM_FILE): Define.
1411 * Makefile.am (eelf32lppc.c): Depend on emultempl/ppc32elf.em.
1412 (eelf32lppcnto.c): Likewise.
1413 (eelf32lppcsim.c): Likewise.
1414 (eelf32ppcnto.c): Likewise.
1415 (eelf32ppc.c): Likewise.
1416 (eelf32ppc_fbsd.c): Likewise.
1417 (eelf32ppcsim.c): Likewise.
1418 (eelf32ppclinux.c): Likewise.
1419 * Makefile.in: Regenerate.
1423 * ld.texinfo: Remove spaces between @samp and opening brace.
1427 * emultempl/ppc64elf.em (ppc_create_output_section_statements): Check
1429 (ppc_before_allocation): Don't do optimizations if wrong hash table.
1430 (gld${EMULATION_NAME}_finish): Ditto.
1434 * ldmain.c (main) Default allow_shlib_undefined to true.
1435 * lexsup.c (ld_options): Add --no-allow-shlib-undefined.
1436 (parse_args): Parse the new switch.
1437 * ld.texinfo: Document new switch and default behaviour of
1438 allowing undefined symbols in shared libraries.
1442 * scripttempl/elf32msp430.sc: Add new data anchors definitions.
1443 * scripttempl/elf32msp430_3.sc: Likewise.
1447 * configure.tgt: Add support for kaOS as cross build target
1452 * hppaelf.em (group_size): Change default back to 1.
1456 * emultempl/ppc64elf.em: Add "no-tls-optimize" option and support code.
1460 * hppaelf.em (group_size): Change default to -1.
1464 * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Remove 'n' short
1466 (PARSE_AND_LIST_LONGOPTS): Add duplicate entry for
1467 no-pipeline-knowledge. This will prevent the getopt package from
1468 thinking that there are any shorter abbreviations for
1469 --no-pipeline-knowledge.
1473 * genscripts.sh (LIB_PATH): Don't append LIBPATH_SUFFIX to paths
1474 which already have it. Avoid duplicates.
1478 * emulparams/elf64_s390.sh (LIBPATH_SUFFIX): Set to 64.
1479 * emulparams/elf_x86_64.sh (LIBPATH_SUFFIX): Likewise.
1480 * emulparams/elf64_sparc.sh (LIBPATH_SUFFIX): Set instead of suffix.
1484 * emultempl/ppc64elf.em (ppc_before_allocation): Size sections then
1485 call ppc64_elf_tls_optimize.
1489 * emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysroot
1490 outside of GNU/Linux conditional.
1494 * deffilep.y (def_get_module): New function: locate an already
1496 * deffile.h (def_get_module): New prototype.
1497 * pe-dll.c (pe_implied_import_dll): Add code to prevent importing
1498 a dll multiple times.
1502 * emultempl/sh64elf.em: Include elf32-sh64.h.
1503 (sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed
1504 sh64_elf_section_data.
1505 (sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
1509 * ld.texinfo: Remove an extra "i" in --dll-search-prefix.
1510 * emultempl/pe.em (gld_${EMULATION_NAME}_list_options): Move a
1511 cross-80th-column-margin "an" to the next line.
1515 * emulparams/tic3xcoff-onchip.sh: Rename to ...z
1516 * emulparams/tic3xcoff_onchip.sh: ...this.
1517 * Makefile.am (etic3xcoff_onchip.c): Fix name of generated C file.
1518 * Makefile.in: Regenerate.
1522 * configure.tgt: Handle i[3456]86-*-aros*
1526 * Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o
1527 * Makefile.in: Regenerate
1528 * configure.tgt: Added extra target emulations
1529 * emulparams/tic3xcoff.sh: Remove old settings
1530 * emulparams/tic4xcoff.sh: Ditto
1531 * emulparams/tic3xcoff-onchip.sh: Added new
1532 * scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x
1533 * scripttempl/tic3xcoff.sc: Remove
1537 * emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do not
1542 * Makefile.in: Regenerate.
1546 * ld.texinfo (node WIN32): Some clarifications
1547 and formatting fixups.
1551 * ldmain.c (get_emulation): Sort -mipsNN checks in the usual
1552 order, and handle (ignore) -mips32r2.
1556 * ldmain.c (main): Make sure ld_sysroot is initialized.
1560 * Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.
1562 * Makefile.am (ldmain.o): Add @TARGET_SYSTEM_ROOT_DEFINE@.
1563 (GENSCRIPTS): Add @use_sysroot@.
1564 * Makefile.in: Regenerated.
1565 * configure.host: Move setting of NATIVE_LIB_DIRS to...
1566 * configure.tgt: ... here. Use ${target} instead of ${host}
1567 for NATIVE_LIB_DIRS.
1568 * configure.in: Add --with-sysroot.
1569 * configure: Regenerated.
1570 * genscripts.sh: Accept use_sysroot option. Set new variables
1571 NATIVE and USE_LIBPATH. Prepend "=" to directory names if
1572 $use_sysroot. Don't search $tool_lib if $use_sysroot.
1573 * ldfile.c (ldfile_add_library_path): Handle leading '='.
1574 * ldmain.c (TARGET_SYSTEM_ROOT): Define if not defined.
1575 (ld_sysroot): New variable.
1576 (main): Initialize ld_sysroot.
1577 * ldmain.h (ld_sysroot): New extern.
1578 * emultempl/elf32.em: Use NATIVE and USE_LIBPATH instead of
1579 searching $EMULATION_LIBPATH.
1580 (gld${EMULATION_NAME}_add_sysroot): New function.
1581 (gld${EMULATION_NAME}_check_ld_so_conf): Use it. Honor ld_sysroot.
1582 (gld${EMULATION_NAME}_after_open): Likewise. Only search
1583 environment variables if $NATIVE.
1584 * ld.texinfo (Options): Mention "=" prefix in the description of -L.
1585 * NEWS: Mention --with-sysroot.
1587 * emulparams/elf32bmipn32-defs.sh: Set NATIVE and LIBPATH_SUFFIX
1588 instead of setting LIB_PATH.
1589 * emulparams/elf32ppc.sh: Likewise.
1590 * emulparams/elf64_s390.sh: Likewise.
1591 * emulparams/elf64_sparc.sh: Likewise.
1592 * emulparams/elf64ppc.sh: Likewise.
1593 * emulparams/elf_x86_64.sh: Likewise.
1595 * emulparams/elf64_aix.sh: Add "=" prefixes to LIB_PATH.
1596 * emulparams/elf64hppa.sh: Add "=" prefixes to LIB_PATH.
1600 * pe-dll.c (autofilter_symbollist): Add cygwin_crt0.
1604 * Makefile.am (ldmain.o): Pass BINDIR.
1605 * Makefile.in: Regenerated.
1606 * ldmain.c (set_scripts_dir): Use make_relative_prefix for the first
1611 * Makefile.am (ALL_EMULATIONS): Add eelf32iq2000.o.
1612 (eelf32iq2000.c): New target.
1613 * Makefile.in: Regenerate.
1614 * configure.tgt: Handle iq2000-*-elf.
1615 * emulparams/elf32iq10.sh: New file.
1616 * emulparams/elf32iq2000.sh: New file.
1617 * scripttempl/iq2000.sc: New file.
1621 * pe-dll.c (autofilter_symbollist): Add do_pseudo_reloc
1622 and _pei386_runtime_relocator to the exclude list.
1626 * ldfile.c: Fix comment typos.
1627 * ldlang.c: Likewise.
1629 * pe-dll.c: Likewise.
1634 * Makefile.am (ld.1): Depend on configdoc.texi
1636 * Makefile.in: Regenerated.
1640 * Makefile.am: Add msp430 target.
1641 * configure.tgt: Likewise.
1642 * Makefile.in: Regenerate.
1643 * emulparams/msp430x???.sh: New files. Linker script parameters
1644 for various msp430 configurations.
1645 * gen-doc.texi: Enable msp430 documenation.
1646 * ld.texinfo: Document msp430 sections.
1647 * scripttempl/elf32msp430.sc: New file. Linker script for msp430.
1648 * scripttempl/elf32msp430_3.sc: New file. Linker script for msp430.
1653 * config.in (HAVE_REALPATH): New entry.
1654 (HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
1658 * ld.texinfo: New win32 topics: 'symbol aliasing' and 'export dll
1663 * ldmain.c (main): Init "strip_discarded".
1664 * lexsup.c (OPTION_STRIP_DISCARDED): Define.
1665 (OPTION_NO_STRIP_DISCARDED): Define.
1666 (ld_options): Add "strip-discarded" and "no-strip-discarded".
1667 (parse_args): Handle them.
1671 * ld.h (struct args_type): Add new field
1672 'accept_unknown_input_architecture'.
1673 * ldmain.c (main): Initialise 'accept_unknown_input_architecture'
1675 * ldlang.c (lang_check): Pass accept_unknown_input_architecture to
1676 bfd_arch_get_compatible.
1677 * ldfile.c (ldfile_try_open_bfd): Likewise.
1678 * lexsup.c (ld_options): Add new command line switch
1679 --accept-unknown-input-architecture and its inverse.
1680 (parse_args): Handle --accept-unknown-input-architecture.
1681 * ld.texinfo: Document new linker option.
1682 * NEWS: Mention new linker option.
1686 * ldmain.c (main): Re-order link_info initialization. Init all
1691 * ld.texinfo: Clarify and extend the documentation
1692 in the Machine Dependent, WIN32 section.
1696 * ld.texinfo: Add win32 machine depending section.
1697 * gen-doc.texi: Enable win32 machine depending section.
1699 * configure.host: Add win32 library search path.
1703 * emultempl/pe.em (pe_find_data_imports): Don't search for data
1704 import when auto-import is disabled.
1708 * emultempl/pe.em (..._recognized_file): Use LD_PATHMAX+1 to
1709 account for trailing '\0'.
1713 * emultempl/pe.em (longopts): Duplicate entry for --compact-implib
1714 so that it is not confused with -c.
1719 * configure.in: Add check for realpath function.
1720 * configure: Regenerate.
1721 * config.in: Regenerate.
1722 * aclocal.m4: Regenerate.
1723 * deffile.h: Add .data field to def_file_import
1725 * pe-dll.c (pe_proces_import_defs): Use .data field of
1726 def_file_import structure to initialize flag_data field of
1727 def_file_export structure.
1728 (pe_implied_import_dll): New variables exp_funcbase and
1729 [data|bss]_[start|end]. Use DLL's internal name to set dll_name,
1730 not filename (which may be a symlink). Scan the sections and
1731 initialize [data|bss]_[start|end]. When scanning the export
1732 table, skip _nm_ symbols, and mark any symbols whose rva indicates
1733 that it is in the .bss or .data sections as data.
1734 * sysdep.h: Include limits.h and sys/param.h, and define
1735 LD_PATHMAX as appropriate. Also define REALPATH as realpath if it
1736 exists, NULL otherwise.
1737 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Call
1738 pe_process_import_defs before pe_find_data_imports, so that
1739 auto-import will check the virtual implib as well as "real"
1741 (gld_${EMULATION_NAME}_recognized_file): Use REALPATH to follow
1742 symlinks to their target; check that the target's extension is
1743 .dll before calling pe_implied_import_dll(), not the filename
1744 itself (which may be a symlink).
1748 * emultempl/elf32.em (struct orphan_save): Add os_tail field.
1749 (gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement
1754 * ldlang.h: Formatting.
1758 * ldlang.c (init_os): Ensure sections mentioned in load_base
1763 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set
1764 load_base for orphans that follow a section with load_base set.
1768 * ld.texinfo: Remove the extra `;' in sample version script.
1772 * configure.host: Correct dynamic-linker for powerpc64 hosts.
1774 * Makefile.am (eelf32ppcwindiss.c): Correct dependencies.
1775 * Makefile.in: Regenerate.
1777 * ld.h, ldcref.c, ldctor.c, ldctor.h, ldemul.c, ldemul.h, ldexp.c,
1778 ldexp.h, ldfile.c, ldfile.h, ldgram.y, ldlang.c, ldlang.h, ldmain.c,
1779 ldmain.h, ldmisc.c, ldwrite.c, lexsup.c, mri.c, pe-dll.c, pe-dll.h,
1780 emulparams/elf32b4300.sh, emultempl/aix.em, emultempl/armcoff.em,
1781 emultempl/armelf.em, emultempl/armelf_oabi.em, emultempl/beos.em,
1782 emultempl/elf32.em, emultempl/generic.em, emultempl/gld960.em,
1783 emultempl/gld960c.em, emultempl/hppaelf.em, emultempl/linux.em,
1784 emultempl/lnk960.em, emultempl/m68kcoff.em, emultempl/mipsecoff.em,
1785 emultempl/mmix-elfnmmo.em, emultempl/mmixelf.em, emultempl/mmo.em,
1786 emultempl/needrelax.em, emultempl/pe.em, emultempl/ppc64elf.em,
1787 emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em: Replace
1788 boolean with bfd_boolean, true with TRUE, false with FALSE. Simplify
1789 comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
1793 * configure.host: Fix generic FreeBSD configuration entry.
1797 * ld.texinfo: Add the missing `;' to sample version scripts.
1801 * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
1805 * ldmain.c (main): Make runtime relocs disabled by default. Remove
1806 assignment which has no effect.
1807 * pe-dll.h (pe_create_import_fixup): Change prototype.
1808 * pe-dll.c (make_runtime_pseudo_reloc): New function.
1809 (pe_create_runtime_relocator_reference): Ditto.
1810 (pe_create_import_fixup): Handle relocations with non-zero addends.
1811 * emultempl/pe.em: Add options --enable-runtime-pseudo-reloc and
1812 --disable-runtime-pseudo-reloc.
1813 (make_import_fixup): Handle relocations with non-zero addends. Create
1814 an external reference to _pei386_runtime_relocator symbol if at least
1815 one pseudo reloc was created.
1816 * ld.texinfo: Document --enable-runtime-pseudo-reloc and
1817 --disable-runtime-pseudo-reloc options.
1821 * ldlang.c (lang_add_section): Discard debugging sections that have
1822 been marked SEC_EXCLUDE.
1826 * configure.in (ALL_LINGUAS): Add da.
1827 * configure: Regenerate.
1828 * po/da.po: New Danish translation.
1832 * emultempl/ppc64elf.em (ppc_before_allocation): New function.
1833 (LDEMUL_BEFORE_ALLOCATION): Define.
1834 (gld${EMULATION_NAME}_finish): Run discard_info for relocatable
1836 * emultemp/hppaelf.em ((gld${EMULATION_NAME}_finish): Likewise.
1840 * configure.tgt (LIB_PATH): Default to searching w32api directory under
1845 * pe-dll.c (autofilter_liblist): add libmingwex and libgcj to the list
1846 of restricted auto-export libs.
1850 * pe-dll.c (autofilter_liblist): Generalize library names to catch more
1851 creative library naming instances like, e.g., libstdc++-2.a.
1855 * emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Define.
1856 * emulparams/elf64btsmip.sh (TEXT_DYNAMIC): Likewise.
1860 * deffilep.y (def_lex): Handle '@' as first character of an ID.
1861 * pe-dll.c (auto-export): Filter on "_imp_" prefix, not "_imp__".
1862 (make_one): Don't prefix decorated fastcall symbols with '_'.
1863 (pe_process_import_defs): Likewise.
1864 * emultempl/pe.em (pe_fixup_stdcalls): Don't fixup fastcall
1865 symbols to cdecl names or vise-versa.
1869 * pe-dll.c (process_def_file): Handle fastcall symbols when
1870 generating undecorated aliases. Don't prefix decorated fastcall
1872 (fill_exported_offsets): Don't prefix decorated fastcall symbols
1877 * emultempl/aix.em: Use include <> for generated headers.
1878 * emultempl/beos.em: Likewise.
1879 * emultempl/elf32.em: Likewise.
1880 * emultempl/pe.em: Likewise.
1881 * ldctor.c: Likewise.
1882 * ldexp.c: Likewise.
1883 * ldfile.c: Likewise.
1884 * ldlang.c: Likewise.
1885 * ldlex.c: Likewise.
1886 * ldlex.l: Likewise.
1887 * ldmain.c: Likewise.
1888 * ldmisc.c: Likewise.
1889 * ldwrite.c: Likewise.
1890 * lexsup.c: Likewise.
1892 * pe-dll.c: Likewise.
1896 * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
1897 sections into .rel{,a}.dyn.
1901 * lexsup.c (OPTION_NO_OMAGIC): Define.
1902 (ld_options): Add "no-omagic" option.
1903 (parse_args): Parse --no-omagic.
1904 * ld.texinfo: Document --no-omagic.
1905 * NEWS: Mention new option.
1909 * scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
1910 __RUNTIME_PSEUDO_RELOC_LIST_END__): Add only when relocating.
1914 * emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
1915 emulation name. Set LIB_PATH only for native tools, and
1916 search the ABI-specific versions of NATIVE_LIB_DIRS before the
1917 .../lib variants, not instead of them. Mostly copied from...
1918 * emulparams/elf32ppc.sh: ... here. Fixed typo.
1919 * emulparams/elf64bmip-defs.sh: Backed out.
1920 * emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
1921 * emulparams/elf64btsmip.sh: Likewise.
1922 (DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
1923 TEXT_DYNAMIC): Removed.
1927 * emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
1928 (GENERATE_SHLIB_SCRIPT): Set to yes.
1929 (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
1930 * emulparams/elf32bmipn32.sh: here.
1931 (GENERATE_SHLIB_SCRIPT): Deleted as redundant.
1932 * emulparams/elf32btsmipn32.sh: Delete redundant unsets.
1933 * emulparams/elf64bmip-defs.sh: New file. Extend
1934 elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
1935 * emulparams/elf64bmip.sh: Bring in definitions from
1937 (ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
1939 (WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
1940 * emulparams/elf64btsmip.sh: Bring in definitions from
1942 (ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
1943 (EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
1947 * configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
1948 (s390-*-linux*): Add elf64_s390 emulation if want64.
1949 * emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
1950 genscript.sh changes.
1951 * emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
1952 * emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
1956 * ldlang.c (load_symbols): Revert last change.
1960 * ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
1962 (lang_reasonable_defaults): Don't compare against false.
1963 (size_input_section): Likewise.
1964 (lang_size_sections_1): Likewise.
1965 (lang_do_assignments): Likewise.
1966 (lang_add_output): Likewise.
1968 * Makefile.am: Run "make dep-am".
1969 * Makefile.in: Regenerate.
1970 * ldver.c: #include "bfdver.h".
1974 * scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
1976 * scripttempl/elfm68hc12.sc: Likewise.
1980 * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.
1982 * ldgram.y (memory_spec): Provide empty action.
1983 (section <NAME>): Likewise.
1987 * ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
1988 they have OUTPUT_FORMAT not matching actual output format.
1989 * ldlang.c (lang_get_output_target): New function.
1990 (open_output): Use it.
1991 * ldlang.h (lang_get_output_target): New prototype.
1995 * emultempl/elf32.em (output_rel_find): Prefer .rel script sections
1996 when orphan is .rel, .rela when orphan is .rela.
1997 (gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
1998 first. Remove outsecname var.
2003 * Makefile.am: Add eshelf32_linux.o and
2004 eshlelf32_linux.o, new emulations for sh64 Linux.
2005 * Makefile.in: Regenerate.
2006 * configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
2007 * emulparams/shelf32_linux.sh: New file.
2008 * emulparams/shlelf32_linux.sh: New file.
2012 * ldlang.c (lang_file_exist): Removed.
2013 (new_afile): Revert the last change.
2014 * ldlang.h (lang_file_exist): Removed.
2015 * lexsup.c (parse_args): Revert the last change.
2019 * pe-dll.cc (autofilter_symbolprefixlist): Don't re-export
2020 auto-import symbols.
2021 (make_one): Create _nm_<symbol> for data only.
2025 * ldlang.c (lang_file_exist): New function.
2026 (new_afile): Abort if the filename to be added matches the linker
2028 * ldlang.h: Add prototype for lang_file_exist.
2029 * lexsup.c (parse_args): Abort if the output filename matches
2030 one of the input filenames.
2034 * emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000.
2038 * scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
2039 * scripttempl/elfm68hc11.sc: Likewise.
2040 * scripttempl/elfm68hc12.sc: Likewise.
2042 * emultempl/elf32.em (output_rel_find): Always place orphan loadable
2043 reloc sections just before .rel.plt/.rela.plt.
2044 (gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
2045 Only put loadable reloc sections in hold_rel.
2049 * emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
2054 * scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
2059 * genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
2061 * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
2062 SEGMENT_SIZE alignment.
2063 * emulparams/elf64ppc.sh (DATA_ADDR): Delete.
2064 (SEGMENT_SIZE): Define.
2066 * ldexp.c (fold_unary): New. Split out from exp_fold_tree.
2067 (fold_binary): Correct abs - non-abs case.
2068 (fold_trinary): New. Split out from exp_fold_tree.
2072 * emulparams/elf64ppc.sh (DATA_ADDR): Define.
2073 * emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
2074 for start of .data, instead align up to 256M boundary.
2075 * scripttempl/aix.sc: Likewise.
2079 * scripttempl/i386go32.sc: Handle bss unique sections.
2083 * ldmisc.c (vfinfo <%C,%D,%G>): Always output bfd, section and offset.
2087 * emulparams/elf32bmipn32-defs.sh: New file.
2088 * emulparams/elf32bmipn32.sh: Use elf32bmipn32-defs.sh.
2089 * emulparams/elf32btsmipn32.sh: Likewise.
2090 * emulparams/elf64bmip.sh: Likewise.
2091 * emulparams/elf64btsmip.sh: Likewise.
2095 * emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
2097 * emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
2098 elf64-alpha-freebsd.
2102 * NEWS: New TI port supports both C4x and C3x series of DSPs.
2104 * po/tr.po: Updated Turkish translation.
2108 * configure.tgt (h8300-*-hms*, h8500-*-hms*): Restore.
2112 * scripttempl/v850.sc: Add EXTERN references to __ctbpm __gp and
2114 * emulparams/v850.sh (TEMPLATE_NAME): Define.
2118 * scripttempl/elfd10v.sc (MEMORY): Remove UNIFIED, it is not
2119 used. Change INSN to start at 0x01000000 and extend for
2120 256K (ignoring holes). Start the STACK on a word aligned
2122 (.rodata): Start it at the READONLY_START_ADDR.
2126 * emulparams/elf32ppc.sh (ARCH): Set to "powerpc:common".
2130 * Makefile.am: Add etic4xcoff.o in ALL_EMULATIONS list and
2131 added makefile targets for this file.
2132 * Makefile.in: Regenerate.
2133 * configure.tgt: Added tic4x-coff and c4x-coff emulations.
2134 * NEWS: Mention new port.
2138 * emulparams/tic3xcoff.sh: New file.
2139 * emulparams/tic4xcoff.sh: New file.
2140 * scripttempl/tic3xcoff.sc: New file.
2141 * scripttempl/tic4xcoff.sc: New file.
2145 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,
2146 strtoul and strtoull with bfd_scan_vma.
2147 (gld${EMULATION_NAME}_read_file): Likewise.
2151 * configure.tgt: Remove h8[35]00-*-hms*. Add h8500-*-rtems*.
2155 * scripttempl/pe.sc: Handle .rdata_runtime_pseudo_reloc sections.
2156 Add symbols for application to access them.
2160 * emultempl/armelf.em: Revert this patch, it is not needed.
2166 * configure.in: added --with-lib-path argument to ld's configure
2168 * NEWS: Document new switch.
2169 * README: Mention new switch.
2170 * configure: Regenerate.
2171 * Makefile.in: Regenerate.
2173 Based on this patch:
2176 * Makefile.in (LIB_PATH): Make configurable.
2177 (GENSCRIPTS): Set LIB_PATH in environment.
2178 * configure.in: Substitute LIB_PATH.
2182 * emultempl/armelf.em: Include elf-bfd.h and elf/arm.h.
2183 (arm_elf_finish): Set the last bit of DT_INIT and DT_FINI
2184 depending on the type of the function.
2185 (arm_elf_convert_thumb_symbol_to_address): New function.
2189 * Makefile.am: Add esh{l}elf_nto.o files.
2190 * Makefile.in: Regenerate.
2191 * configure.tgt: Add support for sh-**-nto* targets.
2192 * emulparams/shelf_nto.sh: New file.
2193 * emulparams/shlelf_nto.sh: New file.
2197 * ldlang.c (offsetof): Define if not defined.
2201 * configure.tgt: Always enable 64bit emulations for 32bit
2206 * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.
2207 (MAXPAGESIZE): Set to 1.
2209 * ld.h (ALIGN_N): Delete.
2210 * ldexp.h (align_n): Declare.
2211 * ldexp.c (align_n): New function.
2212 (fold_binary): Use align_n instead of ALIGN_N.
2213 (exp_fold_tree): Likewise.
2214 * ldlang.c (lang_size_sections_1): Likewise.
2215 (lang_one_common): Likewise.
2216 * ld.texinfo (ALIGN): Remove power of 2 restriction.
2220 * configure.tgt: Add support for powerpc{le}-*-nto* targets.
2221 * Makefile.am: Add eelf32{l}ppcnto.o files.
2222 * Makefile.in: Regenerate.
2223 * emulparams/elf32lppcnto.sh: New file.
2224 * emulparams/elf32ppcnto.sh: New file.
2228 * ld.texinfo: Document --no-undefined-version.
2230 * ldlang.c (lang_new_vers_pattern): Set the `symver' and
2231 `script.' fields to 0.
2233 * ldmain.c (main): Initialize the allow_undefined_version to
2236 * lexsup.c (OPTION_NO_UNDEFINED_VERSION): New.
2237 (ld_options): Add --no-undefined-version.
2238 (parse_args): Support OPTION_NO_UNDEFINED_VERSION.
2242 * emultempl/armelf.em (arm_elf_before_allocation): Only search for
2243 an interworking bfd if there are input bfds. (107501)
2247 * emultempl/aix.em (gld*_before_parse): Set default arch. Reverts
2252 * emulparams/armelf.sh: Revert previous delta.
2253 * scripttempl/elf.sc: Revert previous delta.
2257 * configure.tgt (powerpc*-*-linux*): Enable elf64ppc for
2258 --enable-64-bit-bfd.
2262 * configure.tgt: Enable x86-64 emulation for Linux/i386 if
2263 64bit BFD is selected.
2267 * configure.tgt: Enable 64bit emulations for 32bit Linux/mips
2268 if 64bit BFD is selected.
2272 * emultempl/netbsd.em (LDEMUL_BEFORE_PARSE): New file to custom set
2273 link_info.common_skip_ar_aymbols.
2274 * emulparams/ns32knbsd.sh (EXTRA_EM_FILE): Refer to extra file.
2276 * ldmain.c (main): Initialize new field
2277 link_info.common_skip_ar_aymbols.
2281 * emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable. Set it
2283 * scripttempl/elf.sc: Comment it. Use the same way as ${PLT} is
2288 * NEWS: Retroactively add entry for Lars Brinkhoff's contribution
2289 of the PDP-11 and 2.11BSD a.out support.
2293 * Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
2294 for n32 ABI support.
2295 * Makefile.in: Regenerate.
2296 * configure.tgt (mips64*el-*-linux-gnu*,mips64*-*-linux-gnu*): Add
2297 n32 ABI emulations for these 64 bit targets.
2298 * emulparams/elf32bmipn32.sh: Expand comment.
2299 * emulparams/elf32btsmipn32.sh: New file, for traditional big endian
2301 * emulparams/elf32ltsmipn32.sh: Likewise for little endian.
2305 * configure.tgt: Add support for arm-*-nto target.
2306 * Makefile.am: Add earmnto.o file.
2307 * Makefile.in: Regenerate.
2308 * NEWS: Mention port of ARM support to QNX.
2309 * emulparams/armnto.sh: New file.
2313 * ldlang.c (lang_add_section): Don't turn .tbss into normal sections
2314 for relocatable link.
2315 (lang_size_sections_1): Don't make .tbss zero size for relocatable
2320 * emulparams/elf32frv.sh (OTHER_RELOCATING_SECTIONS): Delete.
2325 * po/sv.po: Updated Swedish translation.
2326 * po/es.po: Updated Spanish translation.
2327 * po/fr.po: Updated French translation.
2331 * po/sv.po: Updated Swedish translation.
2332 * po/es.po: Updated Spanish translation.
2336 * po/fr.po: Updated French translation.
2340 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
2341 bomb on /DISCARD/ input section.
2342 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
2343 * emultempl/mmo.em (mmo_place_orphan): Likewise.
2347 * emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
2355 * configure.tgt: Add support for ip2k-elf.
2356 * Makefile.am: Add support for ip2k-elf.
2357 * Makefile.in: Regenerate.
2358 * emulparams/elf32ip2k.sh: New file.
2359 * scripttempl/ip2k.sc: New file
2360 * NEWS: Mention support for new port.
2364 * NEWS: Add 'Changes in 2.13'.
2368 * ld.texinfo: Document a .symver takes precedence over a
2373 * emulparams/elf64ppc.sh (ARCH): Set to powerpc:common64.
2374 (COMMONPAGESIZE): Define.
2378 * emulparams/hppanbsd.sh: Remark that hppaobsd.sh references this file.
2382 * configure.tgt: Add support for alpha-*-openbsd*, hppa-*-openbsd*,
2383 powerpc-*-openbsd* and sparc64-*-openbsd*.
2384 * Makefile.am (ALL_EMULATIONS): Add ehppaobsd.o.
2385 * Makefile.in: Regenerate.
2386 * emulparams/hppaobsd.sh: New file.
2390 * ldlang.c (print_wild_statement): Fix output formatting.
2394 * ldlang.c: (strip_excluded_output_sections): New function.
2395 (lang_process): Call it.
2396 (lang_size_sections_1): Revert 2002-06-10 change.
2400 * Makefile.am (check-DEJAGNU): Revert 2002-06-25 change.
2402 * Makefile.in: Regenerate.
2406 * ldfile.c (ldfile_try_open_bfd): Formatting.
2408 * ldmisc.c (demangle): Move so that it doesn't intrude between
2409 vfinfo comment and body. Add comment.
2413 * emulparams/vax.sh (OUTPUT_FORMAT): Use a.out-vax-bsd format.
2417 * ldlang.h (entry_sym): Make it a struct bfd_sym_chain.
2418 * ldlang.c (entry_sym): Likewise.
2419 (ldlang_undef_chain_list_type): Likewise.
2420 (lang_finish): Adjust references to entry_symbol.
2421 (lang_add_entry): Likewise.
2422 (lang_gc_sections): Use link_info.gc_sym_list.
2423 (lang_process): Set link_info.gc_sym_list.
2424 * ldlex.l: Include bfdlink.h.
2425 * ldmain.c (main): Init link_info.gc_sym_list.
2426 * emultempl/aix.em: Adjust references to entry_symbol.
2427 * emultempl/armcoff.em: Likewise.
2428 * emultempl/armelf.em: Likewise.
2429 * emultempl/pe.em: Likewise.
2430 * emultempl/ppc64elf.em (ppc_after_open): New function.
2431 (LDEMUL_AFTER_OPEN): Define.
2432 * emulparams/elf64ppc.sh: KEEP .opd sections.
2436 * emulparams/m68hc12elfb.sh (EEPROM_MEMORY): Define.
2437 * emulparams/m68hc11elfb.sh (EEPROM_MEMORY): Define.
2438 * emulparams/m68hc11elf.sh (EEPROM_SIZE): Define.
2439 (EEPROM_START_ADDR): Define.
2440 (EEPROM_MEMORY): Define.
2441 * emulparams/m68hc12elf.sh: Likewise.
2442 * scripttempl/elfm68hc11.sc: Handle .eeprom section; handle .softregs
2443 section to put soft registers in .page0.
2444 * scripttempl/elfm68hc12.sc: Likewise but put soft registers in bss.
2448 * emulparams/hppa64linux.sh (OTHER_GOT_RELOC_SECTIONS): Add rela.opd
2449 section. Add ${RELOCATING-0}.
2453 * emulparams/shelf.sh (STACK_ADDR): Don't define.
2454 (OTHER_SECTIONS): Define.
2455 * emulparams/shelf_nbsd.sh ((STACK_ADDR): Don't undef.
2456 (OTHER_SECTIONS): Undef.
2460 * ldmisc.c (demangle): Restore dots stripped from sym name.
2464 * Makefile.am (check-DEJAGNU): Set LC_ALL=C and export it.
2465 * Makefile.in: Regenerated.
2469 * ld.texinfo (Bug Reporting): Update text to suggest a limit on
2470 the size of attached object files, to allow make the object files
2471 available via FTP or HTTP and to mention that the mail will be
2472 sent to a mailing list.
2476 * configure.host (romp): Drop support.
2480 * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Check
2481 section flags for SEC_DATA, rather than for SEC_CODE being unset.
2485 * emultempl/mipself.em (mips_elf${ELFSIZE}_check_sections): Fix
2486 format specifier used to print BFD name.
2490 From Catherine Moore, Michael Meissner, Jim Blandy:
2491 * emulparams/elf32frv.sh: New file.
2492 * configure.tgt: Support frv-*-*.
2493 * Makefile.am (ALL_EMULATIONS): Add eelf32frv.o.
2494 (eelf32frv.c): New target.
2498 * emultempl/elf32.em: gld*_get_script: Check for
2499 GENERATE_COMBRELOC_SCRIPT.
2500 * scripttempl/elfd10v.sc : Fix STACK and INSN.
2501 * emulparams/d10velf.sh : Fix TEXT_START_ADDR.
2505 * configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
2509 * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return
2510 false if xvec doesn't match.
2514 * ldlang.c (lang_size_sections_1): Skip removed output sections.
2518 * ldexp.c: Replace CONST with const.
2519 * ldfile.c: Likewise.
2520 * ldfile.h: Likewise.
2521 * ldlex.l: Likewise.
2523 * pe-dll.h: Likewise.
2527 * emultempl/ppc64elf.em (new_vers_pattern): Warning fix.
2531 * ldmain.c (main): initialize link_info.pei386_auto_import
2532 to -1 == implicit enable.
2533 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
2534 initialize link_info.pei386_auto_import to -1 == implicit
2536 (gld_${EMULATION_NAME}_parse_args): When processing
2537 --enable-auto-import and --disable-auto-import options, use
2538 '1' and '0' instead of 'true' and 'false'.
2539 (pe_find_data_imports): Only issue message about auto-import
2540 when the feature is implicitly enabled. Downgrade message to
2541 informational instead of warning.
2545 * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.
2549 * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,
2550 HOSTING_CRT0 and HOSTING_LIBS.
2554 * configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
2558 * emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.
2559 (NONPAGED_TEXT_START_ADDR): Set to 0x1000.
2563 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
2564 SEC_EXCLUDE sections when doing a relocatable link.
2568 * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o,
2569 eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o.
2570 (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c)
2571 (eshlelf64_nbsd.c): New rules.
2572 * Makefile.in: Regenerate.
2573 * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
2574 (sh64-*-netbsd*): New targets.
2575 * emulparams/shelf32_nbsd.sh: New file.
2576 * emulparams/shelf64_nbsd.sh: New file.
2577 * emulparams/shlelf32_nbsd.sh: New file.
2578 * emulparams/shlelf64_nbsd.sh: New file.
2582 * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix.
2586 * scripttempl/avr.sc: Changes to support current GCC and avr-libc,
2587 C++ constructors/destructors, loosely based on the m68hc11 port.
2591 * Makefile.in: Regenerate.
2592 * aclocal.m4: Regenerate.
2593 * config.in: Regenerate.
2594 * configure: Regenerate.
2598 * Makefile.am (ALL_EMULATIONS): Add ei386nto.o.
2599 (ei386nto.c): Add rule.
2600 * Makefile.in: Regenerate.
2601 * configure.tgt: Add i[3456]86-*-nto-qnx*.
2602 * emulparams/i386nto.sh: New file.
2606 * NEWS: Add entry for VAX ELF support.
2611 * Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o.
2613 (evaxnbsd.c): New rules.
2614 * Makefile.in: Regenerate.
2615 * configure.tgt (vax-*-netbsdelf*)
2617 (vax-*-netbsd*): New targets.
2618 * emulparams/elf32vax.sh: New file.
2619 * emulparams/vaxnbsd.sh: New file.
2623 * emultempl/armelf.em (arm_elf_after_open): Don't determine
2624 bfd_for_interwork, instead add glue sections to each input bfd.
2625 (bfd_for_interwork): New global.
2626 (arm_elf_set_bfd_for_interworking): New function.
2627 (arm_elf_before_allocation): Use it.
2631 * Makefile.am: Add DLX make target.
2632 * configure.tgt: Add DLX configuration.
2633 * Makefile.in: Regenerate.
2634 * emulparams/elf32_dlx.sh: New file
2635 * scripttempl/dlx.sc: New file
2639 * Makefile.am (eelf_i386_chaos): Use elf_chaos.sc script.
2640 * Makefile.in: Regenerate.
2641 * emulparams/elf_chaos.sh: Use elf_chaos script.
2642 * scripttempl/elf_chaos.sc: New file.
2646 * ldlang.c (lang_size_sections_1): Move check for conflicting load
2647 addresses and regions from here...
2648 (lang_get_regions): ...to this new function.
2649 (lang_leave_output_section_statement): Use lang_get_regions.
2650 (lang_leave_overlay): Likewise.
2651 * mri.c (mri_draw_tree): Pass null as last argument to
2652 lang_leave_output_section_statement.
2653 * emultempl/elf32.em (gld*_place_orphan): Likewise.
2654 * emultempl/mmo.em (mmo_place_orphan): Likewise.
2655 * emultempl/pe.em (gld*_place_orphan): Likewise.
2659 * configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
2663 * ldemul.c: Fix formatting.
2664 * ldfile.c: Likewise.
2665 * pe-dll.c: Likewise.
2666 * pe-dll.h: Likewise.
2670 * ldlang.c (lang_process): Formatting, grammar.
2672 * ldlex.l: Use #include "" instead of <> for local header files.
2676 * configure.tgt: Add a target for i386-netbsdpe.
2680 * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
2681 * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
2682 output section if necessary. Handle .tbss.
2683 (lang_size_sections): Clear _raw_size for .tbss section
2684 (it allocates space in PT_TLS segment only).
2685 * ldwrite.c (build_link_order): Build link order for .tbss too.
2689 * configure.in: Correct spelling of AC_PREREQ.
2693 * pe-dll.c (autofilter_liblist): Add more system libs excluded by
2695 (autofilter_objlist): Add crtbegin.o, crtend.o.
2699 * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
2700 (longopts): Add new option --exclude-libs.
2701 (gld_${EMULATION_NAME}_list_options): Give quick help about it.
2702 (gld_${EMULATION_NAME}_parse_args): Use it.
2703 * pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
2704 * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols
2705 from whole archives.
2706 (pe_dll_add_excludes): Set excludes->type.
2707 (auto_export): Add new variable libname and set to archive basename if
2708 abfd. Use it when filtering default and user-specified libarary
2709 excludes. Let string "ALL" mean all libs when filtering user-specified
2711 * ld.texinfo: Document --exclude-libs.
2715 * ldemul.c (ldemul_new_vers_pattern): New function.
2716 * ldemul.h (ldemul_new_vers_pattern): Declare.
2717 (struct ld_emulation_xfer_struct): Add new_vers_pattern.
2718 * ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
2719 * emultempl/ppc64elf.em (dotsyms): New static var.
2720 (gld${EMULATION_NAME}_new_vers_pattern): New function.
2721 (LDEMUL_NEW_VERS_PATTERN): Define.
2722 (PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
2723 (PARSE_AND_LIST_LONGOPTS): Likewise.
2724 (PARSE_AND_LIST_ARGS_CASES): Handle them.
2725 * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
2727 * emultempl/armcoff.em: Likewise.
2728 * emultempl/armelf_oabi.em: Likewise.
2729 * emultempl/beos.em: Likewise.
2730 * emultempl/elf32.em: Likewise.
2731 * emultempl/generic.em: Likewise.
2732 * emultempl/gld960.em: Likewise.
2733 * emultempl/gld960c.em: Likewise.
2734 * emultempl/linux.em: Likewise.
2735 * emultempl/lnk960.em: Likewise.
2736 * emultempl/m68kcoff.em: Likewise.
2737 * emultempl/mipsecoff.em: Likewise.
2738 * emultempl/pe.em: Likewise.
2739 * emultempl/sunos.em: Likewise.
2740 * emultempl/ticoff.em: Likewise.
2741 * emultempl/vanilla.em: Likewise.
2745 * genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
2746 and $NATIVE_LIB_DIRS. Add $tool_lib before other libs.
2747 (LIB_SEARCH_DIRS): No need to use "tr".
2748 (COMPILE_IN): Only set for native targets.
2749 * configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
2750 here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
2751 * configure.tgt (powerpc*): Set tdir_*.
2752 (powerpcle*): Correct targ_extra_emuls.
2753 * emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
2754 * emulparams/elf64ppc.sh (LIB_PATH): Likewise.
2758 * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
2759 calling lang_add_entry.
2763 * emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
2765 (gld${EMULATION_NAME}_list_options): Add "-z muldefs".
2767 * ld.texinfo: Updated for --allow-multiple-definition and
2770 * ldmain.c (main): Initialize the allow_multiple_definition
2773 * lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
2774 (ld_options): Add --allow-multiple-definition.
2775 (parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2779 * Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
2780 (earmelfb_nbsd.c): New rule.
2781 * Makefile.in: Regenerate.
2782 * configure.tgt (armeb-*-netbsdelf*): New target.
2783 (arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
2784 (arm-*-netbsd*): Likewise.
2785 * emulparams/armelfb_nbsd.sh: New file.
2789 * emultempl/aix.em (gld*_parse_args): Add -bnortl and -bnortllib
2794 * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
2795 * Makefile.in: Regenerate.
2796 * configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
2800 * emulparams/avr1.sh: New file.
2801 * emulparams/avr2.sh: New file.
2802 * emulparams/avr3.sh: New file.
2803 * emulparams/avr4.sh: New file.
2804 * emulparams/avr5.sh: New file.
2805 * scripttempl/avr.sc: New file.
2809 * ldlang.c (section_already_linked): Call bfd_link_just_syms.
2810 (lang_place_orphans): Abort if just_syms_flag.
2814 * emultempl/aix.em: (gld*_set_output_arch): New function. Use
2815 architecture and machine information in the output bfd.
2816 (gld*_before_parse): Remove old arch and machine code.
2817 (choose_target): Rename to gld*_choose_target.
2818 (rtld): Change type to int.
2819 * ldfile.c (ldfile_try_open_bfd): Disable compatiblity check for
2820 objects in XCOFF archives.
2821 * ldfile.h: Update copyright date.
2825 * ldmain.c (main): Enable -z combreloc by default.
2829 * Makefile.am: Honour DESTDIR.
2830 * Makefile.in: Regenerate.
2834 * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
2835 (lang_enter_overlay): Remove the last two parameters.
2836 (lang_leave_overlay): Take them here instead.
2837 * ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
2838 (section): Pass LMA and crossref flag to lang_leave_overlay rather
2839 than lang_enter_overlay.
2840 * ldlang.c (lang_memory_region_lookup): Return null for null names.
2841 (lang_output_section_statement_lookup): Initialize update_dot_tree.
2842 (lang_size_sections_1): Evaluate it.
2843 (lang_leave_output_section_statement): Rework LMA lookup.
2844 (overlay_lma, overlay_nocrossrefs): Remove.
2845 (lang_enter_overlay): Remove LMA and crossref arguments.
2846 (lang_enter_overlay_section): Don't set the LMA here.
2847 (lang_leave_overlay): Take LMA and crossref arguments. Move the '.'
2848 assignment to the last section's update_dot_tree. Unconditionally
2849 use the load and run-time regions specified in the OVERLAY statement.
2850 Likewise the first section's LMA. Only set the other sections' LMAs
2851 when no load region is given.
2855 * po/sv.po: New translation.
2859 * emultempl/hppaelf.em (build_section_lists): New function.
2860 (gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
2861 and build_section_lists.
2865 * ld.h: Fix formatting.
2866 * ldexp.c: Likewise.
2867 * ldfile.c: Likewise.
2868 * ldlang.c: Likewise.
2869 * ldmain.c: Likewise.
2870 * lexsup.c: Likewise.
2871 * pe-dll.c: Likewise.
2875 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
2876 Adjust for ppc64_elf_set_toc change. #include libbfd.h.
2877 (build_section_lists): Do output_section tests here.
2881 * emultempl/aix.em : (gld*_parse_arge): Formatting changes.
2885 Long branch stubs, multiple stub sections.
2886 * emultempl/ppc64elf.em: Include ldctor.h.
2887 (stub_file): New var.
2888 (group_size): New var.
2889 (ppc_create_output_section_statements): New function.
2890 (struct hook_stub_info): New.
2891 (hook_in_stub): New function.
2892 (ppc_add_stub_section): New function.
2893 (ppc_layout_sections_again): New function.
2894 (build_section_lists): New function.
2895 (gld${EMULATION_NAME}_finish): Rewrite.
2896 (real_func): New var.
2897 (ppc_for_each_input_file_wrapper): New function.
2898 (ppc_lang_for_each_input_file): New function.
2899 (lang_for_each_input_file): Define.
2900 (PARSE_AND_LIST_PROLOGUE): Define.
2901 (PARSE_AND_LIST_LONGOPTS): Define.
2902 (PARSE_AND_LIST_OPTIONS): Define.
2903 (PARSE_AND_LIST_ARGS_CASES): Define.
2904 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
2908 * emultempl/aix.em (gld*_parse_arge, gld*_before_allocation): Add
2909 -blibpath, -bnolibpath support.
2913 * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
2914 (eelf32ppcwindiss.c): New target.
2915 * Makefile.in: Regenerated.
2916 * configure.tgt: Add support for powerpc-*-windiss.
2917 * emulparams/elf32ppcwindiss.sh: New file.
2921 * ldlang.c (print_assignment): Update print_dot for assignments to ".".
2922 * ldexp.c (exp_print_token): Add "infix_p" argument.
2923 (exp_print_tree): Update accordingly.
2927 * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
2928 * Makefile.in: Regenerate.
2929 * mpw-elfmips.c: Delete.
2930 * mpw-eppcmac.c: Delete.
2931 * mpw-esh.c: Delete.
2932 * mpw-idtmips.c: Delete.
2936 * emulparams/shelf32.sh (MACHINE): Now sh5.
2940 * ldgram.y: Fix syntax warning.
2944 * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Add 'n' in order
2945 to prevent "-n" from being taken as an abbreviation for
2946 "--no-pipeline-knowledge".
2950 * ldlang.c (lang_size_sections_1): Don't complain about
2951 SEC_NEVER_LOAD sections having no memory region specified.
2953 * ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix.
2957 * configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
2961 * dep-in.sed: Cope with absolute paths.
2962 * Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
2964 * Makefile.in: Regenerate.
2968 * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options.
2972 * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
2973 is smaller than maximum, round dot up to common page boundary.
2977 * configure.host: Set up for generic hosts first, then tweak as
2978 necessary in more specific targets.
2979 (HOSTING_LIBS): Include libgcc_eh.a if found.
2983 * emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it.
2987 * Makefile.am: Run "make dep-am".
2988 * Makefile.in: Regenerate.
2992 * genscripts.sh (LIB_SEARCH_DIRS): Quote path.
2996 * ldlang.c (ldlang_add_undef): If the output bfd has been opened,
2997 add the symbol to the linker hash table immediately.
2998 (lang_place_undefineds): Split symbol creation out..
2999 (insert_undefined): ..to here.
3003 * emultempl/elf32.em: Use lbasename vs. basename to fix problem where
3004 the contents of the buffer returned from basename function will are
3005 getting overwritten while still being used.
3011 * configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.
3012 * elf_x86_64.sh (ARCH): Set to i386:x86-64
3013 set libraries to default to lib64 paths.
3017 * Makefile.am : Add eaix5ppc and eaix5rs6, AIX 5 support.
3018 * configure.tgt : Same.
3019 * emulparms/aix5ppc.sh : New file. For eaix5ppc.
3020 * emulparms/aix5rs6.sh : New file. For eaix5rs6.
3021 * emulparms/aixppc.sh : OUPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT
3022 emulation parameters for better -b32, -b64 support.
3023 * emulparms/aixrs6.sh : Same.
3024 * emulparms/ppcmacos.sh : Same.
3025 * emultempl/aix.em (choose_target) : Use new emulation parameters
3026 OUTPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT.
3027 * Makefile.in : Regenerate.
3031 * po/fr.po: Updated version.
3035 * ldmain.c (main): Move .text readonly flag fudges from here..
3036 * ldlang.c (lang_process): ..to here.
3040 * ldlang.c (lang_check): Remove the word size check added in last
3041 change. Treat emitrelocations case as for relocatable links.
3045 * po/fr.po: Updated version.
3049 * ldlang.c (lang_check): Do relocatable link checks first, so that
3050 warn_mismatch can't override. Check compatible and word size too.
3054 * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
3058 * scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
3063 * scripttempl/elf.sc: Put .preinit_array, .init_array and
3064 .fini_array in the data segment.
3068 * scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
3072 * scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
3073 .init_array, and .fini_array.
3077 * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
3078 .IA64_unwind* in a relocatable link.
3082 * NEWS: Mark 2.12 branch.
3086 * emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit".
3087 * emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit".
3091 * emultempl/aix.em (gld*_parse_args): Add -brtl support.
3092 (gld*_before_allocation): Same.
3093 (gld*_create_output_section_statements): Generate
3094 __rtinit if run time linking. Add librtl.a to the link.
3095 (gld*_read_file): Clean.
3099 * emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
3103 * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd,
3104 eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
3105 and eelf64alpha_fbsd.
3106 * Makefile.in: Regenerate.
3107 * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd,
3108 x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd):
3109 use a FreeBSD-specific emulation rather than the psABI one.
3110 * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value
3111 for all FreeBSD ELF systems.
3112 * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI
3114 * emulparams/elf32ppc_fbsd.sh: Likewise.
3115 * emulparams/elf64_ia64_fbsd.sh: Likewise.
3116 * emulparams/elf64_sparc_fbsd.sh: Likewise.
3117 * emulparams/elf64alpha_fbsd.sh: Likewise.
3118 * emulparams/elf_i386_fbsd.sh: Likewise.
3119 * emulparams/elf_x86_64_fbsd.sh: Likewise.
3123 * po/tr.po: Updated version.
3127 * ld.texinfo (Output Section Fill): Fix amateur texinfo.
3132 * emultempl/mmo.em (mmo_after_open): Don't call
3133 _bfd_mmix_check_all_relocs when producing ELF output.
3137 * emulparams/elf64alpha.sh (NOP): Adjust for big-endian
3138 definition. Emit a unop+nop pair.
3142 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check
3143 for presence of .MMIX.reg_contents.linker_allocated before early
3146 * NEWS: Mention support for MMIX.
3150 Support arbitrary length fill patterns.
3151 * ld.texinfo (Output Section Fill): Describe fill expressions.
3152 (FILL): Refer to the above.
3153 * ldexp.h (etree_value_type): Add "str" field.
3154 (union etree_union): Add "str" to "value" struct.
3155 (exp_bigintop): Declare.
3156 (exp_get_fill): Declare.
3157 * ldexp.c: Include "safe-ctype.h".
3158 (exp_intop): Set value.str to NULL.
3159 (exp_bigintop): New function.
3160 (new_rel): Pass in "str", and set new.str from it.
3161 (new_rel_from_section): Set new.str to NULL.
3162 (fold_name): Adjust calls to new_rel.
3163 (exp_fold_tree): Likewise.
3164 (exp_get_fill): New function.
3165 * ldgram.y (struct big_int bigint, fill_type *fill): New.
3166 (INT): Returns a "bigint". Adjust all code handling INTs.
3167 (fill_opt): Returns a "fill".
3168 (fill_exp): Split out of fill_opt, use for FILL.
3169 * ldlang.h (struct _fill_type): New.
3170 (fill_type): Move typedef to ldexp.h.
3171 (lang_output_section_statement_type): "fill" is now a pointer.
3172 (lang_fill_statement_type): Likewise.
3173 (lang_padding_statement_type): Likewise.
3174 (lang_add_fill): Now takes a "fill_type *" param.
3175 (lang_leave_output_section_statement): Likewise.
3176 (lang_do_assignments): Likewise.
3177 (lang_size_sections): Likewise.
3178 (lang_leave_overlay_section): Likewise.
3179 (lang_leave_overlay): Likewise.
3180 * ldlang.c: Include ldgram.h after ldexp.h.
3181 (lang_output_section_statement_lookup): Adjust for fill_type change.
3182 (print_fill_statement): Likewise.
3183 (print_padding_statement): Likewise.
3184 (insert_pad): Now takes a "fill_type *" arg.
3185 (size_input_section): Likewise.
3186 (lang_size_sections_1): Likewise.
3187 (lang_size_sections): Likewise.
3188 (lang_do_assignments): Likewise.
3189 (lang_add_fill): Likewise.
3190 (lang_leave_output_section_statement): Likewise.
3191 (lang_leave_overlay_section): Likewise.
3192 (lang_leave_overlay): Likewise.
3193 Adjust all callers of the above function.
3194 * ldlex.l: Include ldgram.h after ldexp.h. Allow hex numbers
3195 starting with "0X" as well as "0x". Return bigint.str for hex
3196 numbers starting with "0x" or "0X", zero bigint.str otherwise.
3197 Always use base 16 for numbers starting with "$".
3198 * ldmain.c: Include ldgram.h after ldexp.h.
3199 * ldwrite.c (build_link_order): Use bfd_data_link_order in place
3200 of bfd_fill_link_order.
3201 * pe-dll.c: Adjust lang_do_assignments calls.
3202 * emultempl/elf32.em: Likewise.
3203 * emultempl/hppaelf.em: Likewise.
3204 * emultempl/ppc64elf.em: Likewise.
3205 * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
3206 lang_add_assignment call.
3207 * emultempl/pe.em: Likewise.
3211 * ld.texinfo (VERSION scripts): Symbol names are globbing patterns.
3212 * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern;
3213 the pattern in question is not a regexp.
3214 * ldlang.c: Likewise.
3215 * ldlang.h: Likewise.
3216 * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also.
3220 * ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
3221 * ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
3222 (exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
3223 * ldexp.c (exp_data_seg): New variable.
3224 (exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
3225 (fold_binary): Handle DATA_SEGMENT_ALIGN.
3226 (exp_fold_tree): Handle DATA_SEGMENT_END.
3227 Pass allocation_done when recursing instead of hardcoding
3228 lang_allocating_phase_enum.
3229 * ldexp.h (exp_data_seg): New.
3230 * ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
3231 (lang_size_sections): New.
3232 * ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
3233 * scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
3234 if COMMONPAGESIZE is defined.
3235 * emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
3236 * emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
3237 * emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
3238 * emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
3239 * emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
3244 * Makefile.in: Regenerate.
3248 * lexsup.c: Remove strtoul declaration.
3252 * ldmain.c: Add prototype for main ().
3253 * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H.
3254 * emultempl/lnk960.em (lnk960_choose_target): Function should
3259 * ldlang.c (entry_section): New initialised variable.
3260 (lang_finish): Use it.
3261 * ldlang.h (entry_section): Declare.
3262 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
3263 entry_section to ".opd".
3267 * ld.texinfo (Options): Add back in -nostdlib documentation,
3268 which had been inadvertently removed.
3272 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust
3273 register section vma to a sane value after emitting error. Make
3274 fatal conditions cause program exit when emitting message.
3278 * configure.tgt: Add or32-*-rtems target.
3282 Contribute sh64-elf.
3284 * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined
3285 in OTHER_RELOCATABLE_SECTIONS.
3287 * emulparams/shelf32.sh (STACK_ADDR): Define.
3288 (OTHER_RELOCATABLE_SECTIONS): Renamed to...
3289 (OTHER_SECTIONS): this. Removed stack settings.
3290 * emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set.
3291 (OTHER_SECTIONS): Reset after sourcing shelf32.sh.
3293 * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable
3294 relaxing if any shmedia or mixed sections are found.
3296 * emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to
3297 einfo. Gracefully decline to output to non-elf formats.
3299 * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>:
3300 Default to _end aligned to next multiple of 0x40000, plus 0x40000.
3301 * emulparams/shelf32.sh: Ditto.
3303 * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak
3306 * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid
3307 non-portable shell constructs. From Hans-Peter Nilsson.
3309 * emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty.
3310 * Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust
3311 dependencies to the shell script include chain.
3312 * Makefile.in: Regenerate.
3314 * emultempl/sh64elf.em: Update and tweak comments.
3315 (sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and
3316 make a .cranges section SEC_IN_MEMORY.
3318 * emultempl/sh64elf.em
3319 (sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when
3320 .cranges section found to be necessary; continue and set stored
3321 section contents flags for sections with non-mixed contents.
3322 Use a struct sh64_section_data container and sh64_elf_section_data
3323 to store contents-type flags.
3324 Remove unused update of "isec".
3325 (sh64_elf_${EMULATION_NAME}_after_allocation): Only process
3326 sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to
3327 access contents-type flags. Assert that the associated container
3328 is initialized. Use that container, not elf_gp_size, to hold size
3329 of linker-generated cranges contents.
3331 * emultempl/sh64elf.em
3332 (sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if
3333 there's already a .cranges section. When section flag difference
3334 is found, don't NULL-check cranges a second time. Tweak comments.
3335 (sh64_elf_${EMULATION_NAME}_after_allocation): Use size after
3336 merging, not max size, as size of ld-generated .cranges contents.
3337 Don't set ELF section flags in output section. When checking for
3338 needed .cranges descriptors, don't use a variable; compare
3339 incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak
3342 * emultempl/sh64elf.em: New file.
3343 * Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies.
3344 * Makefile.in: Regenerate.
3345 * emulparams/shelf32.sh (OUTPUT_FORMAT): Only set if not set.
3346 (OTHER_RELOCATING_SECTIONS): Ditto.
3347 (EXTRA_EM_FILE): New, set to sh64elf if not set.
3348 * emulparams/shlelf32.sh: Stub out all settings except
3349 OUTPUT_FORMAT. Source shelf32.sh.
3350 * emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and
3351 OTHER_RELOCATING_SECTIONS.
3352 (OTHER_RELOCATING_SECTIONS): Remove .cranges.
3353 * emulparams/shlelf64.sh: Stub out all settings except
3354 OUTPUT_FORMAT. Source shelf64.sh.
3356 * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include
3358 (DATA_START_SYMBOLS): Define, provide ___data.
3359 (OTHER_READONLY_SYMBOLS): Define, provide ___rodata and align to 8
3360 for consecutive .data section.
3361 (OTHER_GOT_SECTIONS): Define, align to 8 for consecutive .bss
3362 section after .data section.
3363 * emulparams/shlelf64.sh: Ditto.
3364 * emulparams/shelf32.sh: Ditto.
3365 (ALIGNMENT): Define to 8.
3366 * emulparams/shelf32.sh: Ditto.
3368 * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get
3369 built-in linker scripts.
3371 * emulparams/shlelf64.sh: New.
3372 * emulparams/shelf64.sh: New.
3373 * configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to
3375 * Makefile.am: Add support for shlelf64 and shelf64.
3376 * Makefile.in: Regenerate.
3378 * configure.tgt (sh64-*-elf*): Add shelf as default.
3379 Add shlelf to targ_extra_emuls.
3381 * emulparams/shelf32.sh: New file.
3382 * emulparams/shlelf32.sh: New file.
3383 * Makefile.am: Add support for shlelf32 and shelf32.
3384 * configure.tgt: Map sh64-*-elf* to shlelf32 and shelf32.
3385 * Makefile.in: Regenerate.
3389 * ldlang.c (lang_reset_memory_regions): Rename from
3390 reset_memory_regions. Change all callers. Make public.
3391 * ldlang.h (lang_reset_memory_regions): Prototype.
3392 * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Call
3393 lang_reset_memory_regions before lang_size_sections.
3394 * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
3395 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise.
3399 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signed
3400 arithmetic when checking for too many global registers.
3404 * Makefile.am (ALL_EMULATIONS): Add ehppanbsd.o.
3405 (ehppanbsd.c): New rule.
3406 * Makefile.in: Regenerate.
3407 * configure.tgt (hppa*-*-netbsd*): New target.
3408 * emulparams/hppalinux.sh: Add comment to check other files
3409 that source this file it is modified, and list which
3411 * emulparams/hppanbsd.sh: New file.
3415 * scripttempl/xstormy16.sc: Don't allocate extra space for the
3420 Support on-demand global register allocation from
3421 R_MMIX_BASE_PLUS_OFFSET relocs.
3422 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from
3423 mmix_set_reg_section_vma. Call
3424 _bfd_mmix_finalize_linker_allocated_gregs.
3425 (mmix_before_allocation): New function.
3426 (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation.
3427 (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation.
3428 * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP.
3429 (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated
3430 before .MMIX.reg_contents.
3431 * emultempl/mmo.em (gldmmo_before_allocation): Define to default.
3432 (mmo_after_open): New function.
3433 (LDEMUL_AFTER_OPEN): Define to mmo_after_open.
3434 * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add
3435 .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents.
3439 * emulparams/or32.sh: New file.
3440 * emulparams/or32elf.sh: New file.
3441 * scripttempl/or32.sc: New file.
3442 * configure.tgt : Add support for or32.
3443 * configure: Regenerate
3444 * Makefile.am: Add support for or32.
3445 * Makefile.in: Regenerate.
3446 * NEWS: Mention support for or32.
3447 * po/ld.pot: Regenerate.
3452 * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself.
3453 * emultempl/mipself.em: New file to handle MIPS ELF embedded
3454 reloc creation (ld --embedded-relocs).
3458 * configure: Regenerated.
3462 * Makefile.am (install): Depend on install-info.
3463 * Makefile.in: Regenerate.
3467 * ldmain.c (main): Use full sentences to ease translation.
3471 * po/fr.po: Updated version.
3475 * po/es.po: Updated version.
3479 * ldlex.l (yy_input): Correct error check.
3483 * ldmisc.c (demangle): Put back dots when string not demangled.
3487 * emulparams/elf64alpha.sh (NOP): Use unop.
3491 * ldlex.l: Use fread instead of read.
3495 * configure.tgt (ia64-*-netbsd*): New target.
3499 * emulparams/elf32btsmip.sh (SHLIB_TEXT_START_ADDR): Change to
3501 * emulparams/elf64btsmip.sh (SHLIB_TEXT_START_ADDR): Likewise.
3505 * ldver.c (ldversion): Update year.
3509 * po/ld.pot: Regenerate.
3513 * Makefile.am (eelf64ppc.c, eelf64lppc.c): Depend on ppc64elf.em.
3514 * Makefile.in: Regenerate.
3515 * emulparams/elf64ppc.sh (EXTRA_EM_FILE): Define.
3516 * emultempl/ppc64elf.em: New file.
3520 * scripttempl/pe.sc: Add support for constructor priorities.
3524 * emulparams/avr1200.sh (DATA_START): Define as 0x60.
3525 * emulparams/avr23xx.sh: Likewise.
3526 * emulparams/avr4433.sh: Likewise.
3527 * emulparams/avr44x4.sh: Likewise.
3528 * emulparams/avr85xx.sh: Likewise.
3529 * emulparams/avrmega103.sh: Likewise.
3530 * emulparams/avrmega161.sh: Likewise.
3531 * emulparams/avrmega603.sh: Likewise.
3532 * scripttempl/elf32avr.sc: Use DATA_START instead of 0x60.
3536 * ldlang.c (walk_wild_section): Exclude object file if enclosing
3537 archive is excluded.
3541 * Makefile.am (ALL_EMULATIONS): Add eshelf_nbsd.o and eshlelf_nbsd.o.
3542 (eshelf_nbsd.c): New rule.
3543 (eshlelf_nbsd.c): New rule.
3544 * Makefile.in: Regenerate.
3545 * configure.tgt (sh*le-*-netbsdelf*): New target.
3546 (sh*-*-netbsdelf*): New target.
3547 * emulparams/shelf.sh: Document that shelf_nbsd.sh sources this file.
3548 * emulparams/shelf_nbsd.sh: New emulation.
3549 * emulparams/shlelf_nbsd.sh: New emulation.
3553 * po/es.po: New file: Spanish translation.
3554 * configure.in (ALL_LINGUAS): Add es.
3555 * configure: Regenerate.
3559 * ld.texinfo: Note that --emit-relocs is currently only
3560 implemented for ELF.
3564 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Make use
3565 of bfd_section_list_remove and bfd_section_list_insert macros.
3566 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
3567 * emultempl/mmo.em (mmo_place_orphan): Likewise.
3571 * configure.tgt (x86_64-*-netbsd*): New target.
3573 For older changes see ChangeLog-0001
3575 Copyright (C) 2002-2003 Free Software Foundation, Inc.
3577 Copying and distribution of this file, with or without modification,
3578 are permitted in any medium without royalty provided the copyright
3579 notice and this notice are preserved.
3585 version-control: never