+
+ * config.in: Regenerate.
+
+
+ * bfd/config.in (HAVE_DECL_BASENAME): New configure macro.
+ * bfd/configure.in: Check for basename.
+ * bfd/configure: Regenerate.
+
+
+ * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * bfd-in2.h: Regenerate.
+ * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
+ bfd_elf32_is_arm_mapping_symbol_name.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
+ bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
+ (arm_elf_find_function): Likewise.
+ (elf32_arm_output_symbol_hook): Likewise.
+
+
+ * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
+ * bfd-in2.h: Regenerate.
+ * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
+ bfd_elf32_is_arm_mapping_symbol_name.
+ (elf32_arm_output_symbol_hook): Likewise.
+ (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
+ mapping symbols.
+ (is_arm_mapping_symbol_name): Function moved from here...
+ * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
+ and made global.
+
+
+ * configure.in: Check for ffs decl and alphabetize.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and
+ alphabetize.
+
+
+ * dwarf2.c (struct comp_unit): Fix typo.
+ (scan_unit_for_functions): Remove unused local variable "name"
+ and dead code that set it.
+
+
+ * bfd-in2.h, libbfd.h: Regenerated.
+ * reloc.c: Add ARM TLS relocations.
+ * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
+ relocations.
+ (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
+ (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
+ (elf32_arm_tls_ie32_howto): New.
+ (elf32_arm_howto_from_type): Support TLS relocations.
+ (elf32_arm_reloc_map): Likewise.
+ (elf32_arm_reloc_type_lookup): Likewise.
+ (TCB_SIZE): Define.
+ (struct elf32_arm_obj_tdata): New.
+ (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
+ (elf32_arm_mkobject): New function.
+ (struct elf32_arm_relocs_copied): Add pc_count.
+ (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
+ (GOT_TLS_IE): Define.
+ (struct elf32_arm_link_hash_table): Add tls_ldm_got.
+ (elf32_arm_link_hash_newfunc): Initialize tls_type.
+ (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
+ (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
+ (dtpoff_base, tpoff): New functions.
+ (elf32_arm_final_link_relocate): Handle TLS relocations.
+ (IS_ARM_TLS_RELOC): Define.
+ (elf32_arm_relocate_section): Warn about TLS mismatches.
+ (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
+ (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
+ TLS relocations and pc_count.
+ (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
+ (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
+ calls.
+ (elf32_arm_size_dynamic_sections): Handle TLS.
+ (elf32_arm_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject): Define.
+
+
+ * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
+ relocation types. Don't count relocations which will use a PLT.
+
+
+ * elf.c (elfcore_grok_nto_status): Print tid as long.
+ (elfcore_grok_nto_regs): Likewise.
+
+
+ * irix-core.c: Remove some unnecessary prototypes.
+
+
+ * irix-core.c: Convert to ISO C.
+
+
+ * irix-core.c (do_sections): Replace + by | in expression.
+ (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
+ to unused parameters to avoid a compiler warning.
+
+
+ * netbsd-core.c: Convert to ISO C. Fix formatting.
+
+
+ * elfxx-mips.c: Revert previous patch.
+
+
+ * targets.c (_bfd_target_vector): Only include the
+ bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
+ all targets enabled.
+
+
+ * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
+ (BFD64_BACKENDS): Add elf32-ia64.lo.
+ * Makefile.in: Regenerate.
+
+
+ * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
+ (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
+ after emitting relocation.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
+ (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
+ and readonly_reloc.
+
+
+ * config.bfd: Accept any C library to accompany a GNU Linux
+ implementation, not just the GNU C library.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+
+ * bfd-in.h (_bfd_elf_provide_symbol): New.
+ * bfd-in2.h: Regenerated.
+
+ * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
+ (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
+ of set_linker_sym.
+
+ * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
+ from elf32-ppc.c.
+
+
+ * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
+
+
+ * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
+ xtensa_sysreg_lookup_name, xtensa_interface_lookup,
+ xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
+ (xtensa_opcode_decode): Rearrange code.
+
+
+ * binary.c: Convert to ISO C90 formatting.
+ * coff-arm.c: Convert to ISO C90 formatting.
+ * coffgen.c: Convert to ISO C90 formatting.
+ * elf32-gen.c: Convert to ISO C90 formatting.
+ * elf64-gen.c: Convert to ISO C90 formatting.
+ * hash.c: Convert to ISO C90 formatting.
+ * ieee.c: Convert to ISO C90 formatting.
+
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
+ unresolved symbols in R_ARM_NONE relocations.
+
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Add
+ UNRESOLVED_RELOC_P argument. Set it appropriately.
+ (elf32_arm_relocate_section): Update call to
+ elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
+ unresolved_reloc instead.
+
+
+ * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
+ .gnu.warning.* sections.
+
+
+ * elf32-ppc.c (elf_linker_section_pointers_t): Remove
+ written_address_p.
+ (ppc_elf_create_linker_section): Don't try to reuse existing section.
+ (elf_create_pointer_linker_section): Delete info parm. Don't make
+ h dynamic. Don't set written_address_p.
+ (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
+ (bfd_put_ptr): Delete.
+ (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
+ Always write section contents. Assert global sym is def_regular.
+ Use offset bottom bit as a written flag.
+ (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
+ calls.
+
+
+ * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
+ (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
+ and end syms.
+
+
+ * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
+ targets.
+ (t2a1_bx_pc_insn): Likewise.
+ (t2a2_noop_insn): Likewise.
+ (t2a3_b_insn): Likewise.
+ (t2a1_push_insn): Likewise.
+ (t2a2_ldr_insn): Likewise.
+ (t2a3_mov_insn): Likewise.
+ (t2a4_bx_insn): Likewise.
+ (t2a5_pop_insn): Likewise.
+ (t2a6_bx_insn): Likewise.
+ (coff_arm_relocate_section): Only declare the high_address
+ variable for non WINCE targets.
+
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
+ SEC_LINKER_CREATED. Attach to dynobj.
+ (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
+
+
+ * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
+ sym_offset. Add name, bss_name, sym_name, sym_val.
+ (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
+ Add sdata array of elf_linker_section_t.
+ (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
+ (enum elf_linker_section_enum): Delete.
+ (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
+ (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
+ the special sections are needed. Adjust htab->sdata refs.
+ Ensure dynobj is set in sreloc code.
+ (ppc_elf_size_dynamic_sections): Strip sdata sections.
+ (ppc_elf_set_sdata_syms): New function.
+ (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
+ (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
+ sym_val instead of sym_hash.
+ * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
+
+
+ * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
+ (ppc_elf_merge_private_bfd_data): Likewise.
+
+
+ * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
+ (ppc_elf_create_linker_section): Don't create rel_section.
+ (elf_create_pointer_linker_section): Don't size relocs.
+ (elf_finish_pointer_linker_section): Remove relative_reloc parm.
+ Don't generate relocs.
+ (ppc_elf_relocate_section): Adjust calls to
+ elf_finish_pointer_linker_section.
+
+
+ * elf32-ppc.c (is_ppc_elf_target): New function.
+ (ppc_elf_merge_private_bfd_data): Use it rather than just testing
+ for bfd_target_elf_flavour. Do this test before endian check.
+ (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
+ (ppc_elf_size_dynamic_sections): Likewise.
+
+
+ * elf-bfd.h (elf_backend_data): Add int to
+ elf_backend_section_from_shdr.
+ (bfd_elf_section_data): Update comment for this_idx.
+ (_bfd_elf_make_section_from_shdr): Add int.
+ * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Take section index
+ and use it to set this_idx in bfd_elf_section_data.
+ (bfd_section_from_shdr): Pass shindex to
+ _bfd_elf_make_section_from_shdr.
+ (_bfd_elf_section_from_bfd_section): Use this_idx in
+ bfd_elf_section_data to find section index.
+
+ * elf32-arm.c (elf32_arm_section_from_shdr): Take section
+ index and pass it to _bfd_elf_make_section_from_shdr.
+ * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
+ * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+ * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+ * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+
+
+ * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
+ character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
+ cases. Add comment.
+
+
+ * elflink.c (elf_mark_used_section): Remove check for special
+ sections.
+
+
+ * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
+ from bfd_vma to ia64_insn, remove broken cast.
+
+
+ * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
+ (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
+ elf_m68k_finish_dynamic_sections): Use it.
+
+
+ * elf32-arm.c (elf32_arm_modify_segment_map): New function.
+ (elf32_arm_additional_program_headers): Likewise.
+ (elf_backend_modify_segment_map): Define.
+ (elf_backend_additional_program_headers): Likewise.
+ (elf32_arm_symbian_modify_segment_map): Use
+ elf32_arm_modify_segment_map.
+
+
+ * elflink.c (elf_mark_used_section): Check bfd_is_const_section
+ for special sections.
+
+
+ * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
+ * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
+ section_sym_count param, and return number of section symbols.
+ (bfd_elf_size_dynamic_sections): Clear section symbol area of
+ .dynsym contents. Don't bother calling swap_symbol_out on the
+ first all-zero dynsym.
+ (elf_mark_used_section): Formatting. Avoid twiddling flags in
+ special sections like bfd_abs_section.
+ (bfd_elf_gc_sections): Spelling fix.
+
+
+ PR binutils/790
+ * dwarf2.c (read_indirect_string): Fix apparent typo, check
+ dwarf_str_buffer allocation, not dwarf_abbrev_buffer.
+
+
+ * elflink.c (elf_mark_used_section): New.
+ (bfd_elf_gc_sections): Call elf_gc_mark_section for
+ non-relocatable link if we don't do GC.
+
+
+ * configure.in (werror): New switch: Add -Werror to the
+ compiler command line. Enabled by default. Disable via
+ --disable-werror.
+ * configure: Regenerate.
+
+
+ * ecoff.c: Convert to ISO C90 formatting.
+
+
+ * elf32-ppc.c: Divide file into general and linker specific
+ functions. Sort linker functions into roughly the order in which
+ they are called by the ELF linker code.
+
+
+ * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
+ on section. Correct comment, and add FIXME.
+ (ppc_elf_additional_program_headers): Don't bump header count for
+ interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
+ (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
+ do allocate memory if they need it.
+
+
+ * config.bfd (x86_64-elf): Add target.
+
+
+ * po/es.po: Commit new Spanish translation.
+
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
+ for global symbol when reporting overflow.
+
+
+ * libbfd-in.h (_bfd_ar_spacepad): New prototype.
+ * libbfd.h: Rebuilt.
+ * archive.c (_bfd_ar_spacepad): New function.
+ (_bfd_construct_extended_name_table, _bfd_write_archive_contents,
+ bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
+ coff_write_armap): Use it.
+ (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large
+ uid/gid support.
+ * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
+
+
+ * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
+ has_table to the start of the function.
+
+
+ * archive.c: Include hashtab.h.
+ (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
+ (_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
+ (hash_file_ptr): New function.
+ (eq_file_ptr): Likewise.
+ (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
+ * libbfd-in.h: Include hashtab.h.
+ (struct artdata): Change `cache' member type to htab_t.
+ * libbfd.h: Rebuild.
+
+
+ * configure.in: Bump version to 2.16.90.
+ * configure: Regenerated.
+
+
+ * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
+ close is a function like macro in system headers.
+
+
+ PR ld/778
+ * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
+ _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
+
+
+ * elf.c (elfcore_grok_win32pstatus): Warning fixes.
+
+
+ * po/bfd.pot: Regenerate.
+
+
+ * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
+ with is_func.
+ (func_desc_adjust): Force dot-syms local in executables as well
+ as shared libs.
+
* elfxx-mips.c (mips_elf_calculate_relocation): Handle special
between include sections when have the same sum but which
nevertheless are still unique.
* stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.