3 * Makefile.am: Add LM32 object files and dependencies.
4 * Makefile.in: Regenate.
5 * NEWS: Record that support for LM32 has been added.
6 * configure.tgt: Add LM32 targets.
7 * emulparams/elf32lm32.sh: New file.
8 * emulparams/elf32lm32fd.sh: New file.
12 * Makefile.am (EXTRA_DIST): Add deffilep.c and deffilep.h
13 * Makefile.in: Regenerate.
17 * NEWS: Remove mention of support for STT_IFUNC.
21 * configure: Regenerate.
25 * emultempl/spuelf.em (params): Init new field.
26 (OPTION_SPU_NUM_REGIONS): Define.
27 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --num-regions.
28 (PARSE_AND_LIST_ARGS_CASES): Handle --num-regions.
32 * emultempl/spuelf.em (params): New var, used instead of various others.
33 Adjust use throughout file.
34 (spu_after_open): Call spu_elf_setup.
35 (spu_place_special_section): Tidy.
36 (spu_elf_load_ovl_mgr): Return total size of sections loaded. Move
37 code setting overlay section alignment to..
38 (spu_before_allocation): ..here.
42 * NEWS: Mention new feature.
43 * pe-dll.c (process_def_file): Replace use of redundant
44 BFD_FORT_COMM_DEFAULT_VALUE with 0.
45 * scripttempl/elf.sc: Add .rel.ifunc.dyn and .rela.ifunc.dyn
50 * pe-dll.c (make_runtime_pseudo_reloc): Make symtab big enough to
55 * emultempl/cr16elf.em (cr16_after_open): New function to handle
56 CR16 ELF embedded reloc creation (ld --embedded-relocs).
57 (check_sections): New function.
58 (LDEMUL_AFTER_OPEN): Define.
59 * emulparams/elf32cr16.sh (EMBEDDED): Define.
64 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Update
65 for changes to struct bfd_elf_version_expr.
66 * ldlang.c (lang_vers_match, version_expr_head_hash): Likewise.
67 (version_expr_head_eq, lang_finalize_version_expr_head): Likewise.
68 (lang_register_vers_node): Likewise.
69 (lang_new_vers_pattern): Likewise. Ensure "literal" is set when
70 no glob chars found in "pattern".
71 (realsymbol): Correct backslash quote logic.
72 * ld.texinfo (VERSION): Warn about global wildcards.
76 * ldlang.c (lang_record_phdrs): Don't add orphans to PT_INTERP header.
80 * fdl.texi: Update to v1.3
81 * ld.texinfo: Change license to v1.3.
85 * configure.tgt [spu-*-elf*]: Set NATIVE_LIB_DIRS to '/lib'.
89 * ldver.c: Update copyright year.
93 * emultempl/pep.em (..._before_parse): initialize
94 pei386_runtime_pseudo_reloc by version 2.
95 (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1): New option.
96 (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2): New option.
97 (make_import_fixup): Use relocation size to read addend.
98 * emultempl/pe.em (..._before_parse): initialize
99 pei386_runtime_pseudo_reloc by version 1.
100 (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1): New option.
101 (OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2): New option.
102 * pe-dll.c (pe-dll.h): Remove useless include.
103 (make_runtime_pseudo_reloc): Change addend to use bfd_vma.
104 Handle the two variants of pseudo-relocation.
105 (pe_create_import_fixup): Change addend to type bfd_vma.
106 Modify for the two pseudo_relocation variants.
107 (runtime_pseudp_reloc_v2_init): New static variable.
108 * pe-dll.h (pe_create_import_fixup): Change addend argument type
110 * pep-dll.h (pep_create_import_fixup): Likewise.
115 * Makefile.am (spu_ovl.o_c): Add missing line continuations.
116 * Makefile.in: Regenerate.
120 * configure.tgt: Add m32c-*-rtems* and m32r-*-rtems*.
124 * emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set.
125 * scripttempl/elfxtensa.sc (NO_REL_RELOCS, NO_RELA_RELOCS)
126 (NON_ALLOC_DYN): Import changes from elf.sc.
131 * ldlang.c (lang_size_sections_1): Do not update the VMAs of
132 output sections when performing a relocatable link on COFF
137 * emultempl/armelf.em (arm_elf_after_open): Move check for using a
138 non-arm output target from here...
139 (arm_elf_create_output_section_statements): ... to here, so that
140 the check is made at the earliest possible opportunity.
144 * emulparams/elf32_i960.sh (TEMPLATE_NAME): "generic", not "elf32".
145 (EXTRA_EM_FILE): Define.
149 * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN):
150 Handle these defines.
151 * emulparams/criself.sh, * emulparams/crislinux.sh,
152 * emulparams/elf32am33lin.sh, * emulparams/elf32fr30.sh,
153 * emulparams/elf32_i860.sh, * emulparams/elf32ip2k.sh,
154 * emulparams/elf32mcore.sh, * emulparams/elf32ppccommon.sh,
155 * emulparams/elf32ppcwindiss.sh, * emulparams/elf32_sparc.sh,
156 * emulparams/elf32_spu.sh, * emulparams/elf32vax.sh,
157 * emulparams/elf64alpha.sh, * emulparams/elf64mmix.sh,
158 * emulparams/elf64ppc.sh, * emulparams/elf64_s390.sh,
159 * emulparams/elf64_sparc.sh, * emulparams/elf_s390.sh,
160 * emulparams/elf_x86_64.sh, * emulparams/h8300elf.sh,
161 * emulparams/hppa64linux.sh, * emulparams/hppalinux.sh,
162 * emulparams/m68kelf.sh, * emulparams/mn10200.sh,
163 * emulparams/pjelf.sh, * emulparams/ppclynx.sh,
164 * emulparams/shelf32.sh, * emulparams/shelf_nto.sh,
165 * emulparams/shelf.sh, * emulparams/shelf_vxworks.sh,
166 * emulparams/shlelf32_linux.sh, * emulparams/shlelf_linux.sh,
167 * emulparams/shlelf_nto.sh (NO_REL_RELOCS): Set.
168 * emulparams/arcelf.sh, * emulparams/elf32_i960.sh,
169 * emulparams/elf32openrisc.sh, * emulparams/elf_i386_be.sh,
170 * emulparams/elf_i386_ldso.sh, * emulparams/elf_i386.sh,
171 * emulparams/elf_i386_vxworks.sh, * emulparams/i386lynx.sh,
172 * emulparams/i386moss.sh, * emulparams/i386nto.sh,
173 * emulparams/or32elf.sh, * emulparams/scoreelf.sh (NO_RELA_RELOCS): Set.
177 * ldlang.c (lang_output_section_find_by_flags): Handle non-alloc
179 * emultempl/elf32.em (enum orphan_save_index): Add orphan_nonalloc.
181 (gld${EMULATION_NAME}_place_orphan): Handle non-alloc orphans.
185 * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Correct typo in
190 * ldemul.h (ldemul_place_orphan): Update prototype.
191 (struct ld_emulation_xfer_struct <place_orphan>): Likewise.
192 * ldemul.c (ldemul_place_orphan): Return pointer to output
194 * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Likewise.
195 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise.
196 * emultempl/mmo.em (mmo_place_orphan): Likewise.
197 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
198 * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
202 * configure.in (ALL_LINGUAS): Add "id".
203 * configure: Regenerate.
204 * po/id.po: New Indonesian translation.
209 * scripttempl/avr.sc (.bss): Set lma when relocating.
210 (.bss, .noinit): No need to set vma when relocating.
211 (.text, .bss, ,noinit): Set vma to zero when not relocating.
216 * ldemul.c (ldemul_place_orphan): Add "constraint" param.
217 * ldemul.h (ldemul_place_orphan): Update prototype.
218 (struct ld_emulation_xfer_struct <place_orphan>): Likewise add param.
219 * ldlang.c (unique_section_p): Make static.
220 (lang_output_section_statement_lookup): Optimise creation of SPECIAL
222 (lang_insert_orphan): Add "constraint" param. Pass to
223 lang_enter_output_section_statement.
224 (init_os): Don't use an existing bfd section for SPECIAL sections.
225 (lang_place_orphans): Don't rename unique output sections, instead
226 mark their output section statements SPECIAL.
227 * ldlang.h (lang_insert_orphan): Update prototype.
228 (unique_section_p): Delete.
229 * emultempl/beos.em (place_orphan): Add "constraint" param.
230 * emultempl/elf32.em (place_orphan): Likewise. Don't match existing
231 output sections if set.
232 * emultempl/pe.em (place_orphan): Likewise.
233 * emultempl/pep.em (place_orphan): Likewise.
234 * emultempl/mmo.em (mmo_place_orphan): Update.
235 * emultempl/spuelf.em (spu_place_special_section): Update.
240 * ldemul.c (ldemul_place_orphan): Add "name" param.
241 * ldemul.h (ldemul_place_orphan): Update prototype.
242 (struct ld_emulation_xfer_struct <place_orphan>): Likewise.
243 * ldlang.c (lang_place_orphans): Generate unique section names here..
244 * emultempl/elf32.em (place_orphan): ..rather than here. Don't
245 directly use an existing output section statement that has no
247 * emultempl/pe.em (place_orphan): Likewise.
248 * emultempl/pep.em (place_orphan): Likewise.
249 * emultempl/beos.em (place_orphan): Adjust.
250 * emultempl/spuelf.em (spu_place_special_section): Adjust
252 * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): New function.
253 (LDEMUL_AFTER_OPEN): Define.
257 * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd
262 * Makefile.am: Run "make dep-am".
263 * Makefile.in: Regenerate.
268 * configure: Regenerate for new libtool.
270 * Makefile.in: Ditto.
274 * pe-dll.c (make_import_fixup_entry): Make sure reloc is addend.
278 * po/vi.po: Updated Vietnamese translation.
282 * ldexp.c (fold_binary): Evaluate rhs when lhs not valid.
286 * configure.in: Call AC_SYS_LARGEFILE.
287 * config.in: Regenerate.
288 * configure: Regenerate.
292 * emultempl/pe.em (pe_find_data_imports): Add trailing newline
294 * emultempl/pep.em (pep_find_data_imports): Likewise.
300 * emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated.
301 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Likewise.
305 * NEWS: Add a marker for the 2.19 features.
309 * ldlang.h (lang_output_section_find): Define.
310 (lang_output_section_statement_lookup): Update prototype.
311 * ldlang.c (lang_output_section_find,
312 lang_output_section_statement_lookup_1): Merge into..
313 (lang_output_section_statement_lookup): ..here. Update all callers.
314 (process_insert_statements): Set constraint negative
315 for output section statements we might be inserting. Make error
316 fatal on not finding insertion section.
317 (lang_output_section_find): Rather than comparing
318 output_section_statement.constraint against -1, test whether
320 (lang_output_section_statement_lookup_1): Likewise.
321 (output_prev_sec_find, strip_excluded_output_sections): Likewise.
322 (lang_record_phdrs): Likewise.
323 * emultempl/elf32.em (output_rel_find): Likewise.
324 * NEWS: Mention INSERT.
329 * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all
330 input sections in all input bfds and always select the last
331 suitable one, so that interworking stubs are always processed
332 after all other input sections.
333 (arm_elf_before_allocation): Remove redundant use of
334 output_has_begun flag.
338 * configure.in: Update a number of obsolete autoconf macros.
339 * configure: Regenerate.
340 * aclocal.m4: Regenerate.
345 * ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Do not align
346 EXPLD.DATASEG.MIN_BASE.
347 * ldlang.c (lang_size_sections): New variable OLD_BASE. Rename
348 OLD_MIN_BASE to MIN_BASE with the former alignment from `ldexp.c'.
349 Use OLD_BASE now for the minimal base check after the base decrease by
350 the maximum alignment found.
355 * ldcref.c (check_local_sym_xref): Use bfd_generic_link_read_symbols.
356 Don't free symbol pointer array.
357 (check_refs): Likewise.
358 * ldmain.c (warning_callback): Likewise.
359 * ldmisc.c (vfinfo): Likewise.
360 * pe-dll.c (process_def_file): Likewise.
361 (pe_walk_relocs_of_symbol, generate_reloc): Likewise.
362 * emultempl/pe.em (pe_find_data_imports): Likewise.
363 (gld_${EMULATION_NAME}_after_open): Likewise.
364 * emultempl/pep.em (pep_find_data_imports): Likewise.
365 (gld_${EMULATION_NAME}_after_open): Likewise.
366 * ldlang.h (lang_input_statement_type): Delete asymbols, symbol_count,
367 passive_position, closed.
368 * ldlang.c (new_afile): Don't set asymbols and symbol_count.
369 * ldmain.c (add_archive_element): xcalloc lang_input_statement_type.
374 * configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
375 * Makefile.in: Regenerate.
376 * aclocal.m4: Regenerate.
377 * config.in: Regenerate.
378 * configure: Regenerate.
383 * ldmain.c (check_for_scripts_dir, set_scripts_dir): Delete.
384 (main): Don't set_scripts_dir here.
385 * ldfile.c (check_for_scripts_dir, find_scripts_dir): New functions,
386 largely based on ldmain.c versions.
387 (ldfile_find_command_file): Set up search in script dir here without
388 affecting library search.
389 * Makefile.am (ldmain.o): No need to define SCRIPTDIR.
390 (ldfile.o): New rule.
391 * Makefile.in: Regenerate.
395 * Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o,
397 Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c.
398 * Makefile.in: Regenerate.
399 * configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35
401 * emulparams/avr25.sh: New file.
402 * emulparams/avr31.sh: New file.
403 * emulparams/avr35.sh: New file.
404 * emulparams/avr51.sh: New file.
409 * emulparams/elf32bmip.sh (GOT): Define, moving .got.plt to...
410 (OTHER_RELRO_SECTIONS, OTHER_READWRITE_SECTIONS): ...one of these
412 * emulparams/elf32bmipn32-defs.sh: Likewise.
413 * emultempl/mipself.em: Include ldctor.h, elf/mips.h and elfxx-mips.h.
414 (is_mips_elf): New macro.
415 (stub_file, stub_bfd): New variables.
416 (hook_stub_info): New structure.
417 (hook_in_stub): New function.
418 (mips_add_stub_section): Likewise.
419 (mips_create_output_section_statements): Likewise.
420 (mips_before_allocation): Likewise.
421 (real_func): New variable.
422 (mips_for_each_input_file_wrapper): New function.
423 (mips_lang_for_each_input_file): Likewise.
424 (lang_for_each_input_file): Define.
425 (LDEMUL_BEFORE_ALLOCATION): Likewise.
426 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Likewise.
430 * ldfile.c (ldfile_open_file_search): Use concat.
431 (try_open): Don't use a fixed size pathname buffer.
432 (ldfile_find_command_file): Likewise.
433 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): If
434 using EXTRA_SHLIB_EXTENSION, don't open twice.
438 * Makefile.am (POTFILES.in): Set LC_ALL=C.
439 * Makefile.in: Regenerate.
440 * po/POTFILES.in: Regenerate.
444 * Makefile.am (spu_ovl.o): Merge rule into..
445 (spu_ovl.o_c): ..this one. Only run cpp for spu target.
446 * Makefile.in: Regenerate.
450 Include the spu_ovl ASCII form in the repository files.
451 * emultempl/spuelf.em: No longer use `bin2c', use now `spu_ovl.o_c'.
452 * Makefile.am (eelf32_spu.c): Depend now on `spu_ovl.o_c'.
453 ($(srcdir)/emultempl/spu_ovl.o_c): New target.
454 ($(srcdir)/emultempl/spu_ovl.o): Rename to...
455 (spu_ovl.o): ...this one.
456 * Makefile.in: Regenerate.
457 * emultempl/spu_ovl.o_c: New file.
458 * emultempl/spu_ovl.o: File removed.
462 * pe-dll.c (generate_relocs): Don't generate relocs for
463 undefined weak symbols.
467 * emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'.
471 * emultempl/pe.em, emultempl/pep.em: Silence gcc warnings.
475 * ld.texinfo (--no-wchar-size-warning): Document new ARM option.
476 * emultempl/armelf.em (no_wchar_size_warning): New.
477 (arm_elf_create_output_section_statements): Pass
478 no_wchar_size_warning to arm_elf_create_output_section_statements.
479 (OPTION_NO_WCHAR_SIZE_WARNING): New.
480 (PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
481 (PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
482 (PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.
486 * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
491 * configure.in: Check for, and include, libz.a if it is present.
492 * configure: Regenerate.
493 * config.in: Regenerate.
499 * Makefile.am (eelf32bfin.c): Depend on bfin.em.
500 (eelf32bfinfd.c): Likewise.
501 * Makefile.in: Regenerate.
502 * gen-doc.texi: Set Blackfin.
503 * ld.texinfo: Document --sep-code and Blackfin specific
505 * ldmain.c (main): Initialize link_info.sep_code.
506 * lexsup.c (enum option_values): Add OPTION_SEP_CODE.
507 (ld_options[]): Add --sep-code.
508 (parse_args): Deal with --sep-code.
509 * emulparams/bfin.sh (EXTRA_EM_FILE): Define.
510 * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
511 * emultempl/bfin.em: New file.
515 * Makefile.am (eelf32bfin.c): Depend on bfin.em.
516 (eelf32bfinfd.c): Likewise.
517 * Makefile.in: Regenerate.
518 * gen-doc.texi: Set Blackfin.
519 * ld.texinfo: Document --sep-code and Blackfin specific
521 * ldmain.c (main): Initialize link_info.sep_code.
522 * lexsup.c (enum option_values): Add OPTION_SEP_CODE.
523 (ld_options[]): Add --sep-code.
524 (parse_args): Deal with --sep-code.
525 * emulparams/bfin.sh (EXTRA_EM_FILE): Define.
526 * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
527 * emultempl/bfin.em: New file.
531 *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols
533 Exclude "_IMPORT_DESCRIPTOR_".
534 (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA".
535 (autofilter_symbollist_generic): Don't check for ".text".
536 Exclude "_NULL_IMPORT_DESCRIPTOR".
537 (autofilter_symbollist_i386): Likewise.
541 * emultempl/armelf.em (elf32_arm_add_stub_section): Use
542 bfd_make_section_with_flags.
543 * emultempl/avrelf.em (avr_elf_create_output_section_statements):
545 * emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
546 * emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
547 * emultempl/m68kcoff.em (gld${EMULATION_NAME}_after_open): Likewise.
548 * emultempl/m68kelf.em (m68k_elf_after_open): Likewise.
549 * emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
550 * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation):
555 * ld.texinfo (File Commands): Document that INCLUDE can be used in
556 several different places.
557 * ldgram.y (statement, memory_spec, section): Allow INCLUDE.
558 (memory, memory_spec_list): Simplify BNF
559 (memory_spec_list_opt): New rule.
560 * ldlex.l (INCLUDE): Recognize in EXPRESSION.
564 * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Make "can not
565 build overlay stubs" a fatal error.
569 * config.in: Regenerate.
570 * configure: Regenerate.
574 * emultempl/spuelf.em (extra_stack_space): New variable.
575 (gld${EMULATION_NAME}_finish): Pass it to spu_elf_check_vma.
576 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
577 PARSE_AND_LIST_ARGS_CASES): Handle --extra-stack-space.
578 * emultempl/spu_ovl.S: Mask interrupts during dma and update of
579 overlay manager structures.
580 * emultempl/spu_ovl.o: Regenerate.
584 * ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, only
585 mention it as being special for global symbols.
589 * ldlang.c (print_output_section_statement): If the output section
590 statement has an update_dot_tree expression, apply it to
592 (print_input_section): Do not update print_dot if it would move
594 (lang_do_assignments_1): If the output section statement has an
595 update_dot_tree expression apply it to dot.
599 * NEWS: Mention archive:path patterns.
600 * ld.texinfo: Likewise.
601 * ldlang.c: Formatting throughout.
602 (archive_path): Only assume "[A-Za-z]:" is a dos drive.
603 (input_statement_is_archive_path): New function, extracted from..
605 (walk_wild_consider_section): Match archive:path here too.
606 (init_map_userdata, sort_def_symbol): Convert to ISO C.
607 * ldmain.c (main): Set link_info.path_separator.
608 * emultempl/spuelf.em (choose_target): Don't set it here.
612 * ldlang.c (name_match): New function.
613 (unique_section_p, walk_wild_consider_section): Use it here.
614 (walk_wild_section_general): And here.
615 (archive_path): New function.
616 (walk_wild): Match archive:path filespecs.
617 (open_input_bfds): Don't load archive:path files.
618 * emultempl/spuelf.em (choose_target): Set path_separator.
619 * emulparams/elf32_spu.sh: Add ._ea.* sections to ._ea output.
623 * ld.texinfo (Orphan Sections): Fix texi typo.
627 * lexsup.c (option_values): Add OPTION_NO_WARN_FATAL.
628 (ld_options): Add entry for --no-fatal-warnings.
629 (parse_args): Handle OPTION_NO_WARN_FATAL.
630 * ld.texinfo (Options): Document new command line switch.
634 * emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.
638 * ldlang.c (closest_target_match): Skip generic big and little
644 * ld.h (enum sort_order): New.
645 * ldlang.c (lang_check: Fix comment.
646 (lang_common): Sort commons in ascending or descending order.
647 (lang_one_common): Likewise.
648 * lexsup.c (ld_options): Have --sort-common take an option
650 (parse_args): Handle argument to --sort-common.
651 * ld.texinfo (--sort-common): Document new optional argument.
652 * NEWS: Mention new feature.
656 * ld.texinfo: State that farcalls stubs are supported for ARM-EABI
661 * pe-dll.c (fill_edata): Make sure we calculate vma's in
663 (generate_reloc): Likewise.
664 (pe_implied_import_dll): Likewise.
669 * ld.texinfo (Orphan Sections): Mention that the linker will
670 provide start and stop symbols for orphaned sections if their
671 names are valid C identifiers.
672 * NEWS: Add an addendum to the description of the linker feature
673 for providing orphan section start and end symbols.
677 * configure.in (--enable-got): New option. Handle it.
678 * configure: Regenerate.
679 * config.in: Regenerate.
680 * emultempl/m68kelf.em: (got_handling_target_default): New shell
682 (GOT_HANDLING_TARGET_DEFAULT): New macro.
683 (GOT_HANDLING_DEFAULT): New macro. Initialize it from configure
684 option if one was given.
685 (got_handling): New static variable.
686 (elf_m68k_create_output_section_statements): New static function
688 (PARSE_AND_LIST_PROLOGUE): Define shell variable.
689 (OPTION_GOT): New macro.
690 (PARSE_AND_LIST_LONGOPTS): Define shell variable. Specify
692 (got): New linker option.
693 (PARSE_AND_LIST_OPTIONS): Define shell variable. Print help string
695 (PARSE_AND_LIST_ARGS_CASES): Define shell variable. Handle --got
697 * ld.texinfo: Document --got=<type> option.
698 * gen-doc.texi: Add M68K.
699 * NEWS: Mention the new feature.
704 * ld.texinfo (--sort-common): Correct documentation to indicate
705 that sorting is performed by alignment, not size, biggest
711 * ld.texinfo (ARM): Document --stub-group-size=N option.
712 Move description of --pic-veneer option into the ARM section.
713 * NEWS: Mention the support for long function calls.
717 * emultempl/armelf.em (build_section_lists): New function.
719 (need_laying_out): Define.
720 (group_size): Define.
721 (hook_stub_info): Define.
722 (hook_in_stub): New function.
723 (elf32_arm_add_stub_section): New function.
724 (gldarm_layout_sections_again): New function.
725 (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
726 stubs for long calls if needed.
727 (arm_elf_create_output_section_statements): create stub_file bfd.
728 (arm_for_each_input_file_wrapper): New function.
729 (arm_lang_for_each_input_file): New function.
730 (lang_for_each_input_file): Define.
731 (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
732 (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
733 (PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
734 (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
735 (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
736 * lang.c (print_input_statement): Skip if bfd has
741 * Makefile.in: Regenerate.
746 * emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
747 of long and change return type to bfd_vma.
748 (definfo): Change type of address from long to bfd_vma.
749 (set_pep_value): Replace strtoul to strtoull.
750 (gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long..
751 * pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
753 (quick_reloc): Change argument address from int to bfd_size_type.
757 * ld.texinfo (PowerPC64 ELF64): Fix typo.
761 * elf32_spu.sh (OTHER_SECTIONS): Add "._ea".
762 * elf32ppc.sh: If building with spu support, put ".data.spehandle"
763 sections at the start of ".data" and provide a symbol to locate
764 the directory of embedded spe programs.
768 * ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K. Correct
770 (fold_binary <SEGMENT_START>): Set expld.result.section to
771 current section. Expand comment. Formatting.
772 (fold_name <DEFINED>): Set expld.result.section to current section.
776 * ldlang.c (lang_size_sections_1): Don't check LMA overflow on
781 * configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
782 and targ_extra_emuls to elf32bfin.
786 * aclocal.m4: Regenerate.
787 * configure: Regenerate.
791 * scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
795 * po/POTFILES.in: Regenerate.
799 * emultempl/spuelf.em (auto_overlay, auto_overlay_file,
800 auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
801 (spu_before_allocation): Warn on --auto-overlay and existing overlays.
802 (struct tflist, clean_tmp): Move.
803 (new_tmp_file): New function, extracted from..
804 (embedded_spu_file): ..here.
805 (spu_elf_open_overlay_script, spu_elf_relink): New function.
806 (gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
807 Warn on --auto-overlay and zero local store.
808 (gld${EMULATION_NAME}_choose_target): New function to stash argv.
809 (OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
810 OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
811 OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
812 (PARSE_AND_LIST_LONGOPTS): Add entries for new options.
813 (PARSE_AND_LIST_OPTIONS): Likewise.
814 (PARSE_AND_LIST_ARGS_CASES): Likewise.
815 (LDEMUL_CHOOSE_TARGET): Define.
820 * pe-dll.c (make_head): Fix iat and thunk addend offset.
824 * po/fr.po: Updated French translation.
828 The sha1 code is now in libiberty.
831 * Makefile.am (CFILES): Remove sha1.c.
832 (HFILES): Remove sha1.h.
833 (OFILES): Remove sha1.o.
834 (ld_new_SOURCES): Remove sha1.c.
835 (sha1.o): Remove target.
836 * Makefile.in: Rebuild.
840 * emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
844 * aclocal.m4: Regenerate.
845 * configure: Likewise.
846 * Makefile.in: Likewise.
850 * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
851 spu_elf_build_stubs with is_spu_target.
855 * Makefile.am: Run "make dep-am".
856 * Makefile.in: Regenerate.
857 * configure: Regenerate.
862 * emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
863 (COMMONPAGESIZE): Define.
868 * ldlang.c (lang_size_sections_1): Honour the setting of an
869 lma_region even if there is no vma region set, or the vma region
870 is the same as the lma region.
874 * scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
876 * scripttempl/elf32cr16.sc: Likewise.
877 * scripttempl/elf32cr16c.sc: Likewise.
878 * scripttempl/elf32crx.sc: Likewise.
879 * scripttempl/elf32sh-symbian.sc: Likewise.
880 * scripttempl/elf_chaos.sc: Likewise.
881 * scripttempl/elfd10v.sc: Likewise.
882 * scripttempl/elfi370.sc: Likewise.
883 * scripttempl/elfm68hc11.sc: Likewise.
884 * scripttempl/elfm68hc12.sc: Likewise.
885 * scripttempl/ip2k.sc: Likewise.
886 * scripttempl/iq2000.sc: Likewise.
887 * scripttempl/mep.sc: Likewise.
888 * scripttempl/v850.sc: Likewise.
889 * scripttempl/xstormy16.sc: Likewise.
894 * ldexp.c (fold_name <LOADADDR>): Check result of evaluating
895 load_base before calling make_abs.
899 * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id.
900 * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
902 * emultempl/ppc64elf.em (ppc_create_output_section_statements):
904 * emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete. Replace all
906 (is_ppc_elf): ..this new macro.
910 * ldmain.h (output_bfd): Delete.
911 * ldmain.c (output_bfd): Delete.
912 Replace all occurrences of output_bfd with link_info.output_bfd.
913 * ldcref.c: Likewise.
914 * ldctor.c: Likewise.
915 * ldemul.c: Likewise.
917 * ldfile.c: Likewise.
918 * ldlang.c: Likewise.
919 * ldmisc.c: Likewise.
920 * ldwrite.c: Likewise.
921 * pe-dll.c: Likewise.
922 * emultempl/aix.em: Likewise.
923 * emultempl/alphaelf.em: Likewise.
924 * emultempl/armcoff.em: Likewise.
925 * emultempl/armelf.em: Likewise.
926 * emultempl/avrelf.em: Likewise.
927 * emultempl/beos.em: Likewise.
928 * emultempl/elf-generic.em: Likewise.
929 * emultempl/elf32.em: Likewise.
930 * emultempl/gld960.em: Likewise.
931 * emultempl/hppaelf.em: Likewise.
932 * emultempl/irix.em: Likewise.
933 * emultempl/linux.em: Likewise.
934 * emultempl/lnk960.em: Likewise.
935 * emultempl/m68hc1xelf.em: Likewise.
936 * emultempl/mmix-elfnmmo.em: Likewise.
937 * emultempl/mmo.em: Likewise.
938 * emultempl/pe.em: Likewise.
939 * emultempl/pep.em: Likewise.
940 * emultempl/ppc32elf.em: Likewise.
941 * emultempl/ppc64elf.em: Likewise.
942 * emultempl/scoreelf.em: Likewise.
943 * emultempl/sh64elf.em: Likewise.
944 * emultempl/spuelf.em: Likewise.
945 * emultempl/sunos.em: Likewise.
946 * emultempl/vanilla.em: Likewise.
947 * emultempl/vxworks.em: Likewise.
948 * emultempl/xtensaelf.em: Likewise.
949 * emultempl/z80.em: Likewise.
950 * ldlang.c (open_output): Don't return output, instead write
951 link_info_output_bfd directly.
952 * emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator
953 with link_info.output_bfd->xvec.
954 * emultempl/hppaelf.em: Likewise.
955 * emultempl/ppc32elf.em: Likewise.
956 * emultempl/ppc64elf.em: Likewise.
957 * emultempl/spuelf.em: Likewise.
961 * ldlang.c (new_afile): Don't pass unadorned NULL to concat.
962 * ldfile.c (ldfile_add_library_path): Likewise.
963 * emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise.
964 * emultempl/lnk960.em (lnk960_before_parse): Likewise.
965 * emultempl/spuelf.em (embedded_spu_file): Likewise.
969 * emultempl/spu_ovl.S: Use low bit of _ovly_table.size as
970 a "present" bit rather than low bit of .buf. Correct indexing
971 into _ovly_buf_table. Use relative loads and stores to access
972 overlay manager local vars.
973 * emultempl/spu_ovl.o: Regenerate.
978 * configure: Regenerated.
982 * configure.tgt (xtensa*-*-*): Recognize processor variants.
986 * configure.tgt (x86_64-*-solaris2): Add support for this target.
991 * genscripts.sh: Check for the existence of BASH_LINENO not just
992 the BASH shell before generating line numbers in the emulation
997 * emultempl/spu_ovl.S: Rewrite.
998 * emultempl/spu_ovl.o: Regenerate.
999 * emultempl/spuelf.em (toe): Delete.
1000 (spu_place_special_section): Add param to control section placement.
1002 (spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data
1004 (spu_before_allocation): Adjust spu_elf_size_stubs call.
1005 (gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call.
1010 * ldlang.c (process_insert_statements): Silence gcc 4.1 alias
1015 * ld.texinfo (INSERT): Describe.
1016 * ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
1017 (INSERT_K, AFTER, BEFORE): Add as tokens.
1018 (ifile_p1): Handle INSERT statements.
1019 (saved_script_handle, force_make_executable): Move to..
1021 (previous_script_handle): New global var.
1022 * ldmain.h (saved_script_handle, force_make_executable): Declare.
1023 (previous_script_handle): Likewise.
1024 * ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
1025 * lexsup.c (parge_args <-T>): Set previous_script_handle.
1026 * ldlang.c (lang_for_each_statement_worker): Handle insert statement.
1027 (map_input_to_output_sections, print_statement): Likewise.
1028 (lang_size_sections_1, lang_do_assignments_1): Likewise.
1029 (insert_os_after): New function, extracted from..
1030 (lang_insert_orphan): ..here.
1031 (process_insert_statements): New function.
1032 (lang_process): Call it.
1033 (lang_add_insert): New function.
1034 * ldlang.h (lang_insert_statement_enum): New.
1035 (lang_insert_statement_type): New.
1036 (lang_statement_union_type): Add insert_statement.
1037 (lang_add_insert): Declare.
1041 * scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
1042 changes from elf.sc.
1046 * ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.
1050 * ldlang.h (lang_afile_asection_pair_statement_enum): Delete.
1051 (lang_afile_asection_pair_statement_type): Delete.
1052 (lang_statement_union_type): Delete afile_asection_pair_statement.
1053 * ldlang.c (lang_insert_orphan): Delete case handling the above.
1054 (map_input_to_output_sections, print_statement): Likewise.
1058 * emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
1060 * emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.
1065 * ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
1066 syms to _bfd_elf_gc_keep.
1067 * emultempl/ppc64elf.em (ppc_before_allocation): Don't call
1068 ppc64_elf_edit_opd if no_opd_opt.
1073 * ldlang.c (lang_end): Warns if the entry point is not found when
1075 Emit an error if no root is specified when --gc-sections -r.
1076 * ld.texinfo (Options): Document that --gc-sections is compatible
1078 * ldmain.c (main): Do not error out if -r and --gc-sections.
1079 * scripttempl/elf.sc: Emit ENTRY command only if relocating.
1084 * ldlang.c (lang_end): Issue a warning for a missing start symbol
1085 of a shared library if the symbol was specified on the command
1090 * ld.texinfo (--gc-sections): Describe linker behaviour.
1092 For older changes see ChangeLog-2007
1094 Copyright (C) 2008 Free Software Foundation, Inc.
1096 Copying and distribution of this file, with or without modification,
1097 are permitted in any medium without royalty provided the copyright
1098 notice and this notice are preserved.
1104 version-control: never