Alan Modra
600b868636
PR ld/10518
...
correct changelog pr number (was 10515)
2009-08-27 13:56:55 +00:00
Ralf Wildenhues
573e8a1cd2
Do not create $(bfdlibdir) and $(bfdincludedir) if !INSTALL_LIBBFD.
...
opcodes/:
* Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
[INSTALL_LIBBFD]: ... here, ...
[INSTALL_LIBBFD]: ... and empty overrides here.
[!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
[!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
* Makefile.in: Regenerate.
* configure: Regenerate.
bfd/:
* acinclude.m4 (AM_INSTALL_LIBBFD): Call AM_SUBST_NOTMAKE for
bfdlibdir and bfdincludedir.
* Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
[INSTALL_LIBBFD]: ... here, ...
[INSTALL_LIBBFD]: ... and empty overrides here.
[!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
[!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
* Makefile.in: Regenerate.
* configure: Regenerate.
bfd/doc/:
* Makefile.in: Regenerate.
2009-08-27 05:24:43 +00:00
Nick Clifton
325e58c76a
* elf32-m68k.c: Rewrite initialization of GOT entries for TLS
...
relocations. Rewrite output of dynamic TLS relocations.
(DTP_OFFSET, TP_OFFSET): New constants.
(dtpoff_base): Update.
(tpoff): Rename to tpoff_base, update.
(elf_m68k_init_got_entry_static, elf_m68k_init_got_entry_local_shared):
New functions. Move code from elf_m68k_relocate_section here.
(elf_m68k_relocate_section): Update.
(elf_m68k_finish_dynamic_symbol): Fix handling of local TLS symbols.
2009-08-26 13:42:27 +00:00
Nick Clifton
e5f2b1de7c
* elf32-m68k.c (elf_m68k_copy_indirect_symbol): Propagate non_got_ref
...
value.
(elf_m68k_check_relocs): Handle dynamic TLS relocations.
Handle non_got_ref field.
(elf_m68k_adjust_dynamic_symbol): Handle non_got_ref field.
* tls-def-1.s, tls-def-1.d, tls-gd-1.d2, tls-gd-1.d3, tls-main-1.s,
* tls-main-1.d: New files.
* m68k.exp: Run new TLS tests.
2009-08-26 13:35:37 +00:00
Alan Modra
0666b2c367
PR ld/10515
...
* linker.c (bfd_find_version_for_sym): Revert warning.
2009-08-26 04:33:42 +00:00
Alan Modra
78a0329753
PR ld/10515
...
* linker.c (bfd_find_version_for_sym): Override a "*" match by any
other wildcard match. Warn on multiple wildcard matches.
2009-08-26 01:21:56 +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
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
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
DJ Delorie
a109e2f558
* elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
...
if needed.
2009-08-14 03:44:21 +00:00
Nick Clifton
c1742541e6
* po/fi.po: Updated Finnish translation.
2009-08-12 16:13:18 +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
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
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
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
Tom Tromey
918d974241
* elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
...
aliasing error.
2009-08-07 17:10:43 +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
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
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
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
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
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
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
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
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
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
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