+
+ * Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Explicitly include
+ $(srcdir) before $(BFDDIR)/doc.
+ * Makefile.in: Regenerated.
+
+
+ PR 797
+ * ldexp.c (exp_fold_tree_1): Renamed from exp_fold_tree and
+ take take a bfd_boolean, mark_used. Ignore assert failure if
+ mark_used is TRUE.
+ (exp_fold_tree) Call exp_fold_tree_1 with mark_used == FALSE.
+ (exp_fold_tree_no_dot): Updated to take a bfd_boolean,
+ mark_used and pass down.
+ (fold_unary): Likewise.
+ (fold_binary): Likewise.
+ (fold_trinary): Likewise.
+ (exp_binop): Add FALSE to call to exp_fold_tree_no_dot.
+ (exp_trinop): Likewise.
+ (exp_unop): Likewise.
+ (exp_nameop): Likewise.
+ (exp_get_vma): Likewise.
+ (exp_get_fill): Likewise.
+ (exp_get_abs_int): Likewise.
+ (fold_name): Likewise. Set SEC_KEEP in output section flags.
+ (exp_mark_used_section): New.
+
+ * ldexp.h (exp_mark_used_section): New.
+
+ * ldlang.c (lang_output_section_statement_lookup_1): Set the
+ ignored field to FALSE.
+ (lang_mark_used_section_1): New.
+ (lang_mark_used_section): Call lang_mark_used_section_1.
+ (strip_excluded_output_sections): Call lang_mark_used_section
+ and check for unused sections.
+ (lang_size_sections_1): Skip an output section if it should
+ be ignored.
+ (lang_do_assignments_1): Likewise.
+ (lang_process): Don't call lang_mark_used_section here.
+
+ * ldlang.h (lang_output_section_statement_type): Change
+ all_input_readonly to bitfield. Add ignored.
+
+
+ * emulparams/armelf_linux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+ * emulparams/hppalinux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+
+
+ * ldlang.c (print_assignment): Do not rely upon a valid result
+ having a section associated with it.
+
+
+ * ldlang.c (Scan_for_self_assignment): Check an assignment tree to
+ see if the same value is being used on the rhs as on the lhs.
+ (print_assignment): Call scan_for_self_assignment and if it
+ returns true, do no display the result of the computation but
+ instead just the final value of the symbol on the lhs.
+ * ld.texinfo: Document this behaviour and provide an example of
+ when it will happen.
+
+
+ * Makefile.am (AM_MAKEINFOFLAGS): Define.
+ (TEXI2DVI): Define.
+ (ldver.texi): Depend on distributed files instead of built files.
+ (ld.info): Include $(srcdir) in the rule target. Remove actions.
+ (ld.dvi): Remove actions.
+ (MAINTAINERCLEANFILES): Add configdoc.texi.
+ (CONFIG_STATUS_DEPENDENCIES): Add bfd/configure.in.
+ (install-data-local): Renamed from install.
+ (Makefile): Remove explicit dependency.
+ * acinclude.m4: Remove obsolete code.
+ * configure.in: Update AC_PREREQ. Remove extra $CONFIG_SHELL.
+ * Makefile.in, aclocal.m4, config.in, configure: Regenerated.
+
+
+ * scripttempl/elfxtensa.sc: Sync up with elf.sc.
+ * emulparams/elf32xtensa.sh (PLT, GOT): Define.
+
+
+ * ldgram.y: Add SPECIAL token.
+ (sect_constraint): Handle SPECIAL.
+ * ldlang.c (lang_output_section_find_1): Don't match SPECIAL.
+ (map_input_to_output_sections): Likewise.
+ * ldlex.l (SPECIAL): Define.
+ * emulparams/elf32ppc.sh (DATA_GOT, SDATA_GOT, SEPARATE_GOTPLT,
+ GOT, PLT, GOTPLT): Define.
+ * emultempl/ppc32elf.em (old_plt, old_got): New static vars.
+ (ppc_after_open): New function.
+ (PARSE_AND_LIST_PROLOGUE): Define OPTION_OLD_LPT and OPTION_OLD_GOT.
+ (PARSE_AND_LIST_LONGOPTS): Add "bss-plt" and "sdata-got".
+ (PARSE_AND_LIST_OPTIONS): Document them.
+ (PARSE_AND_LIST_ARGS_CASES): Handle them.
+ (LDEMUL_AFTER_OPEN): Define.
+ * scripttempl/elf.sc (PLT): Don't override existing define.
+ (DATA_GOT, SDATA_GOT): Define and use to enable alternate got
+ placement rather than using NO_SMALL_DATA. Emit GOTPLT for RELRO_NOW.
+
+
+ * scripttempl/elf.sc (DATA_SEGMENT_RELRO_GOTPLT_END): Delete.
+ (DATA_SEGMENT_RELRO_END): Use SEPARATE_GOTPLT value.
+ (GOTPLT): Remove DATA_SEGMENT_RELRO_GOTPLT_END. Place after
+ DATA_SEGMENT_RELRO_END in script.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+ Don't use a removed section.
+
+
+ * ldmain.c (reloc_overflow): Use output_bfd if the symbol
+ is defined in the ABS section.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
+ Put back !link_info.relocatable.
+
+
+ PR 878
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
+ Just check link_info.executable.
+
+
+ * Update the address and phone number of the FSF organization in
+ the GPL notices in the following files:
+ aclocal.m4, deffile.h, deffilep.y, fdl.texi, ld.h, ldcref.c,
+ ldctor.c, ldctor.h, ldemul.c, ldexp.c, ldexp.h, ldfile.c,
+ ldfile.h, 20ldgram.y, ldint.texinfo, ldlang.c, ldlang.h, ldlex.h,
+ ldlex.l, ldmain.c, ldmain.h, ldmisc.c, ldmisc.h, ldver.c, ldver.h,
+ ldwrite.c, ldwrite.h, lexsup.c, mri.c, mri.h, pe-dll.c, pe-dll.h,
+ sysdep.h, emultempl/aix.em, emultempl/alphaelf.em,
+ emultempl/armcoff.em, emultempl/armelf.em, emultempl/beos.em,
+ emultempl/crxelf.em, emultempl/elf32.em, emultempl/generic.em,
+ emultempl/gld960.em, emultempl/gld960c.em, emultempl/hppaelf.em,
+ emultempl/ia64elf.em, emultempl/irix.em, emultempl/linux.em,
+ emultempl/lnk960.em, emultempl/m68hc1xelf.em,
+ emultempl/m68kcoff.em, emultempl/m68kelf.em,
+ emultempl/mipsecoff.em, emultempl/mmix-elfnmmo.em,
+ emultempl/mmixelf.em, emultempl/mmo.em, emultempl/needrelax.em,
+ emultempl/pe.em, emultempl/ppc32elf.em, emultempl/ppc64elf.em,
+ emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em,
+ emultempl/vanilla.em, emultempl/xtensaelf.em
+
+
+ * scripttempl/elf.sc: Document the usage of __bss_start.
+
+
+ * Makefile.am: Add eelf_i386_vxworks.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Make i?86-*-vxworks use targ_emul=elf_i386_vxworks.
+ * emulparams/elf_i386_vxworks.sh: New file.
+ * emulparams/vxworks.sh: New file.
+ * scripttempl/elf.sc: Add DATA_END_SYMBOLS and ETEXT_NAME.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+ Call _bfd_elf_provide_section_bound_symbols.
+
+
+ * ldemul.c: Include bfdlink.h.
+ (ldemul_before_allocation): Assume before_allocation is non-zero.
+ (before_allocation_default): Call strip_excluded_output_sections.
+ * ldlang.c (stripped_excluded_sections): New variable.
+ (lang_add_section): Build input section list for each output
+ section, attached via map_head and map_tail pointers.
+ (strip_excluded_output_sections): Make global. Traverse the
+ input section lists to find which output sections can go. Clear
+ link_order pointers and set stripped_excluded_sections.
+ (lang_process): Call strip_excluded_output_sections.
+ * ldlang.h (strip_excluded_output_sections): Declare.
+ * ldwrite.c: Update throuhout for link_order_head -> map_head change.
+ * emultempl/aix.em (before_allocation): Call
+ strip_excluded_output_sections.
+ * emultempl/armcoff.em (before_allocation): Likewise.
+ * emultempl/beos.em (before_allocation): Likewise.
+ * emultempl/linux.em (before_allocation): Likewise.
+ * emultempl/pe.em (before_allocation): Likewise.
+ * emultempl/sunos.em (before_allocation): Likewise.
+ * emultempl/elf32.em (before_allocation): Likewise. Call
+ bfd_elf_size_dynsym_hash_dynstr too.
+ * emultempl/lnk960.em (lnk960_before_allocation): Delete.
+ (ld_lnk960): Use before_allocation_default.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_strip_empty_section):
+ Updated for bfd_section_list_remove change.
+ * ldlang.c (lang_insert_orphan): Likewise.
+ (strip_excluded_output_sections): Likewise.
+ (sort_sections_by_lma): New.
+ (lang_check_section_addresses): Sort the sections before
+ checking addresses.
+
+
+ * configure.tgt: Add h8300*-*-rtemscoff.
+ Switch h8300*-*-rtems* to elf.
+
+
+ * ldgram.y (lang_memory_region_type): Make static.
+ (ldgram_want_filename): Likewise.
+ * ldemul.c (ld_emulation): Make static.
+ * ldfile.h (ldfile_find_command_file): Remove extern.
+ * ldfile.c (ldfile_find_command_file): Make static.
+ * ldlang.h (unique_section_list): Remove extern declaration.
+ * ldlang.c (unique_section_list): Make static.
+ * mri.h (symbol_truncate): Remove extern declaration.
+ * mri.c (symbol_truncate): Make static.
+ (order, only_load, address, alias): Likewise.
+ (alignment, subalignment): Likewise.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+ Use the first SEC_ALLOC section which isn't SEC_READONLY or the
+ last SEC_ALLOC section if such a section doesn't exist.
+
+
+ * configure.host: Add *-*-openbsd support.
+
+
+ * ld.texinfo: Document --use-blx.
+ * emultempl/armelf.em (use_blx): New variable.
+ (arm_elf_create_output_section_statements): Communicate value of
+ use_blx to bfd.
+ (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX.
+ (PARSE_AND_LIST_OPTIONS): Add --use-blx option.
+ (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.
+
+
+ * Makefile.am (NO_WERROR): Define. Use instead of -Wno-error.
+ * configure.in: Include ../bfd/warning.m4 contents.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+
+ * Makefile.am: Run "make dep-am".
+ (ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
+ * Makefile.in: Regenerate.
+ * config.in: Regenerate.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
+ as_needed libs that were not needed.
+ (gld${EMULATION_NAME}_check_needed): Likewise.
+
+
+ * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h so that
+ ldfile.h can use the lang_input_statement type.
+
+
+ * ldlang.c: Formatting.
+ (walk_wild_consider_section): Remember return value from wildcardp.
+ (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
+ (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
+
+
+ * ld.h (lean_section_userdata_type): Remove.
+ (fat_section_userdata_type): Remove file field.
+ (SECTION_USERDATA_SIZE): Remove.
+ * ldlang.c (init_os): Eliminate initialization of unused
+ lean_section_userdata_type.
+
+ * ldlang.h (callback_t, walk_wild_section_handler_t): New
+ typedefs.
+ (struct lang_wild_statement_struct): Add walk_wild_section_handler
+ and handler_data fields.
+ * ldlang.c (callback_t): Removed.
+ (walk_wild_consider_section, walk_wild_section_general,
+ section_iterator_callback, find_section, is_simple_wild,
+ match_simple_wild, walk_wild_section_specs1_wild0,
+ walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
+ walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
+ wild_spec_can_overlap, analyze_walk_wild_section_handler): New
+ functions.
+ (lang_add_wild): Call analyze_walk_wild_section_handler.
+ (walk_wild_section): Renamed to walk_wild_section_general and
+ created a wrapper function.
+ (section_iterator_callback_data): New typedef.
+
+
+ * configure.in: Add a check for <unistd.h> providing a prototype
+ for getopt() which is compatible with the one in
+ include/getopt.h. If so then define HAVE_DECL_GETOPT.
+ * configure: Regenerate.
+ * config.in (HAVE_DECL_GETOPT): Add.
+ * ldemul.c: Include config.h
+ * lexsup.c: Likewise.
+ * emultempl/elf32.sc: Likewise.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_layout_sections_again):
+ New function, extracted from static void gld${EMULATION_NAME}_finish.
+ (gld${EMULATION_NAME}_strip_empty_sections): Likewise.
+ (gld${EMULATION_NAME}_provide_init_fini_syms): Likewise.
+ * emultempl/ppc64elf.em: Revert last change.
+ (ppc_layout_sections_again): Use
+ gld${EMULATION_NAME}_layout_sections_again.
+ (ppc_finish): Don't call gld${EMULATION_NAME}_finish. Instead call
+ gld${EMULATION_NAME}_strip_empty_sections and
+ gld${EMULATION_NAME}_provide_init_fini_syms.
+ * emultempl/hppaelf.em: Similarly.
+
+
+ * emultempl/ppc64elf.em (need_laying_out): Delete. Remove all refs.
+ (ppc_finish): Don't call bfd_elf_discard_info.
+ * emultempl/hppaelf.em: Similarly.
+
+
+ * po/fr.po: Updated French translation.
+
+
+ * configure.host: Accept any C library to accompany a GNU Linux
+ implementation, not just the GNU C library.
+ * configure.tgt: Likewise.
+ * emultempl/elf32.em: Likewise.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
+ (gld${EMULATION_NAME}_finish): Call
+ gld${EMULATION_NAME}_provide_bound_symbols to provide
+ __preinit_array_start, __preinit_array_end, __init_array_start,
+ __init_array_end, __fini_array_start and __fini_array_end.
+
+ * scripttempl/elf.sc: Don't provide __preinit_array_start,
+ __preinit_array_end, __init_array_start, __init_array_end,
+ __fini_array_start nor __fini_array_end.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
+ SEC_EXCLUDE on .gnu.warning sections.
+
* scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
* scripttempl/maxqcoff.sc: New linker script for target maxq.
* NEWS: Mention the new target.
-
- * testsuite/ld-scripts/weak.exp: Enable test on PE,
- XFAIL non-i386 PE.
- * testsuite/ld-undefined/weak-undef.exp: Enable test on PE,
- XFAIL non-i386 PE.
- * testsuite/lib/ld-lib.exp (is_pecoff_format): New.
-
* Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
* ldlang.c (gc_section_callback): Move SEC_EXCLUDE twiddles..
(lang_gc_sections): .. to a LANG_FOR_EACH_INPUT_STATEMENT loop here.
-
- * testsuite/ld-sh/arch/arch.exp: New test script.
- * testsuite/ld-sh/arch/arch_expected.txt: New file.
- * testsuite/ld-sh/arch/sh.s: New file.
- * testsuite/ld-sh/arch/sh2.s: New file.
- * testsuite/ld-sh/arch/sh-dsp.s: New file.
- * testsuite/ld-sh/arch/sh2e.s: New file.
- * testsuite/ld-sh/arch/sh3-nommu.s: New file.
- * testsuite/ld-sh/arch/sh3.s: New file.
- * testsuite/ld-sh/arch/sh3-dsp.s: New file.
- * testsuite/ld-sh/arch/sh3e.s: New file.
- * testsuite/ld-sh/arch/sh4-nommu-nofpu.s: New file.
- * testsuite/ld-sh/arch/sh4-nofpu.s: New file.
- * testsuite/ld-sh/arch/sh4.s: New file.
- * testsuite/ld-sh/arch/sh4a-nofpu.s: New file.
- * testsuite/ld-sh/arch/sh4al-dsp.s: New file.
- * testsuite/ld-sh/arch/sh4a.s: New file.
-
* ldlang.c: Formatting. Wrap long lines, expand bfd_get_section_flags