Commit graph

2192 commits

Author SHA1 Message Date
Alan Modra
055d38886f daily update 2002-09-20 00:00:04 +00:00
Jakub Jelinek
37e55690c4 bfd/
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
	BFD_RELOC_386_TLS_GOTIE): Add.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
	and R_386_TLS_GOTIE.
	(elf_i386_reloc_type_lookup): Handle it.
	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
	char instead of enum, change GOT_* into defines.
	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
	tls_type is GOT_TLS_IE_BOTH.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
	all 4 GOT_TLS_* TLS types.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Handle
	BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE.
	(BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0
	if not defined.
	(lex_got): Handle @GOTNTPOFF and @INDNTPOFF.
	(md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and
	BFD_RELOC_386_TLS_GOTIE.
gas/testsuite/
	* gas/i386/tlspic.s: Add tests.
	* gas/i386/tlspic.d: Regenerated.
	* gas/i386/tlsnopic.s: Add tests.
	* gas/i386/tlsnopic.d: Regenerated.
include/
	* elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
	Define.
ld/testsuite/
	* ld-i386/i386.exp: New.
	* ld-i386/tlsbin.dd: New test.
	* ld-i386/tlsbinpic.s: New test.
	* ld-i386/tlsbin.rd: New test.
	* ld-i386/tlsbin.s: New test.
	* ld-i386/tlsbin.sd: New test.
	* ld-i386/tlsbin.td: New test.
	* ld-i386/tlslib.s: New test.
	* ld-i386/tlsnopic1.s: New test.
	* ld-i386/tlsnopic2.s: New test.
	* ld-i386/tlsnopic.dd: New test.
	* ld-i386/tlsnopic.rd: New test.
	* ld-i386/tlsnopic.sd: New test.
	* ld-i386/tlspic1.s: New test.
	* ld-i386/tlspic2.s: New test.
	* ld-i386/tlspic.dd: New test.
	* ld-i386/tlspic.rd: New test.
	* ld-i386/tlspic.sd: New test.
	* ld-i386/tlspic.td: New test.
2002-09-19 19:01:18 +00:00
Nick Clifton
8e67855b57 When examining weak symbols, follow indirect links. 2002-09-19 16:34:14 +00:00
Nick Clifton
0e327d91fa Fix error reading ECOFF information: 'ioptMax' refers to the actual *size*
of the optimization symtab, not the number of entries.
2002-09-19 15:38:36 +00:00
Nick Clifton
1c59ba3fd5 Update to correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1) 2002-09-19 15:31:30 +00:00
Nick Clifton
9d7404b762 (elf32_arm_adjust_dynamic_symbol): Update ELF_LINK_HASH_NEEDS_PLT logic. 2002-09-19 14:59:51 +00:00
Jakub Jelinek
ca1eb0ba30 Fix the ChangeLog entry for my last commit. 2002-09-19 11:38:22 +00:00
Alan Modra
ca4855e6f1 daily update 2002-09-19 00:00:03 +00:00
Stan Cox
47293a4ce4 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3. 2002-09-18 17:28:37 +00:00
Daniel Jacobowitz
05a487dc8c * elfcode.h (elf_slurp_reloc_table_from_section): Check
correct relocation count.
2002-09-18 13:25:35 +00:00
Daniel Jacobowitz
1f70368c21 * bfd-in.h (bfd_get_dynamic_symcount): Define.
* bfd.c (struct _bfd): Add dynsymcount.
        * bfd-in2.h: Regenerated.
        * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
        abfd->dynsymcount.
        * elfcode.h (elf_slurp_reloc_table_from_section): Check
        for overflow.
2002-09-18 02:39:43 +00:00
Stan Cox
a902ee94b7 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
(mips_elf64_final_gp): Don't make up gp value.
	* elfn32-mips.c (mips_elf_final_gp): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
	.MIPS.options/.options section.
2002-09-18 01:38:20 +00:00
Alan Modra
6a99f81305 daily update 2002-09-18 00:00:05 +00:00
David O'Brien
290062cce3 2002-09-17 David O'Brien <obrien@FreeBSD.org>
* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
	It is benign for FreeBSD < 4.1.  Minor reformatting.
	* elf64-alpha-fbsd.c: Likewise.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20020917182339.B14457@bubble.sa.bigpond.net.au>
2002-09-17 19:49:04 +00:00
Jakub Jelinek
c5c1f40c26 * elf_i386_relocate_section (R_386_TLS_TPOFF32): Negate addend. 2002-09-17 09:52:41 +00:00
Alan Modra
a6588c3004 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
* cpu-tic4x.c: Ditto.
2002-09-17 08:59:11 +00:00
Alan Modra
562ace6b79 * elf64-alpha.c (alpha_elf_size_info): Make static. 2002-09-17 08:48:54 +00:00
Alan Modra
5af6ead675 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
* cpu-tic4x.c: Ditto.
2002-09-17 08:33:13 +00:00
Thiemo Seufer
cb9512fc2f * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
duplicate define.
2002-09-17 07:48:30 +00:00
David O'Brien
4ada7262d0 2002-09-16 Bruno Haible <bruno@clisp.org>
* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
	by a target variant implementation.
	* elf64-alpha.c: Likewise.
	* elf32-i386-fbsd.c: New file.
	* elf64-alpha-fbsd.c: New file.
	* targets.c: Support bfd_elf32_i386_freebsd_vec and
	bfd_elf64_alpha_freebsd_vec.
	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
	bfd_elf64_alpha_freebsd_vec.
	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.

	* config/tc-i386.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386".
	* config/tc-i386.c (i386_target_format): Likewise.
	* config/tc-alpha.h (ELF_TARGET_FORMAT): New macro.
	(TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha".

	* emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to
	elf32-i386-freebsd.
	* emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to
	elf64-alpha-freebsd.

Approved by:  Alan Modra <amodra@bigpond.net.au>
              Message-ID: <20020715021113.GJ30362@bubble.sa.bigpond.net.au>
2002-09-17 02:24:40 +00:00
Alan Modra
f184d8167c daily update 2002-09-17 00:00:05 +00:00
Alan Modra
e213f11339 daily update 2002-09-16 00:00:05 +00:00
Alan Modra
af6efa2927 daily update 2002-09-15 00:00:04 +00:00
Alan Modra
94202ba54e daily update 2002-09-14 00:00:04 +00:00
Alan Modra
4cfa75e2b2 daily update 2002-09-13 00:00:05 +00:00
Jakub Jelinek
6a30718d0e * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
NULL.
	(elf_i386_relocate_section): Return false after printing error about
	unresolvable relocation.
2002-09-12 14:01:20 +00:00
Nick Clifton
6cf9e9fe1d Fix handling of R_ARM_THM_PC11 2002-09-12 13:18:57 +00:00
Alan Modra
b2e57ccbb6 daily update 2002-09-12 00:00:05 +00:00
Jeff Law
32ac2c9a75 * elf32-h8300.c (elf32_h8_relax_section): Fix typo. 2002-09-11 19:19:11 +00:00
Nick Clifton
dc43ada5bf Check functionname_ptr and line_ptr before deciding we've found a symbol. 2002-09-11 14:30:53 +00:00
Nick Clifton
e09f439535 Update translations 2002-09-11 13:52:17 +00:00
Alan Modra
470903d0b0 daily update 2002-09-11 00:00:04 +00:00
Nick Clifton
b3018b5f70 Call new functions do_sections, do_sections64, depending on corefile (32-bit
or 64-bit).
2002-09-10 10:39:03 +00:00
Alan Modra
4a386c0bd2 daily update 2002-09-10 00:00:05 +00:00
Richard Henderson
2f21f25e2b * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
and PCREL21F like PCREL21B.
2002-09-09 17:34:07 +00:00
Alan Modra
0b42ccd55f daily update 2002-09-09 00:00:08 +00:00
Alan Modra
78c87cb7e6 daily update 2002-09-08 00:00:04 +00:00
Alan Modra
041386aa43 daily update 2002-09-07 00:00:04 +00:00
Alan Modra
dbbfa733b4 daily update 2002-09-06 00:00:04 +00:00
Alan Modra
8f8429869e daily update 2002-09-05 00:00:03 +00:00
Kevin Buettner
28b94e7ce2 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
vector.
2002-09-04 23:10:59 +00:00
Alan Modra
5731205c28 daily update 2002-09-04 00:00:05 +00:00
Alan Modra
b8bb248ad6 daily update 2002-09-03 00:00:04 +00:00
Nick Clifton
5cec694196 Use helpful names instead of cryptically overloaded bfd_reloc error codes.
Replace caching of external symbols with caching of internal symbols obtained
from calling bfd_elf_get_elf_syms().
Fixup problems with freeing cached allocated memory blocks.
2002-09-02 14:23:43 +00:00
Alan Modra
638524b534 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
(bfd_pj_arch): Use bfd_default_scan.
	* cpu-v850.c (scan): Remove.
	(N): Use bfd_default_scan.
	* cpu-z8k.c (scan_mach): Remove.
	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
	first.  Use bfd_default_scan.
2002-09-02 11:52:01 +00:00
Alan Modra
250d94fd4b * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
bfd_mach constants.
	(ecoff_get_magic): Likewise.
	* elf32-v850.c (v850_elf_object_p): Likewise.
	(v850_elf_final_write_processing): Likewise.
	* mipsbsd.c (MY(set_arch_mach)): Likewise.
	(MY(write_object_contents)): Likewise.
	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
	* coffcode.h (coff_write_object_contents): Likewise.
	(coff_set_arch_mach_hook): Add comment describing machine == 0.
	Remove unnecessary "machine" assignments.
	(coff_write_relocs): Test for the absolute section sym by testing
	section and flags.

	* pdp11.c (NAME(aout,machine_type)): Like aoutx.h.
2002-09-02 11:47:42 +00:00
Alan Modra
3b77b1d509 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
and bfd_mach_i386_i386_intel_syntax.
2002-09-02 05:58:55 +00:00
Alan Modra
2fc2fd0100 daily update 2002-09-02 00:00:06 +00:00
Alan Modra
c73618fa9c daily update 2002-09-01 00:00:07 +00:00
Alan Modra
6b9e33ce06 daily update 2002-08-31 00:00:08 +00:00