aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2006-01-20daily updateAlan Modra1-1/+1
2006-01-19daily updateAlan Modra1-1/+1
2006-01-18daily updateAlan Modra1-1/+1
2006-01-18include/elf/ChangeLog:Alexandre Oliva6-101/+978
Introduce TLS descriptors for i386 and x86_64. * common.h (DT_TLSDESC_GOT, DT_TLSDESC_PLT): New. * i386.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC): New. * x86-64.h (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL, R_X86_64_TLSDESC): New. bfd/ChangeLog: Introduce TLS descriptors for i386 and x86_64. * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC, BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New. * libbfd.h, bfd-in2.h: Rebuilt. * elf32-i386.c (elf_howto_table): New relocations. (R_386_tls): Adjust. (elf_i386_reloc_type_lookup): Map new relocations. (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. (struct elf_i386_link_hash_entry): Add tlsdesc_got field. (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field. (elf_i386_local_tlsdesc_gotent): New macro. (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size. (elf_i386_compute_jump_table_size): New macro. (link_hash_newfunc): Initialize tlsdesc_got. (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size. (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL. (elf_i386_check_relocs): Likewise. Allocate space for local_tlsdesc_gotent. (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL. (allocate_dynrelocs): Count function PLT relocations. Reserve space for TLS descriptors and relocations. (elf_i386_size_dynamic_sections): Reserve space for TLS descriptors and relocations. Set up sgotplt_jump_table_size. Don't zero reloc_count in srelplt. (elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_. (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL. (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. (elf_backend_always_size_sections): Define. * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL. (R_X86_64_standard): Adjust. (x86_64_reloc_map): Map new relocs. (elf64_x86_64_rtype_to_howto): New, split out of... (elf64_x86_64_info_to_howto): ... this function, and... (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val. (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field. (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field. (elf64_x86_64_local_tlsdesc_gotent): New macro. (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt, tlsdesc_got and sgotplt_jump_table_size fields. (elf64_x86_64_compute_jump_table_size): New macro. (link_hash_newfunc): Initialize tlsdesc_got. (elf64_x86_64_link_hash_table_create): Initialize new fields. (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and R_X86_64_TLSDESC_CALL. (elf64_x86_64_check_relocs): Likewise. Allocate space for local_tlsdesc_gotent. (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and R_X86_64_TLSDESC_CALL. (allocate_dynrelocs): Count function PLT relocations. Reserve space for TLS descriptors and relocations. (elf64_x86_64_size_dynamic_sections): Reserve space for TLS descriptors and relocations. Set up sgotplt_jump_table_size, tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT and DT_TLSDESC_GOT. (elf64_x86_64_always_size_sections): New. Set up _TLS_MODULE_BASE_. (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL. (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry. (elf_backend_always_size_sections): Define. binutils/ChangeLog: Introduce TLS descriptors for i386 and x86_64. * readelf.c (get_dynamic_type): Handle DT_TLSDESC_GOT and DT_TLSDESC_PLT. gas/ChangeLog: Introduce TLS descriptors for i386 and x86_64. * config/tc-i386.c (tc_i386_fix_adjustable): Handle BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL. (optimize_disp): Emit fix up for BFD_RELOC_386_TLS_DESC_CALL and BFD_RELOC_X86_64_TLSDESC_CALL immediately, and clear the displacement bits. (build_modrm_byte): Set up zero modrm for TLS desc calls. (lex_got): Handle @tlsdesc and @tlscall. (md_apply_fix, tc_gen_reloc): Handle the new relocations. ld/testsuite/ChangeLog: Introduce TLS descriptors for i386 and x86_64. * ld-i386/i386.exp: Run on x86_64-*-linux* and amd64-*-linux*. Add new tests. * ld-i386/pcrel16.d: Add -melf_i386. * ld-i386/pcrel8.d: Likewise. * ld-i386/tlsbindesc.dd: New. * ld-i386/tlsbindesc.rd: New. * ld-i386/tlsbindesc.s: New. * ld-i386/tlsbindesc.sd: New. * ld-i386/tlsbindesc.td: New. * ld-i386/tlsdesc.dd: New. * ld-i386/tlsdesc.rd: New. * ld-i386/tlsdesc.s: New. * ld-i386/tlsdesc.sd: New. * ld-i386/tlsdesc.td: New. * ld-i386/tlsgdesc.dd: New. * ld-i386/tlsgdesc.rd: New. * ld-i386/tlsgdesc.s: New. * ld-x86-64/x86-64.exp: Run new tests. * ld-x86-64/tlsbindesc.dd: New. * ld-x86-64/tlsbindesc.rd: New. * ld-x86-64/tlsbindesc.s: New. * ld-x86-64/tlsbindesc.sd: New. * ld-x86-64/tlsbindesc.td: New. * ld-x86-64/tlsdesc.dd: New. * ld-x86-64/tlsdesc.pd: New. * ld-x86-64/tlsdesc.rd: New. * ld-x86-64/tlsdesc.s: New. * ld-x86-64/tlsdesc.sd: New. * ld-x86-64/tlsdesc.td: New. * ld-x86-64/tlsgdesc.dd: New. * ld-x86-64/tlsgdesc.rd: New. * ld-x86-64/tlsgdesc.s: New.
2006-01-17daily updateAlan Modra1-1/+1
2006-01-172006-01-17 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-29/+31
PR binutils/2096 * dwarf2.c (comp_unit_contains_address): Update comment. (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of lma. Return TRUE only if both comp_unit_contains_address and comp_unit_find_nearest_line return TRUE. (_bfd_dwarf2_find_line): Use section's vma, instead of lma.
2006-01-17 * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.Alan Modra5-9/+83
(bfd_elf_gc_mark_dynamic_ref_symbol): Declare. * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from elf_gc_mark_dynamic_ref_symbol. Make global. (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref. * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define. (elfNN_bed): Init new field. * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define. (ppc64_elf_gc_mark_dynamic_ref): New function.
2006-01-17 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.Alan Modra2-4/+5
2006-01-17Update copyright dateNick Clifton1-1/+1
2006-01-17PR binutils/2159Nick Clifton2-2/+8
* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused parameters.
2006-01-16split changelogsAlan Modra3-10317/+10333
2006-01-16daily updateAlan Modra1-1/+1
2006-01-15daily updateAlan Modra1-1/+1
2006-01-14daily updateAlan Modra1-1/+1
2006-01-13daily updateAlan Modra1-1/+1
2006-01-12daily updateAlan Modra1-1/+1
2006-01-11daily updateAlan Modra1-1/+1
2006-01-11* elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry into theNick Clifton2-3/+9
newly (re)allocated map array.
2006-01-10daily updateAlan Modra1-1/+1
2006-01-09daily updateAlan Modra1-1/+1
2006-01-09Update date in copyright noticeNick Clifton1-1/+1
2006-01-09Add comma after HIGH3ADJNick Clifton2-1/+5
2006-01-08daily updateAlan Modra1-1/+1
2006-01-07daily updateAlan Modra1-1/+1
2006-01-06daily updateAlan Modra1-1/+1
2006-01-05daily updateAlan Modra1-1/+1
2006-01-04daily updateAlan Modra1-1/+1
2006-01-03daily updateAlan Modra1-1/+1
2006-01-02daily updateAlan Modra1-1/+1
2006-01-01daily updateAlan Modra1-1/+1
2006-01-01 * elf64-ppc.c (ppc64_elf_action_discarded): Return 0Jakub Jelinek2-1/+9
for .toc1 section.
2005-12-31 * elf32-sh.c (sh_elf_relocate_section): Don't reset relocationKaz Kojima2-1/+8
for R_SH_REL32 in shared objects if the symbol is locally called.
2005-12-31 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust relocs againstAlan Modra2-17/+37
opd section sym when opd has been edited. Use correct addend when determining branch 'y' bit and branch overflow. Adjust and save opd relocs for ld -r too.
2005-12-312005-12-30 Eric Christopher <echristo@apple.com>Eric Christopher2-4/+15
* elfxx-mips.c (mips_elf_record_global_got_symbol): Add assert to verify we have a got. (_bfd_mips_elf_check_relocs): Add R_MIPS_TLS_GOTTPREL to relocs needing a GOT.
2005-12-30daily updateAlan Modra1-1/+1
2005-12-30 * configure.host (hppa*64*-*-hpux*): Set host64 to true.Dave Anglin2-2/+8
2005-12-29daily updateAlan Modra1-1/+1
2005-12-29(bfd_hash_set_default_size): Add more entries to the hash_size_primes table.Nick Clifton2-1/+4
2005-12-29(_bfd_link_section_stabs): Use bfd_hash_table_init rather thanNick Clifton2-3/+8
bfd_hash_table_init_n(...,251) so that the size of the hash table can be controlled by the user.
2005-12-28daily updateAlan Modra1-1/+1
2005-12-27daily updateAlan Modra1-1/+1
2005-12-27 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Use info->executableDave Anglin2-1/+6
instead of !info->shared.
2005-12-272005-12-27 Jan-Benedict Glaw <jbglaw@lug-owl.de>Jan-Benedict Glaw2-0/+8
* vaxlinux.h: New file. (TRAD_CORE_EXTRA_SIZE_ALLOWED): Define. (HOST_MACHINE_ARCH): Define. This allows cross-building vax-linux hosted binutils.
2005-12-27 * elf32-mt.c (mt_elf_merge_private_bfd_data): Do not allow mixingNathan Sidwell2-12/+10
object files from different mt variants.
2005-12-27Add support for RDOS targets.Nick Clifton2-0/+8
2005-12-27(lookup_symbol_in_function_table): Check for a function name before passingNick Clifton2-0/+6
it to strcmp.
2005-12-27 * elf.c (elf_find_function): Don't ignore section syms.Alan Modra2-8/+9
Simplify filename logic.
2005-12-27missed copyright 2005 additionAlan Modra1-1/+1
2005-12-27 * elf32-ppc.c (add_stub_sym): Pass info rather than htab.Alan Modra2-11/+24
Use different names for pic vs non-pic, '.' instead of '_'. (allocate_dynrelocs): Adjust add_stub_sym call.
2005-12-27 * elf.c (bfd_section_from_shdr): Treat invalid reloc sections asAlan Modra2-6/+12
normal sections rather than returning false.