Dave Korn
e44d194ff6
2006-05-02 Dave Korn <dave.korn@artimi.com>
* binutils-all/copy-1.d (name): Correct spelling of 'setting'.
* binutils-all/copy-2.d (name): Likewise.
21 years ago
Daniel Jacobowitz
38fc1cb168
binutils/
* doc/Makefile.am (AM_MAKEINFOFLAGS): New.
(TEXI2POD): Use AM_MAKEINFOFLAGS.
(config.texi): Don't set top_srcdir.
* doc/binutils.texi: Don't use top_srcdir.
* aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
gas/
* doc/Makefile.am (AM_MAKEINFOFLAGS): New.
(TEXI2POD): Use AM_MAKEINFOFLAGS.
(asconfig.texi): Don't set top_srcdir.
* doc/as.texinfo: Don't use top_srcdir.
* aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated.
ld/
* Makefile.am (AM_MAKEINFOFLAGS): Add libiberty.
(TEXI2POD): Use AM_MAKEINFOFLAGS.
(configdoc.texi): Don't set top_srcdir.
* ld.texinfo: Don't use top_srcdir.
* aclocal.m4, Makefile.in: Regenerated.
21 years ago
Nick Clifton
7cc27f03b9
* binutils-all/copy-2.d: Change the name of the section whose flags are
changed to "foo" so that the test will work with PE based targets.
Skip this test for AOUT based targeted.
* binutils-all/copytest.s: New file.
21 years ago
H.J. Lu
85d7f0b9e3
2006-05-01 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/objcopy.exp: Run "copy-1" for ELF only.
21 years ago
Ben Elliston
004314cccd
* binutils-all/objcopy.exp (objcopy_test_readelf): Remove stray ;
21 years ago
Julian Brown
14c28b746f
* readelf.c (arm_attr_tag_VFP_arch): Add VFPv3.
21 years ago
H.J. Lu
af3c5dea22
2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2593
* binutils-all/copy-1.d: New file.
* binutils-all/copy-1.s: Likewise.
* binutils-all/copy-2.d: Likewise.
* binutils-all/objcopy.exp: Add run_dump_test "copy-1" and
run_dump_test "copy-2".
* lib/utils-lib.exp (run_dump_test): New.
(slurp_options): Likewise.
(regexp_diff): Likewise.
(file_contents): Likewise.
(verbose_eval): Likewise.
21 years ago
H.J. Lu
8648f88f4c
2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2467
* binutils-all/objcopy.exp (strip_test): Also test "strip -g"
on archive.
21 years ago
Alan Modra
ec3fcc5688
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
21 years ago
Alan Modra
241a6c40c8
bfd/
* warning.m4 (--enable-werror, -build-warnings): Format help messages.
* configure: Regenerate.
binutils/
* configure: Regenerate.
gas/
* configure.in (--enable-targets): Indent help message.
* configure: Regenerate.
gprof/
* configure: Regenerate.
ld/
* configure: Regenerate.
opcodes/
* configure: Regenerate.
21 years ago
Nick Clifton
0b49d37123
PR 2257
* elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx fields to
still be handled as ELF files.
* readelf.c (SECTION_NAME): Cope with a missing string table.
(process_file_header): Cope with a corrupt e_shstrndx field.
(process_section_headers): Correctly handle an e_shstrndx value of SHF_UNDEF.
21 years ago
Nick Clifton
4332c151d4
oops - omitted from commit of typo fix
21 years ago
Nick Clifton
2ae86dfcdb
Fix typo
21 years ago
H.J. Lu
da28e1e1b0
2006-04-10 H.J. Lu <hongjiu.lu@intel.com>
* lib/utils-lib.exp (default_binutils_run): Check exit status.
21 years ago
Ben Elliston
b893fd29bb
* MAINTAINERS (CGEN Maintainers): Remove myself.
21 years ago
Carlos O'Donell
108a6f8eb4
2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
21 years ago
Eric Botcazou
c5f8c3881a
* addr2line.c (long_options): Add new option 'section'.
(usage): Document new -j/--section option.
(find_offset_in_section): New function.
(translate_addresses): Add 'section' parameter.
If it is non-null, call find_offset_in_section on it.
(process_file): Add 'section_name' parameter.
If it is non-null, look for the section in the BFD object.
Pass the section to translate_addresses.
(main): Handle new -j option.
Pass the section name to process_file.
* doc/binutils.texi (addr2line): Document new -j/--section option.
21 years ago
Ben Elliston
db336ea9c9
* resbin.c: Avoid duplicating constants in calls to reswr_alloc.
21 years ago
Nathan Sidwell
6c8388f761
* BRANCHES: Remove binutils-csl-arm-2006q1-branch. Document
binutils-csl-2_17-branch instead.
21 years ago
Paul Brook
f2495b1486
2006-03-20 Paul Brook <paul@codesourcery.com>
* BRANCHES: Mention binutils-csl-arm-2006q1-branch.
21 years ago
Alan Modra
66eb6687c9
PR 2434
bfd/
* elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
(elf_link_add_object_symbols): Delete unnecessary locals. Rename
hash_table -> htab. Formatting. Save entire symbol table
before loading as-needed syms, and restore afterwards if lib not
needed. Use bfd_hash_allocate rather than bfd_alloc for sym
name. Free some buffers earlier.
* bfd-in.h (struct bfd_hash_table): Add entsize.
(bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
* elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
* hash.c (bfd_hash_table_init_n): Add entsize param, save to
hash table.
(bfd_hash_table_init): Add param, adjust calls.
* aoutx.h: Adjust all hash_table_init functions and calls.
* bfd.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-ppc.c: Likewise.
* cofflink.c: Likewise.
* ecoff.c: Likewise.
* ecofflink.c: Likewise.
* elf-m10300.c: Likewise.
* elf-strtab.c: Likewise.
* elf.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-vax.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* i386linux.c: Likewise.
* libaout.h: Likewise.
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* linker.c: Likewise.
* m68klinux.c: Likewise.
* merge.c: Likewise.
* opncls.c: Likewise.
* pdp11.c: Likewise.
* sparclinux.c: Likewise.
* stabs.c: Likewise.
* sunos.c: Likewise.
* vms.c: Likewise.
* xcofflink.c: Likewise.
* section.c (struct section_hash_entry): Move to..
* libbfd-in.h: ..here.
* Makefile.am: Run "make dep-am"
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
binutils/
* ieee.c (write_ieee_debugging_info): Adjust bfd_hash_table_init calls.
* wrstabs.c (write_stabs_in_sections_debugging_info): Likewise.
ld/
* ldcref.c (add_cref): Adjust bfd_hash_table_init calls.
* ldlang.c (output_statement_table_init, lang_init): Likewise.
* ldmain.c (add_ysym, add_wrap, add_keepsyms_file): Likewise.
(undefined_symbol): Likewise.
21 years ago
Ben Elliston
91610c0c67
* bucomm.c (display_target_list): Make local variable `a' to be of
type enum bfd_architecture. Thus no need to cast enums to int.
(display_info_table): Likewise.
21 years ago
Paul Brook
3a4a14e9ea
2006-03-10 Paul Brook <paul@codesourcery.com>
bfd/
* elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
(elf32_arm_print_private_bfd_data): Ditto.
binutils/
* readelf.c (decode_ARM_machine_flags): Handle EABIv5.
gas/
* config/tc-arm.c (md_begin): Handle EABIv5.
(arm_eabis): Add EF_ARM_EABI_VER5.
* doc/c-arm.texi: Document -meabi=5.
include/elf/
* arm.h (EF_ARM_EABI_VER5): Define.
21 years ago
Alan Modra
1617e5712a
* dwarf.c (process_extended_line_op): Remove pointer_size param.
Use length instead to determine address size.
(get_pointer_size_and_offset_of_comp_unit): Delete.
(display_debug_lines): Adjust for above.
(display_debug_aranges): Don't stop on finding two zeros.
(display_debug_frames): For warning, print offset not pointer.
21 years ago
Danny Smith
671659efa0
* dlltool.c: Update copyright year.
* doc/binutils.texi: Likewise.
21 years ago
Danny Smith
14288fdc16
* dlltool.c (add_stdcall_underscore): New flag.
(xlate): Also add underscore to stdcall symbol if
add_stdcall_underscore set.
(usage): Document --add-stdcall-underscore option.
(OPTION_ADD_STDCALL_UNDERSCORE): New define.
(long_options): Use it for --add-stdcall-underscore option.
(main): Handle it.
* doc/binutils.texi: Document --add-stdcall-underscore option
and differentiate from --add-underscore.
21 years ago
Nathan Sidwell
0b2e31dc3b
bfd:
* archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
New. Adjust other variants.
(bfd_default_scan): Update.
* bfd-in2.h: Rebuilt.
* cpu-m68k.c: Adjust.
(bfd_m68k_compatible): New. Use it for architectures.
* elf32-m68k.c (elf32_m68k_object_p): Adjust.
(elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b
mismatch.
(elf32_m68k_print_private_bfd_data): Adjust.
* ieee.c (ieee_write_processor): Adjust.
binutils:
* readelf.c (get_machine_flags): Adjust.
gas:
* config/tc-m68k.c (m68k_extensions): Allow 'float' on both m68k
and cf.
(m68k_ip): <case 'J'> Check we have some control regs.
(md_parse_option): Allow raw arch switch.
(m68k_init_arch): Better detection of arch/cpu mismatch. Detect
whether 68881 or cfloat was meant by -mfloat.
(md_show_usage): Adjust extension display.
(m68k_elf_final_processing): Adjust.
gas/testsuite:
* gas/m68k/arch-cpu-1.s: Tweak.
* gas/m68k/arch-cpu-1.d: Tweak.
include/elf:
* m68k.h (EF_M68K_ISA_MASK, EF_M68K_ISA_A,
EF_M68K_ISA_A_PLUS, EF_M68K_ISA_B, EF_M68K_ISA_C): Adjust.
(EF_M68K_ISA_A_NODIV, EF_M68K_ISA_B_NOUSP): New.
(EF_M68K_HW_DIV, EF_M68K_USP): Remove.
(EF_M68K_MAC, EF_M68K_EMAC, EF_M68K_FLOAT): Adjust.
(EF_M68K_EMAC_B): New.
ld/testsuite:
* ld-m68k: New tests.
21 years ago
Jakub Jelinek
12eae2d34f
* dwarf.c (frame_display_row, display_debug_frames): Handle
DW_CFA_val_offset, DW_CFA_val_offset_sf and DW_CFA_val_expression.
21 years ago
Nick Clifton
f9d4ad2a13
* objcopy.c (use_alt_mach_code): Change type to unsigned long.
(copy_object): If bfd_alt_mach_code fails emit a more helpful message
and if the target architecture is ELF use the alternative as replacement
value for the e_machine number.
(copy_main): Use strtoul to parse the number provided with the
--alt-mach-code switch.
* doc/binutils.texi (--alt-mach-code): Document that this switch can now
set the absolute e_machine value.
21 years ago
Carlos O'Donell
f7d9e5c379
bfd/doc/
21 years ago
Nick Clifton
d70c5fc7c5
Add support for the Infineon XC16X.
21 years ago
Nick Hudson
0b92ab21c5
* readelf.c (get_machine_flags): Add logic for missing EF_SH flags.
21 years ago
Jakub Jelinek
82de001fc3
gas/
* config.in: Rebuilt.
binutils/
* config.in: Rebuilt.
21 years ago
H.J. Lu
84d1d6507c
bfd/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* elf.c (copy_private_bfd_data): Renamed to ...
(rewrite_elf_program_header): This.
(copy_elf_program_header): New function.
(copy_private_bfd_data): Likewise.
binutils/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* readelf.c (process_program_headers): Use
ELF_IS_SECTION_IN_SEGMENT_MEMORY.
include/elf/
2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/2258
* internal.h (ELF_IS_SECTION_IN_SEGMENT_FILE): New.
(ELF_IS_SECTION_IN_SEGMENT_MEMORY): Likewise.
21 years ago
Eric Botcazou
db50c8404c
* configure.in (CHECK_DECLS): Add snprintf and vsnprintf.
* configure: Regenerate.
* objdump.c (fprintf): Remove declaration.
* bucomm.h (fprintf): Declare if not already declared.
(snprintf): Likewise.
(vsnprintf): Likewise.
21 years ago
H.J. Lu
eb4d937285
2006-02-08 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_program_headers): Match PT_TLS segment
only with SHT_TLS sections.
21 years ago
Nathan Sidwell
266abb8f72
* bfd/archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
(bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
bfd_mach_mcf_isa_b_usp_float_emac): New.
(bfd_default_scan): Update coldfire mapping.
* bfd/bfd-in.h (bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Declare.
* bfd/bfd-in2.h: Rebuilt.
* bfd/cpu-m68k.c (arch_info_struct): Add new coldfire machines,
adjust legacy names.
(m68k_arch_features): New.
(bfd_m68k_mach_to_features,
bfd_m68k_features_to_mach): Define.
* bfd/elf32-m68k.c (elf32_m68k_object_p): New.
(elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
(elf32_m68k_print_private_bfd_data): Print the CF EF flags.
(elf_backend_object_p): Define.
* bfd/ieee.c (ieee_write_processor): Update coldfire machines.
* bfd/libbfd.h: Rebuilt.
* gas/config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
mcf5329_control_regs): New.
(not_current_architecture, selected_arch, selected_cpu): New.
(m68k_archs, m68k_extensions): New.
(archs): Renamed to ...
(m68k_cpus): ... here. Adjust.
(n_arches): Remove.
(md_pseudo_table): Add arch and cpu directives.
(find_cf_chip, m68k_ip): Adjust table scanning.
(no_68851, no_68881): Remove.
(md_assemble): Lazily initialize.
(select_control_regs): Adjust cpu names. Add 5208, 5213, 5329.
(md_init_after_args): Move functionality to m68k_init_arch.
(mri_chip): Adjust table scanning.
(md_parse_option): Reimplement 'm' processing to add -march & -mcpu
options with saner parsing.
(m68k_lookup_cpu, m68k_set_arch, m68k_set_cpu, m68k_set_extension,
m68k_init_arch): New.
(s_m68k_cpu, s_m68k_arch): New.
(md_show_usage): Adjust.
(m68k_elf_final_processing): Set CF EF flags.
* gas/config/tc-m68k.h (m68k_init_after_args): Remove.
(tc_init_after_args): Remove.
* gas/doc/c-m68k.texi (M68K-Opts): Document -march, -mcpu options.
(M68k-Directives): Document .arch and .cpu directives.
* gas/testsuite/gas/m68k/all.exp: Add arch-cpu-1 test.
* gas/testsuite/gas/m68k/arch-cpu-1.[sd]: New.
* include/elf/m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ...
(EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here.
(EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS,
EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC,
EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New.
* include/opcode/m68k.h (m68008, m68ec030, m68882): Remove.
(m68k_mask): New.
(cpu_m68k, cpu_cf): New.
(mcf5200, mcf5206e, mcf521x, mcf5249, mcf528x, mcf5307, mcf5407,
mcf5470, mcf5480): Rename to cpu_<foo>. Add m680x0 variants.
* opcodes/m68k-dis.c (print_insn_m68k): Use
bfd_m68k_mach_to_features.
* binutils/readelf.c (get_machine_flags): Add logic for EF_M68K flags.
21 years ago
H.J. Lu
d72d9b9e57
Updo the last change to binutils and ld/testsuite.
21 years ago
H.J. Lu
de205c03b9
binutils/
2006-02-02 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (process_program_headers): Undo the change made on
2004-09-22. Match PT_DYNAMIC segment only with SHT_DYNAMIC
sections.
ld/testsuite/
2006-02-02 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/tlsbin.rd: Update for changed segment map.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlspic.rd: Likewise.
* ld-powerpc/tlsexe.r: Likewise.
* ld-powerpc/tlsexe32.r: Likewise.
* ld-powerpc/tlsexetoc.r: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlsso32.r: Likewise.
* ld-powerpc/tlstocso.r: Likewise.
* ld-s390/tlsbin.rd: Likewise.
* ld-s390/tlsbin_64.rd: Likewise.
* ld-s390/tlspic.rd: Likewise.
* ld-s390/tlspic_64.rd: Likewise.
* ld-sh/tlsbin-2.d: Likewise.
* ld-sh/tlspic-2.d: Likewise.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
21 years ago
Nick Clifton
c8782eeec3
* objcopy.c (copy_object): Catch the case where an attempt is made to add a
section that already exists and produce a more helpful warning message.
21 years ago
Nikolaos Kavvadias
4b3dc01ddd
Adding myself as DLX maintainer
21 years ago
Nick Clifton
bdcfeba541
Add new Vietnamese translation
21 years ago
Alexandre Oliva
67a4f2b710
include/elf/ChangeLog:
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.
21 years ago
Nick Clifton
6e2c86ac4d
PR binutils/1391
* objcopy.c (copy_object): For PE format targets set the VMA of a newly
created gnu_debuglink section to a non-zero, aligned, contiguous value.
* Makefile.am (objcopy.c): Add a dependency upon libbfd.h.
* Makefile.in: Regenerate.
21 years ago
Andreas Schwab
d99b646536
PR binutils/1486
binutils/:
* configure.in: Don't define DISASSEMBLER_NEEDS_RELOCS.
* configure: Regenerate.
* objdump.c (struct objdump_disasm_info): Don't check for
DISASSEMBLER_NEEDS_RELOCS.
(objdump_print_addr): Likewise.
(disassemble_bytes): Check disassembler_needs_relocs from
disassemble_info at run-time instead of DISASSEMBLER_NEEDS_RELOCS
at compile-time.
(disassemble_section): Likewise.
(disassemble_data): Initialize it.
include/:
* dis-asm.h (struct disassemble_info): Add
disassembler_needs_relocs.
objdump/:
* disassemble.c (disassemble_init_for_target): Set
disassembler_needs_relocs for bfd_arch_arm.
21 years ago
Alan Modra
e88d958a4f
split changelogs
21 years ago
Alan Modra
62d732f540
* objcopy.c (copy_object): Fix thinko.
21 years ago
Alan Modra
e2ba7bd7d0
* objcopy.c (copy_object): Set isympp and osympp to NULL after free.
21 years ago
Nick Clifton
64fd6348f0
Define EM_ALTERA_NIOS2 and EM_NIOS32.
21 years ago
Jie Zhang
7bbe5bc540
* readelf.c (get_machine_name): Add case for Blackfin.
21 years ago