binutils-gdb/bfd/ChangeLog
Alan Modra ab6dce2336 bfd/
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC,
	_GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute.
	* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC
	absolute.
ld/testsuite/
	* ld-powerpc/tlsso.r: Update for dynamic sym changes.
	* ld-powerpc/tlsso32.d: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
2012-05-17 02:43:36 +00:00

1496 lines
53 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2012-05-17 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC,
_GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute.
* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC
absolute.
2012-05-17 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call, has_vle_insns,
is_ppc_vle): Move to..
* elf32-ppc.h: ..here, making is_ppc_vle a macro.
2012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
* bfd-in.h (bfd_get_section_name, bfd_get_section_vma,
bfd_get_section_lma, bfd_get_section_alignment,
bfd_get_section_flags, bfd_get_section_userdata): Rewrite macros
in order to use the `bfd' argument.
* bfd-in2.h: Regenerate.
* elf-vxworks.c (elf_vxworks_finish_dynamic_entry): Pass proper `bfd'
as the first argument for `bfd_get_section_alignment'.
* elf32-arm.c (create_ifunc_sections): Likewise, for
`bfd_set_section_alignment'.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise, for
`bfd_get_section_name'.
* elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
(ppc_elf_relocate_section): Likewise.
* elf64-mmix.c (mmix_final_link_relocate): Likewise, for
`bfd_get_section_vma'.
* elf64-ppc.c (create_linkage_sections): Likewise, for
`bfd_set_section_alignment'.
2012-05-16 Georg-Johann Lay <avr@gjlay.de>
PR target/13503
* reloc.c: Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenrate.
* elf32-avr.c (elf_avr_howto_table): Rename R_AVR_8_HHI8 to
R_AVR_8_HLO8.
(avr_reloc_map): Likewise.
2012-05-16 Daniel Richard G. <skunk@iskunk.org>
PR binutils/13558
* bfd/aout-cris.c: Include sysdep.h before bfd.h.
* bfd/aout-ns32k.c: Likewise.
* bfd/aout-sparcle.c: Likewise.
* bfd/aout0.c: Likewise.
* bfd/bfd-in2.h: Likewise.
* bfd/coff-stgo32.c: Likewise.
* bfd/cpu-lm32.c: Likewise.
* bfd/cpu-microblaze.c: Likewise.
* bfd/cpu-score.c: Likewise.
* bfd/cpu-tilegx.c: Likewise.
* bfd/cpu-tilepro.c: Likewise.
* bfd/elf32-lm32.c: Likewise.
* bfd/elf32-microblaze.c: Likewise.
* bfd/elf32-score7.c: Likewise.
* bfd/elf32-tilepro.c: Likewise.
* bfd/elfxx-tilegx.c: Likewise.
* bfd/mach-o.h: Likewise.
* bfd/nlm32-ppc.c: Likewise.
* bfd/ns32knetbsd.c: Likewise.
* bfd/pef.h: Likewise.
* bfd/plugin.c: Likewise.
* bfd/stab-syms.c: Likewise.
* bfd/sunos.c: Likewise.
* bfd/syms.c: Likewise.
* bfd/xsym.h: Likewise.
2012-05-16 Alan Modra <amodra@gmail.com>
* elflink.c: Rename flaginfo to flinfo throughout, except..
(bfd_elf_lookup_section_flags): ..here, rename finfo to flaginfo.
Formatting, style. Simplify flag match.
2012-05-16 Alan Modra <amodra@gmail.com>
* dwarf2.c: Formatting.
(arange_add): Pass in unit rather than bfd. Update callers.
Ignore empty ranges. Don't ask for cleared memory.
(parse_comp_unit): Only set unit->base_address if processing
DW_TAG_compile_unit.
(find_debug_info): Optimise section lookup.
(place_sections): Use bfd_alloc for stash->adjusted_sections.
(find_line): Match previously parsed comp unit addresses as we
do for newly parsed comp units.
2012-05-16 Alan Modra <amodra@gmail.com>
* archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf
stops at end of ar_size field.
2012-05-16 Alan Modra <amodra@gmail.com>
PR ld/13962
PR ld/7023
* elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
out of range. As a special case, fix sh_info for zero sh_size.
Do the same for .symtab.
2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
Stephane Carrez <stcarrez@nerim.fr>
* archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg.
* config.bfd: Likewise.
* cpu-m9s12x.c: New.
* cpu-m9s12xg.c: New.
* elf32-m68hc12.c: Add S12X and XGATE co-processor support.
Add option to offset S12 addresses into XGATE memory space.
Fix carry bug in IMM16 (IMM8 low/high) relocate.
* Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg.
(ALL_MACHINES_CFILES): Likewise.
* reloc.c: Add S12X relocs.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
2012-05-14 James Lemke <jwlemke@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
* bfd.c (bfd_lookup_section_flags): Add section parm.
* ecoff.c (bfd_debug_section): Remove flag_info initializer.
* elf-bfd.h (bfd_elf_section_data): Move in section_flag_info.
(bfd_elf_lookup_section_flags): Add section parm.
* elf32-ppc.c (is_ppc_vle): New function.
(ppc_elf_modify_segment_map): New function.
(elf_backend_modify_segment_map): Define.
(has_vle_insns): New define.
* elf32-ppc.h (ppc_elf_modify_segment_map): Declare.
* elflink.c (bfd_elf_lookup_section_flags): Add return value & parm.
Move in logic to omit / include a section.
* libbfd-in.h (bfd_link_info): Add section parm.
(bfd_generic_lookup_section_flags): Likewise.
* reloc.c (bfd_generic_lookup_section_flags): Likewise.
* section.c (bfd_section): Move out section_flag_info.
(BFD_FAKE_SECTION): Remove flag_info initializer.
* targets.c (_bfd_lookup_section_flags): Add section parm.
2012-05-14 Catherine Moore <clm@codesourcery.com>
* archures.c (bfd_mach_ppc_vle): New.
* bfd-in2.h: Regenerated.
* cpu-powerpc.c (bfd_powerpc_archs): New entry for vle.
* elf32-ppc.c (split16_format_type): New enumeration.
(ppc_elf_vle_split16): New function.
(HOWTO): Add entries for R_PPC_VLE relocations.
(ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations.
(ppc_elf_section_flags): New function.
(ppc_elf_lookup_section_flags): New function.
(ppc_elf_section_processing): New function.
(ppc_elf_check_relocs): Handle PPC_VLE relocations.
(ppc_elf_relocation_section): Likewise.
(elf_backend_lookup_section_flags_hook): Define.
(elf_backend_section_flags): Define.
(elf_backend_section_processing): Define.
* elf32-ppc.h (ppc_elf_section_processing): Declare.
* libbfd.h: Regenerated.
* reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15,
BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A,
BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A,
BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A,
BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21,
BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A,
BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A,
BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A,
BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations.
2012-05-11 Georg-Johann Lay <avr@gjlay.de>
PR target/13503
* reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO,
BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenrate.
* elf32-avr.c (elf_avr_howto_table): Add entries for
R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
(avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8,
R_AVR_8_HHI8.
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): Use int in x32
addend overflow check.
2012-05-10 DJ Delorie <dj@redhat.com>
* elf32-rx.c (rx_elf_object_p): Ignore empty segments.
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): Display signed
hex number in x32 addend overflow check.
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
R_X86_64_RELATIVE64.
2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
overflow for R_X86_64_RELATIVE64.
2012-05-08 Ben Cheng <bccheng@google.com>
* elf.c: Preserve the original p_align and p_flags if they are
valid.
2012-05-07 Alan Modra <amodra@gmail.com>
* elf64-ia64-vms.c (elf64_ia64_relocate_section): Update
RELOC_AGAINST_DISCARDED_SECTION invocation.
2012-05-07 Hans-Peter Nilsson <hp@axis.com>
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Declare and use
local variable i_ instead of assuming and using a variable i.
2012-05-07 Maciej W. Rozycki <macro@linux-mips.org>
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound
relocations.
* elfxx-mips.c (mips_reloc_against_discarded_section): New
function.
(_bfd_mips_elf_relocate_section): Call it, in place of
RELOC_AGAINST_DISCARDED_SECTION.
* elf-m10200.c (mn10200_elf_relocate_section): Update arguments
to RELOC_AGAINST_DISCARDED_SECTION.
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
* elf32-arm.c (elf32_arm_relocate_section): Likewise.
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
* elf32-bfin.c (bfin_relocate_section): Likewise.
(bfinfdpic_relocate_section): Likewise.
* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
* elf32-cris.c (cris_elf_relocate_section): Likewise.
* elf32-crx.c (elf32_crx_relocate_section): Likewise.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-mep.c (mep_elf_relocate_section): Likewise.
* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
* elf32-mt.c (mt_elf_relocate_section): Likewise.
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
* elf32-rx.c (rx_elf_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-spu.c (spu_elf_relocate_section): Likewise.
* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
* elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relocate_section): Likewise.
* elf32-vax.c (elf_vax_relocate_section): Likewise.
* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
(elf64_alpha_relocate_section): Likewise.
* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
* elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
* elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
2012-05-05 Alan Modra <amodra@gmail.com>
PR ld/14052
PR ld/13621
* linker.c (_bfd_nearby_section): Revert 2012-02-13 change.
2012-05-05 Alan Modra <amodra@gmail.com>
* aout-arm.c: Replace all uses of bfd_abs_section, bfd_com_section,
bfd_und_section and bfd_ind_section with their _ptr variants, or
use corresponding bfd_is_* macros.
* aout-ns32k.c: Likewise.
* aout-tic30.c: Likewise.
* coff-arm.c: Likewise.
* coff-tic54x.c: Likewise.
* cpu-ns32k.c: Likewise.
* elf-attrs.c: Likewise.
* elfcode.h: Likewise.
* peicode.h: Likewise.
* reloc.c: Likewise.
* riscix.c: Likewise.
* versados.c: Likewise.
* section.c: Likewise.
(bfd_abs_section, bfd_ind_section, bfd_com_section,
bfd_ind_section): Delete.
(std_section): New array replacing above.
(bfd_abs_section_ptr, bfd_ind_section_ptr, bfd_com_section_ptr,
bfd_ind_section_ptr, STD_SECTION): Update.
(BFD_FAKE_SECTION, GLOBAL_SYM_INIT): Remove unnecessary casts.
* bfd-in2.h: Regenerate.
2012-05-03 Sean Keys <skeys@ipdatasys.com>
* cpu-xgate.c: New file. Added XGATE support.
* archures.c (bfd_architecture): Add XGATE architecture.
(bfd_archures_list): Add reference to XGATE architecture info.
* elf-bfd.h (prep_headers): Handle bfd_arch_xgate.
* reloc.c: Add various XGATE relocation enums.
* targets.c (bfd_elf32_xgate_vec): Declare and add to target vector
list.
* Makefile.am: Add support for XGATE elf.
* configure.in: Ditto.
* config.bfd: Ditto.
* Makefile.in: Regenerate.
* configure: Ditto.
* bfd-in2.h: Ditto.
* libbfd.h: Ditto.
Added files for XGATE relocations.
* elf32-xgate.c: Created minimal relocation file.
* elf32-xgate.h: Created minimal header file for elf32-xgate.
2012-05-03 Tristan Gingold <gingold@adacore.com>
* dwarf2.c (decode_line_info): Ignore
DW_LNE_HP_source_file_correlation.
2012-05-01 Nick Clifton <nickc@redhat.com>
PR binutils/13121
* aoutx.h: Rename 'finfo' to 'flaginfo' to avoid conflicts with
AIX system headers.
* coff-ppc.c: Likewise.
* cofflink.c: Likewise.
* elf32-arm.c: Likewise.
* elf64-sparc.c: Likewise.
* elflink.c: Likewise.
* pdp11.c: Likewise.
* rescoff.c: Likewise.
2012-04-26 Mark Wielaard <mjw@redhat.com>
* dwarf2.c (scan_unit_for_symbols): Account for DW_AT_high_pc
possibly being relative to DW_AT_low_pc.
(parse_comp_unit): Likewise.
2012-04-26 Andreas Schwab <schwab@linux-m68k.org>
* elf32-m68k.c (elf_m68k_check_relocs): Mark non-GOT references
also when generating PIE.
(elf_m68k_discard_copies): Mark undefined weak symbols referenced
by relocations as dynamic.
2012-04-26 Hans-Peter Nilsson <hp@axis.com>
Provide a way for programs to recognize BFD_ASSERT calls.
* bfd.c (bfd_assert_handler_type): New API type.
(bfd_set_assert_handler, bfd_get_assert_handler): New API functions.
(_bfd_assert_handler): New variable.
(_bfd_default_assert_handler): New function.
(bfd_assert): Call _bfd_assert_handler, not _bfd_error_handler.
* libbfd-in.h (_bfd_assert_handler): Declare.
* libbfd.h, bfd-in2.h: Regenerate.
2012-04-24 Hans-Peter Nilsson <hp@axis.com>
PR ld/13990
* elf32-arm.c (elf32_arm_gc_sweep_hook): Handle a forced-local
symbol, where PLT refcount is set to -1.
2012-04-24 Alan Modra <amodra@gmail.com>
PR ld/13991
* elf-bfd.h (_bfd_elf_link_just_syms): Define as
_bfd_generic_link_just_syms.
* elflink.c (_bfd_elf_link_just_syms): Delete.
* linker.c (_bfd_generic_link_just_syms): Set sec_info_type.
* bfd-in.h (discarded_section): Renamed from elf_discarded_section.
* section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
* elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
* elf.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c,
* elf32-crx.c, * elf32-d10v.c, * elf32-epiphany.c,
* elf32-fr30.c, * elf32-frv.c, * elf32-h8300.c,
* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c,
* elf32-i860.c, * elf32-ip2k.c, * elf32-iq2000.c,
* elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c,
* elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
* elf32-mep.c, * elf32-moxie.c, * elf32-msp430.c,
* elf32-mt.c, * elf32-openrisc.c, * elf32-ppc.c,
* elf32-rl78.c, * elf32-rx.c, * elf32-s390.c,
* elf32-score.c, * elf32-score7.c, * elf32-sh.c,
* elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
* elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c,
* elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
* elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c,
* elf64-x86-64.c, * elflink.c, * elfnn-ia64.c,
* elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c,
* reloc.c: Update all references.
* bfd-in2.h: Regenerate.
2012-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
* elf64-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
2012-04-19 Thomas Schwinge <thomas@codesourcery.com>
* elf32-sh.c (elf_sh_link_hash_entry): Specify an enum identifier for
got_type.
(allocate_dynrelocs, sh_elf_relocate_section, sh_elf_check_relocs): Use
it.
2012-04-17 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf32-sh.c (allocate_dynrelocs): Don't allocate dynamic
relocations when LE conversion happens on the IE tls symbol.
2012-04-17 Roland McGrath <mcgrathr@google.com>
* elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Fix nop padding
so that 32-byte boundary is a proper instruction boundary.
2012-04-17 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to
member of an object archive.<
2012-04-17 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (MAX_EKEYLEN): Define.
(MAX_KEYLEN): Fix value.
(vms_write_index): Add comments and fix indentation.
Adjust comparaison. Add assertions. Free kbn_blk.
(_bfd_vms_lib_write_archive_contents): Use MAX_EKEYLEN.
Compense MAX_KEYLEN adjustment.
2012-04-16 Maciej W. Rozycki <macro@linux-mips.org>
* elfxx-mips.c (mips16_stub_symndx): Handle n64 compound relocs.
(_bfd_mips_elf_check_relocs): Update accordingly.
2012-04-13 Alan Modra <amodra@gmail.com>
PR ld/13947
* elflink.c (bfd_elf_final_link): Set reloc_count to 0 for
reloc sections.
2012-04-12 David S. Miller <davem@davemloft.net>
* reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32,
BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs.
* libbfd.h: Regenerate.
* bfd-in2.h: Likewise.
* elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function.
(_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34,
R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10.
(_bfd_sparc_elf_reloc_type_lookup): Handle new relocs.
(_bfd_sparc_elf_check_relocs): Likewise.
(_bfd_sparc_elf_gc_sweep_hook): Likewise.
(_bfd_sparc_elf_relocate_section): Likewise.
2012-04-12 Roland McGrath <mcgrathr@google.com>
* elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry):
New variables.
(struct elf32_arm_link_hash_table): New member `nacl_p'.
(elf32_arm_link_hash_table_create): Initialize it.
(elf32_arm_nacl_link_hash_table_create): New function.
(arm_movw_immediate, arm_movt_immediate): New functions.
(elf32_arm_populate_plt_entry): Test HTAB->nacl_p.
(elf32_arm_finish_dynamic_sections): Likewise.
(elf32_arm_output_plt_map_1): Likewise.
(bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec):
New backend vector stanza.
(elf32_arm_nacl_modify_segment_map): New function.
* config.bfd: Handle arm-*-nacl*, armeb-*-nacl*.
* targets.c: Support bfd_elf32_{big,little}_nacl_vec.
* configure.in: Likewise.
(bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here.
(bfd_elf32_littlearm_nacl_vec): Likewise.
(bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise.
(bfd_elf32_bigarm_symbian_vec): Likewise.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(bfd_elf32_bigarm_vxworks_vec): Likewise.
(bfd_elf32_littlearm_vxworks_vec): Likewise.
* configure: Regenerated.
2012-04-12 Tristan Gingold <gingold@adacore.com>
* elflink.c (elf_link_output_extsym): Add a guard.
(bfd_elf_final_link): Remove assertion.
(bfd_elf_final_link): Add a guard.
* elfnn-ia64.c (INCLUDE_IA64_VMS): Removed.
(elfNN_vms_section_from_shdr, elfNN_vms_object_p)
(elfNN_vms_post_process_headers, elfNN_vms_section_processing)
(elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup):
Remove.
(elfNN-ia64-vms target): Move to ...
* elf64-ia64-vms.c: New file.
* configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo
* Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo.
(BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c.
* configure: Regenerate.
* Makefile.in: Regenerate.
2012-04-11 Nick Clifton <nickc@redhat.com>
PR binutils/13897
* elf64-ppc.c (opd_entry_value): When dealing with sections
without relocs, keep the last section loaded in order to avoid
unnecessary reloads.
2012-04-09 Roland McGrath <mcgrathr@google.com>
* elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs.
* elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs.
(nacl_modify_program_headers): Likewise.
2012-04-03 Roland McGrath <mcgrathr@google.com>
* elf-nacl.c: New file.
* elf-nacl.h: New file.
* elf32-i386.c (elf_backend_modify_segment_map): Define for
bfd_elf32_i386_nacl_vec.
(elf_backend_modify_program_headers): Likewise.
* elf64-x86-64.c (elf_backend_modify_segment_map): Define for
bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec.
(elf_backend_modify_program_headers): Likewise.
* Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here.
(BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here.
* Makefile.in: Regenerated.
* configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here.
(bfd_elf32_x86_64_nacl_vec): Likewise.
(bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise.
(bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise.
(bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise.
(bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise.
(bfd_elf32_i386_nacl_vec): Likewise.
(bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise.
(bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise.
* configure: Regenerated.
2012-03-31 Andreas Schwab <schwab@linux-m68k.org>
* elf32-m68k.c (elf_m68k_relocate_section): Allow
R_68K_TLS_LE{8,16,32} for PIE.
2012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf64-s390.c: Fix several comments regarding PLT entry
description.
* elf32-s390.c: Likewise.
2012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf64-s390.c: Use the section pointer shortcuts in
elf_link_hash_table and remove them from the target specific
variant.
* elf32-s390.c: Likewise.
2012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf64-s390.c (elf_s390x_plt_entry, elf_s390x_first_plt_entry):
New definitions.
(PLT_PIC_ENTRY_WORD*, PLT_PIC12_ENTRY_WORD*): Remove.
(elf_s390_finish_dynamic_symbol): Use memcpy instead of bfd_put_32.
(elf_s390_finish_dynamic_sections): Likewise.
* elf32-s390.c (elf_s390_plt_entry, elf_s390_plt_pic_entry)
(elf_s390_plt_pic12_entry, elf_s390_plt_pic16_entry)
(elf_s390_plt_first_entry, elf_s390_plt_pic_first_entry): New definitions.
(PLT_PIC16_ENTRY_WORD*, PLT_ENTRY_WORD*)
(PLT_PIC_FIRST_ENTRY_WORD*, PLT_FIRST_ENTRY_WORD*): Remove.
2012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c (struct elf_s390_dyn_relocs): Remove.
Rename all occurrences in the file to elf_dyn_relocs.
* elf64-s390.c: Likewise.
2012-03-30 Alan Modra <amodra@gmail.com>
* elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
libraries.
2012-03-29 Alan Modra <amodra@gmail.com>
* bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete.
* bfd-in2.h: Regenerate.
2012-03-23 Alan Modra <amodra@gmail.com>
* elf.c (assign_file_positions_for_non_load_sections): Don't warn
on empty alloc sections.
2012-03-23 Alan Modra <amodra@gmail.com>
* linker.c (_bfd_nearby_section): New function, split out from..
(fix_syms): ..here.
* bfd-in.h (_bfd_nearby_section): Declare.
* bfd-in2.h: Regenerate.
* elflink.c (elf_link_input_bfd): Don't use text_index_section or
data_index_section with ld -q or ld -r output relocs against
stripped output sections. Instead use _bfd_nearby_section.
2012-03-23 Alan Modra <amodra@gmail.com>
PR binutils/13894
* elf64-ppc.c (opd_entry_value): Read full symbol table when
sym hashes unavailable.
2012-03-21 Eliot Dresselhaus <eliot@sonic.net>
* elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE
for non-C6X objects.
2012-03-20 Kai Tietz <ktietz@redhat.com>
PR ld/12742
* configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h.
* plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined.
Add windows.h header include if HAVE_WINDOWS_H is defined.
(dlerror): New static function if windows variant is used instead
of dlfcn.h.
(dlclose): Likewise.
(dlopen): Likewise.
(dlsym): Likewise.
* configure: Regenerated.
* config.in: Regenerated.
2012-03-20 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13880
* elf32-i386.c (elf_i386_relocate_section): Don't issue an error
for R_386_GOTOFF relocation against protected function if
SYMBOLIC_BIND is true.
* elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an
error for R_X86_64_GOTOFF64 relocation against protected function
when building executable or SYMBOLIC_BIND is true.
2012-03-16 Roland McGrath <mcgrathr@google.com>
* config.bfd: Handle x86_64-*-nacl*.
* elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
(bfd_elf32_x86_64_nacl_vec): Likewise.
* targets.c: Support them.
* configure.in: Likewise.
* configure: Regenerated.
2012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* elf32-arm.c (elf32_arm_attributes_accept_div): New function.
(elf32_arm_attributes_forbid_div): Likewise.
(elf32_arm_merge_eabi_attributes): Correct handling of
Tag_DIV_use.
2012-03-15 Roland McGrath <mcgrathr@google.com>
* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
elf_x86_64_backend_data parameters for plt_eh_frame.
* elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
(get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
(elf_x86_64_arch_bed): New variable.
(elf_backend_arch_data): New macro.
(elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
(elf_x86_64_allocate_dynrelocs): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_plt_sym_val): Likewise.
(elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
parameters for PLT details.
(elf_x86_64_finish_dynamic_sections): Likewise.
2012-03-14 Roland McGrath <mcgrathr@google.com>
* elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
to the full size, padding out with nop instructions.
2012-03-12 Alan Modra <amodra@gmail.com>
* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't warn
on zero size dynbss symbol.
* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
* elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
* elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
2012-03-10 Edmar Wienskoski <edmar@freescale.com>
* archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
* bfd-in2.h: Regenerate.
* cpu-powerpc.c (bfd_powerpc_archs): Add entries for
bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
2012-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13817
* elf32-i386.c (elf_i386_relocate_section): Restore
R_386_IRELATIVE.
* elf64-x86-64.c (elf_x86_64_relocate_section): Restore
R_X86_64_IRELATIVE.
2012-03-08 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (_bfd_vms_lib_write_archive_contents): Set maximum
keylen according to archive kind. Set nextvbn and nextrfa lhd
fields. Add comments.
2012-03-07 Nick Clifton <nickc@redhat.com>
* elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type
field.
(elf32_mn10300_link_hash_table): Add tls_ldm_got entry;
(elf_mn10300_tdata): Define.
(elf_mn10300_local_got_tls_type): Define.
(elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD,
R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs.
(mn10300_reloc_map): Likewise.
(elf_mn10300_tls_transition): New function.
(dtpoff, tpoff, mn10300_do_tls_transition): New functions.
(mn10300_elf_check_relocs): Add TLS support.
(mn10300_elf_final_link_relocate): Likewise.
(mn10300_elf_relocate_section): Likewise.
(mn10300_elf_relax_section): Likewise.
(elf32_mn10300_link_hash_newfunc): Initialise new field.
(_bfd_mn10300_copy_indirect_symbol): New function.
(elf32_mn10300_link_hash_table_create): Initialise new fields.
(_bfd_mn10300_elf_size_dynamic_sections): Add TLS support.
(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
(_bfd_mn10300_elf_reloc_type_class): Allocate an
elf_mn10300_obj_tdata structure.
(elf_backend_copy_indirect_symbol): Define.
* reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD,
BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE,
BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD,
BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations.
(BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to
alongside other MN10300 relocations.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
2012-03-06 Jakub Jelinek <jakub@redhat.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE
set relocate to TRUE.
2012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR ld/12152
* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore
overflows for R_SPARC_UA32 in .stab sections.
2012-03-01 Alan Modra <amodra@gmail.com>
* elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
2012-02-27 Alan Modra <amodra@gmail.com>
* elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
before calling elf specific function.
(sh_elf_osec_readonly_p): Test for error return from above.
2012-02-27 Alan Modra <amodra@gmail.com>
* elf32-spu.c (build_stub): Fix malloc under-allocation.
2012-02-25 Walter Lee <walt@tilera.com>
* reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
* elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
relocations.
(tilepro_reloc_map): Ditto.
(tilepro_info_to_howto_rela): Ditto.
(reloc_to_create_func): Ditto.
(tilepro_tls_translate_to_le): New.
(tilepro_tls_translate_to_ie): New.
(tilepro_elf_tls_transition): New.
(tilepro_elf_check_relocs): Handle new tls relocations.
(tilepro_elf_gc_sweep_hook): Ditto.
(allocate_dynrelocs): Ditto.
(tilepro_elf_relocate_section): Ditto.
(tilepro_replace_insn): New.
(insn_mask_X1): New.
(insn_mask_X0_no_dest_no_srca): New
(insn_mask_X1_no_dest_no_srca): New
(insn_mask_Y0_no_dest_no_srca): New
(insn_mask_Y1_no_dest_no_srca): New
(srca_mask_X0): New
(srca_mask_X1): New
(insn_tls_le_move_X1): New
(insn_tls_le_move_zero_X0X1): New
(insn_tls_ie_lw_X1): New
(insn_tls_ie_add_X0X1): New
(insn_tls_ie_add_Y0Y1): New
(insn_tls_gd_add_X0X1): New
(insn_tls_gd_add_Y0Y1): New
* elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
relocations.
(tilegx_reloc_map): Ditto.
(tilegx_info_to_howto_rela): Ditto.
(reloc_to_create_func): Ditto.
(tilegx_elf_link_hash_table): New field disable_le_transition.
(tilegx_tls_translate_to_le): New.
(tilegx_tls_translate_to_ie): New.
(tilegx_elf_tls_transition): New.
(tilegx_elf_check_relocs): Handle new tls relocations.
(tilegx_elf_gc_sweep_hook): Ditto.
(allocate_dynrelocs): Ditto.
(tilegx_elf_relocate_section): Ditto.
(tilegx_copy_bits): New.
(tilegx_replace_insn): New.
(insn_mask_X1): New.
(insn_mask_X0_no_dest_no_srca): New.
(insn_mask_X1_no_dest_no_srca): New.
(insn_mask_Y0_no_dest_no_srca): New.
(insn_mask_Y1_no_dest_no_srca): New.
(insn_mask_X0_no_operand): New.
(insn_mask_X1_no_operand): New.
(insn_mask_Y0_no_operand): New.
(insn_mask_Y1_no_operand): New.
(insn_tls_ie_ld_X1): New.
(insn_tls_ie_ld4s_X1): New.
(insn_tls_ie_add_X0X1): New.
(insn_tls_ie_add_Y0Y1): New.
(insn_tls_ie_addx_X0X1): New.
(insn_tls_ie_addx_Y0Y1): New.
(insn_tls_gd_add_X0X1): New.
(insn_tls_gd_add_Y0Y1): New.
(insn_move_X0X1): New.
(insn_move_Y0Y1): New.
(insn_add_X0X1): New.
(insn_add_Y0Y1): New.
(insn_addx_X0X1): New.
(insn_addx_Y0Y1): New.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2012-02-25 Walter Lee <walt@tilera.com>
* config.bfd (tilegx-*-*): rename little endian vector; add big
endian vector.
(tilegxbe-*-*): New case.
* configure.in (bfd_elf32_tilegx_vec): Rename...
(bfd_elf32_tilegx_le_vec): ... to this.
(bfd_elf32_tilegx_be_vec): New vector.
(bfd_elf64_tilegx_vec): Rename...
(bfd_elf64_tilegx_le_vec): ... to this.
(bfd_elf64_tilegx_be_vec): New vector.
* configure: Regenerate.
* elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
(TARGET_LITTLE_NAME): Ditto.
(TARGET_BIG_SYM): Define.
(TARGET_BIG_NAME): Define.
* elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
(TARGET_LITTLE_NAME): Ditto.
(TARGET_BIG_SYM): Define.
(TARGET_BIG_NAME): Define.
* targets.c (bfd_elf32_tilegx_vec): Rename...
(bfd_elf32_tilegx_le_vec): ... to this.
(bfd_elf32_tilegx_be_vec): Declare.
(bfd_elf64_tilegx_vec): Rename...
(bfd_elf64_tilegx_le_vec): ... to this.
(bfd_elf64_tilegx_be_vec): Declare.
(_bfd_target_vector): Add / rename above vectors.
* arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
* bfd-in2.h: Regenerate.
* cpu-tilegx.c (bfd_tilegx32_arch): define.
(bfd_tilegx_arch): link to bfd_tilegx32_arch.
2012-02-24 Nick Clifton <nickc@redhat.com>
PR ld/13730
* reloc.c (bfd_generic_get_relocated_section_contents): Issue an
error message instead of aborting, when an outofrange reloc is
encountered.
2012-02-23 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
(bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc
bit-fields when target and host differ in endian-ness. When
PAIRs are non-scattered find the 'symbol' from the preceding
reloc. Add FIXME re. reloc symbols on section boundaries.
(bfd_mach_o_swap_out_non_scattered_reloc): New.
(bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
2012-02-17 Iain Sandoe <idsandoe@googlemail.com>
* mach-o-i386.c (i386_howto_table): Add support for 16 bit
sect-diffs.
(bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
(bfd_mach_o_i386_swap_reloc_out): Likewise.
2012-02-17 Tristan Gingold <gingold@adacore.com>
* reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
* libbfd.h: Regenerated.
* bfd-in2.h: Likewise.
* mach-o-i386.c (i386_howto_table): Include local sectdiff.
(bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
(bfd_mach_o_i386_swap_reloc_out): Likewise.
2012-02-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* elf32-s390.c (elf_s390_relocate_section): Support basr in the
GD->LE and LD->LE optimizations.
2012-02-16 Alan Modra <amodra@gmail.com>
PR binutils/13355
* elf32-rx.c (elf32_rx_relax_section): Correct width check.
2012-02-13 Richard Henderson <rth@redhat.com>
PR ld/13621
* linker.c (fix_syms): Force symbols outside any section into
bfd_abs_section_ptr.
2012-02-13 Alan Modra <amodra@gmail.com>
* elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
* elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
* elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
* elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
2012-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Nick Clifton <nickc@redhat.com>
* oasys.c (oasys_write_header): Fix compilation warning on zero-sized
memset.
2012-02-10 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_build_seg_command): Count zerofill section
vma additions in their logical, rather than physical order.
2012-02-10 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (mach_o_section_name_xlat): Correct eh-frame section
parameters.
* mach-o-x86-64.c (text_section_names_xlat): New.
(mach_o_x86_64_segsec_names_xlat): New.
(bfd_mach_o_tgt_seg_table): Define to mach_o_x86_64_segsec_names_xlat.
* mach-o-i386.c (text_section_names_xlat): Correct section parameters.
2012-02-10 Tristan Gingold <gingold@adacore.com>
* elfnn-ia64.c (elfNN_vms_object_p): Change comparison operator
to avoid infinite loop. Add comments.
2012-02-09 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13675
* cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte
nop instructions.
(bfd_arch_i386_short_nop_fill): New.
(bfd_arch_i386_long_nop_fill): Likewise.
Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info
initializers. Use bfd_arch_i386_long_nop_fill on 64bit
bfd_arch_info initializers.
* cpu-k1om.c (bfd_arch_i386_fill): Renamed to ...
(bfd_arch_i386_short_nop_fill): This.
Update bfd_arch_info initializers.
* cpu-l1om.c: Likewise.
2012-02-08 Alan Modra <amodra@gmail.com>
* elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too.
(_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear
the correct h->u.weakdef.
2012-02-07 Alan Modra <amodra@gmail.com>
* elf.c (elf_find_function): Don't use internal_elf_sym.
(_bfd_elf_maybe_function_sym): Likewise. Replace elf_symbol_type
parameter with asymbol.
* elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
* elf-bfd.h (_bfd_elf_maybe_function_sym): Update prototype.
(struct elf_backend_data <maybe_function_sym>): Likewise.
2012-02-02 Vidya Praveen (vidya.praveen@atmel.com)
PR bfd/13410
* elf32-avr.c (elf32_avr_relax_section): Correct the
condition that qualifies the candidates for relaxation.
2012-02-02 Tristan Gingold <gingold@adacore.com>
* bfdio.c (real_fopen): Remove unused vms_modes variable.
2012-02-02 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_read_header): Silent uninitialized
variable warning.
2012-02-02 Tristan Gingold <gingold@adacore.com>
* archive.c (bfd_slurp_armap): Fix thinko in cast.
2012-01-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13616
* archures.c (bfd_arch_info): Add fill.
(bfd_default_arch_struct): Add bfd_arch_default_fill.
(bfd_arch_default_fill): New.
* configure.in: Set bfd version to 2.22.52.
* configure: Regenerated.
* cpu-alpha.c: Add bfd_arch_default_fill to bfd_arch_info
initializer.
* cpu-arc.c: Likewise.
* cpu-arm.c: Likewise.
* cpu-avr.c: Likewise.
* cpu-bfin.c: Likewise.
* cpu-cr16.c: Likewise.
* cpu-cr16c.c: Likewise.
* cpu-cris.c: Likewise.
* cpu-crx.c: Likewise.
* cpu-d10v.c: Likewise.
* cpu-d30v.c: Likewise.
* cpu-dlx.c: Likewise.
* cpu-epiphany.c: Likewise.
* cpu-fr30.c: Likewise.
* cpu-frv.c: Likewise.
* cpu-h8300.c: Likewise.
* cpu-h8500.c: Likewise.
* cpu-hppa.c: Likewise.
* cpu-i370.c: Likewise.
* cpu-i860.c: Likewise.
* cpu-i960.c: Likewise.
* cpu-ia64.c: Likewise.
* cpu-ip2k.c: Likewise.
* cpu-iq2000.c: Likewise.
* cpu-lm32.c: Likewise.
* cpu-m10200.c: Likewise.
* cpu-m10300.c: Likewise.
* cpu-m32c.c: Likewise.
* cpu-m32r.c: Likewise.
* cpu-m68hc11.c: Likewise.
* cpu-m68hc12.c: Likewise.
* cpu-m68k.c: Likewise.
* cpu-m88k.c: Likewise.
* cpu-mcore.c: Likewise.
* cpu-mep.c: Likewise.
* cpu-microblaze.c: Likewise.
* cpu-mips.c: Likewise.
* cpu-mmix.c: Likewise.
* cpu-moxie.c: Likewise.
* cpu-msp430.c: Likewise.
* cpu-mt.c: Likewise.
* cpu-ns32k.c: Likewise.
* cpu-openrisc.c: Likewise.
* cpu-or32.c: Likewise.
* cpu-pdp11.c: Likewise.
* cpu-pj.c: Likewise.
* cpu-plugin.c: Likewise.
* cpu-powerpc.c: Likewise.
* cpu-rl78.c: Likewise.
* cpu-rs6000.c: Likewise.
* cpu-rx.c: Likewise.
* cpu-s390.c: Likewise.
* cpu-score.c: Likewise.
* cpu-sh.c: Likewise.
* cpu-sparc.c: Likewise.
* cpu-spu.c: Likewise.
* cpu-tic30.c: Likewise.
* cpu-tic4x.c: Likewise.
* cpu-tic54x.c: Likewise.
* cpu-tic6x.c: Likewise.
* cpu-tic80.c: Likewise.
* cpu-tilegx.c: Likewise.
* cpu-tilepro.c: Likewise.
* cpu-v850.c: Likewise.
* cpu-vax.c: Likewise.
* cpu-w65.c: Likewise.
* cpu-we32k.c: Likewise.
* cpu-xc16x.c: Likewise.
* cpu-xstormy16.c: Likewise.
* cpu-xtensa.c: Likewise.
* cpu-z80.c: Likewise.
* cpu-z8k.c: Likewise.
* cpu-i386.c: Include "libiberty.h".
(bfd_arch_i386_fill): New.
Add bfd_arch_i386_fill to bfd_arch_info initializer.
* cpu-k1om.c: Add bfd_arch_i386_fill to bfd_arch_info initializer.
* cpu-l1om.c: Likewise.
* linker.c (default_data_link_order): Call abfd->arch_info->fill
if fill size is 0.
* bfd-in2.h: Regenerated.
2012-01-27 Michael Eager <eager@eagercon.com>
* elf32-microblaze.c (create_got_section):
Reuse existing .rela.got section.
2012-01-23 Alan Modra <amodra@gmail.com>
* elf-bfd.h: Formatting.
(struct elf_backend_data): Add "maybe_function_sym".
(_bfd_elf_maybe_function_sym): Declare.
* elfxx-target.h (elf_backend_maybe_function_sym): Define.
(elfNN_bed): Init new field.
* elf.c (elf_find_function): Use maybe_function_sym.
(_bfd_elf_maybe_function_sym): New function.
* elf64-ppc.c (elf_backend_maybe_function_sym): Define.
(ppc64_elf_maybe_function_sym): New function.
2012-01-20 Francois Gouget <fgouget@codeweavers.com>
PR binutils/13534
* archive.c (_bfd_ar_sizepad): New function. Correctly install and
pad the size field in an archive header.
(_bfd_generic_read_ar_hdr_mag): Use the correct type and scan
function for the archive size field.
(bfd_generic_openr_next_archived_file): Likewise.
(do_slurp_coff_armap): Likewise.
(_bfd_write_archive_contents): Likewise.
(_bfd_bsd44_write_ar_hdr): Use the new function.
(bfd_ar_hdr_from_filesystem): Likewise.
(_bfd_write_archive_contents): Likewise.
(bsd_write_armap): Likewise.
(coff_write_armap): Likewise.
* archive64.c (bfd_elf64_archive_write_armap): Likewise.
* bfdio.c (bfd_bread): Use correct type for archive element
sizes.
* ar.c (open_inarch): Likewise.
(extract_file): Likewise.
* libbfd-in.h (struct areltdata): Use correct types for
parsed_size and extra_size fields.
Prototype _bfd_ar_sizepad function.
* libbfd.h: Regenerate.
2012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org>
* elf.c (elfcore_write_prpsinfo): Provide unconditionally.
Return NULL if core file generation is unsupported.
(elfcore_write_prstatus): Likewise.
* elf32-arm.c (elf32_arm_nabi_write_core_note): New function.
(elf_backend_write_core_note): Define.
2012-01-19 Tristan Gingold <gingold@adacore.com>
* pef.c: Add a comment.
* xsym.c: Likewise.
2012-01-17 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_write_core_note <NT_PRPSINFO>): Don't leave
trailing garbage in the note.
* elf64-ppc.c (ppc64_elf_write_core_note <NT_PRPSINFO>): Likewise.
2012-01-16 Daniel Green <venix1@gmail.com>
PR ld/13491
* coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test
h->root.type not h->type.
* coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise.
2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
indirect symbols.
2012-01-13 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file
position from here... to (bfd_mach_o_build_seg_command): Here.
2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_count_indirect_symbols): New.
(bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
* mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
file. (bfd_mach_o_section): Add indirect_syms field.
2012-01-11 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
vmsize from filesize. Don't compute offsets or file sizes for
zerofill sections.
2012-01-11 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_build_commands): Make the building of each
command type independent.
2012-01-11 Alan Modra <amodra@gmail.com>
* elf64-ppc.c: Define more insns used in plt call stubs.
(ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
(ppc64_elf_relocate_section): Likewise.
(enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
(struct ppc_link_hash_table): Increase size of stub_count array.
Add plt_stub_align and plt_thread_safe.
(ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
(plt_stub_size, plt_stub_pad): New functions.
(build_plt_stub): Emit barriers for power7 thread safety. Don't
emit needless save of r2.
(build_tls_get_addr_stub): Adjust params.
(ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
plt stubs. Adjust build_*plt_stub calls.
(ppc_size_one_stub): Similarly.
(ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
params. Choose default for plt_thread_safe based on existence of
calls to thread creation functions. Modify plt_call to
plt_call_r2save when no tocsave reloc found. Align tail of stub
sections.
(ppc64_elf_build_stubs): Align tail of stub sections. Adjust
output of stub statistics.
(ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
* elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
2012-01-10 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13581
* elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
check on R_X86_64_PCXX.
2012-01-10 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
warning.
2012-01-10 Tristan Gingold <gingold@adacore.com>
* bfdio.c (bfd_tell): Handle nested archives.
(bfd_seek): Ditto.
* cache.c (bfd_cache_lookup_worker): Ditto.
* archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
nested archives.
(bfd_generic_openr_next_archived_file): Likewise.
2012-01-09 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
(bfd_mach_o_write_symtab): Remove handling for indirect syms.
(bfd_mach_o_primary_symbol_sort_key): Likewise.
(bfd_mach_o_cf_symbols): Likewise.
(bfd_mach_o_sort_symbol_table): Remove.
(bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
for indirect and dysymtab counts. Do the symbol sorting here.
(bfd_mach_o_build_dysymtab_command): Count the symbol types here.
Make the indirect symbols a TODO.
(bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
(bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
a non-zero value.
(bfd_mach_o_read_symtab_symbol): Record the symbol index.
(bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
* mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
(IS_MACHO_INDIRECT): Remove.
(SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
2012-01-06 Nick Clifton <nickc@redhat.com>
PR binutils/13121
* reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
'flaginfo' to avoid conflicts with AIX system headers.
2012-01-06 Tristan Gingold <gingold@adacore.com>
* bfdio.c (bfd_bread): Use arelt_size macro.
2012-01-06 Tristan Gingold <gingold@adacore.com>
* config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
2012-01-05 Nick Clifton <nickc@redhat.com>
PR ld/12161
* elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
necessary.
2012-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix zero registers core files when built by gcc-4.7.
* elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
size. Call elfcore_write_note for the local variables. Remove the
final elfcore_write_note call. Add NOTREACHED comments.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
(bfd_mach_o_generic_stat_arch_elt): Adjust.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_fat_member_init): New function.
(bfd_mach_o_openr_next_archived_file): Reindent.
Adjust to call bfd_mach_o_fat_member_init.
(bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
BFD_RELOC_MACH_O_X86_64_PCREL32_2,
BFD_RELOC_MACH_O_X86_64_PCREL32_4,
BFD_RELOC_MACH_O_X86_64_BRANCH32,
BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
BFD_RELOC_MACH_O_X86_64_GOT.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.h (bfd_mach_o_fvmlib_command): New structure.
(bfd_mach_o_load_command): Add fvmlib field.
* mach-o.c (bfd_mach_o_read_fvmlib): New function.
(bfd_mach_o_read_command): Handle fvmlib.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_convert_architecture): Reindent.
Decode msubtype for ARM.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.h: Reindent header.
(bfd_mach_o_encryption_info_command): New structure.
(bfd_mach_o_load_command): Add encryption_info field.
* mach-o.c (bfd_mach_o_read_encryption_info): New function.
(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
(bfd_mach_o_read_command): Adjust error message.
2012-01-04 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>
* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
which reads DWARF2 and stores in stash from find_line.
(find_line) Call _bfd_dwarf2_slurp_debug_info.
* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
* libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
* mach-o.c (dsym_subdir): The name of subdir where debug
information may be stored.
(bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
type is UUID.
(bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
corresponding to the executable.
(bfd_mach_o_find_dsym): New. Find a debug information BFD in the
specified binary file.
(bfd_mach_o_follow_dsym): New. Find a debug information BFD for
the original BFD.
(bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
executables, dylibs, and bundles.
(bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
* mach-o.h (dsym_bfd): The BFD of the dSYM file.
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
for stabd symbols.
(bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
(bfd_mach_o_cf_symbols): Likewise.
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
2012-01-03 Iain Sandoe <idsandoe@googlemail.com>
* mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
as the value of an indirect symbol. Keep the string table index in
non-indirect syms for reference.
(bfd_mach_o_write_dysymtab): New.
(bfd_mach_o_primary_symbol_sort_key): New.
(bfd_mach_o_cf_symbols): New.
(bfd_mach_o_sort_symbol_table): New.
(bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols.
If we are emitting a dysymtab, process indirect symbols and count the
number of each other kind.
(bfd_mach_o_mangle_sections): New.
(bfd_mach_o_write_contents): Split out some pre-requisite code into
the command builder. Write dysymtab if the command is present.
(bfd_mach_o_count_sections_for_seg): New.
(bfd_mach_o_build_seg_command): New.
(bfd_mach_o_build_dysymtab_command): New.
(bfd_mach_o_build_commands): Reorganize to support the fact that some
commands are optional and should not be emitted if there are no
sections or symbols.
(bfd_mach_o_set_section_contents): Amend comment.
* mach-o.h: Amend and add to comments.
(mach_o_data_struct): Add fields for dysymtab symbols counts and a
pointer to the indirects, when present.
(bfd_mach_o_should_emit_dysymtab): New macro.
(IS_MACHO_INDIRECT): Likewise.
For older changes see ChangeLog-2011
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: