Commit Graph

2248 Commits

Author SHA1 Message Date
Daniel Jacobowitz eda81658db * Makefile.am (BFD_H_DEP): Add simple.c and linker.c.
* Makefile.in: Regenerated.
2002-10-11 13:52:53 +00:00
Alan Modra 7f6a766382 * elf64-ppc.c (edit_opd): Correct local sym adjustment. 2002-10-11 12:59:06 +00:00
Alan Modra 14a793b2f2 Fix numerous occurrences of
warning: dereferencing type-punned pointer will break strict-aliasing rules
2002-10-11 08:33:11 +00:00
Alan Modra 0be617ce13 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
completely removed.
2002-10-11 04:36:13 +00:00
Alan Modra 5b33f915bf daily update 2002-10-11 00:00:04 +00:00
Stephen Clarke 0a4ef3f414 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
Correct mistake in calculation of address of .got.
* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
elf_sh64_pic_plt_entry_le): Likewise.
2002-10-10 21:45:14 +00:00
Alan Modra aaa9de95f4 daily update 2002-10-10 00:00:03 +00:00
Stephen Clarke efacd36e84 * Makefile.am: Add entries for elf32-sh64-lin.c and
elf64-sh64-lin.c. Regenerate.
* Makefile.in: Regenerate.
* config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
to use sh64 vectors rather than sh vectors.
* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
* configure: Regenerate.
* elf32-sh64-lin.c: New file.
* elf64-sh64-lin.c: New file.
* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
2002-10-09 19:03:57 +00:00
Alan Modra d14a0ab1e1 daily update 2002-10-09 00:00:05 +00:00
H.J. Lu 299bf75951 2002-10-08 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
	IE->LE transition for R_386_TLS_IE.
2002-10-08 16:11:07 +00:00
Alan Modra 51020317ee * elf64-ppc.c (edit_opd): Correct test for discarded sections. 2002-10-08 09:51:09 +00:00
Alan Modra 498b1dfee9 daily update 2002-10-08 00:00:05 +00:00
Nick Clifton a8fcf37848 Don't mark relocations in excluded sections. 2002-10-07 16:27:39 +00:00
Alan Modra a6b511bd9e * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
code.
2002-10-07 00:14:28 +00:00
Alan Modra a16d5acb50 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx. 2002-10-07 00:06:01 +00:00
Alan Modra 5f75af3aae daily update 2002-10-07 00:00:03 +00:00
Alan Modra 7c4a37eb43 * opncls.c: Formatting.
(_bfd_new_bfd): Use a smaller section hash table.
2002-10-06 09:03:06 +00:00
Alan Modra f84e2993b2 daily update 2002-10-06 00:00:06 +00:00
Alexandre Oliva 7c4ca42da5 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
of the other two relocations packed with a REL32 to NONE.
2002-10-05 11:18:13 +00:00
Alan Modra d8d70ddf93 daily update 2002-10-05 00:00:04 +00:00
Alan Modra bd8f55f370 daily update 2002-10-04 00:00:04 +00:00
Alan Modra c8542e61a6 daily update 2002-10-03 00:00:04 +00:00
Stephen Clarke 4989d792c8 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
(sh_elf_link_hash_newfunc): Initialize it.
(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
to got.refcount for symbols that are forced local or when
we have direct got refs.
(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
to correctly adjust got.refcount and plt.refcount.
(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
(sh_elf_check_relocs): Increment gotplt_refcount.
2002-10-02 21:53:40 +00:00
Alan Modra 7ec4e8e52d daily update 2002-10-02 00:00:12 +00:00
Jakub Jelinek 7c445aa3c8 bfd/
* elf32-i386.c (elf_i386_relocate_section): Fix
	movl foo@indntpoff, %eax IE->LE transition.
ld/testsuite/
	* ld-i386/i386.exp: Add tlsindntpoff test.
	* ld-i386/tlsindntpoff.s: New test.
	* ld-i386/tlsindntpoff.dd: New test.
2002-10-01 10:43:37 +00:00
Jakub Jelinek abcf1d5247 bfd/
* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
	sequence and its transitions.
ld/testsuite/
	* ld-x86-64/tlspic1.s: Change TLSGD sequences.
	* ld-x86-64/tlsbinpic.s: Likewise.
	* ld-x86-64/tlspic.dd: Adjust.
2002-10-01 09:15:34 +00:00
Jakub Jelinek a45bb67df2 bfd/
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
	to st_value + addend in non-code sections.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.

ld/testsuite/
	* ld-i386/i386.exp: Add tlsg test.
	* ld-i386/tlsg.s: New test.
	* ld-i386/tlsg.sd: New test.
	* ld-i386/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-x86-64/x86-64.exp: Add tlsg test.
	* ld-x86-64/tlsg.s: New test.
	* ld-x86-64/tlsg.sd: New test.
	* ld-x86-64/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-x86-64/tlsbinpic.s: Likewise.
2002-10-01 09:10:46 +00:00
Alan Modra cd614c8e99 daily update 2002-10-01 00:00:04 +00:00
Richard Sandiford 00707a0e89 [include/elf]
* mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.

[bfd/]
	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
	(bfd_mach_mips5500): New.
	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
	(arch_info_struct): Add corresponding entries here.
	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
	bfd_mach_mips5400 and bfd_mach_mips5500.
	(_bfd_mips_elf_mach_extends_p): New function.
	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
	the EF_MIPS_MACH flags.
	* bfd-in2.h: Regenerate.
2002-09-30 11:53:56 +00:00
Alan Modra b62460894d daily update 2002-09-30 00:00:05 +00:00
Alan Modra b98e220fe5 daily update 2002-09-29 00:00:04 +00:00
Jason Thorpe 624f0b2537 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
.got sections.
2002-09-28 23:15:50 +00:00
Alan Modra b89fe0ee4b * elf.c (map_sections_to_segments): Correct test for start of
writable section in the same page as end of read-only section.
2002-09-28 03:25:56 +00:00
Alan Modra d6f80f8172 daily update 2002-09-28 00:00:05 +00:00
Jason Thorpe b29635ba03 * elf32-vax.c (elf_vax_check_relocs): Remove unused
local_got_refcounts usage.  Remove allocation of got slot.
(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
Remove de-allocation of got slot.
(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
traversal for elf_vax_instantiate_got_entries.  Allow empty .got
sections to be GC'ed.
(elf_vax_instantiate_got_entries): New function.
(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
tests that are now handled by elf_vax_instantiate_got_entries.
Assert GOT entry falls within .got section size.  Remove redundant
comparisions.  Fix comments.
2002-09-27 22:28:17 +00:00
Jakub Jelinek bffbf9406f bfd/
* reloc.c: Add x86-64 TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
	relocs.  Add TLS relocs.
	(x86_64_reloc_map): Add TLS relocs.
	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
	(elf64_x86_64_hash_entry): Define.
	(struct elf64_x86_64_obj_tdata): New.
	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
	(link_hash_newfunc): Initialize tls_type.
	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
	(elf64_x86_64_mkobject): New.
	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
	(elf64_x86_64_tls_transition): New.
	(elf64_x86_64_check_relocs): Add r_type variable and use it.
	Handle TLS relocs.
	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(dtpoff_base, tpoff): New.
	(elf64_x86_64_relocate_section): Handle TLS relocs.
	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
	entries.
	(bfd_elf64_mkobject): Define.

	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
	DF_STATIC_TLS if shared.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add
	@tlsld.
	(md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD,
	BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF.
	(tc_gen_reloc): Handle x86-64 TLS relocs.
include/
	* elf/x86-64.h: Add TLS relocs.
ld/testsuite/
	* lib/ld-lib.exp (run_ld_link_tests): Add.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff,
	file_contents): Remove.
	(sh64tests): Add 6th field to the tests array.
	* ld-i386/i386.exp (run_ld_link_tests): Remove.
	* ld-x86-64/x86-64.exp: New.
	* ld-x86-64/tlsbin.dd: New test.
	* ld-x86-64/tlsbinpic.s: New test.
	* ld-x86-64/tlsbin.rd: New test.
	* ld-x86-64/tlsbin.s: New test.
	* ld-x86-64/tlsbin.sd: New test.
	* ld-x86-64/tlsbin.td: New test.
	* ld-x86-64/tlslib.s: New test.
	* ld-x86-64/tlspic1.s: New test.
	* ld-x86-64/tlspic2.s: New test.
	* ld-x86-64/tlspic.dd: New test.
	* ld-x86-64/tlspic.rd: New test.
	* ld-x86-64/tlspic.sd: New test.
	* ld-x86-64/tlspic.td: New test.
2002-09-27 19:29:18 +00:00
Alan Modra 1b29edd56e daily update 2002-09-27 00:00:03 +00:00
Thiemo Seufer 1436646065 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
empty relocation sections.
2002-09-26 09:10:57 +00:00
Alan Modra 9f951329b6 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
(ppc64_elf_build_stubs): Build them here instead.
2002-09-26 05:19:38 +00:00
Alan Modra c8776d756a daily update 2002-09-26 00:00:05 +00:00
Alan Modra 0d945288dd daily update 2002-09-25 00:00:09 +00:00
Jakub Jelinek 6b3ac70943 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
addend into r_addend, not *r_offset.
	(elf32_sparc_finish_dynamic_symbol): Likewise.
	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
	R_SPARC_RELATIVE's r_offset.
2002-09-24 15:54:22 +00:00
Nick Clifton a2ce5bdc13 Fix typo introduced with previous delta. 2002-09-24 07:11:16 +00:00
Alan Modra 30afc28bae daily update 2002-09-24 00:00:05 +00:00
Daniel Jacobowitz 10f469bf06 Add missing ChangeLog entry 2002-09-23 21:29:27 +00:00
Nick Clifton e2f6d27741 Update to correctly decode (non-standard DWARF2) out-of-order address sequences. 2002-09-23 16:13:52 +00:00
DJ Delorie f3961b2b3d * config.bfd: For DJGPP targets, match with any cpu and any machine. 2002-09-23 11:59:34 +00:00
Alan Modra ad34bc37c1 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
for discarded FDEs.  Remove redundant assignment.
	* elflink.h (elf_bfd_discard_info): Save edited relocs.
2002-09-23 10:52:03 +00:00
Alan Modra 59810fca36 daily update 2002-09-23 00:00:09 +00:00
H.J. Lu 82988bffc5 2002-09-22 H.J. Lu <hjl@gnu.org>
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
	the relocation count between different .reloc sections.
2002-09-22 22:32:49 +00:00