binutils-gdb/gas/config
Jakub Jelinek 13ae64f3c7 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
for symbols from SHF_TLS section.
	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
	(map_sections_to_segments): Build PT_TLS segment if necessary.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Account for PT_TLS segment.
	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
	SEC_THREAD_LOCAL sections to STT_TLS.
	* reloc.c: Add 386 and IA-64 TLS relocs.
	* section.c (SEC_THREAD_LOCAL): Define.
	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
	Remove.
	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
	unconditionally.
	(struct elf_final_link_info): Add first_tls_sec.
	(elf_bfd_final_link): Set first_tls_sec.
	Compute elf_hash_table (info)->tls_segment.
	(elf_link_output_extsym): Handle STT_TLS symbols.
	(elf_link_input_bfd): Likewise.
	* syms.c (BSF_THREAD_LOCAL): Define.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.
	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
	elf_i386_mkobject, elf_i386_object_p): New functions.
	(elf_howto_table): Add TLS relocs.
	(elf_i386_reloc_type_lookup): Support TLS relocs.
	(elf_i386_info_to_howto_rel): Likewise.
	(struct elf_i386_link_hash_entry): Add tls_type.
	(struct elf_i386_obj_tdata): New.
	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
	New macros.
	(struct elf_i386_link_hash_table): Add tls_ldm_got.
	(link_hash_newfunc): Clear tls_type.
	(elf_i386_check_relocs): Support TLS relocs.
	(elf_i386_gc_sweep_hook): Likewise.
	(allocate_dynrelocs): Likewise.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Likewise.
	(elf_i386_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject, elf_backend_object_p): Define.
	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
	want_tprel, want_dtpmod, want_dtprel.
	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
	R_IA64_LTOFF_TPREL22.
	(elf_code_to_howto_index): Add TLS relocs.
	(elfNN_ia64_check_relocs): Support TLS relocs.
	(allocate_global_data_got): Account for TLS .got data.
	(allocate_dynrel_entries): Account for TLS dynamic relocations.
	(elfNN_ia64_install_value): Supprt TLS relocs.
	(set_got_entry): Support TLS relocs.
	(elfNN_ia64_relocate_section): Likewise.

	* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
	(obj_elf_common): Call elf_common.
	(obj_elf_tls_common): New function.
	(elf_pseudo_tab): Support .tls_common.
	(special_sections): Add .tdata and .tbss.
	(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
	sections.
	(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
	(obj_elf_parse_section_letters): Include T in error message.
	* config/tc-ppc.c (ppc_section_letter): Likewise.
	* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
	(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
	SEC_MERGE.
	* config/tc-sparc.c (md_apply_fix3): Likewise.
	* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
	and @NTPOFF.
	(md_apply_fix3): Add TLS relocs.
	* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
	FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
	FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
	(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
	(ia64_elf_section_letter): Include T in error message.
	(md_begin): Support TLS operators.
	(md_operand): Likewise.
	(ia64_gen_real_reloc_type): Support TLS relocs.
	* testsuite/gas/i386/tlspic.s: New file.
	* testsuite/gas/i386/tlsd.s: New file.
	* testsuite/gas/i386/tlsnopic.s: New file.
	* testsuite/gas/i386/tlsd.d: New file.
	* testsuite/gas/i386/tlsnopic.d: New file.
	* testsuite/gas/i386/tlspic.d: New file.
	* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
	* testsuite/gas/ia64/tls.s: New file.
	* testsuite/gas/ia64/tls.d: New file.
	* testsuite/gas/ia64/ia64.exp: Add tls test.
	* write.c (adjust_reloc_syms): Don't change symbols in
	SEC_THREAD_LOCAL sections to STT_SECTION + addend.

	* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
	* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
	* elf/i386.h: Add TLS relocs.

	* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
	* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
	output section if necessary.  Handle .tbss.
	(lang_size_sections): Clear _raw_size for .tbss section
	(it allocates space in PT_TLS segment only).
	* ldwrite.c (build_link_order): Build link order for .tbss too.

	* readelf.c (get_segment_type): Add PT_TLS.
	(get_elf_section_flags): Add SHF_TLS.
	(get_dynamic_flags): Optimize.  Add DF_STATIC_TLS.
	(process_dynamic_segment): Use puts instead of printf.
	(get_symbol_type): Support STT_TLS.
	* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
	SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
	Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
..
aout_gnu.h Fix copyright notices 2001-03-08 23:24:26 +00:00
atof-ieee.c Fix thinko in last commit. 2002-04-11 11:21:01 +00:00
atof-tahoe.c Fix copyright notices 2001-03-08 23:24:26 +00:00
atof-vax.c Fix copyright notices 2001-03-08 23:24:26 +00:00
e-crisaout.c
e-criself.c
e-i386aout.c * symbols.c: Add missing prototypes. 2001-08-09 14:42:07 +00:00
e-i386coff.c * symbols.c: Add missing prototypes. 2001-08-09 14:42:07 +00:00
e-i386elf.c * symbols.c: Add missing prototypes. 2001-08-09 14:42:07 +00:00
e-mipsecoff.c
e-mipself.c
itbl-mips.h Fix copyright notices 2001-03-08 23:24:26 +00:00
m68k-parse.h Fix copyright notices 2001-03-08 23:24:26 +00:00
m68k-parse.y Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
m88k-opcode.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-aout.c Fix compile time warnings 2001-09-22 09:23:31 +00:00
obj-aout.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-bout.c * symbols.c (resolve_symbol_value): Remove "finalize" param, 2001-05-22 10:23:50 +00:00
obj-bout.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-coff.c Silently ignore an 'a' flag in a COFF .section directive. 2002-05-23 10:45:14 +00:00
obj-coff.h * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
obj-ecoff.c * write.c (write_object_file): Make use of bfd_section_list_remove. 2002-01-05 13:13:18 +00:00
obj-ecoff.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-elf.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
obj-elf.h * config/obj-elf.c (elf_copy_symbol_attributes): Make it a global 2001-08-08 13:11:58 +00:00
obj-evax.c Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-evax.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-hp300.c Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-hp300.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-ieee.c * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
obj-ieee.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-multi.c
obj-multi.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-som.c Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-som.h Fix copyright notices 2001-03-08 23:24:26 +00:00
obj-vms.c Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
obj-vms.h * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
tc-a29k.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-a29k.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-alpha.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
tc-alpha.h * config/tc-alpha.c (O_samegp): New. 2002-02-09 22:55:06 +00:00
tc-arc.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-arc.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-arm.c For the Thumb BLX reloc round the relocation up rather than down. 2002-05-23 12:37:57 +00:00
tc-arm.h * tc-arm.c (all error messages): Normalize capitalization of messages. 2002-01-14 15:01:04 +00:00
tc-avr.c * config/tc-avr.c (mcu_types): Update for new devices. 2002-05-16 19:24:00 +00:00
tc-avr.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-cris.c Fix typo in comment in last commit 2001-11-17 18:51:15 +00:00
tc-cris.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-d10v.c * config/obj-coff.c: Fix formatting. 2002-05-09 13:12:57 +00:00
tc-d10v.h Various fixes and improvements for d10v. 2002-04-03 19:44:05 +00:00
tc-d30v.c * config/obj-coff.c: Fix formatting. 2002-05-09 13:12:57 +00:00
tc-d30v.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-fr30.c Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
tc-fr30.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-generic.c
tc-generic.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-h8300.c * config/obj-coff.c: Fix formatting. 2002-05-09 13:12:57 +00:00
tc-h8300.h * tc-h8300.c (relocation mappings): Remove. Moved to tc-h8300.h. 2001-08-31 17:43:52 +00:00
tc-h8500.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-h8500.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-hppa.c * config/obj-coff.c: Fix formatting. 2002-05-09 13:12:57 +00:00
tc-hppa.h bfd: 2002-02-02 18:36:04 +00:00
tc-i370.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-i370.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-i386.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
tc-i386.h * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
tc-i860.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-i860.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-i960.c Fix i960-elf abort in cvt_frag_to_fill while compiling libc/stdio/vfprintf.c. 2002-05-09 01:43:11 +00:00
tc-i960.h * config/tc-alpha.h: Fix formatting. 2001-07-23 14:02:13 +00:00
tc-ia64.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
tc-ia64.h * config/tc-ia64.c: Fix formatting. 2002-05-06 11:43:03 +00:00
tc-m32r.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-m32r.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-m68hc11.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-m68hc11.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-m68k.c * config/tc-m68k.c: Fix formatting. 2002-05-08 01:54:04 +00:00
tc-m68k.h * config/tc-m68k.h (md_prepare_relax_scan): Rewrite. 2002-01-06 12:15:45 +00:00
tc-m88k.c 2001-11-20 Ben Elliston <bje@redhat.com> 2001-11-20 03:33:30 +00:00
tc-m88k.h * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
tc-m68851.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-mcore.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-mcore.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-mips.c * config/tc-mips.c (macro): Relax warning, it's toot strict for 2002-05-22 00:13:13 +00:00
tc-mips.h Remove redundant definition. 2001-12-18 14:35:34 +00:00
tc-mmix.c * config/tc-mmix.c: Fix formatting. 2002-05-09 00:33:09 +00:00
tc-mmix.h * config/tc-mmix.c: Fix formatting. 2002-05-09 00:33:09 +00:00
tc-mn10200.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-mn10200.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-mn10300.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-mn10300.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-ns32k.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-ns32k.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-openrisc.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-openrisc.h Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-or32.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-or32.h Add support for OpenRISC 32-bit embedded processor 2002-01-31 17:33:08 +00:00
tc-pdp11.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-pdp11.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-pj.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-pj.h * config/tc-alpha.h: Fix formatting. 2001-07-23 14:02:13 +00:00
tc-ppc.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
tc-ppc.h * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
tc-s390.c * config/tc-mips.c: Fix formatting. 2002-05-04 17:38:00 +00:00
tc-s390.h * config/tc-mips.c: Fix formatting. 2002-05-04 17:38:00 +00:00
tc-sh64.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-sh64.h Contribute sh64-elf. 2002-02-08 06:32:23 +00:00
tc-sh.c Define md_pcrel_from for use with sh-hms target. 2002-05-11 11:31:17 +00:00
tc-sh.h * write.c (size_seg): Check adjustment to last frag. 2002-05-23 08:08:48 +00:00
tc-sparc.c * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL 2002-05-23 13:12:53 +00:00
tc-sparc.h * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for 2001-12-21 22:35:24 +00:00
tc-tahoe.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-tahoe.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-tic30.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-tic30.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-tic54x.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-tic54x.h Fix tic54x testsuite failures and Lmem disassembly bugs. 2001-11-13 14:22:53 +00:00
tc-tic80.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-tic80.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-v850.c * config/tc-v850.c: Add missing prototypes amd use old-style 2002-02-01 16:29:21 +00:00
tc-v850.h * config/tc-v850.c: Add missing prototypes amd use old-style 2002-02-01 16:29:21 +00:00
tc-vax.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-vax.h Fix copyright notices 2001-03-08 23:24:26 +00:00
tc-w65.c Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
tc-w65.h * config/tc-alpha.h: Fix formatting. 2001-07-23 14:02:13 +00:00
tc-xstormy16.c * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-xstormy16.h * config/obj-coff.h: Fix formatting. 2002-05-11 09:53:52 +00:00
tc-z8k.c The patch contains mostly fixes for the disassembler. It also fixes 2002-04-25 10:59:24 +00:00
tc-z8k.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-386bsd.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-aix5.h * config/te-aix5.h: Typo fix. 2002-03-22 02:07:36 +00:00
te-aux.h
te-delt88.h
te-delta.h
te-dpx2.h
te-dynix.h
te-epoc-pe.h
te-freebsd.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-generic.h
te-go32.h
te-hp300.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-hppa64.h
te-hppa.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-hppalinux64.h
te-hpux.h ia64-hpux patches from Steve Ellcey. 2000-11-07 01:21:10 +00:00
te-i386aix.h
te-ia64aix.h Added ia64-*-aix* configuration. 2001-02-22 17:16:38 +00:00
te-ic960.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-interix.h
te-linux.h
te-lnews.h
te-lynx.h
te-mach.h
te-macos.h
te-nbsd532.h
te-nbsd.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-pc532mach.h
te-pe.h
te-ppcnw.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-psos.h
te-riscix.h
te-sparcaout.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-sun3.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-svr4.h
te-sysv32.h
te-tmips.h Fix copyright notices 2001-03-08 23:24:26 +00:00
te-wince-pe.h
vax-inst.h Fix copyright notices 2001-03-08 23:24:26 +00:00
vms-a-conf.h
vms-conf.h 2000-11-14 Kazu Hirata <kazu@hxi.com> 2000-11-14 20:57:30 +00:00