aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
blob: 4dcd1e75071ba63645ebdf0d16e4d32167660ef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
2006-02-05  Arnold Metselaar  <arnold.metselaar@planet.nl>

	* coff-z80.c (r_imm24): New howto. 
	(rtype2howto): New case R_IMM24.
	(coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
	(extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.

2006-02-04  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
	has already been assigned a GOT index, copy that index to the
	current hash table entry.

2006-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
	for call-to-undefweak reloc overflow.

2006-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
	for 32-bit relocs overflow.

2006-01-27  Paul Brook  <paul@codesourcery.com>

	* elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
	objects.

2006-01-18  Alexandre Oliva  <aoliva@redhat.com>

	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.

2006-01-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/2096
	* dwarf2.c (comp_unit_contains_address): Update comment.
	(_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
	lma.  Return TRUE only if both comp_unit_contains_address and
	comp_unit_find_nearest_line return TRUE.
	(_bfd_dwarf2_find_line): Use section's vma, instead of lma.

2006-01-18  Alan Modra  <amodra@bigpond.net.au>

	* elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
	(bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
	elf_gc_mark_dynamic_ref_symbol.  Make global.
	(bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
	* elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
	(elfNN_bed): Init new field.
	* elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
	(ppc64_elf_gc_mark_dynamic_ref): New function.

2006-01-17  Alan Modra  <amodra@bigpond.net.au>

	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.

2006-01-17  Nick Clifton  <nickc@redhat.com>

	PR binutils/2159
	* elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
	parameters.

2006-01-11  Nick Clifton  <nickc@redhat.com>

	* elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
	into the newly (re)allocated map array.

2006-01-09  Alexis Wilke  <alexis_wilke@yahoo.com>

	* peXXigen.c (tbl): Add comma after "HIGH3ADJ".

2006-01-01  Jakub Jelinek  <jakub@redhat.com>

	* elf64-ppc.c (ppc64_elf_action_discarded): Return 0
	for .toc1 section.

For older changes see ChangeLog-2005

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: