Alan Modra
5d42dfb5b9
include/coff/
...
* ti.h (SWAP_OUT_RELOC_EXTRA): Define.
bfd/
* coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
* coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
2013-02-04 05:25:41 +00:00
Alan Modra
c57da1a761
* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
...
clears def_regular.
2013-02-01 11:06:37 +00:00
Tristan Gingold
c0fd7846dc
2013-01-31 Tristan Gingold <gingold@adacore.com>
...
* mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
earlier. Fix status checking of bfd_mach_o_scan_start_address.
(bfd_mach_o_scan_start_address): Handle LC_MAIN.
2013-01-31 09:55:41 +00:00
Alan Modra
b45b6908c1
PR ld/15056
...
* elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
references to __tls_get_addr.
* elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct
vtinherit and vtentry reloc handling too.
* elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
2013-01-31 07:32:45 +00:00
Alan Modra
bcaa2f8235
bfd/
...
* elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
ld/testsuite/
* ld-powerpc/tlsexe.d: Update for changed stub names.
* ld-powerpc/tlsexe.r: Likewise.
* ld-powerpc/tlsexetoc.d: Likewise.
* ld-powerpc/tlsexetoc.r: Likewise.
* ld-powerpc/tlsso.d: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlstocso.d: Likewise.
* ld-powerpc/tlstocso.r: Likewise.
2013-01-31 06:28:48 +00:00
Alan Modra
22aa0c7ed3
* elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
2013-01-30 22:31:31 +00:00
Alan Modra
bc30df1657
* elf64-ppc.c: Use %T to print symbols names and remove redundant
...
"relocation" in error messages throughout file.
(ppc64_elf_relocate_section): Remove sibling call error message,
replace with "call lacks nop". Specially report errors for
branches to function entry points via OPD lookup and branches
to stubs. Remove NULL symbol handling now done by %T.
2013-01-28 12:30:17 +00:00
Alan Modra
89d7b8aa6b
* archive.c (bfd_generic_archive_p): Return target and keep
...
ardata on partial matches.
* format.c (bfd_check_format_matches): Adjust for above
change. Remove bfd_error_file_ambiguously_recognized dead
code.
2013-01-28 07:58:16 +00:00
Alan Modra
c9ba0c87bf
* bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
...
bfd_preserve_finish): Move to..
* format.c: ..here, splitting out..
(bfd_reinit): ..this. New function.
(bfd_check_format_matches): Use bfd_preserve_save/restore to
keep bfd state for a match.
* elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
* elfcore.h (elf_core_file_p): Likewise.
* mach-o.c (bfd_mach_o_header_p): Likewise.
* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
* xsym.c (bfd_sym_object_p): Likewise.
* mmo.c (mmo_scan): Clear abfd->symcount.
* opncls.c (_bfd_new_bfd): Use a smaller section hash table.
* section.c (bfd_section_list_clear): Clear section_htab.count.
* bfd-in2.h: Regenerate.
2013-01-26 02:08:01 +00:00
Nick Clifton
d79dcc73ac
* elf32-h8300.c (elf32_h8_relax_section): When checking for a
...
second reloc, make sure that the reloc potentially exists first.
2013-01-25 14:22:10 +00:00
Nick Clifton
78c8d46ca4
Add support for V850E3V5 architecture
2013-01-24 11:14:05 +00:00
Nick Clifton
1a18f0aeb1
* elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
2013-01-23 12:41:32 +00:00
Alan Modra
f65a9e5395
* config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
2013-01-23 10:29:42 +00:00
H.J. Lu
3bea1fcb8b
Resolve size relocation against non-zero TLS symbol
...
bfd/
* elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
non-zero TLS symbol.
(elf_i386_relocate_section): Resolve size relocation against
non-zero TLS symbol.
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
for non-zero TLS symbol.
(elf_x86_64_relocate_section): Resolve size relocation against
non-zero TLS symbol.
ld/testsuite/
* ld-size/size-10.rd: Updated.
* ld-size/size-8.rd: Likewise.
* ld-size/size32-2-i386.d: Likewise.
* ld-size/size32-2-x32.d: Likewise.
* ld-size/size32-2-x86-64.d: Likewise.
* ld-size/size64-2-x32.d: Likewise.
* ld-size/size64-2-x86-64.d: Likewise.
2013-01-18 22:50:30 +00:00
Mike Frysinger
b1b00fcc61
ld: change --enable-new-dtags to only generate new dtags
...
The "new" dtags options have been around for 14+ years, so there
shouldn't be a need to generate both new & old tags anymore.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-01-18 17:43:58 +00:00
H.J. Lu
06a6a421f2
Count size relocation as PC-relative relocation
...
bfd/
* elf32-i386.c (elf_i386_check_relocs): Count size relocation as
PC-relative relocation.
* elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
as PC-relative relocation.
ld/testsuite/
* ld-size/size32-3-i386.d: New file.
* ld-size/size32-3-x32.d: Likewise.
* ld-size/size32-3-x86-64.d: Likewise.
* ld-size/size32-3.s: Likewise.
2013-01-17 23:36:10 +00:00
H.J. Lu
6a3e1baeae
Update x86 size relocation check
...
* elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
check.
(elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
* elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
and R_X86_64_SIZE64 check.
(elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
nor R_X86_64_SIZE64.
2013-01-16 22:41:03 +00:00
H.J. Lu
1788fc08f7
Add x86 size relocation support to bfd
...
* bfd-in2.h: Regenerated.
* libbfd.h: Likewise.
* elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
(elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
(elf_i386_check_relocs): Handle R_386_SIZE32.
(elf_i386_gc_sweep_hook): Likewise.
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
and R_X86_64_SIZE64 entries.
(x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
(elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
(elf_x86_64_reloc_name_lookup): Likewise.
(elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
R_X86_64_SIZE64.
(elf_x86_64_gc_sweep_hook): Likewise.
(elf_x86_64_relocate_section): Likewise.
* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
BFD_RELOC_SIZE64.
2013-01-16 21:34:46 +00:00
H.J. Lu
1e53645179
Define R_X86_64_standard with R_X86_64_RELATIVE64
...
* elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
with R_X86_64_RELATIVE64.
2013-01-15 17:30:49 +00:00
Nick Clifton
77bf820f91
Fix spelling typo.
2013-01-15 08:35:39 +00:00
Alan Modra
e245874365
bfd/
...
* elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
plt-thread-safe.
gold/
* powerpc.cc (Target_powerpc::do_relax): Default shared libs to
plt-thread-safe.
ld/testsuite/
* ld-powerpc/tlsso.d: Adjust for plt-thread-safe stubs.
* ld-powerpc/tlsso.g: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlstocso.d: Likewise.
* ld-powerpc/tlstocso.g: Likewise.
2013-01-15 06:13:26 +00:00
Alan Modra
405bf443e5
PR binutils/14813
...
* bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
(memory_bclose): Likewise. Return 0 on success.
* cache.c (cache_bclose): Likewise.
* opncls.c (opncls_bclose, bfd_close): Likewise.
* vms-lib.c (vms_lib_bclose): Likewise.
* libbfd.h: Regenerate.
2013-01-14 13:14:08 +00:00
Alan Modra
ee659f1f4b
* elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
...
Add ref_dynamic_nonweak.
* elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
(_bfd_elf_merge_symbol): Don't call above function. Move
setting of ref_dynamic_nonweak and dynamic_def earlier. Don't
clear dynamic_def.
(elf_link_add_object_symbols): Delete redundant "override" test.
Don't set dynamic_def here.
(elf_link_output_extsym): Update.
2013-01-13 12:32:10 +00:00
H.J. Lu
68c4a57ee6
Set bfd errror for normal and TLS symbol access
...
* elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
normal and TLS symbol access.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2013-01-13 00:30:20 +00:00
Alan Modra
02be4619f1
* elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
...
* elf-strtab.c (_bfd_elf_strtab_refcount): New function.
* elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
2013-01-11 14:09:59 +00:00
Alan Modra
a4542f1b23
PR ld/12549
...
* elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
(_bfd_elf_strtab_clear_all_refs): Define.
* elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
(_bfd_elf_strtab_clear_all_refs): Delete.
* elflink.c (elf_link_add_object_symbols): Clear out added
strtab refs. Correct handling of warning common symbols.
2013-01-11 13:55:02 +00:00
H.J. Lu
68ffbac672
Remove trailing white spaces in bfd
...
* aout0.c: Remove trailing white spaces.
* archive.c: Likewise.
* archures.c: Likewise.
* bfd-in.h: Likewise.
* bfd-in2.h: Likewise.
* coff-alpha.c: Likewise.
* coff-i860.c: Likewise.
* coff-mips.c: Likewise.
* coff-ppc.c: Likewise.
* coff-tic80.c: Likewise.
* coff-x86_64.c: Likewise.
* coff-z80.c: Likewise.
* coffcode.h: Likewise.
* coffgen.c: Likewise.
* cofflink.c: Likewise.
* compress.c: Likewise.
* corefile.c: Likewise.
* cpu-arm.c: Likewise.
* cpu-avr.c: Likewise.
* cpu-bfin.c: Likewise.
* cpu-cr16.c: Likewise.
* cpu-cr16c.c: Likewise.
* cpu-crx.c: Likewise.
* cpu-h8300.c: Likewise.
* cpu-i386.c: Likewise.
* cpu-lm32.c: Likewise.
* cpu-m68k.c: Likewise.
* cpu-moxie.c: Likewise.
* cpu-msp430.c: Likewise.
* cpu-sh.c: Likewise.
* cpu-xc16x.c: Likewise.
* dwarf2.c: Likewise.
* ecofflink.c: Likewise.
* ecoffswap.h: Likewise.
* elf-ifunc.c: Likewise.
* elf-m10300.c: Likewise.
* elf-vxworks.c: Likewise.
* elf32-avr.c: Likewise.
* elf32-avr.h: Likewise.
* elf32-cr16.c: Likewise.
* elf32-cr16c.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-crx.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i860.c: Likewise.
* elf32-ip2k.c: Likewise.
* elf32-iq2000.c: Likewise.
* elf32-m32c.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-msp430.c: Likewise.
* elf32-mt.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-rl78.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-score.h: Likewise.
* elf32-sh-symbian.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-spu.c: Likewise.
* elf32-tic6x.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-xc16x.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elfcore.h: Likewise.
* elflink.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* elfxx-tilegx.c: Likewise.
* ieee.c: Likewise.
* libcoff.h: Likewise.
* libpei.h: Likewise.
* libxcoff.h: Likewise.
* linker.c: Likewise.
* mach-o-i386.c: Likewise.
* mach-o-target.c: Likewise.
* mach-o.c: Likewise.
* mach-o.h: Likewise.
* mmo.c: Likewise.
* opncls.c: Likewise.
* pdp11.c: Likewise.
* pe-x86_64.c: Likewise.
* peXXigen.c: Likewise.
* pef-traceback.h: Likewise.
* pei-x86_64.c: Likewise.
* peicode.h: Likewise.
* plugin.c: Likewise.
* reloc.c: Likewise.
* riscix.c: Likewise.
* section.c: Likewise.
* som.c: Likewise.
* syms.c: Likewise.
* tekhex.c: Likewise.
* ticoff.h: Likewise.
* vaxbsd.c: Likewise.
* xcofflink.c: Likewise.
* xtensa-isa.c: Likewise.
2013-01-10 20:03:55 +00:00
Nick Clifton
a3c629886c
* common.h: Fix case of "Meta".
...
* metag.h: New file.
* dis-asm.h (print_insn_metag): New declaration.
* metag.h: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.in: Add Meta.
* disassemble.c: Add Meta support.
* metag-dis.c: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* archures.c (bfd_mach_metag): New.
* bfd-in2.h: Regenerate.
* config.bfd: Add Meta.
* configure: Regenerate.
* configure.in: Add Meta.
* cpu-metag.c: New file.
* elf-bfd.h: Add Meta.
* elf32-metag.c: New file.
* elf32-metag.h: New file.
* libbfd.h: Regenerate.
* reloc.c: Add Meta relocations.
* targets.c: Add Meta.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* config/tc-metag.c: New file.
* config/tc-metag.h: New file.
* configure.tgt: Add Meta.
* doc/Makefile.am: Add Meta.
* doc/Makefile.in: Regenerate.
* doc/all.texi: Add Meta.
* doc/as.texiinfo: Document Meta options.
* doc/c-metag.texi: New file.
* gas/metag/labelarithmetic.d: New file.
* gas/metag/labelarithmetic.s: New file.
* gas/metag/metacore12.d: New file.
* gas/metag/metacore12.s: New file.
* gas/metag/metacore21-invalid.l: New file.
* gas/metag/metacore21-invalid.s: New file.
* gas/metag/metacore21.d: New file.
* gas/metag/metacore21.s: New file.
* gas/metag/metacore21ext.d: New file.
* gas/metag/metacore21ext.s: New file.
* gas/metag/metadsp21-invalid.l: New file.
* gas/metag/metadsp21-invalid.s: New file.
* gas/metag/metadsp21.d: New file.
* gas/metag/metadsp21.s: New file.
* gas/metag/metadsp21ext.d: New file.
* gas/metag/metadsp21ext.s: New file.
* gas/metag/metafpu21.d: New file.
* gas/metag/metafpu21.s: New file.
* gas/metag/metafpu21ext.d: New file.
* gas/metag/metafpu21ext.s: New file.
* gas/metag/metag.exp: New file.
* gas/metag/tls.d: New file.
* gas/metag/tls.s: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* configure.tgt: Add Meta.
* emulparams/elf32metag.sh: New file.
* emultempl/metagelf.em: New file.
* ld-elf/merge.d: Mark Meta as xfail.
* ld-gc/start.d: Skip this test on Meta.
* ld-gc/personality.d: Skip this test on Meta.
* ld-metag/external.s: New file.
* ld-metag/metag.exp: New file.
* ld-metag/pcrel.d: New file.
* ld-metag/pcrel.s: New file.
* ld-metag/shared.d: New file.
* ld-metag/shared.r: New file.
* ld-metag/shared.s: New file.
* ld-metag/stub.d: New file.
* ld-metag/stub.s: New file.
* ld-metag/stub_pic_app.d: New file.
* ld-metag/stub_pic_app.r: New file.
* ld-metag/stub_pic_app.s: New file.
* ld-metag/stub_pic_shared.d: New file.
* ld-metag/stub_pic_shared.s: New file.
* ld-metag/stub_shared.d: New file.
* ld-metag/stub_shared.r: New file.
* ld-metag/stub_shared.s: New file.
* binutils/readelf.c: (guess_is_rela): Add EM_METAG.
(dump_relocations): Add EM_METAG.
(get_machine_name): Correct case for Meta.
(is_32bit_abs_reloc): Add support for Meta ADDR32 reloc.
(is_none_reloc): Add support for Meta NONE reloc.
2013-01-10 09:49:22 +00:00
Yufeng Zhang
652451f8f2
include/elf/
...
2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
* common.h (NT_ARM_TLS, NT_ARM_HW_BREAK, NT_ARM_HW_WATCH): New macro
definitions.
bfd/
2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
* elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
(elfcore_write_aarch_hw_break): Likewise.
(elfcore_write_aarch_hw_watch): Likewise.
* elf.c (elfcore_grok_aarch_tls): New function.
(elfcore_grok_aarch_hw_break): Likewise.
(elfcore_grok_aarch_hw_watch): Likewise.
(elfcore_grok_note): Call the new functions to handle the
corresponding notes.
(elfcore_write_aarch_tls): New function.
(elfcore_write_aarch_hw_break): Likewise.
(elfcore_write_aarch_hw_watch): Likewise.
(elfcore_write_register_note): Call the new functions to handle the
corresponding pseudo sections.
binutils/
2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
* readelf.c (get_note_type): Handle NT_ARM_TLS, NT_ARM_HW_BREAK
and NT_ARM_HW_WATCH.
2013-01-08 18:09:12 +00:00
Tom Tromey
45a466b578
* section.c (_bfd_std_section): Rename from std_section.
...
(bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
(STD_SECTION): Update.
* bfd-in2.h: Rebuild.
2013-01-07 17:18:25 +00:00
Nick Clifton
e407c74b5b
* archures.c: Add support for MIPS r5900
...
* bfd-in2.h: Add support for MIPS r5900
* config.bfd: Add support for Sony Playstation 2
* cpu-mips.c: Add support for MIPS r5900
* elfxx-mips.c: Add support for MIPS r5900 (extension of r4000)
* config/tc-mips.c: Add support for MIPS r5900
Add M_LQ_AB and M_SQ_AB to support large values for instructions lq and sq.
* config/tc-mips.c (can_swap_branch_p, get_append_method): Detect some conditional short loops to fix a bug on the r5900 by NOP in the branch delay slot.
* config/tc-mips.c (M_MUL): Support 3 operands in multu on r5900.
* config/tc-mips.c (M_TRUNCWS): Support trunc.w.s on r5900 in MIPS ISA I.
* config/tc-mips.c (s_mipsset): Force 32 bit floating point on r5900.
* configure.in: Detect CPU type when target string contains r5900 (e.g. mips64r5900el-linux-gnu).
* config/tc-mips.c (mips_ip): Check parameter range of instructions mfps and mtps on r5900.
* elf/mips.h: Add MIPS machine variant number for r5900 which is compatible with old Playstation 2 software.
* opcode/mips.h: Add support for r5900 instructions including lq and sq.
* configure.tgt: Support ELF files for Sony Playstation 2 (for ps2dev and ps2sdk).
* emulparams/elf32lr5900n32.sh: Create linker script for Sony Playstation 2 ELF files using MIPS ABI n32.
* emulparams/elf32lr5900.sh: Create linker script for Sony Playstation 2 ELF files using MIPS ABI o32.
* Makefile.am: Add linker scripts for Sony Playstation 2 ELF files.
* opcodes/mips-dis.c: Add names for CP0 registers of r5900.
* opcodes/mips-opc.c: Add M_SQ_AB and M_LQ_AB to support larger range for instructions sq and lq.
* opcodes/mips-opc.c: Add support for MIPS r5900 CPU.
Add support for 128 bit MMI (Multimedia Instructions).
Add support for EE instructions (Emotion Engine).
Disable unsupported floating point instructions (64 bit and undefined compare operations).
Enable instructions of MIPS ISA IV which are supported by r5900.
Disable 64 bit co processor instructions.
Disable 64 bit multiplication and division instructions.
Disable instructions for co-processor 2 and 3, because these are not supported (preparation for later VU0 support (Vector Unit)).
Disable cvt.w.s because this behaves like trunc.w.s and the correct execution can't be ensured on r5900.
Add trunc.w.s using the opcode encoding of cvt.w.s on r5900. This will confuse less developers and compilers.
2013-01-04 17:22:53 +00:00
Nick Clifton
9b239e0e1f
* elflink.c (get_value): Prevent the use of an undefined shift
...
operation. Add sanity checks.
2013-01-03 15:47:46 +00:00
Nick Clifton
bab4becb12
opcodes/ChangeLog
...
* cr16-dis.c (match_opcode,make_instruction: Remove static declaration.
(dwordU,wordU): Moved typedefs to opcode/cr16.h
(cr16_words,cr16_allWords,cr16_currInsn): Added prefix 'cr16_'
bfd/Changelog
* config.bfd (cr16*-*-uclinux*): New target support.
include/opcode/ChangeLog
* cr16.h (dwordU,wordU): Moved typedefs from cr16-dis.c
(make_instruction,match_opcode): Added function prototypes.
(cr16_words,cr16_allWords,cr16_currInsn): Declare as extern.
2013-01-02 13:13:36 +00:00
Mike Frysinger
884f2a8d06
bfd: also enable x86_64pei_vec for 64bit i386-linux targets
...
We enable x86_64pei_vec for x86_64-linux targets, so we should list this
in the 64bit i386-linux vec section. This is useful for when we want to
build 64bit EFI code on an i386 system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-12-24 02:47:51 +00:00
H.J. Lu
9911c0fc43
Check R_X86_64_standard for unrecognized relocation
...
* elf64-x86-64.c (elf_x86_64_relocate_section): Check
R_X86_64_standard instead of R_X86_64_max for unrecognized
relocation.
2012-12-21 20:54:59 +00:00
H.J. Lu
a5479e5ff4
Properly adjust h->plt.refcount
...
bfd/
PR ld/14980
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Properly
adjust h->plt.refcount.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
ld/testsuite/
PR ld/14980
* ld-ifunc/ifunc-14c.s: New file.
* ld-ifunc/ifunc-14e-i386.d: Likewise.
* ld-ifunc/ifunc-14e-x86-64.d: Likewise.
* ld-ifunc/ifunc-14f-i386.d: Likewise.
* ld-ifunc/ifunc-14f-x86-64.d: Likewise.
2012-12-21 18:15:22 +00:00
H.J. Lu
59d6ffb2c9
Fix and use elf_append_rel
...
* elf32-i386.c (elf_i386_relocate_section): Replace
bfd_elf32_swap_reloc_out with elf_append_rel.
(elf_i386_finish_dynamic_symbol): Likewise.
* elflink.c (elf_append_rel): Call swap_reloc_out instead of
swap_reloca_out.
2012-12-19 19:45:43 +00:00
H.J. Lu
13ca314985
Reindent elf_i386_finish_dynamic_symbol
...
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Reindent.
2012-12-19 19:41:18 +00:00
Michael Eager
886e427f80
PR ld/14736
...
bfd:
* elf32-microblaze.c (calc_fixup): Add end range.
gas/testsuite:
* gas/microblaze/relax_size.exp: New file - test object size after linker
relaxation
* gas/microblaze/relax_size.s: Likewise
* gas/microblaze/relax_size.elf: Likewise
* gas/microblaze/relax_size2.s: Likewise
* gas/microblaze/relax_size2.elf: Likewise
2012-12-18 16:01:02 +00:00
Alan Modra
15bc576af1
* elf.c (swap_out_syms): Set shndx to SHN_ABS when not one of
...
the special MAP_* values.
2012-12-18 13:25:46 +00:00
Roland McGrath
adbcc655b4
bfd/
...
* elf32-arm.c (elf32_arm_size_stubs): Skip input BFDs that are
not ARM ELF.
2012-12-17 19:13:07 +00:00
Nick Clifton
5bf135a788
Add copyright notices
2012-12-17 16:56:12 +00:00
H.J. Lu
ad1e85de41
Don't check IFUNC relocations in elf_*_check_relocs
...
* elf32-i386.c (elf_i386_check_relocs): Don't check IFUNC
relocations here.
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2012-12-16 23:01:13 +00:00
H.J. Lu
73bcf23385
Also check local IFUNC references
...
bfd/
PR ld/14968
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Also check
local IFUNC references.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
ld/testsuite/
PR ld/14968
* ld-ifunc/ifunc-18a-i386.d: New file.
* ld-ifunc/ifunc-18a-x86-64.d: Likewise.
* ld-ifunc/ifunc-18a.s: Likewise.
* ld-ifunc/ifunc-18b-i386.d: Likewise.
* ld-ifunc/ifunc-18b-x86-64.d: Likewise.
* ld-ifunc/ifunc-18b.s: Likewise.
* ld-ifunc/ifunc-19a-i386.d: Likewise.
* ld-ifunc/ifunc-19a-x86-64.d: Likewise.
* ld-ifunc/ifunc-19a.s: Likewise.
* ld-ifunc/ifunc-19b-i386.d: Likewise.
* ld-ifunc/ifunc-19b-x86-64.d: Likewise.
* ld-ifunc/ifunc-19b.s: Likewise.
2012-12-16 20:31:08 +00:00
Tom Tromey
451b7c33cb
gdb
...
* NEWS: Mention "info proc" and core files.
* corelow.c (core_info_proc): New function.
(init_core_ops): Set to_info_proc.
* gdbarch.c, gdbarch.h: Rebuild.
* gdbarch.sh (core_info_proc): New method.
* infcmd.c (info_proc_cmd_1): Invoke target_info_proc first.
* linux-tdep.c (linux_core_info_proc_mappings)
(linux_core_info_proc): New functions.
(linux_find_memory_region_ftype): New typedef.
(linux_find_memory_regions_full): New function, from
linux_find_memory_regions.
(struct linux_find_memory_regions_data): New.
(linux_find_memory_regions_thunk): New function.
(linux_find_memory_regions): Rewrite.
(struct linux_make_mappings_data): New.
(linux_make_mappings_callback)
(linux_make_mappings_corefile_notes): New functions.
(linux_make_corefile_notes): Call linux_make_mappings_corefile_notes.
(linux_init_abi): Call set_gdbarch_core_info_proc.
* target.c (target_info_proc): Return 'int'.
* target.h (target_info_proc): Update.
gdb/doc
* gdb.texinfo (SVR4 Process Information): Mention core files.
gdb/testsuite
* gdb.base/info-proc.exp: Add core file tests.
bfd
* elf.c (elfcore_grok_note) <NT_FILE>: New case.
2012-12-14 15:30:38 +00:00
H.J. Lu
5ca5bb3545
Check local IFUNC calls
...
bfd/
2012-12-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/14956
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Check local
IFUNC calls.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
ld/testsuite/
2012-12-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/14956
* ld-ifunc/ifunc-14-i386.d: Renamed to ...
* ld-ifunc/ifunc-14a-i386.d: This.
* ld-ifunc/ifunc-14-x86-64.d: Renamed to ...
* ld-ifunc/ifunc-14a-x86-64.d: This.
* ld-ifunc/ifunc-14b-i386.d: New file.
* ld-ifunc/ifunc-14b-x86-64.d: Likewise.
* ld-ifunc/ifunc-14c-i386.d: Likewise.
* ld-ifunc/ifunc-14c-x86-64.d: Likewise.
* ld-ifunc/ifunc-14d-i386.d: Likewise.
* ld-ifunc/ifunc-14d-x86-64.d: Likewise.
2012-12-13 21:07:16 +00:00
Michael Eager
69b06cc85f
Microblaze: Add support for handling TLS symbol suffixes and generating
...
TLS relocs for General Dynamic and Local Dynamic models.
bfd/Changelog
* reloc.c: Add new relocations
* bfd-in2.h: Regenerated
* libbfd.h: Regenerated
* elf32-microblaze.c (microblaze_elf_howto_raw):
Add TLS relocations
(microblaze_elf_reloc_type_lookup): Likewise
(elf32_mb_link_hash_entry): define TLS reference types
(elf32_mb_link_hash_table): add TLS Local dynamic GOT entry
#define has_tls_reloc if section has TLS relocs
(dtprel_base), (check_unique_offset): New
(microblaze_elf_output_dynamic_relocation): output simple
dynamic relocation into SRELOC.
(microblaze_elf_relocate_section): Accommodate TLS relocations.
(microblaze_elf_check_relocs): Likewise
(update_local_sym_info): New
(microblaze_elf_copy_indirect_symbol): Add tls_mask.
(allocate_dynrelocs): Handle TLS symbol
(microblaze_elf_size_dynamic_sections): Set size and offset
(microblaze_elf_finish_dynamic_symbol): Use
microblaze_elf_output_dynamic_relocation
gas/Changelog
* config/tc-microblaze.c: Define TLS offsets
(md_relax_table): Add TLS offsets
(imm_types), (match_imm), (get_imm_otype): New to support
TLS offsets.
(tc_microblaze_fix_adjustable): Add TLS relocs.
(md_convert_frag): Support TLS offsets.
(md_apply_fix), (md_estimate_size_before_relax), (tc_gen_reloc):
Add TLS relocs
include/Changelog
* elf/microblaze.h: Add TLS relocs to START_RELOC_NUMBERS
2012-12-11 16:56:53 +00:00
Nick Clifton
752937aa0c
Add copyright notices
2012-12-10 12:48:03 +00:00
H.J. Lu
35f0d39652
Properly check indicies bigger than 4Gb
...
PR binutils/14933
* archive.c (bsd_write_armap): Properly check indicies bigger
than 4Gb.
2012-12-09 18:01:39 +00:00
Alan Modra
d2bcb0d1aa
PR ld/14926
...
* elf.c (_bfd_elf_map_sections_to_segments): Include elf header
size when determining phdr_in_segment.
2012-12-07 04:58:36 +00:00