Commit Graph

8805 Commits

Author SHA1 Message Date
Alan Modra 49ffa21834 daily update 2011-01-03 23:00:05 +00:00
H.J. Lu 889a4d3e74 Don't allow mixing x64_32 with x86_64.
bfd/

2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* cpu-i386.c (bfd_i386_compatible): New.
	(bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
	with bfd_i386_compatible.
	(bfd_x86_64_arch_intel_syntax): Likewise.
	(bfd_i386_arch_intel_syntax): Likewise.
	(i8086_arch): Likewise.
	(bfd_x64_32_arch): Likewise.
	(bfd_x86_64_arch): Likewise.
	(bfd_i386_arch): Likewise.

ld/testsuite/

2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/dummy.s: New.
	* ld-x86-64/foo.s: Likewise.
	* ld-x86-64/ia32-1.d: Likewise.
	* ld-x86-64/ia32-2.d: Likewise.
	* ld-x86-64/ia32-3.d: Likewise.
	* ld-x86-64/ilp32-1.d: Likewise.
	* ld-x86-64/ilp32-2.d: Likewise.
	* ld-x86-64/ilp32-3.d: Likewise.
	* ld-x86-64/lp64-1.d: Likewise.
	* ld-x86-64/lp64-2.d: Likewise.
	* ld-x86-64/lp64-3.d: Likewise.
	* ld-x86-64/start.s: Likewise.

	* ld-x86-64/x86-64.exp: Run ilp32-1, ilp32-2, ilp32-3, ia32-1,
	ia32-2, ia32-3, lp64-1, lp64-2 and lp64-3.
2011-01-03 18:16:46 +00:00
Alan Modra 74a3dc67a3 daily update 2011-01-02 23:00:05 +00:00
Alan Modra 80592f1b7f daily update 2011-01-01 23:00:05 +00:00
H.J. Lu 9e9e082043 Rotate binutils ChangeLogs. 2011-01-01 16:43:53 +00:00
Alan Modra 6c790689f9 daily update 2010-12-31 23:00:05 +00:00
Richard Sandiford aeffff6722 bfd/
2010-12-23  Robert Millan  <rmh@gnu.org>

	* config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
	* configure.host: Likewise.
	* configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
	`bfd_elf32_ntradlittlemips_freebsd_vec',
	`bfd_elf32_tradbigmips_freebsd_vec',
	`bfd_elf32_tradlittlemips_freebsd_vec',
	`bfd_elf64_tradbigmips_freebsd_vec' and
	`bfd_elf64_tradlittlemips_freebsd_vec'.
	* configure: Regenerate.
	* elf32-mips.c: New target for FreeBSD support
	(same as traditional MIPS but overrides ELF_OSABI
	with ELFOSABI_FREEBSD).
	* elf64-mips.c: Likewise.
	* elfn32-mips.c: Likewise.
	* targets.c (_bfd_target_vector): Add
	`bfd_elf32_ntradbigmips_freebsd_vec',
	`bfd_elf32_ntradlittlemips_freebsd_vec',
	`bfd_elf32_tradbigmips_freebsd_vec',
	`bfd_elf32_tradlittlemips_freebsd_vec',
	`bfd_elf64_tradbigmips_freebsd_vec' and
	`bfd_elf64_tradlittlemips_freebsd_vec'.

ld/
2010-12-14  Robert Millan  <rmh@gnu.org>

	* configure.tgt: Recognize mips-freebsd and mips-kfreebsd-gnu.

	* emulparams/elf32btsmip_fbsd.sh: New file.
	* emulparams/elf32btsmipn32_fbsd.sh: Likewise.
	* emulparams/elf32ltsmip_fbsd.sh: Likewise.
	* emulparams/elf32ltsmipn32_fbsd.sh: Likewise.
	* emulparams/elf64btsmip_fbsd.sh: Likewise.
	* emulparams/elf64ltsmip_fbsd.sh: Likewise.

	* Makefile.am: Add build rules for `eelf32btsmip_fbsd.c',
	`eelf32btsmipn32_fbsd.c', `eelf32ltsmip_fbsd.c',
	`eelf32ltsmipn32_fbsd.c', `eelf64btsmip_fbsd.c' and
	`eelf64ltsmip_fbsd.c'.
	* Makefile.in: Regenerate.

gas/
2010-12-19  Robert Millan  <rmh@gnu.org>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (ELF_TARGET): New macro.  Generates target
	names accordingly to whether TE_FreeBSD and whether TE_TMIPS
	are defined.
	(mips_target_format): Refactor code using ELF_TARGET().
	(support_64bit_objects): Likewise.

	* configure.in: Recognize mips-freebsd and mips-kfreebsd-gnu.
	* configure.tgt: Likewise.
	* configure: Regenerate.

binutils/testsuite/
	* binutils-all/readelf.exp: Handle MIPS FreeBSD targets.

gas/testsuite/
	* gas/mips/e32el-rel2.d: Accept any file format.
	* gas/mips/elf-rel.d: Likewise.
	* gas/mips/elf-rel2.d: Likewise.
	* gas/mips/elf-rel3.d: Likewise.
	* gas/mips/elfel-rel.d: Likewise.
	* gas/mips/elfel-rel2.d: Likewise.
	* gas/mips/elfel-rel3.d: Likewise.
	* gas/mips/ldstla-32-mips3-shared.d: Likewise.
	* gas/mips/ldstla-32-mips3.d: Likewise.
	* gas/mips/ldstla-32-shared.d: Likewise.
	* gas/mips/ldstla-32.d: Likewise.
	* gas/mips/ldstla-n64-shared.d: Likewise.
	* gas/mips/ldstla-n64.d: Likewise.
	* gas/mips/noat-1.d: Likewise.
	* gas/mips/set-arch.d: Likewise.
	* gas/mips/tls-o32.d: Likewise.

ld/testsuite/
	* ld-mips-elf/mips-elf-flags.exp: Handle FreeBSD targets.
	* ld-mips-elf/mips-elf.exp: Likewise.
	* ld-mips-elf/mips16-call-global.d: Accept any file format.
	* ld-mips-elf/mips16-intermix.d: Likewise.
2010-12-31 11:01:00 +00:00
H.J. Lu a836572f89 Move elfXX_r_info/elfXX_r_sym to elfcode.h.
2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elfcode.h (NAME(elf,r_info)): New.
	(NAME(elf,r_sym)): Likewise.

	* elflink.c (elf64_r_info): Removed.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.
2010-12-31 02:43:21 +00:00
H.J. Lu c543bf9aab Add elf_x86_64_relocs_compatible.
2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
	(elf_backend_relocs_compatible): Defined to
	elf_x86_64_relocs_compatible.
2010-12-31 00:34:59 +00:00
H.J. Lu 351f65ca26 Add x86-64 ILP32 support.
bfd/

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* archures.c (bfd_mach_x64_32): New.
	(bfd_mach_x64_32_intel_syntax): Likewise.
	* bfd-in2.h: Regenerated.

	* config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for
	i[3-7]86-*-linux-*.
	(targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*.

	* configure.in: Support bfd_elf32_x86_64_vec.
	* configure: Regenerated.

	* cpu-i386.c (bfd_x64_32_arch_intel_syntax): New.
	(bfd_x64_32_arch): Likewise.

	* elf-bfd.h (elf_append_rela): New prototype.
	(elf_append_rel): Likewise.
	(elf64_r_info): Likewise.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.

	* elf64-x86-64.c (ABI_64_P): New.
	(elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with
	ELF32_R_TYPE.  Replace ELF64_ST_TYPE with ELF_ST_TYPE.
	(elf_x86_64_check_tls_transition):Likewise.
	(elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_gc_mark_hook):Likewise.
	(elf_x86_64_gc_sweep_hook): Likewise.
	(elf_x86_64_relocate_section): Likewise.
	(elf_x86_64_reloc_type_class): Likewise.
	(ELF_DYNAMIC_INTERPRETER): Renamed to ...
	(ELF64_DYNAMIC_INTERPRETER): This.
	(ELF32_DYNAMIC_INTERPRETER): New.
	(elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out,
	dynamic_interpreter and dynamic_interpreter_size.
	(elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with
	htab->r_sym.  Replace ELF64_R_INFO with htab->r_info.
	(elf_x86_64_get_local_sym_hash): Likewise.
	(elf_x86_64_check_tls_transition):Likewise.
	(elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_gc_mark_hook):Likewise.
	(elf_x86_64_gc_sweep_hook): Likewise.
	(elf_x86_64_relocate_section): Likewise.
	(elf_x86_64_finish_dynamic_symbol): Likewise.
	(elf_x86_64_finish_local_dynamic_symbol): Likewise.
	(elf_x86_64_link_hash_table_create): Initialize r_info, r_sym,
	swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size.
	(elf_x86_64_check_relocs): Check ABI_64_P when requesting for
	PIC.
	(elf_x86_64_relocate_section): Likewise.
	(elf64_x86_64_adjust_dynamic_symbol): Replace sizeof
	(Elf64_External_Rela) with bed->s->sizeof_rela.
	(elf64_x86_64_allocate_dynrelocs): Likewise.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(elf64_x86_64_finish_dynamic_symbol): Likewise.
	(elf64_x86_64_append_rela): Removed.
	(elf32_x86_64_elf_object_p): New.
	Add bfd_elf32_x86_64_vec.

	* elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ...
	(elf_x86_64_xxx): This.

	* elflink.c (bfd_elf_final_link): Check ELF file class on error.
	(elf_append_rela): New.
	(elf_append_rel): Likewise.
	(elf64_r_info): Likewise.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.

	* targets.c (bfd_elf32_x86_64_vec): New.
	(_bfd_target_vector): Add bfd_elf32_x86_64_vec.

gas/

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (x86_elf_abi): New.
	(i386_mach): Return bfd_mach_x64_32 for ILP32.
	(OPTION_N32): Likewise.
	(md_longopts): Add "n32" for ELF.
	(md_parse_option): Handle OPTION_N32.
	(md_show_usage): Add --n32.
	(i386_target_format): Update and check x86_elf_abi.

	* config/tc-i386.h (ELF_TARGET_FORMAT32): New.

	* doc/as.texinfo: Document --n32.
	* doc/c-i386.texi: Likewise.

gas/testsuite/

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/ilp32/lns/ilp32.exp: New.
	* gas/i386/ilp32/lns/lns-common-1.d: Likewise.
	* gas/i386/ilp32/lns/lns-duplicate.d: Likewise.

	* gas/i386/ilp32/cfi/cfi-common-1.d: New.
	* gas/i386/ilp32/cfi/cfi-common-2.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-common-3.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-common-4.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-common-5.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-common-6.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-common-7.d: Likewise.
	* gas/i386/ilp32/cfi/cfi-x86_64.d: Likewise.
	* gas/i386/ilp32/cfi/ilp32.exp: Likewise.
	* gas/i386/ilp32/elf/ehopt0.d: Likewise.
	* gas/i386/ilp32/elf/equ-reloc.d: Likewise.
	* gas/i386/ilp32/elf/file.d: Likewise.
	* gas/i386/ilp32/elf/group0a.d: Likewise.
	* gas/i386/ilp32/elf/group0b.d: Likewise.
	* gas/i386/ilp32/elf/group1a.d: Likewise.
	* gas/i386/ilp32/elf/group1b.d: Likewise.
	* gas/i386/ilp32/elf/ifunc-1.d: Likewise.
	* gas/i386/ilp32/elf/ilp32.exp: Likewise.
	* gas/i386/ilp32/elf/redef.d: Likewise.
	* gas/i386/ilp32/elf/section0.d: Likewise.
	* gas/i386/ilp32/elf/section1.d: Likewise.
	* gas/i386/ilp32/elf/section3.d: Likewise.
	* gas/i386/ilp32/elf/section4.d: Likewise.
	* gas/i386/ilp32/elf/section6.d: Likewise.
	* gas/i386/ilp32/elf/section7.d: Likewise.
	* gas/i386/ilp32/elf/struct.d: Likewise.
	* gas/i386/ilp32/elf/symtab.d: Likewise.
	* gas/i386/ilp32/elf/symver.d: Likewise.

	* gas/i386/ilp32/ilp32.exp: New.
	* gas/i386/ilp32/immed64.d: Likewise.
	* gas/i386/ilp32/mixed-mode-reloc64.d: Likewise.
	* gas/i386/ilp32/reloc64.d: Likewise.
	* gas/i386/ilp32/rex.d: Likewise.
	* gas/i386/ilp32/rexw.d: Likewise.
	* gas/i386/ilp32/svme64.d: Likewise.
	* gas/i386/ilp32/x86-64-addr32.d: Likewise.
	* gas/i386/ilp32/x86-64-addr32-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-aes.d: Likewise.
	* gas/i386/ilp32/x86-64-aes-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-amdfam10.d: Likewise.
	* gas/i386/ilp32/x86-64-arch-1.d: Likewise.
	* gas/i386/ilp32/x86-64-arch-2.d: Likewise.
	* gas/i386/ilp32/x86-64-avx.d: Likewise.
	* gas/i386/ilp32/x86-64-avx-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-avx-swap.d: Likewise.
	* gas/i386/ilp32/x86-64-avx-swap-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-branch.d: Likewise.
	* gas/i386/ilp32/x86-64-cbw.d: Likewise.
	* gas/i386/ilp32/x86-64-cbw-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-clmul.d: Likewise.
	* gas/i386/ilp32/x86-64-clmul-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-crc32.d: Likewise.
	* gas/i386/ilp32/x86-64-crc32-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-crx.d: Likewise.
	* gas/i386/ilp32/x86-64-crx-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64.d: Likewise.
	* gas/i386/ilp32/x86-64-disp.d: Likewise.
	* gas/i386/ilp32/x86-64-disp-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-drx.d: Likewise.
	* gas/i386/ilp32/x86-64-drx-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-ept.d: Likewise.
	* gas/i386/ilp32/x86-64-ept-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-fma4.d: Likewise.
	* gas/i386/ilp32/x86-64-fma.d: Likewise.
	* gas/i386/ilp32/x86-64-fma-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-gidt.d: Likewise.
	* gas/i386/ilp32/x86-64-ifunc.d: Likewise.
	* gas/i386/ilp32/x86-64-intel64.d: Likewise.
	* gas/i386/ilp32/x86-64-io.d: Likewise.
	* gas/i386/ilp32/x86-64-io-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-io-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-localpic.d: Likewise.
	* gas/i386/ilp32/x86-64-mem.d: Likewise.
	* gas/i386/ilp32/x86-64-mem-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-movbe.d: Likewise.
	* gas/i386/ilp32/x86-64-movbe-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1-core2.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1-k8.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1-nocona.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-1-pentium.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-2.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-3.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-4.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-4-k8.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-5.d: Likewise.
	* gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/ilp32/x86-64-nops.d: Likewise.
	* gas/i386/ilp32/x86-64-opcode.d: Likewise.
	* gas/i386/ilp32/x86-64-opcode-inval.d: Likewise.
	* gas/i386/ilp32/x86-64-opcode-inval-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-opts.d: Likewise.
	* gas/i386/ilp32/x86-64-opts-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-pcrel.d: Likewise.
	* gas/i386/ilp32/x86-64-reg.d: Likewise.
	* gas/i386/ilp32/x86-64-reg-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-rep.d: Likewise.
	* gas/i386/ilp32/x86-64-rep-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-rip.d: Likewise.
	* gas/i386/ilp32/x86-64-rip-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-sib.d: Likewise.
	* gas/i386/ilp32/x86-64-sib-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-simd.d: Likewise.
	* gas/i386/ilp32/x86-64-simd-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-simd-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-sse2avx.d: Likewise.
	* gas/i386/ilp32/x86-64-sse2avx-opts.d: Likewise.
	* gas/i386/ilp32/x86-64-sse2avx-opts-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-sse3.d: Likewise.
	* gas/i386/ilp32/x86-64-sse4_1.d: Likewise.
	* gas/i386/ilp32/x86-64-sse4_1-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-sse4_2.d: Likewise.
	* gas/i386/ilp32/x86-64-sse4_2-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-sse-check.d: Likewise.
	* gas/i386/ilp32/x86-64-sse-check-none.d: Likewise.
	* gas/i386/ilp32/x86-64-sse-check-warn.d: Likewise.
	* gas/i386/ilp32/x86-64-sse-noavx.d: Likewise.
	* gas/i386/ilp32/x86-64-ssse3.d: Likewise.
	* gas/i386/ilp32/x86-64-stack.d: Likewise.
	* gas/i386/ilp32/x86-64-stack-intel.d: Likewise.
	* gas/i386/ilp32/x86-64-stack-suffix.d: Likewise.
	* gas/i386/ilp32/x86-64-unwind.d: Likewise.
	* gas/i386/ilp32/x86-64-vmx.d: Likewise.
	* gas/i386/ilp32/x86-64-xsave.d: Likewise.
	* gas/i386/ilp32/x86-64-xsave-intel.d: Likewise.

ld/

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* emulparams/elf32_x86_64.sh: New.

	* configure.tgt (targ64_extra_emuls): Add elf32_x86_64 for
	i[3-7]86-*-linux-*.
	(targ_extra_libpath): Likewise.
	(targ_extra_emuls): Add elf32_x86_64 for x86_64-*-linux-*.
	(targ_extra_libpath): Likewise.

	* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64.c.
	(eelf32_x86_64.c): New.
	* Makefile.in: Regenerated.

opcodes/

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (print_insn): Support bfd_mach_x64_32 and
	bfd_mach_x64_32_intel_syntax.
2010-12-31 00:33:36 +00:00
Alan Modra f9cfca48c5 daily update 2010-12-30 23:00:06 +00:00
Alan Modra 797de60ed2 daily update 2010-12-29 23:00:05 +00:00
Alan Modra 52a2777fc2 daily update 2010-12-28 23:00:05 +00:00
Alan Modra 1ffad0785a daily update 2010-12-27 23:00:05 +00:00
Alan Modra 016902df7a daily update 2010-12-26 23:00:06 +00:00
Alan Modra e6ceff195a daily update 2010-12-25 23:00:17 +00:00
Alan Modra 6893e228e8 daily update 2010-12-24 23:00:05 +00:00
Alan Modra 82c6068aa4 * compress.c (decompress_contents): Style.
(bfd_get_full_section_contents): Do not decompress directly into
	caller buffer or directly return cached section contents.
	Check malloc return for compressed_buffer.
2010-12-24 10:40:19 +00:00
Alan Modra bb907dafb5 daily update 2010-12-23 23:00:05 +00:00
Alan Modra 529b8b5106 daily update 2010-12-22 23:00:06 +00:00
Alan Modra 02ec109687 daily update 2010-12-21 23:00:05 +00:00
Kai Tietz c91a930cb7 2010-12-21 Kai Tietz <kai.tietz@onevision.com>
* peXXigen.c (_bfd_XXi_final_link_postscript): Use
        bfd_get_symbol_leading_char to determine "_tls_used" name.

2010-12-21  Kai Tietz  <kai.tietz@onevision.com>

	* ld-pe/pe.exp: Add TLS directory test.
	* ld-pe/tlssec.s: New.
	* ld-pe/tlssec64.d: New.
	* ld-pe/tlssec32.d: New.
2010-12-21 15:24:39 +00:00
Pierre Muller bc2b29908f * peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
for windows 64-bit TLS table size.
2010-12-21 08:41:16 +00:00
Alan Modra 6489812b7b daily update 2010-12-20 23:00:05 +00:00
Alan Modra 06cbc91558 daily update 2010-12-19 23:00:05 +00:00
Alan Modra 00de6a2475 daily update 2010-12-18 23:00:05 +00:00
Alan Modra d8de03f335 daily update 2010-12-17 23:00:06 +00:00
DJ Delorie e8ef21bff5 * reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
(BFD_RELOC_RX_ABS32_REV): Add.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf32-rx.c (rx_reloc_map): Add them.

* config/tc-rx.c (rx_validate_fix_sub): Permit subtraction in more
cases.
(tc_gen_reloc): Fix handling of subtraction (esp wrt endianness).
2010-12-17 04:17:00 +00:00
Alan Modra 54ff0b7c75 daily update 2010-12-16 23:00:05 +00:00
Alan Modra 9f094d16f0 daily update 2010-12-15 23:00:06 +00:00
H.J. Lu 02ecc8e968 Add SORT_BY_INIT_PRIORITY.
bfd/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (_bfd_elf_new_section_hook): Special handling for
	.init_array/.fini_array output sections.

ld/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (GENSCRIPTS): Add @enable_initfini_array@.

	* NEWS: Mention SORT_BY_INIT_PRIORITY.

	* configure.in: Add AC_CANONICAL_BUILD.
	Add --enable-initfini-array.

	* genscripts.sh (ENABLE_INITFINI_ARRAY): New.

	* ld.h (sort_type): Add by_init_priority.

	* ld.texinfo: Document SORT_BY_INIT_PRIORITY.

	* ldgram.y (SORT_BY_INIT_PRIORITY): New.
	(wildcard_spec): Handle SORT_BY_INIT_PRIORITY.

	* ldlang.c (get_init_priority): New.
	(compare_section): Use get_init_priority for by_init_priority.

	* ldlex.l (SORT_BY_INIT_PRIORITY): New.

	* scripttempl/elf.sc: Support ENABLE_INITFINI_ARRAY.

	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.in: Likewise.
	* configure: Likewise.

ld/testsuite/

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/elf.exp (array_tests): Add init-mixed.
	(array_tests_static): Likewise.
	Also delete tmpdir/init-mixed.

	* ld-elf/init-mixed.c: New.
	* ld-elf/init-mixed.out: Likewise.
2010-12-15 14:56:40 +00:00
Alan Modra 4b2826e7db daily update 2010-12-14 23:00:08 +00:00
Alan Modra ed825065fb daily update 2010-12-13 23:00:06 +00:00
Alan Modra 0e144ba71e * aoutx.h (aout_link_check_ar_symbols): Formatting.
* cofflink.c (coff_link_check_ar_symbols): Likewise.
	* elflink.c (elf_link_add_archive_symbols): Likewise.
	* pdp11.c (aout_link_check_ar_symbols): Likewise.
	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
	xcoff_link_check_dynamic_ar_symbols): Likewise.

	* aoutx.h (aout_link_check_archive_element): Simplify code dealing
	with add_archive_element substitute BFD.
	* cofflink.c (coff_link_check_archive_element): Likewise.
	* ecoff.c (ecoff_link_check_archive_element): Likewise.
	(ecoff_link_add_archive_symbols): Likewise.
	* linker.c (generic_link_check_archive_element): Likewise.
	* pdp11.c (aout_link_check_archive_element): Likewise.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
	* xcofflink.c (xcoff_link_check_archive_element): Likewise.

	* aoutx.h (aout_link_check_archive_element): Free symbols from old
	bfd if !keep_memory.
	* cofflink.c (coff_link_check_archive_element): Likewise.
	* pdp11.c (aout_link_check_archive_element): Likewise.
	* xcofflink.c (xcoff_link_check_archive_element): Likewise.
2010-12-13 01:06:16 +00:00
Alan Modra 4846b70aa0 * plugin.c (bfd_plugin_mkobject): Delete.
(plugin_vec): Use bfd_false instead.
2010-12-12 23:50:47 +00:00
Alan Modra 59841acef1 daily update 2010-12-12 23:00:05 +00:00
H.J. Lu db0ca79ff4 Optimize for add_archive_element.
bfd/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_link_add_archive_symbols): Remove subsbfd.

ld/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (load_symbols): Optimize for add_archive_element.
2010-12-12 14:52:27 +00:00
H.J. Lu 68efed4197 Mark .gnu.lto_* sections with SHF_EXCLUDE.
bfd/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (special_sections_g): Add ".gnu.lto_".

gas/testsuite/

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/elf/elf.exp: Run section9.

	* gas/elf/section9.d: New.
	* gas/elf/section9.s: Likewise.
2010-12-12 14:49:25 +00:00
Alan Modra 779e56b7a3 daily update 2010-12-11 23:00:05 +00:00
Alan Modra 87555e06d5 daily update 2010-12-10 23:00:05 +00:00
Alan Modra 9a9e2ca332 * config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*.
Add aix5coff64_vec to powerpc ELF entries.
2010-12-10 01:03:13 +00:00
Alan Modra 33f7867de8 daily update 2010-12-09 23:00:08 +00:00
Mike Frysinger 8b9a522f57 bfd/binutils/gas/gprof/ld/libiberty/opcodes: add .gitignore
This seems to cover a few random targets as well as --enable-targets=all.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-09 09:03:18 +00:00
Alan Modra b7c4610f2c daily update 2010-12-08 23:00:05 +00:00
Alan Modra 63118c065d daily update 2010-12-07 23:00:05 +00:00
Alan Modra 78536d6e46 daily update 2010-12-06 23:00:04 +00:00
H.J. Lu d9b2146348 Use putchar for the trailing `\n' in plugin message.
bfd/

2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12288
	* plugin.c (message): Add putchar for the trailing `\n'.

ld/

2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12288
	* plugin.c (message): Use putchar for the trailing `\n'.
2010-12-06 20:25:49 +00:00
Alan Modra 73ac8532e4 daily update 2010-12-05 23:00:05 +00:00
Alan Modra ac0094b509 daily update 2010-12-04 23:00:05 +00:00
Mike Frysinger 200c83b8a9 bfd: install plugin-api.h as needed
Since people need plugin-api.h in order to build linker plugins, install
the header with the other library headers when plugin support is enabled.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-12-04 13:00:35 +00:00
Alan Modra 17d078c589 PR ld/12277
* elflink.c (elf_link_output_extsym): Set bfd_error on symbol
	and section errors.  Allow better translation of error messages.
2010-12-04 04:42:06 +00:00
Alan Modra 831b644cf3 daily update 2010-12-03 23:00:05 +00:00
Alan Modra c45c13cab8 daily update 2010-12-02 23:00:06 +00:00
Richard Sandiford 362d30a1c8 bfd/
* elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt,
	srelgot, splt, srelplt.
	(create_got_section, elf32_arm_link_hash_table_create): Don't set them.
	(elf32_arm_create_dynamic_sections): Likewise.  Use htab->root
	fields instead.
	(arm_type_of_stub): Use the root fields instead of the removed ones.
	(cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise.
	(bfd_elf32_arm_process_before_allocation): Likewise.
	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
	(elf32_arm_size_dynamic_sections): Likewise.
	(elf32_arm_output_arch_local_syms): Likewise.
	(elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the
	htab fields instead of looking them up by name.  Consistently use
	these local variables instead of htab fields.
	(elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel.
	Use srelbss instead of looking it up by name.
	(elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt
	instead of looking up the symbols by name.  Use the root fields
	instead of the removed ones.
2010-12-02 13:28:35 +00:00
Richard Sandiford 0bdcacaf71 bfd/
* elf32-arm.c (elf32_arm_relocs_copied): Delete.
	(elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs.
	(elf32_arm_link_hash_newfunc): Update accordingly.
	(elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise.
	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
	(elf32_arm_readonly_dynrelocs): Likewise.
	(elf32_arm_size_dynamic_sections): Likewise.
2010-12-02 13:27:21 +00:00
Paul Koning 0c98115d15 * pdp11.c (aout_link_add_symbols): Ignore debug symbols. 2010-12-02 11:53:07 +00:00
Alan Modra 6dc61ffa66 daily update 2010-12-01 23:00:05 +00:00
Alan Modra 7f30d9a86c daily update 2010-11-30 23:00:05 +00:00
Alan Modra 9203b09a4b Add sparc64-rtems. 2010-11-30 01:14:08 +00:00
Alan Modra 0e75fdc4e0 daily update 2010-11-29 23:00:05 +00:00
Alan Modra ba04e36a31 daily update 2010-11-28 23:00:06 +00:00
Alan Modra aa34337146 daily update 2010-11-27 23:00:05 +00:00
Alan Modra 326e3be664 daily update 2010-11-26 23:00:05 +00:00
Alan Modra aad5de7791 daily update 2010-11-25 23:00:05 +00:00
Alan Modra 1de34e0afe Update translations 2010-11-25 06:08:52 +00:00
Joel Brobecker c09a7c7e90 Add rs6000-core.c/.o to the list of optional backend files...
This makes sure that rs6000-core.c gets recompiled whenever any of its
dependencies get changed.

bfd/ChangeLog:

        * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
        (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
        * Makefile.in: Regenerate.
2010-11-25 01:06:30 +00:00
Alan Modra 994e6e4df1 daily update 2010-11-24 23:00:04 +00:00
Alan Modra cd9e734e3f PR ld/12253
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
	DW_EH_PE_datarel handling.  Truncate .eh_frame_hdr address to
	ptr_size.
2010-11-23 23:30:04 +00:00
Alan Modra 80d3f67782 daily update 2010-11-23 23:00:04 +00:00
Nick Clifton d051516a87 * mips.h (INSN_CHIP_MASK): Update according to INSN_LOONGSON_3A.
(INSN_LOONGSON_3A): Clear bit 31.

	* elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
	after bfd_mach_mips_sb1.

	* config/tc-mips.c (mips_cpu_info_table): Move loongson3a after sb1.
2010-11-23 17:04:13 +00:00
Alan Modra a44991dd15 daily update 2010-11-22 23:00:05 +00:00
Alan Modra a9e2ee6275 daily update 2010-11-21 23:00:05 +00:00
Alan Modra 2ba6e213e8 daily update 2010-11-20 23:00:08 +00:00
Alan Modra 524ff2b8d9 daily update 2010-11-19 23:00:05 +00:00
Alan Modra 60a60dd984 daily update 2010-11-18 23:00:05 +00:00
Alan Modra ae4e1e8b57 daily update 2010-11-17 23:00:05 +00:00
Tristan Gingold 5c32d34406 2010-11-17 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (vms_write_index): Add comments.
	Partially revert previous patch.  Free blocks later.
2010-11-17 11:32:53 +00:00
Nick Clifton 79520e0d2d PR ld/12161
* elf32-avr.c (elf32_avr_check_relocs): Delete.
	(elf_backend_check_relocs): Delete.
2010-11-17 10:56:42 +00:00
Nick Clifton dfb3587355 oops - acccidentally omitted from loongson 3a check-in. 2010-11-17 09:32:42 +00:00
Alan Modra 271a463e7a daily update 2010-11-16 23:00:04 +00:00
Alan Modra e4985aff66 daily update 2010-11-15 23:00:05 +00:00
Mike Frysinger 781303cee5 blackfin: add support for L1 code/data flags
Add new linker options for marking programs to load into L1 memory
at runtime.  This needs new EF flag bits, so declare them.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-15 22:30:47 +00:00
Mike Frysinger 6936240e66 bfd: bfin: drop needless symbol flag handling imported from FRV
The Blackfin bfd merged some FRV code recently, and then removed pieces
that didn't make sense.  In the FRV code, it outputs a "_gp" symbol in
its BFD whereas in the Blackfin code, we don't.  So while on the FRV
side it fiddles with the "flags" variable (sometimes using it for section
flags and sometimes using it for symbol flags), we don't need any of
that.  This lead to BZ 12177 where the Blackfin code is a bit confusing.
So to fix things up, remove more stuff we don't need.  Shouldn't change
the behavior at all.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-15 08:34:00 +00:00
Alan Modra 2c08d94b5d daily update 2010-11-14 23:00:06 +00:00
Alan Modra 5a7a096583 daily update 2010-11-13 23:00:06 +00:00
Alan Modra 1797d6128c daily update 2010-11-12 23:00:05 +00:00
H.J. Lu e326bf5f36 Properly copy BFD_COMPRESS and BFD_DECOMPRESS to archive element.
2010-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	* archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and
	BFD_DECOMPRESS.
	(bfd_openr_next_archived_file): Revert the last change.
2010-11-12 22:10:18 +00:00
Alan Modra 72c57f8782 daily update 2010-11-11 23:00:05 +00:00
Nick Clifton fd50354116 bfd/
* archures.c (bfd_mach_mips_loongson_3a): Defined.
	* bfd-in2.h (bfd_mach_mips_loongson_3a): Defined.
	* cpu-mips.c (I_loongson_3a): New add.
	(arch_info_struct): Add loongson_3a.
	* elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a.
	(mips_set_isa_flags): Add loongson_3a.
	(mips_mach_extensions): Add loongson_3a in MIPS64 extensions.

	binutils/
	* readelf.c (get_machine_flags): Add loongson-3a.

	gas/
	* config/tc-mips.c (mips_cpu_info_table): Add loongson3a in MIPS 64.
	* doc/c-mips.texi (MIPS cpu): Add loongson3a.

	include/
	* elf/mips.h (E_MIPS_MACH_LS3A): Defined.
	* opcode/mips.h (INSN_LOONGSON_3A): Defined.
	(CPU_LOONGSON_3A): Defined.
	(OPCODE_IS_MEMBER): Add LOONGSON_3A.

	opcodes/
	* mips-dis.c (mips_arch_choices): Add loongson3a.
	* mips-opc.c (IL3A): Defined as INSN_LOONGSON_3A.
	(mips_builtin_opcodes): Modify some instructions' membership from
	IL2F to IL2F|IL3A, since these instructions are supported by Loongson_3A.
2010-11-11 10:23:39 +00:00
Alan Modra f29aae8738 daily update 2010-11-10 23:00:06 +00:00
Richard Sandiford 51020d214b bfd/
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused
	variables.
2010-11-10 14:54:30 +00:00
Nick Clifton 8e295ce05a Updated translations. 2010-11-10 14:39:10 +00:00
Alan Modra 45f64f6759 daily update 2010-11-09 23:00:04 +00:00
Alan Modra 1b8ccd8f86 daily update 2010-11-08 23:00:06 +00:00
Nick Clifton 6548efc112 Updated Japanese translations. 2010-11-08 11:37:07 +00:00
Alan Modra 4e011fb578 bfd/
* hash.c (bfd_hash_hash): Extract from..
	(bfd_hash_lookup): ..here.
	(bfd_hash_rename): New function.
	* section.c (bfd_rename_section): New function.
	* bfd-in.h (bfd_hash_rename): Declare.
	* bfd-in2.h: Regenerate.
	* elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
	when compressing or decompressing.  Don't assert name match.
	* elf64-hppa.c (get_reloc_section): Don't assert name match.
	* elfxx-ia64.c (get_reloc_section): Likewise.
binutils/
	* objcopy.c (copy_main): No need to rename sections when compressing
	or decompressing.
binutils/testsuite/
	* binutils-all/objdump.W: Adjust expected result for debug section
	rename.
2010-11-08 02:48:57 +00:00
Alan Modra 828a238730 daily update 2010-11-07 23:00:05 +00:00
Alan Modra 253de80c68 daily update 2010-11-06 23:00:04 +00:00
Alan Modra 320c5ccc57 daily update 2010-11-05 23:00:05 +00:00
Joseph Myers 0547accfd9 bfd:
* elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
	(elf32_tic6x_merge_attributes): Use
	_bfd_elf_merge_unknown_attribute_low and
	_bfd_elf_merge_unknown_attribute_list.
	(elf_backend_obj_attrs_handle_unknown): Define.

ld/testsuite:
	* ld-tic6x/attr-unknown-1.d, ld-tic6x/attr-unknown-1000-1.s,
	ld-tic6x/attr-unknown-1000-2.s, ld-tic6x/attr-unknown-1024-1.s,
	ld-tic6x/attr-unknown-2.d, ld-tic6x/attr-unknown-3.d,
	ld-tic6x/attr-unknown-4.d, ld-tic6x/attr-unknown-5.d,
	ld-tic6x/attr-unknown-54-1.s, ld-tic6x/attr-unknown-55-a.s,
	ld-tic6x/attr-unknown-6.d, ld-tic6x/attr-unknown-7.d,
	ld-tic6x/attr-unknown-71-a.s, ld-tic6x/attr-unknown-71-b.s: New
	tests.
2010-11-05 13:04:07 +00:00