Thiemo Seufer
2907b86184
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
...
linking of objects for compatible machine types.
2006-07-25 09:17:57 +00:00
Thiemo Seufer
c000e2621b
* elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
...
also for same symbol.
2006-07-25 09:06:05 +00:00
Thiemo Seufer
37caec6ba8
* elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
2006-07-25 09:01:02 +00:00
Alan Modra
acf9f53ac1
daily update
2006-07-25 00:00:04 +00:00
Nick Clifton
ff15b24025
* emulparams/elf_x86_64.sh (LIBPATH_SUFFIX, ELF_INTERPRETER_NAME): Set for *-*-solaris2*.
...
* elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific sections
only if the SHF_OS_NONCONFORMING flag is present.
2006-07-24 18:18:19 +00:00
Nick Clifton
4e22f78d85
PR ld/2729
...
* peXXigen.c (_bfd_XXi_final_link_postscript): Check for the existance of
output sections before putting their entries into the DataDictionary.
2006-07-24 16:51:26 +00:00
Nick Clifton
b45619c047
Fix spelling typos
2006-07-24 13:49:50 +00:00
Alan Modra
5bbb12dfe3
daily update
2006-07-24 00:00:05 +00:00
Alan Modra
bdccea594e
daily update
2006-07-23 00:00:06 +00:00
Alan Modra
da6d0c5be1
daily update
2006-07-22 00:00:06 +00:00
Alan Modra
f805a26ad0
daily update
2006-07-21 00:00:09 +00:00
Thiemo Seufer
35d3d567cc
[ bfd/ChangeLog ]
...
* elf32-mips.c (mips16_jump_reloc): Remove function.
(elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
instead of mips16_jump_reloc.
* elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
(elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
_bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
[ gas/ChangeLog ]
* config/tc-mips.c (mips_fix_adjustable): Handle BFD_RELOC_MIPS16_JMP.
(tc_gen_reloc): Handle mips16 jumps to section symbol offsets.
[ ld/testsuite/ChangeLog ]
* ld-mips-elf/mips16-call-global-1.s,
ld-mips-elf/mips16-call-global-2.s,
ld-mips-elf/mips16-call-global-3.s, ld-mips-elf/mips16-call-global.d:
Test linking of external mips16 jumps.
* ld-mips-elf/mips-elf.exp: Run new test.
2006-07-20 16:46:30 +00:00
Alan Modra
99f2378d67
daily update
2006-07-20 00:00:05 +00:00
Alan Modra
5061a8853b
bfd/
...
* bfd-in.h (enum notice_asneeded_action): Define.
* bfd-in2.h: Regenerate.
* elflink.c (elf_link_add_object_symbols): Call linker "notice"
function with NULL name for as-needed handling.
ld/
* ld.h (handle_asneeded_cref): Declare.
* ldcref.c: Include objalloc.h.
(old_table, old_count, old_tab, alloc_mark): New variables.
(tabsize, entsize, refsize, old_symcount): Likewise.
(add_cref): Use bfd_hash_allocate for refs.
(handle_asneeded_cref): New function.
* ldmain.c (notice): Call handle_asneeded_cref for NULL name.
2006-07-19 01:50:23 +00:00
Alan Modra
9148c4581c
daily update
2006-07-19 00:00:07 +00:00
Paul Brook
16805f35a3
2006-07-18 Paul Brook <paul@codesourcery.com>
...
bfd/
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
gas/
* tc-arm.c (do_t_add_sub): Use addw/subw when source is PC.
(md_convert_frag): Use correct reloc for add_pc. Use
BFD_RELOC_ARM_T32_ADD_IMM for normal add/sum.
(md_apply_fix): Handle BFD_RELOC_ARM_T32_ADD_IMM.
(arm_force_relocation): Handle BFD_RELOC_ARM_T32_ADD_IMM.
gas/testsuite/
* gas/arm/thumb2_add.d: New test.
* gas/arm/thumb2_add.s: New test.
2006-07-18 16:44:47 +00:00
Thiemo Seufer
9cd732686a
* bfd.texinfo: Add @section for "What to Put Where".
2006-07-18 13:20:42 +00:00
Nick Clifton
e0764319eb
* elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
...
Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common sections.
* elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype.
2006-07-18 08:56:44 +00:00
Alan Modra
71cc6aee73
daily update
2006-07-18 00:00:07 +00:00
Alan Modra
68c8e973c1
daily update
2006-07-17 00:00:13 +00:00
Alan Modra
297b22bace
daily update
2006-07-16 00:00:12 +00:00
Alan Modra
9691cba8cb
daily update
2006-07-15 00:00:09 +00:00
Jakub Jelinek
2ccdbfcc9a
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
2006-07-14 13:48:06 +00:00
Mark Kettenis
0b33793d22
* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
...
to the start of a block.
2006-07-14 11:00:59 +00:00
Alan Modra
51d6a637d1
daily update
2006-07-14 00:00:05 +00:00
Nick Clifton
230d6d81b0
* coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() returning a NULL
...
value.
2006-07-13 09:07:36 +00:00
Alan Modra
dd964dd4d5
daily update
2006-07-13 00:00:06 +00:00
H.J. Lu
d2dee3b25c
bfd/
...
2006-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2884
* elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
the old versioned dynamic definition to the new one with
non-default visibility. Hide the symbol if it is hidden or
internal.
ld/testsuite/
2006-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR ld/2884
* ld-elf/begin.c: New file.
* ld-elf/end.c: Likewise.
* ld-elf/endhidden.c: Likewise.
* ld-elf/endprotected.c: Likewise.
* ld-elf/foo.c: Likewise.
* ld-elf/foo.map: Likewise.
* ld-elf/hidden.out: Likewise.
* ld-elf/main.c: Likewise.
* ld-elf/normal.out: Likewise.
* ld-elf/shared.exp: Likewise.
* lib/ld-lib.exp (run_cc_link_tests): New.
2006-07-12 15:45:33 +00:00
Richard Sandiford
fb405f8a9f
bfd/
...
2006-07-12 Matthew R. Dempsky <mrd@alkemio.org>
* cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
ld/testsuite/
2006-07-12 Richard Sandiford <richard@codesourcery.com>
* ld-m68k/merge-ok-1c.d: New test.
* ld-m68k/m68k.exp: Run it.
2006-07-12 12:47:00 +00:00
Alan Modra
743a4945a6
daily update
2006-07-12 00:00:11 +00:00
Alan Modra
f95c03496d
daily update
2006-07-11 00:00:09 +00:00
Jakub Jelinek
fdc90cb46b
include/
...
* bfdlink.h (struct bfd_link_info): Add emit_hash and
emit_gnu_hash bitfields.
include/elf/
* common.h (SHT_GNU_HASH, DT_GNU_HASH): Define.
ld/
* scripttempl/elf.sc: Add .gnu.hash section.
* emultempl/elf32.em (OPTION_HASH_STYLE): Define.
(gld${EMULATION_NAME}_add_options): Register --hash-style option.
(gld${EMULATION_NAME}_handle_option): Handle it.
(gld${EMULATION_NAME}_list_options): Document it.
* ldmain.c (main): Initialize emit_hash and emit_gnu_hash.
* ld.texinfo: Document --hash-style option.
bfd/
* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
(bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
Handle SHT_GNU_HASH.
(special_sections_g): Include .gnu.hash section.
(bfd_elf_gnu_hash): New function.
* elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
(struct elf_backend_data): Add elf_hash_symbol method.
* elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
only if info->emit_hash, create .gnu.hash section if
info->emit_gnu_hash.
(struct collect_gnu_hash_codes): New type.
(elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
_bfd_elf_hash_symbol): New functions.
(compute_bucket_count): Don't compute HASHCODES array, instead add
that and NSYMS as arguments. Use bed->s->sizeof_hash_entry
instead of bed->s->arch_size / 8. Fix .hash size estimation.
When not optimizing, use the number of hashed symbols rather than
dynsymcount.
(bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
and ADD DT_GNU_HASH if info->emit_gnu_hash.
(bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
adjust compute_bucket_count caller. Create and populate .gnu.hash
section if info->emit_gnu_hash.
(elf_link_output_extsym): Only populate .hash section if
finfo->hash_sec != NULL.
(bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH.
* elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
(elfNN_bed): Add elf_backend_hash_symbol.
* elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
(elf_backend_hash_symbol): Define.
* elf32-i386.c (elf_i386_hash_symbol): New function.
(elf_backend_hash_symbol): Define.
binutils/
* readelf.c (get_dynamic_type): Handle DT_GNU_HASH.
(get_section_type_name): Handle SHT_GNU_HASH.
(dynamic_info_DT_GNU_HASH): New variable.
(process_dynamic_section): Handle DT_GNU_HASH.
(process_symbol_table): Print also DT_GNU_HASH histogram.
ld/testsuite/
* ld-powerpc/tlsso32.r: Adjust.
* ld-powerpc/tlsso32.d: Adjust.
* ld-powerpc/tlsso32.g: Adjust.
* ld-powerpc/tlsso.r: Adjust.
* ld-powerpc/tlsso.g: Adjust.
* ld-powerpc/tlstocso.g: Adjust.
2006-07-10 21:40:25 +00:00
Alan Modra
9c5302bf58
daily update
2006-07-10 00:00:08 +00:00
Alan Modra
2ea0c3d63b
daily update
2006-07-09 00:00:43 +00:00
Alan Modra
cc4481ed9a
daily update
2006-07-08 00:00:06 +00:00
Alan Modra
34e7de0217
daily update
2006-07-07 00:00:10 +00:00
Alan Modra
790d799eb2
daily update
2006-07-06 00:00:06 +00:00
Nick Clifton
cfc9dfb123
PR ld/2659
...
* cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux entry when
multiple definitions of a symbol are encountered.
2006-07-05 10:21:39 +00:00
Alan Modra
f48c3cdcaa
daily update
2006-07-05 00:00:10 +00:00
Alan Modra
725fbf6c1d
daily update
2006-07-04 00:00:06 +00:00
Alan Modra
3209624215
daily update
2006-07-03 00:00:09 +00:00
Alan Modra
593cecfbc5
daily update
2006-07-02 00:00:09 +00:00
Alan Modra
e41ad213e2
daily update
2006-07-01 00:00:11 +00:00
H.J. Lu
10efb593b7
bfd/
...
2006-06-30 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
instead of 2 nops.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
(elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
ld/testsuite/
2006-06-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/tlsbindesc.dd: Updated to expect xchg %ax,%ax instead
of 2 nops.
* ld-i386/tlsdesc.dd: Likewise.
* ld-i386/tlsgdesc.dd: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlsdesc.pd: Likewise.
* ld-x86-64/tlsgdesc.dd: Likewise.
2006-06-30 14:16:13 +00:00
Alan Modra
e60f4e61e0
daily update
2006-06-30 00:00:08 +00:00
Jakub Jelinek
ebcfb3c00f
PR ld/2513
...
* elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
2006-04-08 changes.
(elf_i386_relocate_section): Likewise. For GD->IE transition
change subl into addl whenever tls_type is GOT_TLS_IE_POS.
* ld-i386/tlsbin.dd: Fix expected output.
2006-06-29 12:34:37 +00:00
Alan Modra
ba06dcc4ad
daily update
2006-06-29 00:00:06 +00:00
Alan Modra
a8fa035441
daily update
2006-06-28 00:00:04 +00:00
Alan Modra
8cb04ac660
daily update
2006-06-27 00:00:09 +00:00
Alan Modra
998b504375
daily update
2006-06-26 00:00:36 +00:00