Commit graph

7874 commits

Author SHA1 Message Date
Alan Modra
27b0c844fe daily update 2009-08-26 00:00:05 +00:00
Alan Modra
36271639f5 daily update 2009-08-25 00:00:04 +00:00
Alan Modra
e8f26812e3 daily update 2009-08-24 00:00:04 +00:00
Alan Modra
5b27cc73f7 daily update 2009-08-23 00:00:05 +00:00
Ralf Wildenhues
14ec8efdb1 Cleanups in binutils makefiles.
ld/:
	* Makefile.am (bin_PROGRAMS): Renamed from ...
	(noinst_PROGRAMS): ... this.
	(transform): Override, including the renaming of ld-new to ld.
	(install-exec-local): Installation of ld in $(bindir) not needed
	here any more.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	(MAINTAINERCLEANFILES): Add ld.1.
	* Makefile.in: Regenerate.

gold/:
	* Makefile.am (AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDE): ... this.
	* Makefile.in, testsuite/Makefile.in: Regenerate.

bfd/:
	* Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow
	appending.
	[INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set
	only in this condition.
	[!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,
	to build but not install libbfd.la in this condition.
	(install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)
	(install_libbfd, install_libbfd): Remove.
	* Makefile.in: Regenerate.

binutils/:
	* Makefile.am (AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	(bin2c$(EXEEXT_FOR_BUILD): Adjust rule.
	(installcheck-local): Renamed from ...
	(installcheck): ... this.
	* Makefile.in: Regenerate.

gas/:
	* Makefile.am (YFLAGS): Remove, not needed any more.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	* Makefile.in: Regenerate.

gprof/:
	* Makefile.am (AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	* Makefile.in: Regenerate.

opcodes/:
	* Makefile.am (libopcodes_la_LDFLAGS): Initialize early.
	[INSTALL_LIBBFD] (bfdlib_LTLIBRARIES): Set only in this condition.
	[INSTALL_LIBBFD] (bfdinclude_DATA): New.
	[!INSTALL_LIBBFD] (noinst_LTLIBRARIES): New.
	[!INSTALL_LIBBFD] (libopcodes_la_LDFLAGS): Ensure libopcodes.la
	is built shared even if it is not to be installed.
	(install-bfdlibLTLIBRARIES,uninstall-bfdlibLTLIBRARIES)
	(install_libopcodes, uninstall_libopcodes): Remove.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	* Makefile.in: Regenerate.
2009-08-22 19:02:57 +00:00
Ralf Wildenhues
95b4012229 dependency tracking in bfd
bfd/:
	* Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead use
	no-dist and foreign.
	(EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allow
	dependency tracking to work for them.
	(targets.lo, archures.lo, dwarf.lo): Rewrite to
	use automake dependency tracking mechanism.
	(MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove.
	(mkdep section): Remove.
	(BUILT_SOURCES): New, list $(BUILD_HFILES).
	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
2009-08-22 18:14:27 +00:00
Ralf Wildenhues
af542c2e31 Cleanups after the update to Autoconf 2.64, Automake 1.11.
/:
	* README-maintainer-mode: Point directly to upstream locations
	for autoconf, automake, libtool, gettext, instead of copies on
	sources.redhat.com.  Document required versions.
	* configure.ac: Do not substitute datarootdir, htmldir,
	pdfdir, docdir.  Do not process --with-datarootdir,
	--with-htmldir, --with-pdfdir, --with-docdir.
	* configure: Regenerate.

gdb/:
	* CONTRIBUTE: Bump documented Autoconf version.
	* configure.ac: Do not substitute datarootdir, htmldir,
	pdfdir, docdir.  Do not process --with-datarootdir,
	--with-htmldir, --with-pdfdir, --with-docdir.
	* configure: Regenerate.

gdb/doc/:
	* gdbint.texinfo (Releasing GDB): Point to
	README-maintainer-mode file for required autoconf version.
	* configure.ac: Do not substitute datarootdir, htmldir,
	pdfdir, docdir.  Do not process --with-datarootdir,
	--with-htmldir, --with-pdfdir, --with-docdir.
	* configure: Regenerate.

gprof/:
	* Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(install-pdf-recursive, html__strip_dir, install-html)
	(install-html-am, install-html-recursive): Remove.
	* Makefile.in: Regenerate.

opcodes/:
	* Makefile.am (install-pdf, install-html): Remove.
	* Makefile.in: Regenerate.

gas/:
	* Makefile.am (install-pdf, install-pdf-recursive, install-html)
	(install-html-recursive): Remove.
	* Makefile.in: Regenerate.
	* doc/Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(html__strip_dir, install-html, install-html-am): Remove.
	* doc/Makefile.in: Regenerate.

ld/:
	* Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(install-pdf-recursive, html__strip_dir, install-html)
	(install-html-am, install-html-recursive): Remove.
	* Makefile.in: Regenerate.

binutils/:
	* Makefile.am (install-pdf, install-pdf-recursive, install-html)
	(install-html-recursive): Remove.
	* Makefile.in: Regenerate.
	* doc/Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(html__strip_dir, install-html, install-html-am): Remove.
	* doc/Makefile.in: Regenerate.

bfd/:
	* Makefile.am (datarootdir, docdir, htmldor, pdfdir)
	(install-pdf, install-pdf-recursive, install-html)
	(install-html-recursive): Remove.
	* Makefile.in: Regenerate.

bfd/doc/:
	* Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(html__strip_dir, install-html, install-html-am): Remove.
	* Makefile.in: Regenerate.
2009-08-22 17:08:11 +00:00
Ralf Wildenhues
81ecdfbb4d Regenerate tree using Autoconf 2.64 and Automake 1.11.
config/:
	* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.

/:
	* configure: Regenerate.

etc/:
	* configure: Regenerate.

sim/common/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/iq2000/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/d10v/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/igen/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32r/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/frv/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/:
	* avr/config.in: Regenerate.
	* avr/configure: Likewise.
	* configure: Likewise.
	* cris/config.in: Likewise.
	* cris/configure: Likewise.

sim/h8300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mn10300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/ppc/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/erc32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/arm/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m68hc11/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/lm32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/sh64/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/v850/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/cr16/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/moxie/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32c/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mips/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mcore/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/testsuite/d10v-elf/:
	* configure: Regenerate.

sim/testsuite/:
	* configure: Regenerate.

sim/testsuite/frv-elf/:
	* configure: Regenerate.

sim/testsuite/m32r-elf/:
	* configure: Regenerate.

sim/testsuite/mips64el-elf/:
	* configure: Regenerate.

sim/sh/:
	* config.in: Regenerate.
	* configure: Likewise.

gold/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* testsuite/Makefile.in: Likewise.

gprof/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* gconfig.in: Likewise.

opcodes/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gas/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

ld/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gdb/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.
	* gnulib/Makefile.in: Likewise.

gdb/doc/:
	* configure: Regenerate.

gdb/gdbserver/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.

gdb/testsuite/:
	* configure: Regenerate.
	* gdb.hp/configure: Likewise.
	* gdb.hp/gdb.aCC/configure: Likewise.
	* gdb.hp/gdb.base-hp/configure: Likewise.
	* gdb.hp/gdb.compat/configure: Likewise.
	* gdb.hp/gdb.defects/configure: Likewise.
	* gdb.hp/gdb.objdbg/configure: Likewise.
	* gdb.stabs/configure: Likewise.

binutils/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

bfd/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

bfd/doc/:
	* Makefile.in: Regenerate.

readline/:
	* configure: Regenerate.

readline/examples/rlfe/:
	* configure: Regenerate.
2009-08-22 16:56:56 +00:00
Alan Modra
21d3c34110 daily update 2009-08-22 00:00:05 +00:00
Daniel Gutson
cd1dac3d4a 2S09-08-21 Daniel Gutson <dgutson@codesourcery.com>
ld/
        * ld-arm/callweak.d: Opcodes updated.
        * ld-arm/callweak.s: Architecture specified.
        * ld-arm/callweak-2.d: New test case.
        * ld-arm/callweak-2.s: New file.

	bfd/
	* elf32-arm.c (arch_has_thumb2_nop): New function.
	(arch_has_arm_nop): New function.
	(elf32_arm_final_link_relocate): NOP opcodes changed.

SVS: ----------------------------------------------------------------------
2009-08-21 23:38:07 +00:00
Alan Modra
4493bff950 daily update 2009-08-21 00:00:05 +00:00
Alan Modra
c469dcaa81 daily update 2009-08-20 00:00:05 +00:00
Alan Modra
34c75993c7 daily update 2009-08-19 00:00:04 +00:00
Alan Modra
ba88525151 daily update 2009-08-18 00:00:06 +00:00
Alan Modra
97d695b76a daily update 2009-08-17 00:00:08 +00:00
Doug Evans
440ae135a8 * opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
at least don't leak memory.
2009-08-16 17:32:35 +00:00
Alan Modra
53bc88cf92 daily update 2009-08-16 00:00:05 +00:00
Alan Modra
72403e56ea daily update 2009-08-15 00:00:08 +00:00
DJ Delorie
a109e2f558 * elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
if needed.
2009-08-14 03:44:21 +00:00
Alan Modra
4da0d87511 daily update 2009-08-14 00:00:05 +00:00
Alan Modra
0f0c65919e daily update 2009-08-13 00:00:05 +00:00
Nick Clifton
c1742541e6 * po/fi.po: Updated Finnish translation. 2009-08-12 16:13:18 +00:00
Alan Modra
b522411641 daily update 2009-08-12 00:00:09 +00:00
Bernd Schmidt
6a9adeca2c Merge some FRV FDPIC changes into the Blackfin code.
* elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to
	summary reloc information.
	(bfinfdpic_dynamic_got_plt_info): New.
	(_bfin_create_got_section): Create the PLT section here.
	(elf32_bfinfdpic_create_dynamic_sections): Not here.
	(_bfinfdpic_count_nontls_entries): Move out of...
	(_bfinfdpic_count_got_plt_entries): ... here.
	(_bfinfdpic_count_relocs_fixups): Likewise.
	(_bfinfdpic_reset_got_plt_entries): New.
	(_bfinfdpic_size_got_plt): Move out of...
	(elf32_bfinfdpic_size_dynamic_sections): ... here.
	(bfinfdpic_relocate_section): Be careful not to call
	_bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.
	(bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):
	New functions.
	(elf_backend_discard_info): Define for FD-PIC.
2009-08-11 11:41:17 +00:00
Alan Modra
5dabe7859c * elflink.c: Add FIXMEs for some places that require octets_per_byte
adjustments.
	* elf-eh-frame.c: Likewise.
	* merge.c: Likewise.
2009-08-11 02:21:34 +00:00
Alan Modra
ea7a63de40 * configure.in: Remove elf-ifunc.lo from common ELF files. Add
to x86 and x86_64 configurations.
	* configure: Regenerate.
2009-08-11 02:14:17 +00:00
Alan Modra
82af70fcc6 daily update 2009-08-11 00:00:07 +00:00
Jan Kratochvil
9bf609ecf2 bfd/
Stop using bfd_usrdata in libbfd.
	* coff-stgo32.c (bfd_coff_go32stub): Remove.
	(stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE.
	(adjust_filehdr_in_post): Declare the abfd parameter as unused.
	Replace STUBSIZE by GO32_STUBSIZE.  Save now the stub in
	filehdr_dst->u.go32.stub.  New comment with the reason.
	(adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE.
	Substitute the removed macro bfd_coff_go32stub.
	(adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre)
	(adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre)
	(adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE.
	(create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data):
	Replace STUBSIZE by GO32_STUBSIZE.  Substitute the removed macro
	bfd_coff_go32stub.
	* coffcode.h (coff_mkobject_hook): Initialize coff->go32stub.
	* libcoff-in.h (coff_data_type): New field go32stub.
	* libcoff.h: Regenerated.

include/coff/
	Stop using bfd_usrdata in libbfd.
	* go32exe.h (struct external_filehdr_go32_exe <stub>, FILHSZ): Replace
	STUBSIZE by GO32_STUBSIZE.
	(STUBSIZE): Move the definition ...
	* internal.h (GO32_STUBSIZE): ... here and rename it.
	(struct internal_filehdr <go32stub>, F_GO32STUB): New.
2009-08-10 21:56:42 +00:00
Jan Kratochvil
e39e47bd25 bfd/
Fix go32 stub preservation by objcopy.
	* coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.
	(go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD
	go32stub.

ld/testsuite/
	Test go32 stub preservation by objcopy.
	* ld-i386/i386.exp (go32 stub, go32 stub patch the source)
	(go32 stub objcopy, go32 stub comparison after objcopy): New.
2009-08-10 21:38:36 +00:00
Nathan Sidwell
ffcb4889e2 * elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined local
symbols.
	(elf32_arm_final_link_relocate): Treat local undefined symbols the
	same as global undefined symbols.
	(elf32_arm_relocate_section): Give an error for local undefined
	non-weak symbols, unless the reloc will not use the symbol.
2009-08-10 15:56:30 +00:00
Nathan Sidwell
01017ef89a bfd/
* elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.
	(ppc_elf_relax_section): Use symbol index to distinguish
	relocatable stubs.

	ld/testsuite/
	* ld-powerpc/relax.s: New.
	* ld-powerpc/relax.d: New.
	* ld-powerpc/relaxr.d: New.
	* ld-powerpc/powerpc.exp: Add new tests.
2009-08-10 13:38:44 +00:00
Alan Modra
a8ad78a74e * elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections. 2009-08-10 07:24:33 +00:00
Alan Modra
91e21fb75f * elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear plt
info for STT_GNU_IFUNC.
	* elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entry
	on got refs in case the symbol turns out to be ifunc.
	(ppc_elf_gc_sweep_hook): Similarly.
	(ppc_elf_adjust_dynamic_symbol): Adjust assertion.
	(allocate_dynrelocs): Don't specially allocate got relocs for ifunc.
	(ppc_elf_size_dynamic_sections): Likewise.
	(ppc_elf_relocate_section): Likewise.
2009-08-10 06:14:04 +00:00
Alan Modra
b0b76dfd36 daily update 2009-08-10 00:00:06 +00:00
Bernd Schmidt
cb88ce9fd1 bfd/
From Mike Frysinger <michael.frysinger@analog.com>
	* elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,
	bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,
	_bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,
	bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
	bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
	Adjust to match the renamed reloc definitions.

gas/testsuite/
	From Mike Frysinger <michael.frysinger@analog.com>
	* gas/bfin/reloc.d: Adjust for the renamed relocations.

include/elf/
	From Mike Frysinger <michael.frysinger@analog.com>
	* bfin.h (R_BFIN_UNUSED, R_BFIN_PCREL5M2, R_BFIN_UNUSED1,
	R_BFIN_PCREL10, R_BFIN_PCREL12_JUMP, R_BFIN_RIMM16,
	R_BFIN_LUIMM16, R_BFIN_HUIMM16, R_BFIN_PCREL12_JUMP_S,
	R_BFIN_PCREL24_JUMP_X, R_BFIN_PCREL24, R_BFIN_UNUSEDB,
	R_BFIN_UNUSEDC, R_BFIN_PCREL24_JUMP_L, R_BFIN_PCREL24_CALL_X,
	R_BFIN_VAR_EQ_SYMB, R_BFIN_BYTE_DATA, R_BFIN_BYTE2_DATA,
	R_BFIN_BYTE4_DATA, R_BFIN_PCREL11, R_BFIN_PUSH, R_BFIN_CONST,
	R_BFIN_ADD, R_BFIN_SUB, R_BFIN_MULT, R_BFIN_DIV, R_BFIN_MOD,
	R_BFIN_LSHIFT, R_BFIN_RSHIFT, R_BFIN_AND, R_BFIN_OR, R_BFIN_XOR,
	R_BFIN_LAND, R_BFIN_LOR, R_BFIN_LEN, R_BFIN_NEG, R_BFIN_COMP,
	R_BFIN_PAGE, R_BFIN_HWPAGE, R_BFIN_ADDR, R_BFIN_PLTPLC,
	R_BFIN_GOT, R_BFIN_MAX): Renamed from R_unused0, R_pcrel5ms,
	R_unused1, R_pcrel10, R_pcrel12_jump, R_rimm16, R_luimm16,
	R_huimm16, R_pcrel12_jump_s, R_pcrel24_jump_x, R_pcrel24,
	R_unusedb, R_unusedc, R_pcrel24_jump_l, R_pcrel24_call_x,
	R_var_eq_symb, R_byte_data, R_byte2_data, R_byte4_data, R_pcrel11,
	R_push, R_const, R_add, R_sub, R_mult, R_div, R_mod, R_lshift,
	R_rshift, R_and, R_or, R_xor, R_land, R_lor, R_len, R_neg, R_comp,
	R_page, R_hwpage, R_addr, R_pltpc, R_got.
2009-08-09 16:45:05 +00:00
Alan Modra
c21f905443 daily update 2009-08-09 00:00:05 +00:00
Alan Modra
e7e75368a3 PR 10494
* elf.c (_bfd_elf_make_section_from_shdr): When setting up section
	LMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers.
2009-08-08 01:43:28 +00:00
Alan Modra
95a1256c6a daily update 2009-08-08 00:00:06 +00:00
Tom Tromey
918d974241 * elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
aliasing error.
2009-08-07 17:10:43 +00:00
Alan Modra
ac2b810bbb daily update 2009-08-07 00:00:05 +00:00
Nick Clifton
7ba29e2a41 Add support for Xilinx MicroBlaze processor.
* bfd/Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
        * bfd/Makefile.in: Same.
        * bfd/archures.c: Add bfd_arch_microblaze.
        * bfd/bfd-in2.h: Regenerate.
        * bfd/config.bfd: Add microblaze target.
        * bfd/configure: Add bfd_elf32_microblaze_vec target.
        * bfd/configure.in: Same.
        * bfd/cpu-microblaze.c: New.
        * bfd/elf32-microblaze.c: New.
        * bfd/libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
        * bfd/libbfd.h: Regenerate.
        * bfd/reloc.c: Add MICROBLAZE relocations.
        * bfd/section.c: Add struct relax_table and relax_count to section.
        * bfd/targets.c: Add bfd_elf32_microblaze_vec.
        * binutils/MAINTAINERS: Add self as maintainer.
        * binutils/readelf.c: Include elf/microblaze.h, add EM_MICROBLAZE &
        EM_MICROBLAZE_OLD to guess_is_rela(), dump_relocations(),
        get_machine_name().
        * config.sub: Add microblaze target.
        * configure: Same.
        * configure.ac: Same.
        * gas/Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to
        TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add
        DEP_microblaze_elf target.
        * gas/Makefile.in: Same.
        * gas/config/tc-microblaze.c: Add MicroBlaze assembler.
        * gas/config/tc-microblaze.h: Add header for tc-microblaze.c.
        * gas/configure: Add microblaze target.
        * gas/configure.in: Same.
        * gas/configure.tgt: Same.
        * gas/doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS.
        * gas/doc/Makefile.in: Same.
        * gas/doc/all.texi: Set MICROBLAZE.
        * gas/doc/as.texinfo: Add MicroBlaze doc links.
        * gas/doc/c-microblaze.texi: New MicroBlaze docs.
        * include/dis-asm.h: Decl print_insn_microblaze().
        * include/elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
        * include/elf/microblaze.h: New reloc definitions.
        * ld/Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
        ALL_EMULATIONS, targets.
        * ld/Makefile.in: Same.
        * ld/configure.tgt: Add microblaze*-linux*, microblaze* targets.
        * ld/emulparams/elf32mb_linux.sh: New.
        * ld/emulparams/elf32microblaze.sh. New.
        * ld/scripttempl/elfmicroblaze.sc: New.
        * opcodes/Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to
        CFILES, microblaze-dis.lo to ALL_MACHINES, targets.
        * opcodes/Makefile.in: Same.
        * opcodes/configure: Add bfd_microblaze_arch target.
        * opcodes/configure.in: Same.
        * opcodes/disassemble.c: Define ARCH_microblaze, return
        print_insn_microblaze().
        * opcodes/microblaze-dis.c: New MicroBlaze disassembler.
        * opcodes/microblaze-opc.h: New MicroBlaze opcode definitions.
        * opcodes/microblaze-opcm.h: New MicroBlaze opcode types.
2009-08-06 17:38:04 +00:00
Jakub Jelinek
e47bf6909e PR binutils/10492
* elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
	symbols.
	* elf32-mips.c (mips_elf_sym_is_global): Likewise.
	* elfn32-mips.c (mips_elf_sym_is_global): Likewise.
2009-08-06 13:08:24 +00:00
Nathan Sidwell
3ae046ccd3 bfd/
* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
	at least once when fixing cortex-a8.

	ld/testsuite/
	* ld-arm/arm-elf.exp: Add new test.
	* ld-arm/cortex-a8-fix-hdr.d: New.
	* ld-arm/cortex-a8-fix-hdr.s: New.
	* ld-arm/cortex-a8-fix-hdr.t: New.
2009-08-06 13:05:24 +00:00
Alan Modra
3197491598 daily update 2009-08-06 00:00:05 +00:00
Chao-ying Fu
cd8d5a82a2 2009-08-05 Chao-ying Fu <fu@mips.com>
* elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
	* elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
	for CPUs.  It is true for RM9000.
	(JALR_TO_BAL_P): New define to transform JALR to BAL.  It is true
	for all CPUs.
	(mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
	to guard the transformation.
2009-08-05 21:17:51 +00:00
Trevor Smigiel
9cc305ec20 bfd/
* elf32-spu.h (spu_elf_params): Add member emit_fixups.
	(spu_elf_size_sections): Declare prototype.
	* elf32-spu.c (spu_link_hash_table): Add member sfixup.
	(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
	(spu_elf_emit_fixup): New function.
	(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
	(spu_elf_size_sections): New function.
ld/
	* emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
	section and __fixup_start symbol.
	* emultempl/spuelf.em (params): Initialize emit_fixups member.
	(spu_before_allocation): Call spu_elf_size_sections.
	(OPTION_SPU_EMIT_FIXUPS): Define.
	(PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
	(PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
	* ld.texinfo (--emit-fixups): Document.
ld/testsuite/
	* ld-spu/fixup.d: New.
	* ld-spu/fixup.s: New.
2009-08-05 20:40:34 +00:00
Nathan Sidwell
eb7c4339fa bfd/
* elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
	(arm_build_one_stub): Build a8 veneers as a separate pass.
	(cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
	parameters.  Use them to check if we create a different a8 fixup
	than the previous pass.
	(elf32_arm_size_stubs): Move scope of stub_changed and
	prev_num_a8_fixes into main loop.
	(elf32_arm_build_stubs): Build a8 veneers in a second pass.

	ld/testsuite/
	* ld-arm/cortex-a8-far-1.s: New.
	* ld-arm/cortex-a8-far-2.s: New.
	* ld-arm/cortex-a8-far.d: New.
	* ld-arm/arm-elf.exp: Add new test.
2009-08-05 12:36:14 +00:00
Alan Modra
20e80fb5ac daily update 2009-08-05 00:00:11 +00:00
Alan Modra
a9585d22b5 * elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
which find_plt_ent is called.  Delete redundant code.
2009-08-04 08:03:35 +00:00
Alan Modra
6fba7a0ec6 daily update 2009-08-04 00:00:05 +00:00
H.J. Lu
45b222d606 2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10363
	* elf.c (bfd_elf_string_from_elf_section): Return NULL on
	invalid string offset.
2009-08-03 23:56:08 +00:00
H.J. Lu
004fb7809c 2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10433
	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
	to htab->init_got_offset and plt to htab->init_plt_offset
	when discarding space for dynamic relocations.
2009-08-03 15:50:51 +00:00
Alan Modra
a877a2b69d * elf32-ppc.c (struct plt_entry): Revise comments.
(ppc_elf_check_relocs): Don't create needless plt_entry info
	for non-pie executables.  Don't test info->pie when info->shared
	already covers that case.
	(ppc_elf_gc_sweep_hook): Adjust for above change.
	(add_stub_sym): Don't test info->pie when info->shared tested.
	(allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
	(write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
	(ppc_elf_relax_section): Adjust find_plt_ent arguments.
	(ppc_elf_relocate_section): Likewise.
2009-08-03 12:10:46 +00:00
Alan Modra
de972ffadd * elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
for local ifunc symbols in non-pie executables, regardless of
	reloc type.  Don't specially create ifunc dyn relocs.  Tidy ifunc
	code so that it's obvious that we only do anything special for
	local ifunc syms.
	(ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
	(allocate_dynrelocs): Correct comment for syms defined in plt.
	Don't specially allocate ifunc dyn relocs.
	(ppc_elf_relax_section): Relax branches to ifunc plt entries too.
	(ppc_elf_relocate_section): Set "relocation" value for ifunc
	syms in non-pie executables.  No specially allocated dyn relocs
	for ifunc to write.  Allow for local sym on R_PPC_RELAX32_PLT.
	(ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
	a non-pie executable.
2009-08-03 10:23:18 +00:00
Alan Modra
94e562f261 daily update 2009-08-03 00:00:05 +00:00
H.J. Lu
1d85728fd7 2009-08-02 H.J. Lu <hongjiu.lu@intel.com>
Jakub Jelinek  <jakub@redhat.com>

	PR ld/6443
	* elf32-i386.c (elf_i386_tls_transition): Check executable
	instead of shared for TLS when building PIE.
	(elf_i386_check_relocs): Likewise.
	(elf_i386_allocate_dynrelocs): Likewise.
	(elf_i386_relocate_section): Likewise.

	* elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
	instead of shared for TLS when building PIE.
	(elf64_x86_64_check_relocs): Likewise.
	(elf64_x86_64_allocate_dynrelocs): Likewise.
	(elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/6443
	* ld-i386/i386.exp: Run tlspie1.
	* ld-x86-64/x86-64.exp: tlspie1.

	* ld-i386/tlspie1.d: New.
	* ld-i386/tlspie1.s: Likewise.
	* ld-x86-64/tlspie1.d: Likewise.
	* ld-x86-64/tlspie1.s: Likewise.
2009-08-02 23:55:49 +00:00
Alan Modra
4cedc0fb3d daily update 2009-08-02 00:00:04 +00:00
Alan Modra
f96db67cd3 daily update 2009-08-01 00:00:05 +00:00
Anthony Green
5d8d4872fe Add moxie-uclinux support. 2009-07-31 11:25:14 +00:00
Hans-Peter Nilsson
080a1b9fb5 * linker.c (fix_syms): Consider SEC_LOAD when choosing section. 2009-07-31 02:25:56 +00:00
Alan Modra
f00b9c4d31 daily update 2009-07-31 00:00:05 +00:00
Alan Modra
383b05fbab daily update 2009-07-30 00:00:09 +00:00
Alan Modra
25f231068e * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
used by indirect function support.  Count dynamic relocs for
	ifunc syms.
	(ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
	(allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
	in iplt and their relocs in reliplt.  Don't make ifunc syms
	dynamic.  Allocate got entry relocs for non-dynamic ifunc in
	reliplt.  Handle other dynamic relocs for ifunc.
	(ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
	ifunc in reliplt, likewise relocs for got against local ifunc.
	Typo fix on reliplt size adjust.
	(ppc_elf_relocate_section): Don't use plt scheme of allocating
	relocs 1-1 with entries for iplt, instead just add using
	reloc_count.  Write got relocs and dyn relocs for ifunc to reliplt.
	Error on invalid ifunc dyn relocs.
	(ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
	in iplt/reliplt.
	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
	R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
	(ppc64_elf_reloc_type_lookup): Handle new relocs.
	(ppc64_elf_check_relocs): Likewise.  Count dyn relocs for ifunc.
	(allocate_dynrelocs): As for elf32-ppc.c above.
	(ppc64_elf_size_dynamic_sections): Likewise.
	(ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
	and their relocs in reliplt.  Use R_PPC64_JMP_IREL.
	(ppc_size_one_stub): Similarly.
	(ppc64_elf_relocate_section): As for elf32-ppc.c above.  Handle new
	relocs too.
	(ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
2009-07-29 14:56:38 +00:00
Alan Modra
d1f17c3309 daily update 2009-07-29 00:00:05 +00:00
Hans-Peter Nilsson
80f540b775 * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27
change.  Add note to head comment.
2009-07-28 23:45:22 +00:00
Jan Beulich
4ad4f3cb14 bfd/
2009-07-28  Jan Beulich  <jbeulich@novell.com>

	* archive.c (get_extended_arelt_filename): Remove redundant
	range check on index.
2009-07-28 06:22:01 +00:00
Alan Modra
9d5cc3e1de daily update 2009-07-28 00:00:04 +00:00
Doug Kwan
d8d2f43311 2009-07-27 Doug Kwan <dougkwan@google.com>
* elf32-arm.c (stub_hash_newfunc): Initialize field output_name.
2009-07-27 23:04:05 +00:00
H.J. Lu
9e675548b8 2009-07-27 H.J. Lu <hongjiu.lu@intel.com>
* archures.c bfd_*_arch): Sorted.
	(bfd_archures_list): Likewise.
2009-07-27 14:06:34 +00:00
M R Swami Reddy
86514226a5 2009-07-26 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
* elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle
       to R_cr16_NUM32 relocation.
2009-07-27 06:52:33 +00:00
Michael Snyder
305f7588d6 2009-07-26 Michael Eager <eager@eagercon.com>
* archures.c: Add bfd_mach_ppc_405
	* bfd-in2.h: Same.
2009-07-27 02:32:49 +00:00
Alan Modra
0297bb899f daily update 2009-07-27 00:00:05 +00:00
Alan Modra
bf48150520 daily update 2009-07-26 00:00:05 +00:00
H.J. Lu
b1995b0179 2009-07-25 H.J. Lu <hongjiu.lu@intel.com>
* cpu-i386.c (bfd_x86_64_arch): Fix comment typos.
	* cpu-l1om.c (bfd_l1om_arch): Likewise.
2009-07-25 15:50:20 +00:00
H.J. Lu
8a9036a406 bfd/
2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* archures.c (bfd_architecture): Add bfd_arch_l1om.
	(bfd_l1om_arch): New.
	(bfd_archures_list): Add &bfd_l1om_arch.
	* bfd-in2.h: Regenerated.

	* config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if
	bfd_elf64_x86_64_vec is supported.  Add bfd_elf64_l1om_freebsd_vec
	if bfd_elf64_x86_64_freebsd_vec is supported.
	(targ_selvecs): Likewise.

	* configure.in: Support bfd_elf64_l1om_vec and
	bfd_elf64_l1om_freebsd_vec.
	* configure: Regenerated.

	* cpu-l1om.c: New.

	* elf64-x86-64.c (elf64_l1om_elf_object_p): New.
	(bfd_elf64_l1om_vec): Likewise.
	(bfd_elf64_l1om_freebsd_vec): Likewise.

	* Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.
	(ALL_MACHINES_CFILES): Add cpu-l1om.c.
	* Makefile.in: Regenerated.

	* targets.c (bfd_elf64_l1om_vec): New.
	(bfd_elf64_l1om_freebsd_vec): Likewise.
	(_bfd_target_vector): Add bfd_elf64_l1om_vec and
	bfd_elf64_l1om_freebsd_vec.

binutils/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (guess_is_rela): Handle EM_L1OM.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(get_section_type_name): Likewise.
	(get_elf_section_flags): Likewise.
	(get_symbol_index_type): Likewise.
	(is_32bit_abs_reloc): Likewise.
	(is_32bit_pcrel_reloc): Likewise.
	(is_64bit_abs_reloc): Likewise.
	(is_64bit_pcrel_reloc): Likewise.
	(is_none_reloc): Likewise.

gas/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add l1om.
	(check_cpu_arch_compatible): New.
	(set_cpu_arch): Use it.
	(i386_arch): New.
	(i386_mach): Return bfd_mach_l1om for Intel L1OM.
	(md_show_usage): Display l1om.
	(i386_target_format): Return ELF_TARGET_L1OM_FORMAT if
	cpu_arch_isa_flags.bitfield.cpul1om is set.

	* config/tc-i386.h (TARGET_ARCH): Use (i386_arch ()).
	(i386_arch): New.
	(ELF_TARGET_L1OM_FORMAT): Likewise.

	* doc/c-i386.texi: Document l1om.

gas/testsuite/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/l1om.d: New.
	* gas/i386/l1om-inval.l: Likewise.
	* gas/i386/l1om-inval.s: Likewise.

	* gas/i386/i386.exp: Run l1om-inval and l1om.

include/elf/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* common.h (EM_L1OM): New.

ld/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
	is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
	(targ_extra_emuls): Likewise.

	* Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
	eelf_l1om_fbsd.o
	(eelf_l1om.c): New.
	(eelf_l1om_fbsd.c): Likewise.
	* Makefile.in: Regenerated.

	* emulparams/elf_l1om.sh: New.
	* emulparams/elf_l1om_fbsd.sh: Likewise.

ld/testsuite/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/abs-l1om.d: New.
	* ld-x86-64/protected2-l1om.d: Likewise.
	* ld-x86-64/protected3-l1om.d: Likewise.

	* ld-x86-64/x86-64.exp: Run abs-l1om, protected2-l1om and
	protected3-l1om.

opcodes/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Handle bfd_l1om_arch.
	* disassemble.c (disassembler): Likewise.

	* configure: Regenerated.

	* i386-dis.c (print_insn): Handle bfd_mach_l1om and
	bfd_mach_l1om_intel_syntax.  Use 8 bytes per line for Intel L1OM.

	* i386-gen.c (cpu_flag_init): Set CPU_UNKNOWN_FLAGS to ~CpuL1OM.
	Add CPU_L1OM_FLAGS.
	(cpu_flags): Add CpuL1OM.
	(set_bitfield): Take an argument to set the value field.
	(process_i386_cpu_flag): Support ~CpuXXX and ~(CpuXXX|CpuYYY).
	(process_i386_opcode_modifier): Updated.
	(process_i386_operand_type): Likewise.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.

	* i386-opc.h (CpuL1OM): New.
	(CpuXsave): Updated.
	(i386_cpu_flags): Add cpul1om.
2009-07-25 14:58:58 +00:00
Alan Modra
b9a850fe64 daily update 2009-07-25 00:00:09 +00:00
Trevor Smigiel
8fdcc58daa include/elf/
* spu.h (R_SPU_ADD_PIC): New.
bfd/
        * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.
        (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.
        (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.
gas/
        * config/tc-spu.c (md_apply_fix): Handle SPU_ADD_PIC.
        * config/tc-spu.h (tc_fix_adjustable): Don't adjust for SPU_ADD_PIC.
        (TC_FORCE_RELOCATION): Emit relocs for SPU_ADD_PIC.
ld/testsuite/
        * ld-spu/pic.d: New.
        * ld-spu/pic.s: New.
        * ld-spu/picdef.s: New.
2009-07-24 19:51:27 +00:00
Alan Modra
ecefb662c2 daily update 2009-07-24 00:00:08 +00:00
H.J. Lu
9b769489c6 bfd/
2009-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10434
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
	instead of shared for R_X86_64_TPOFF32.
	(elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10434
	* ld-x86-64/tlsle1.d: New.
	* ld-x86-64/tlsle1.s: Likewise.

	* ld-x86-64/x86-64.exp: Run tlsle1.
2009-07-23 21:22:20 +00:00
Nick Clifton
3e7a7d11f1 * config/obj-elf.c (obj_elf_type): Add code to support a type of
gnu_unique_object.
        * doc/as.texinfo: Document new feature of .type directive.
        * NEWS: Mention support for gnu_unique_object symbol type.

        * common.h (STB_GNU_UNIQUE): Define.

        * NEWS: Mention the linker's support for symbols with a binding of
        STB_GNU_UNIQUE.

        * gas/elf/type.s: Add unique global symbol definition.
        * gas/elf/type.e: Add expected readelf output for global unique
        symbol.

        * elfcpp.h (enum STB): Add STB_GNU_UNIQUE.

        * readelf.c (get_symbol_binding): For Linux targeted files return
        UNIQUE for symbols with the STB_GNU_UNIQUE binding.
        * doc/binutils.texi: Document the meaning of the 'u' symbol
        binding in the output of nm and objdump --syms.

        * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
        * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols
        with the BSF_GNU_UNIQUE flag bit set.
        * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag
        for symbols with STB_GNU_UNIQUE binding.
        * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols
        with the STB_GNU_UNIQUE binding.
        (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for
        symbols with STB_GNU_UNIQUE binding.  Set STB_GNU_UNIQUE for
        symbols with the unique_global field set.
        (elf_link_output_extsym): Set unique_global field for symbols with
        the STB_GNU_UNIQUE binding.
        * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit.
        (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE
        symbols.
        (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE
        symbols.
        * bfd-in2.h: Regenerate.
2009-07-23 13:00:30 +00:00
Alan Modra
dbd964eb7c daily update 2009-07-23 00:00:05 +00:00
H.J. Lu
5f35ea9c04 2009-07-22 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_link_output_extsym): Revert the last change.
2009-07-22 23:55:54 +00:00
H.J. Lu
b63cc625a1 2009-07-22 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10433
	 * elflink.c (elf_link_output_extsym): Special case ifunc syms
	 when ref_regular, not def_regular.
2009-07-22 21:30:30 +00:00
Alan Modra
fd685944ea daily update 2009-07-22 00:00:04 +00:00
H.J. Lu
2955ec4c12 bfd/
2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	 PR ld/10426
	 * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
	 from a DSO into a normal FUNC symbol.
	 (elf_link_output_extsym): Turn an undefined IFUNC symbol into
	 a normal FUNC symbol.

ld/testsuite/

2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10426
	* ld-ifunc/ifunc.exp: Check test-1 and libtest-2.so.  Updated.

	* ld-ifunc/test-1.c: New.
	* ld-ifunc/test-2.c: Likewise.
2009-07-21 21:37:26 +00:00
Alan Modra
6a0d81b26f daily update 2009-07-21 00:00:08 +00:00
Alan Modra
0f25197a35 daily update 2009-07-20 00:00:07 +00:00
Alan Modra
651f5b5ba3 daily update 2009-07-19 00:00:04 +00:00
Alan Modra
b7a8a98932 daily update 2009-07-18 00:00:05 +00:00
Nick Clifton
6d30f5b2dc * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
(_bfd_mips_elf_size_dynamic_sections): For CPUs without load
        interlocking, the last PLT entry needs a nop in the branch delay slot.
        (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
        output the last two PLT entries in reverse order.

        * ld-mips-elf/pic-and-nonpic-3b.dd,
        ld-mips-elf/pic-and-nonpic-5b.dd,
        ld-mips-elf/pic-and-nonpic-6-o32.dd: Updated to use new PLT entries.
2009-07-17 09:46:00 +00:00
Alan Modra
98472ae205 daily update 2009-07-17 00:00:05 +00:00
H.J. Lu
1f85278f17 bfd/
2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_relocate_section): Don't get local
	STT_GNU_IFUNC symbol for relocatable link.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-ifunc/ifunc-5r-local-i386.d: New.
	* ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
2009-07-16 14:23:12 +00:00
Alan Modra
9fd2ab21d7 daily update 2009-07-16 00:00:05 +00:00
Alan Modra
d30cf375e1 daily update 2009-07-15 00:00:05 +00:00
Alan Modra
650b89be7e daily update 2009-07-14 00:00:05 +00:00
Alan Modra
d990c8ab76 daily update 2009-07-13 00:00:05 +00:00
Alan Modra
5a12aa1e46 daily update 2009-07-12 00:00:05 +00:00
Alan Modra
43dd447d91 daily update 2009-07-11 00:00:05 +00:00
H.J. Lu
f07749bbae 2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
* bfdio.c (bfd_iovec): Add comments for bmmap.
	* bfd-in2.h: Regenerated.
2009-07-10 18:38:27 +00:00
H.J. Lu
8455dd2cf7 bfd/
2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

binutils/

2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

gas/

2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.
2009-07-10 18:27:01 +00:00
Doug Kwan
cedfb17907 2009-07-10 Doug Kwan <dougkwan@google.com>
* elf32-arm.c (stub_hash_newfunc): Initialize fields
	target_addend and orig_insn.
2009-07-10 16:56:15 +00:00
Tom Tromey
fa8f86ff3b bfd
* Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h.
	(elf-eh-frame.lo): Likewise.
	(elf32-bfin.lo): Likewise.
	(elf32-frv.lo): Likewise.
	(elf32-xc16x.lo): Likewise.
	* Makefile.in: Rebuild.
	* dwarf2.c: Included dwarf.h, not elf/dwarf2.h.
	* elf-eh-frame.c: Likewise.
	* elf32-bfin.c: Likewise.
	* elf32-frv.c: Likewise.
	* elf32-xc16x.c: Likewise.
binutils
	* Makefile.am (dwarf.o): Refer to dwarf2.h, not elf/dwarf2.h.
	* Makefile.in: Rebuild.
	* dwarf.c: Include dwarf2.h, not elf/dwarf2.h.
gas
	* Makefile.am (DEPTC_alpha_ecoff): Refer to dwarf2.h, not
	elf/dwarf2.h.
	(DEPTC_alpha_elf): Likewise.
	(DEPTC_alpha_evax): Likewise.
	(DEPTC_arm_elf): Likewise.
	(DEPTC_hppa_elf): Likewise.
	(DEPTC_i386_aout): Likewise.
	(DEPTC_i386_coff): Likewise.
	(DEPTC_i386_elf): Likewise.
	(DEPTC_m68k_aout): Likewise.
	(DEPTC_m68k_coff): Likewise.
	(DEPTC_m68k_elf): Likewise.
	(DEPTC_mips_coff): Likewise.
	(DEPTC_mips_ecoff): Likewise.
	(DEPTC_mips_elf): Likewise.
	(DEPTC_ppc_coff): Likewise.
	(DEPTC_ppc_elf): Likewise.
	(DEPTC_s390_elf): Likewise.
	(DEPTC_sh_coff): Likewise.
	(DEPTC_sh_elf): Likewise.
	(DEPTC_sh64_elf): Likewise.
	(DEPTC_sparc_aout): Likewise.
	(DEPTC_sparc_coff): Likewise.
	(DEPTC_sparc_elf): Likewise.
	(as.o): Likewise.
	(dwarf2dbg.o): Likewise.
	(dw2gencfi.o): Likewise.
	(ehopt.o): Likewise.
	(read.o): Likewise.
	* Makefile.in: Rebuild.
	* dw2gencfi.h: Include dwarf2.h, not elf/dwarf2.h.
	* dwarf2dbg.c: Likewise.
	* ehopt.c: Likewise.
gdb
	* dwarf2-frame.c: Include dwarf2.h, not elf/dwarf2.h.
	* dwarf2expr.c: Likewise.
	* dwarf2loc.c: Likewise.
	* dwarf2read.c: Likewise.
	* sh-tdep.c: Likewise.
	* xtensa-tdep.c: Likewise.
include
	* dwarf2.h: New file, moved from elf/.
include/elf

	* dwarf2.h: Move to `..'.
2009-07-10 15:27:04 +00:00
Julian Brown
33c6a8fcd6 * elf32-arm.c (arm_build_one_stub): Use the hash entry of the
symbol a stub entry is derived from, not the entry for the stub
	itself, in call to elf32_arm_final_link_relocate.
2009-07-10 14:57:00 +00:00
H.J. Lu
1d77084592 bfd/
2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros
	when reporting  addends.


ld/testsuite/

2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-ifunc/ifunc-1-local-x86.d: Updated.
	* ld-ifunc/ifunc-1-x86.d: Likewise.Likewise.
	* ld-ifunc/ifunc-2-local-x86-64.d: Likewise.Likewise.
	* ld-ifunc/ifunc-2-x86-64.d: Likewise.
	* ld-ifunc/ifunc-3a-x86.d: Likewise.Likewise.
2009-07-10 14:03:03 +00:00
Alan Modra
52cfded73c * elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager
data even when no stubs.
	(spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust.
2009-07-10 14:00:38 +00:00
Alan Modra
e054468f6c STT_GNU_IFUNC support for PowerPC. 2009-07-10 12:19:58 +00:00
Alan Modra
041de40dc8 * elf.c (_bfd_elf_get_synthetic_symtab): Report addends. 2009-07-10 10:33:19 +00:00
Alan Modra
7ae26bc141 * elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular
and ref_regular_nonweak comment.
	* elflink.c (elf_link_output_extsym): Special case ifunc syms
	when def_regular, not ref_regular.
	(elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,..
	* elf32-i386.c (elf_i386_check_relocs): ..set it here instead..
	* elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.
2009-07-10 10:04:20 +00:00
Alan Modra
af7b385cb9 daily update 2009-07-10 00:00:05 +00:00
Alan Modra
9c4d0c1fb8 * elf32-spu.c (mark_functions_via_relocs): Init broken_cycle field
of malloc'd struct call_info.
	(pasted_function): Likewise, priority too.
2009-07-09 10:58:06 +00:00
Alan Modra
d66883802f daily update 2009-07-09 00:00:04 +00:00
Alan Modra
1a17320ea5 daily update 2009-07-08 00:00:05 +00:00
Alan Modra
2fc6d3b012 * elf32-spu.c (spu_elf_auto_overlay): Take into account section
alignment when packing sections into overlays.
2009-07-07 03:26:47 +00:00
Alan Modra
361961f088 daily update 2009-07-07 00:00:05 +00:00
Alan Modra
5dd92e9018 daily update 2009-07-06 00:00:04 +00:00
Alan Modra
7438392e6b daily update 2009-07-05 00:00:05 +00:00
Alan Modra
6493db6f9e daily update 2009-07-04 00:00:09 +00:00
Dave Korn
9e1f7c0e44 2009-07-03 Cary Coutant <ccoutant@google.com>
* dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator.
2009-07-03 17:02:43 +00:00
Dave Korn
4a7688702f 2009-07-03 Dave Korn <dave.korn.cygwin@gmail.com>
* coffcode.h (sec_to_styp_flags):  Partially revert (functional
	changes only) earlier patch:-

  2009-06-25  Kai Tietz  <kai.tietz@onevision.com>

	  * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
	  give .debug and .reloc data characteristics.
	  (DOT_RELOC): New define for .reloc section string.
	  (coff_write_object_contents): Use DOT_RELOC instead of string.
2009-07-03 16:07:38 +00:00
Alan Modra
d7edf97466 daily update 2009-07-03 00:00:09 +00:00
Tom Tromey
848f574829 * aoutx.h (aout_get_external_symbols): Declare 'amt' locally.
* bfdwin.c (bfd_free_window): Cast to unsigned long.
2009-07-02 17:08:51 +00:00
Alan Modra
c929d53a4b daily update 2009-07-02 00:00:05 +00:00
H.J. Lu
dda46a2716 Update ChangeLog entries. 2009-07-01 21:29:23 +00:00
Nick Clifton
efde2f2ce4 * bfd/bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.
        * bfd/configure.in: Use them.
        * bfd/configure: Regenerate.
        * bfd/config.in: Regnerate.
        * bfd/vmsutil.c: Include sysdep.h, remove ansidecl.h.
        #define _BSD_SOURCE. Add comments.
        (vms_file_stats_name): Calculate creation date based on available
        runtime data. Return 1 for version instead of 0.
2009-07-01 15:02:28 +00:00
Nick Clifton
e1ec24c6f3 PR 10072
* elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle
        to R_ARM_THM_PC8 relocation.
2009-07-01 14:48:26 +00:00
Alan Modra
c2786637bc daily update 2009-07-01 00:00:04 +00:00
Alan Modra
96ded7385d daily update 2009-06-30 00:00:05 +00:00
Nick Clifton
2709f5702f * elf-m10300.c (mn10300_elf_relax_section): Allow for the
different uses of the relocations addend when a symbol is in a
        merged section.
2009-06-29 11:55:13 +00:00
Alan Modra
a590713d04 daily update 2009-06-29 00:00:04 +00:00
Alan Modra
8655045c3d daily update 2009-06-28 00:00:08 +00:00
H.J. Lu
83b89087cf bfd/
2009-06-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10337
	* elf.c (bfd_section_from_shdr): Don't change sh_link for
	SHT_REL/SHT_RELA sections on executable nor shared library.
	Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF
	as a normal section.

ld/testsuite/

2009-06-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10337
	* ld-ifunc/binutils.exp: New.
2009-06-27 16:07:10 +00:00
Alan Modra
2df5f8bde1 daily update 2009-06-27 00:00:05 +00:00
Alan Modra
66c4246d5c daily update 2009-06-26 00:00:05 +00:00
Nick Clifton
be7035c6b8 * elf-m10300.c (mn10300_elf_relax_section): Handle non-section
symbols with SEC_MERGE flag.
2009-06-25 15:36:45 +00:00
Kai Tietz
bdeb4032ea 2009-06-25 Kai Tietz <kai.tietz@onevision.com>
* coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
        give .debug and .reloc data characteristics.
        (DOT_RELOC): New define for .reloc section string.
        (coff_write_object_contents): Use DOT_RELOC instead of string.
2009-06-25 13:39:27 +00:00
Tristan Gingold
b32e07d7d7 2009-06-25 Tristan Gingold <gingold@adacore.com>
* mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)
	(bfd_mach_o_canonicalize_dynamic_symtab)
	(bfd_mach_o_get_synthetic_symtab): Defines.
	(TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.
	(TARGET_NAME): Use Mach-O specific functions for dynamic.

	* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes
	for scattered relocations.
	(bfd_mach_o_i386_print_thread): New function.
	(bfd_mach_o_print_thread): Define.

	* mach-o.c (text_section_names_xlat): Add an entry for __const.
	(bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
	New functions extracted from ...
	(bfd_mach_o_canonicalize_reloc): ... This.  Simplified.
	(bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
	(bfd_mach_o_canonicalize_dynamic_reloc): New function.
	(bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.
	(bfd_mach_o_ppc_flavour_string): Reindentation.  Add 64 bits cases.
	(bfd_mach_o_scan_read_dylinker): Do not create a section anymore.
	Set name_str field.
	(bfd_mach_o_scan_read_dylib): Ditto.
	(bfd_mach_o_scan_read_thread): Set mdata at declaration.  Add comments,
	reindent.
	(bfd_mach_o_scan_read_dysymtab): Set mdata at declaration.  Correctly
	decode isym and flags on little endian targets.  Set dysymtab field.
	(bfd_mach_o_scan_start_address): Adjust for enum names.
	(bfd_mach_o_lookup_section): Do not look for segments anymore.
	(bfd_mach_o_print_section): Display bfd section name.
	(bfd_mach_o_print_segment): Display none if no name.
	(bfd_mach_o_print_dysymtab): Display next index for local, external
	and undefined symbols.
	(bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.
	Display dylinker name. Display thread and unixthread commands content.
	(bfd_mach_o_print_thread): New macro.

	* mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.
	(bfd_mach_o_ppc_thread_flavour): Ditto.
	(bfd_mach_o_i386_thread_flavour): Ditto.
	(BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.
	(BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces
	BFD_MACH_O_THREAD_STATE_NONE.
	(bfd_mach_o_segment_command): Remove segment field.
	(bfd_mach_o_thread_flavour): Field offset is now unsigned long.
	(bfd_mach_o_dylinker_command): Remove section field, add name_str.
	(bfd_mach_o_prebound_dylib_command): Ditto.
	(bfd_mach_o_dylib_command): Ditto.
	(bfd_mach_o_prebound_dylib_command): Remove section field.
	(mach_o_data_struct): Add dysymtab field.
	(bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.
	(bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)
	(bfd_mach_o_build_commands): Remove parameter names and attributes.
	(bfd_mach_o_get_dynamic_reloc_upper_bound)
	(bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.
2009-06-25 12:39:06 +00:00
Dave Korn
c41ba836f2 2009-06-25 Rafael Avila de Espindola <espindola@google.com>
* plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type
	field of struct dirent.
2009-06-25 12:32:10 +00:00
Alan Modra
15f0844bac daily update 2009-06-25 00:00:05 +00:00
Alan Modra
a71d586486 daily update 2009-06-24 00:00:05 +00:00
Tristan Gingold
3188b0706d And the ChangeLog entry:
2009-06-23  Tristan Gingold  <gingold@adacore.com>

	* vms.c (vms_get_synthetic_symtab): Remove duplicate definition
	of this macro.  Fix indentation.
2009-06-23 15:34:17 +00:00
Tristan Gingold
999fa59e92 Fix a nit.
2009-06-23  Tristan Gingold  <gingold@adacore.com>

	* vms.c (vms_get_synthetic_symtab): Remove duplicate definition
	of this macro.  Fix indentation.
2009-06-23 13:48:38 +00:00
Alan Modra
8bd3e936da daily update 2009-06-23 00:00:05 +00:00
Christophe Lyon
022f83127a 2009-06-22 Christophe Lyon <christophe.lyon@st.com>
bfd/
	* elf32-arm.c (elf32_arm_size_stubs): Use PLT address as
	destination for defined dynamic symbols when deciding whether to
	insert a stub or not.
	(allocate_dynrelocs): Make sure functions are not marked as Thumb
	when actually accessed through a PLT, even when generating a
	shared lib.

	ld/testsuite:
	* ld-arm/farcall-mixed-app.s: Add new references to check more
	modes switching.
	* ld-arm/farcall-mixed-lib1.s: Likewise.
	* ld-arm/farcall-mixed-app-v5.d: Update expected result.
	* farcall-mixed-app.d: Likewise.
	* ld-arm/farcall-mixed-lib.d: Likewise.
2009-06-22 10:55:33 +00:00
Tristan Gingold
d297e80737 2009-06-22 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to
	the relocs array.
2009-06-22 08:14:52 +00:00
Alan Modra
ceaf50a2f9 include/elf/
* ppc.h (R_PPC_RELAX*): Define as enum.
bfd/
	* elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch.
	* elf32-v850.c (v850_elf_relocate_section): Warning fix.
2009-06-22 00:52:20 +00:00
Alan Modra
983bddc852 * elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning. 2009-06-22 00:00:32 +00:00
Alan Modra
0e25c6124f daily update 2009-06-22 00:00:04 +00:00
Alan Modra
cb82b663f0 daily update 2009-06-21 00:00:05 +00:00
H.J. Lu
f87031947e 2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_link_add_object_symbols): Avoid warning
	from -Wjump-misses-init in gcc 4.5.0.
2009-06-20 13:13:11 +00:00
H.J. Lu
09a24cbf39 2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_check_relocs): Properly check local
	symbol on error.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
2009-06-20 00:43:21 +00:00