2009-06-17 Michael Eager <eager@eagercon.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
d2149d72
L
12009-06-16 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New.
4
5 * elf32-i386.c (elf_i386_local_hash): Removed.
6 (elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
7 (elf_i386_get_local_sym_hash): Likewise.
8
9 * elf64-x86-64.c (elf64_x86_64_local_hash): Removed.
10 (elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
11 (elf64_x86_64_get_local_sym_hash): Likewise.
12 * elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise.
13 (get_local_sym_hash): Likewise.
14
cc3bd654
L
152009-06-16 H.J. Lu <hongjiu.lu@intel.com>
16
17 * elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec,
18 rel_got_sec and plt_sec.
19 (elfNN_ia64_relax_section): Updated.
20 (elfNN_ia64_create_dynamic_sections): Likewise.
21 (get_got): Likewise.
22 (allocate_dynrel_entries): Likewise.
23 (elfNN_ia64_size_dynamic_sections): Likewise.
24 (set_got_entry): Likewise.
25 (elfNN_ia64_choose_gp): Likewise.
26 (elfNN_ia64_relocate_section): Likewise.
27 (elfNN_ia64_finish_dynamic_symbol): Likewise.
28 (elfNN_ia64_finish_dynamic_sections): Likewise.
29
be3e406d
UW
302009-06-16 Ulrich Weigand <uweigand@de.ibm.com>
31
32 * elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bits
33 also for calls.
34
6de2ae4a
L
352009-06-16 H.J. Lu <hongjiu.lu@intel.com>
36
37 * configure.in (elf): Add elf-ifunc.lo.
38
39 * configure: Regenerated.
40 * Makefile.in: Likewise.
41
42 * elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,
43 srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.
44
45 * elf32-i386.c (elf_i386_link_hash_table): Remove sgot,
46 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
47 irelifunc.
48 (elf_i386_link_hash_table_create): Likewise.
49 (elf_i386_create_dynamic_sections): Likewise.
50 (elf_i386_check_relocs): Likewise.
51 (elf_i386_allocate_dynrelocs): Likewise.
52 (elf_i386_size_dynamic_sections): Likewise.
53 (elf_i386_relocate_section): Likewise.
54 (elf_i386_finish_dynamic_symbol): Likewise.
55 (elf_i386_finish_dynamic_sections): Likewise.
56 (elf_i386_create_got_section): Removed.
57
58 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,
59 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
60 irelifunc.
61 (elf64_x86_64_compute_jump_table_size): Updated.
62 (elf64_x86_64_link_hash_table_create): Likewise.
63 (elf64_x86_64_create_dynamic_sections): Likewise.
64 (elf64_x86_64_check_relocs): Likewise.
65 (elf64_x86_64_allocate_dynrelocs): Likewise.
66 (elf64_x86_64_size_dynamic_sections): Likewise.
67 (elf64_x86_64_relocate_section): Likewise.
68 (elf64_x86_64_finish_dynamic_symbol): Likewise.
69 (elf64_x86_64_finish_dynamic_sections): Likewise.
70 (elf64_x86_64_create_got_section): Removed.
71
72 * elflink.c (_bfd_elf_create_got_section): Use log_file_align
73 for pointer alignment. Set up section pointers.
74 (_bfd_elf_create_dynamic_sections): Likewise.
75 (_bfd_elf_create_ifunc_sections): Moved to ...
76 * elf-ifunc.c: Here. New.
77
78 * Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.
79 (BFD32_BACKENDS_CFILES): Add elf-ifunc.c.
80 Run "make dep-am".
81
81694485
NC
822009-06-16 Doug Kwan <dougkwan@google.com>
83
6de2ae4a
L
84 * elf32-arm.c (cortex_a8_erratum_scan): Change type of offset
85 to bfd_signed_vma. Cast constant operands which are used in
86 offset related expressions to bfd_signed_vma type as appropriate.
81694485 87
6db7e006
MR
882009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
89
90 * elf32-vax.c (elf_vax_plt_sym_val): New function.
91 (elf_backend_plt_sym_val): Define.
92
9b90d8fd
MR
932009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
94
95 * elf32-vax.c (elf_vax_reloc_type_class): New function.
96 (elf_backend_reloc_type_class): Define.
97
04981bc1
MR
982009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
99
100 * elf32-vax.c (elf_vax_relocate_section): For symbol references
101 from an executable to a shared library treat R_VAX_PC32
102 relocations as R_VAX_PLT32 ones.
103
886815b2
MR
1042009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
105
106 * elf32-vax.c (elf_vax_instantiate_got_entries): Skip local
107 symbols in GOT space calculation.
108 (elf_vax_relocate_section): Adjust accordingly.
109
6c4fb25a
MR
1102009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
111
112 * elf32-vax.c (elf_vax_plt_entry): Set the entry mask to
113 include <R11:R2>.
114
7b6021f1
MR
1152009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
116
117 * elf32-vax.c (elf_vax_check_relocs): Handle the visibility
118 attribute.
119 (elf_vax_relocate_section): Likewise.
120
188dbb07
L
1212009-06-15 H.J. Lu <hongjiu.lu@intel.com>
122
123 * elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.
124 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
125
048cbda4
L
1262009-06-15 H.J. Lu <hongjiu.lu@intel.com>
127
128 * elf32-i386.c (elf_i386_check_relocs): Reformat.
129 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
130
482c6ce9
L
1312009-06-15 H.J. Lu <hongjiu.lu@intel.com>
132
133 * Makefile.am: Run "make dep-am".
134 * Makefile.in: Regenerated.
135
eba077f2
L
1362009-06-15 H.J. Lu <hongjiu.lu@intel.com>
137
138 * elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo.
139 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
140
ec68b083
NC
1412009-06-15 Nick Clifton <nickc@redhat.com>
142
143 * po/ru.po: New Russian translation.
144 * configure.in (ALL_LINGUAS): Add ru.
145 * configure: Regenerate.
146
b80ee1aa
L
1472009-06-14 H.J. Lu <hongjiu.lu@intel.com>
148
149 * elf32-i386.c: Remove duplicated comments.
150
44c4ea11
L
1512009-06-14 H.J. Lu <hongjiu.lu@intel.com>
152
153 PR ld/10270
154 * elf32-i386.c (elf_i386_allocate_dynrelocs): Disallow
155 dynamic IFUNC pointer in non-shared object. Use .got.plt
156 for IFUNC definition in PIE.
157 (elf_i386_allocate_dynrelocs): Resolve IFUNC definition in
158 PIE locally.
159
160 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallow
161 dynamic IFUNC pointer in non-shared object. Use .got.plt
162 for IFUNC definition in PIE.
163 (elf64_x86_64_relocate_section): Resolve IFUNC definition in
164 PIE locally.
165
8b7e2992
L
1662009-06-13 H.J. Lu <hongjiu.lu@intel.com>
167
168 * elf32-i386.c (elf_i386_check_relocs): Properly report
169 local symbol for unhandled relocation against STT_GNU_IFUNC
170 symbol.
637fa7af 171 (elf_i386_relocate_section): Likewise.
8b7e2992 172 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
637fa7af 173 (elf64_x86_64_relocate_section): Likewise.
8b7e2992 174
c25bc9fc
L
1752009-06-13 H.J. Lu <hongjiu.lu@intel.com>
176
177 PR ld/10269
178 * elf32-i386.c: Include "objalloc.h" and "hashtab.h".
179 (elf_i386_link_hash_table): Add loc_hash_table and
180 loc_hash_memory.
181 (elf_i386_local_hash): New.
182 (elf_i386_local_htab_hash): Likewise.
183 (elf_i386_local_htab_eq): Likewise.
184 (elf_i386_get_local_sym_hash): Likewise.
185 (elf_i386_link_hash_table_free): Likewise.
186 (elf_i386_allocate_local_dynrelocs): Likewise.
187 (elf_i386_finish_local_dynamic_symbol): Likewise.
188 (bfd_elf64_bfd_link_hash_table_free): Likewise.
189 (elf_i386_link_hash_table_create): Create loc_hash_table and
190 loc_hash_memory.
191 (elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols.
192 (elf_i386_size_dynamic_sections): Likewise.
193 (elf_i386_relocate_section): Likewise.
194 (elf_i386_finish_dynamic_sections): Likewise.
195 (elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym
196 isn't NULL.
197
198 * elf64-x86-64.c: Include "objalloc.h" and "hashtab.h".
199 (elf64_x86_64_link_hash_table): Add loc_hash_table and
200 loc_hash_memory.
201 (elf64_x86_64_local_hash): New.
202 (elf64_x86_64_local_htab_hash): Likewise.
203 (elf64_x86_64_local_htab_eq): Likewise.
204 (elf64_x86_64_get_local_sym_hash): Likewise.
205 (elf64_x86_64_link_hash_table_free): Likewise.
206 (elf64_x86_64_allocate_local_dynrelocs): Likewise.
207 (elf64_x86_64_finish_local_dynamic_symbol): Likewise.
208 (bfd_elf64_bfd_link_hash_table_free): Likewise.
209 (elf64_x86_64_link_hash_table_create): Create loc_hash_table
210 and loc_hash_memory.
211 (elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC
212 symbols.
213 (elf64_x86_64_size_dynamic_sections): Likewise.
214 (elf64_x86_64_relocate_section): Likewise.
215 (elf64_x86_64_finish_dynamic_sections): Likewise.
216 (elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if
217 sym isn't NULL.
218
dec9d5df
PB
2192009-06-10 Philip Blundell <philb@gnu.org>
220
221 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
222 elf_sec->this_hdr == NULL.
223
92bc0e80
TG
2242009-06-12 Tristan Gingold <gingold@adacore.com>
225
226 * reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
227 * bfd-in2.h: Regenerated.
228 * libbfd.h: Regenerated.
229
230 * mach-o.c (FILE_ALIGN): New macro.
231 (bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
232 (bfd_mach_o_print_symbol): Ditto.
233 (bfd_mach_o_scan_write_thread): Adjust type of variable offset.
234 (bfd_mach_o_get_reloc_upper_bound): New function.
235 (bfd_mach_o_canonicalize_reloc): Ditto.
236 (bfd_mach_o_scan_write_relocs): Ditto.
237 (bfd_mach_o_scan_write_section_32): Remove offset argument.
238 (bfd_mach_o_scan_write_section_64): Ditto.
239 (bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of data
240 written for load command. Do not compute section file offset.
241 (bfd_mach_o_scan_write_segment_64): Ditto.
242 (bfd_mach_o_scan_write_symtab): Compute file offset first.
243 Adjust for bfd_mach_o_asymbol. Move code to convert from BFD to
244 Mach-O to ...
245 (bfd_mach_o_mangle_symbols): ... this new function.
246 (bfd_mach_o_write_contents): Be sure to habe load commands built.
247 Call bfd_mach_o_mangle_symbols.
248 (bfd_mach_o_build_commands): Adjust for filelen field.
249 Use FILE_ALIGN macro. Clear section file offset if section is empty.
250 Do not set symtab file offset anymore here.
251 (bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
252 (bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
253 Set reloc_count and rel_filepos section fields.
254 (bfd_mach_o_scan_read_section_32): Type of argument offset is now
255 unsigned int.
256 (bfd_mach_o_scan_read_section_64): Ditto.
257 (bfd_mach_o_scan_read_section): Ditto.
258 (bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
259 bfd_mach_o_asymbol. Use unsigned int for file offset type.
260 (bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
261 Handle weak-ref symbols.
262 (bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
263 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
264 (bfd_mach_o_scan): Remove assignment to removed field.
265 (bfd_mach_o_mkobject_init): Ditto.
266 (bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
267 (bfd_mach_o_bfd_reloc_type_lookup): New macro.
268 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
269 (bfd_mach_o_swap_reloc_in): Ditto.
270 (bfd_mach_o_swap_reloc_out): Ditto.
271
272 * mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
273 (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
274 (BFD_MACH_O_REFERENCE_FLAG_DEFINED)
275 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
276 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
277 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
278 (BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
279 (BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
280 (BFD_MACH_O_N_WEAK_DEF): New macros.
281 Add comments.
282 (bfd_mach_o_section_type): Add new enumeration values.
283 (BFD_MACH_O_S_SELF_MODIFYING_CODE)
284 (BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
285 (BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
286 (BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
287 macros.
288 (BFD_MACH_O_GENERIC_RELOC_VANILLA)
289 (BFD_MACH_O_GENERIC_RELOC_PAIR)
290 (BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
291 (BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
292 (BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
293 (BFD_MACH_O_RELENT_SIZE): Ditto.
294 (BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
295 (BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
296 (BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
297 (BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
298 (BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
299 (BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
300 (BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
301 (BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
302 (bfd_mach_o_reloc_info): New struct.
303 (bfd_mach_o_asymbol): New struct.
304 (bfd_mach_o_symtab_command): The symbols field is now of type
305 bfd_mach_o_asymbol.
306 (bfd_mach_o_load_command): The offset and len fields are now of type
307 unsigned int.
308 (mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
309 Add a filelen field. Add comments.
310 (bfd_mach_o_backend_data): New struct.
311 (bfd_mach_o_get_backend_data): New macro.
312 (bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
313 bfd_mach_o_asymbol.
314 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
315 (bfd_mach_o_get_reloc_upper_bound): New prototype.
316 (bfd_mach_o_canonicalize_reloc): Ditto.
317
318 * mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
319 duplicated macro. Now defined to _bfd_generic_is_local_label.
320 (TARGET_NAME_BACKEND): New macro...
321 (TARGET_NAME_BACKEND): ... used to name a new variable.
322 (TARGET_NAME): Define relocs table using bfd_mach_o, reference
323 Mach-O backend data.
324
325 * mach-o-i386.c (i386_howto_table): New variable.
326 (bfd_mach_o_i386_swap_reloc_in): New function.
327 (bfd_mach_o_i386_swap_reloc_out): Ditto.
328 (bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
329 (bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
330 (bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
331 (bfd_mach_o_bfd_reloc_type_lookup)
332 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
333
8c7d38e8
NC
3342009-06-11 Eric Paris <eparis@redhat.com>
335 Nick Clifton <nickc@redhat.com>
336
337 * opncls.c (_maybe_make_executable): New function. Gives execute
338 permission to an executable bfd that was opened for writing
339 provided that it is a regular file. Replaces common code found in...
340 (bfd_close): here and ...
341 (bfd_close_all_done): here.
342
f865a31d
AG
3432009-06-11 Anthony Green <green@moxielogic.com>
344
345 * reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.
346 * bfd-in2.h: Rebuilt.
347 * libbfd.h: Rebuilt.
348 * elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10
349 relocation support.
350 (moxie_reloc_map): Ditto.
351 Clean up copyright notice.
352
25b88f33
PP
3532009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com>
354
1372b818 355 * bfd-in2.h: bfd_mmap prototype.
25b88f33
PP
356 * bfdio.c (bfd_mmap): New function.
357 * libbfd.h (bfd_iovec): Add bmmap.
1372b818 358 * cache.c (cache_bmmap): New function.
25b88f33
PP
359 (cache_iovec): Initialize bmmap member.
360 * opencls.c (opncls_bmmap): New function.
361 (opncls_iovec): Initialize bmmap member.
362
c2f09c75
TG
3632009-06-09 Tristan Gingold <gingold@adacore.com>
364
365 * mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
366 and stabstr_segment fields.
367 (mach_o_be_vec, mach_o_le_vec): Removed
368 (bfd_mach_o_version): New prototype.
369
370 * mach-o.c (bfd_mach_o_version): Make this function public.
371 (mach_o_wide_p): New function.
372 (bfd_mach_o_wide_p): Ditto.
373 (bfd_mach_o_convert_section_name_to_bfd): Add prefix only for
374 weird names.
375 (bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment.
376 Search in the list only if the name starts with a dot.
377 (bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-coded
378 test. Check bfd_seek status.
379 (bfd_mach_o_scan_write_thread): Check bfd_seek status.
380 (bfd_mach_o_scan_write_section_32): Ditto.
381 (bfd_mach_o_scan_write_section_64): Ditto.
382 (bfd_mach_o_scan_write_section): Removed.
383 (bfd_mach_o_scan_write_segment): Split into ...
384 (bfd_mach_o_scan_write_segment_32): ... this and ...
385 (bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status.
386 (bfd_mach_o_scan_write_symtab_symbols): Moved into ...
387 (bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFD
388 symbol table. Now returns a boolean.
389 (bfd_mach_o_write_contents): Set filetype. Check bfd_seek status.
390 Adjust for status type.
391 (bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-coded
392 test. Write symbol table. Numbers the sections.
393 (bfd_mach_o_read_header): Check bfd_seek status.
394 Use mach_o_wide_p instead of hard-coded test.
395 (bfd_mach_o_scan_read_section_32): Check bfd_seek status.
396 (bfd_mach_o_scan_read_section_64): Ditto.
397 (bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status.
398 Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctly
399 handled common symbols.
400 (bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status.
401 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
402 (bfd_mach_o_scan_read_dylinker): Ditto.
403 (bfd_mach_o_scan_read_dylib): Ditto.
404 (bfd_mach_o_scan_read_thread): Ditto.
405 (bfd_mach_o_scan_read_symtab): Ditto.
406 Do not create a section for the stabs.
407 (bfd_mach_o_scan_read_uuid): Check bfd_seek status.
408 (bfd_mach_o_scan_read_segment): Ditto.
409 (bfd_mach_o_scan_read_command): Ditto.
410 (bfd_mach_o_scan_start_address): Ditto.
411 (bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test.
412 (bfd_mach_o_archive_p): Check bfd_seek status.
413 (bfd_mach_o_core_fetch_environment): Ditto.
414
415 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype.
416
2a81c24a
L
4172009-06-06 H.J. Lu <hongjiu.lu@intel.com>
418
419 * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.
420 (elf_i386_link_hash_table_create): Initialize irelifunc.
421 (elf_i386_check_relocs): Updated. Set up irelifunc for
422 shared objects.
423 (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic
424 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
425 shared objects.
426 (elf_i386_relocate_section): Likewise.
427
428 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.
429 (elf64_x86_64_link_hash_table_create): Initialize irelifunc.
430 (elf64_x86_64_check_relocs): Updated. Set up irelifunc for
431 shared objects.
432 (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic
433 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
434 shared objects.
435 (elf64_x86_64_relocate_section): Likewise.
436
437 * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to
438 ...
439 (_bfd_elf_create_ifunc_sections): This.
440
c2f09c75 441 * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to
2a81c24a
L
442 ...
443 (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc
444 for shared objects.
445
710ab287
L
4462009-06-06 H.J. Lu <hongjiu.lu@intel.com>
447
448 * elf32-i386.c (elf_i386_check_relocs): Make room for dynamic
449 relocation for R_386_32 against STT_GNU_IFUNC symbol when
450 building shared object. Check info->executable instead of
451 !info->shared when setting non_got_ref.
452 (elf_i386_allocate_dynrelocs): Allocate dynamic relocation
453 for non-GOT reference of STT_GNU_IFUNC symbol in shared
454 object. Allocate GOT relocation agsinst STT_GNU_IFUNC
455 symbol if needed.
456 (elf_i386_relocate_section): Output dynamic relocation for
457 R_386_32 against STT_GNU_IFUNC symbol to get the real
458 function address when building shared object.
459 (elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT
460 relocation for STT_GNU_IFUNC symbol in shared object.
461
462 * elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for
463 dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC
464 symbol when building shared object. Check info->executable
465 instead of !info->shared when setting non_got_ref.
466 (elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation
467 for non-GOT reference of STT_GNU_IFUNC symbol in shared
468 library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol
469 if needed.
470 (elf64_x86_64_relocate_section): Output dynamic relocation
471 for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real
472 function address when building shared object.
473 (elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT
474 relocation for STT_GNU_IFUNC symbol in shared object.
475
9e93c730
JK
4762009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com>
477
478 * Makefile.am: Run "make dep-am".
479 (BFD32_BACKENDS): Add mach-o-i386.lo.
480 (BFD32_BACKENDS_CFILES): Add mach-o-i386.c.
481 * Makefile.in: Regenerate.
482
74681fc4
AM
4832009-06-06 Alan Modra <amodra@bigpond.net.au>
484
485 * elf32-spu.c (spu_elf_relocate_section): Match overlay number
486 when looking for soft-icache stubs.
487
154a1ee5
TG
4882009-06-05 Tristan Gingold <gingold@adacore.com>
489
490 * mach-o.h: Update copyright year.
491 (bfd_mach_o_mach_header_magic): New enum.
492 (bfd_mach_o_cpu_subtype): Now an enum.
493 (BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.
494 (BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.
495 (BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.
496 (bfd_mach_o_load_command): Field type_required is now a boolean.
497 Reindent prototypes.
498 (bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.
499 (bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.
500 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
501 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
502 (bfd_mach_o_get_symtab_upper_bound): Ditto.
503 (bfd_mach_o_canonicalize_symtab): Ditto.
504 (bfd_mach_o_get_symbol_info): Ditto.
505 (bfd_mach_o_print_symbol): Ditto.
506 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
507 (bfd_mach_o_make_empty_symbol): Ditto.
508 (bfd_mach_o_write_contents): Ditto.
509
510 * mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,
511 bfd_mach_o_mkobject): Defines.
512 (bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.
513 Do not check with target vector but with flavour.
514 (struct mach_o_section_name_xlat): New declaration.
515 (dwarf_section_names_xlat): Ditto.
516 (text_section_names_xlat): Ditto.
517 (data_section_names_xlat): Ditto.
518 (struct mach_o_segment_name_xlat): Ditto.
519 (segsec_names_xlat): Ditto.
520 (bfd_mach_o_convert_section_name_to_bfd): New function.
521 (bfd_mach_o_convert_section_name_to_mach_o): Ditto.
522 (bfd_mach_o_bfd_copy_private_symbol_data): Make it public.
523 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
524 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
525 Accept any input and output flavour. Do not share private data
526 anymore.
527 (bfd_mach_o_count_symbols): Add a comment.
528 (bfd_mach_o_get_symtab_upper_bound): Make it public.
529 (bfd_mach_o_canonicalize_symtab): Ditto.
530 (bfd_mach_o_get_symbol_info): Ditto.
531 (bfd_mach_o_print_symbol): Ditto.
532 (bfd_mach_o_write_header): Now returns a boolean instead of an int.
533 Use constants instead of hard-coded values.
534 (bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded
535 values.
536 (bfd_mach_o_scan_write_section_64): Ditto.
537 (bfd_mach_o_scan_write_segment): Ditto.
538 Do not copy sections anymore.
539 (bfd_mach_o_write_contents): Make it public.
540 Remove dead code. Rewrite typeflag assignment.
541 (bfd_mach_o_build_commands): New function.
542 (bfd_mach_o_set_section_contents): Ditto.
543 (bfd_mach_o_make_empty_symbol): Make it public.
544 (bfd_mach_o_read_header): Make it static.
545 Convert to bfd_boolean.
546 Use constants instead of hard-coded values.
547 (bfd_mach_o_make_bfd_section): Call
548 bfd_mach_o_convert_section_name_to_bfd to create name.
549 (bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded
550 values.
551 (bfd_mach_o_scan_read_section_64): Ditto.
552 (bfd_mach_o_scan_read_segment): Do not create a bfd section for
553 a segment anymore. Use constants instead of hard-coded values.
554 (bfd_mach_o_scan_read_command): Fix style.
555 (bfd_mach_o_scan): Use constants instead of hard-coded values.
556 Get rid of BFD_IO_FUNCS.
557 (bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.
558 (bfd_mach_o_header_p): Created from bfd_mach_o_object_p.
559 (bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.
560 (bfd_mach_o_object_p): Removed.
561 (bfd_mach_o_gen_core_p): New function, replaces ...
562 (bfd_mach_o_core_p): ... deleted.
563 (bfd_mach_o_bfd_print_private_bfd_data): Make it public.
564
565 * mach-o-i386.c: New file.
566 * config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.
567 * configure.in (TDEFINES): Add mach_o_i386_vec.
568 * configure: Regenerated.
569 * targets.c: Add mach_o_i386_vec.
570
571 * mach-o.c: Update copyright years.
572 (BFD_IO_FUNCS): Remove (was not used).
573 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap
574 bfd_mach_o_slurp_extended_name_table,
575 bfd_mach_o_construct_extended_name_table,
576 bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,
577 bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,
578 bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,
579 bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,
580 bfd_mach_o_get_section_contents_in_window,
581 bfd_mach_o_bfd_is_local_label_name,
582 bfd_mach_o_bfd_is_target_special_symbol,
583 bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,
584 bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,
585 bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,
586 bfd_mach_o_minisymbol_to_symbol,
587 bfd_mach_o_bfd_get_relocated_section_contents,
588 bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,
589 bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,
590 bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,
591 bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,
592 bfd_mach_o_bfd_merge_private_bfd_data,
593 bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,
594 bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,
595 bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,
596 bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,
597 bfd_mach_o_bfd_copy_private_header_data,
598 bfd_mach_o_core_file_matches_executable_p): Move these defines ...
599 * mach-o-target.c: ... here.
600 Update copyright years.
601
a1ef399e
AM
6022009-06-04 Alan Modra <amodra@bigpond.net.au>
603
604 * dep-in.sed: Don't use \n in replacement part of s command.
605 * Makefile.am (DEP1): LC_ALL for uniq.
606 Run "make dep-am".
607 * Makefile.in: Regenerate.
608
2e75bb35
L
6092009-06-03 H.J. Lu <hongjiu.lu@intel.com>
610
611 * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of
612 h->plt.refcount > 0 on STT_GNU_IFUNC symbol.
613 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
614
0018b0a3
L
6152009-06-03 H.J. Lu <hongjiu.lu@intel.com>
616
617 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate
618 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
619 (elf_i386_relocate_section): Adjust R_386_GOT32 relocation
620 against STT_GNU_IFUNC symbols for static executables.
621 (elf_i386_finish_dynamic_symbol): Load GOT entry with
622 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
623
624 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Allocate
625 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
626 (elf64_x86_64_finish_dynamic_symbol): Load GOT entry with
627 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
628
94313f36
RS
6292009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com>
630
631 * coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefined
632 symbols to be left unimported when linking statically.
633 * xcofflink.c (xcoff_link_add_symbols): Ignore global linkage
634 code when linking statically.
635
7afd84dc
L
6362009-06-02 H.J. Lu <hongjiu.lu@intel.com>
637
638 * elf32-i386.c (elf_i386_check_relocs): Increment
639 got.refcount for R_386_GOT32/R_386_GOTOFF relocations
640 against STT_GNU_IFUNC symbol.
641 (elf_i386_allocate_dynrelocs): Set got.refcount to 0 if
642 local STT_GNU_IFUNC definition is used.
643 (elf_i386_relocate_section): Handle got.offset != -1 for
644 R_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNC
645 symbol.
646
647 * elf64-x86-64.c (elf64_x86_64_check_relocs): Increment
648 got.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64
649 relocations against STT_GNU_IFUNC symbol.
650 (elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 if
651 local STT_GNU_IFUNC definition is used.
652 (elf64_x86_64_relocate_section): Handle got.offset != -1
653 for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations against
654 STT_GNU_IFUNC symbol.
655
cbe950e9
L
6562009-06-01 H.J. Lu <hongjiu.lu@intel.com>
657
658 PR ld/10205
659 * elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE.
660 (elf_i386_reloc_type_lookup): Likewise.
661 (R_386_tls): Removed.
662 (R_386_irelative): New.
663 (R_386_vt_offset): Updated.
664 (elf_i386_rtype_to_howto): Likewise.
665 (elf_i386_link_hash_table): Add igotplt, iplt and irelplt.
666 (elf_i386_link_hash_table_create): Initialize igotplt,
667 iplt and irelplt.
668 (elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first.
669 (elf_i386_adjust_dynamic_symbol): Likewise.
670 (elf_i386_allocate_dynrelocs): Likewise.
671 (elf_i386_relocate_section): Likewise.
672 (elf_i386_size_dynamic_sections): Set up .iplt and .igot.plt
673 sections.
674 (elf_i386_finish_dynamic_symbol): When building a static
675 executable, use .iplt, .igot.plt and .rel.iplt sections for
676 STT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation for
677 locally defined STT_GNU_IFUNC symbol.
678
679 * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE.
680 (x86_64_reloc_map): Likewise.
681 (R_X86_64_standard): Updated.
682 (elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt.
683 (elf64_x86_64_link_hash_table_create): Initialize igotplt,
684 iplt and irelplt.
685 (elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first.
686 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
687 (elf64_x86_64_allocate_dynrelocs): Likewise.
688 (elf64_x86_64_relocate_section): Likewise.
689 (elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.plt
690 sections.
691 (elf64_x86_64_finish_dynamic_symbol): When building a static
692 executable, use .iplt, .igot.plt and .rela.iplt sections for
693 STT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocation
694 for locally defined STT_GNU_IFUNC symbol.
695
696 * reloc.c (BFD_RELOC_386_IRELATIVE): New.
697 (BFD_RELOC_X86_64_IRELATIVE): Likewise.
698
699 * bfd-in2.h: Regenerated.
700 * libbfd.h: Likewise.
701
3aa14d16
L
7022009-06-01 H.J. Lu <hongjiu.lu@intel.com>
703
704 * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.
705 (_bfd_elf_make_ifunc_reloc_section): Removed.
706 (_bfd_elf_is_ifunc_symbol): Likewise.
707 (_bfd_elf_create_static_ifunc_sections): New.
708
709 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC
710 symbol check to ...
711 (elf_link_add_object_symbols): Here.
712 (_bfd_elf_link_hash_hide_symbol): Don't clean plt on
713 STT_GNU_IFUNC symbol.
714 (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol
715 if a STT_GNU_IFUNC symbol is referenced in a non-shared object.
716 (IFUNC_INFIX): Removed.
717 (get_ifunc_reloc_section_name): Likewise.
718 (_bfd_elf_make_ifunc_reloc_section): Likewise.
719 (_bfd_elf_is_ifunc_symbol): Likewise.
720 (_bfd_elf_create_static_ifunc_sections): New.
721
eb4ff4d6
L
7222009-05-29 H.J. Lu <hongjiu.lu@intel.com>
723
724 * elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix.
725 (create_got_section): Likewise.
726 (allocate_dynrelocs): Likewise.
727 (readonly_dynrelocs): Likewise.
728 (set_tls_module_base): Likewise.
729 (dtpoff_base): Likewise.
730 (tpoff): Likewise.
731 (elf_i386_link_hash_table_create): Updated.
732 (elf_i386_create_dynamic_sections): Likewise.
733 (elf_i386_check_relocs): Likewise.
734 (elf_i386_size_dynamic_sections): Likewise.
735 (elf_i386_relocate_section): Likewise.
736
737 * elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix.
738 (create_got_section): Likewise.
739 (allocate_dynrelocs): Likewise.
740 (readonly_dynrelocs): Likewise.
741 (set_tls_module_base): Likewise.
742 (dtpoff_base): Likewise.
743 (tpoff): Likewise.
744 (elf64_x86_64_link_hash_table_create): Updated.
745 (elf64_x86_64_create_dynamic_sections): Likewise.
746 (elf64_x86_64_check_relocs): Likewise.
747 (elf64_x86_64_size_dynamic_sections): Likewise.
748 (elf64_x86_64_relocate_section): Likewise.
749
fc579192
NC
7502009-05-28 Nick Clifton <nickc@redhat.com>
751
752 * targets.c (_bfd_target_vector): Only include plugin target in
753 all-targets build if BFD_SUPPORTS_PLUGINS is non-zero.
754
5ebe2858
UW
7552009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
756
757 * elf32-spu.c (struct call_info): New member broken_cycle.
758 (remove_cycle): Instead of physically removing call_info structures
759 to break call graph cycles, mark them using the broken_cycle flag.
760 (mark_overlay_section): Respect broken_cycle flag.
761 (unmark_overlay_section): Likewise.
762 (collect_lib_sections): Likewise.
763 (collect_overlays): Likewise.
764 (sum_stack): Likewise.
765
34ad4cb0
UW
7662009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
767
768 * elf32-spu.c (insert_callee): Accumulate incoming callee->count.
769 (mark_functions_via_relocs): Initialize callee->count to 1.
770 (pasted_function): Likewise.
771 (spu_elf_auto_overlay): Honor call counts when determining number
772 of stubs required in software i-cache mode.
773
fc579192
NC
7742009-05-27 Rafael Avila de Espindola <espindola@google.com>
775
776 * plugin.c (program_name): Remove.
777 (plugin_program_name): New.
778 (bfd_plugin_set_program_name): New.
779 (try_load_plugin): Use plugin_program_name.
780 * plugin.h (bfd_plugin_set_program_name): New.
781
7822009-05-27 Rafael Avila de Espindola <espindola@google.com>
5691d22d
NC
783
784 * aclocal.m4: Include ../config/plugins.m4.
785 * configure.in: Use AC_PLUGINS.
786 * configure: Regenerate.
787 * Makefile.in: Regenerate.
788 * doc/Makefile.in: Regenerate.
789
c8a1f254
NS
7902009-05-27 Nathan Sidwell <nathan@codesourcery.com>
791
792 * elf32-ppc.c (ppc_elf_relax_section): Work with a partial
793 link.
794 * bout.c (b_out_bfd_relax_section): Reject relocatable links.
795 * elf32-m10300.c (mn10300_elf_relax_section): Likewise.
796 * elf32-avr.c (elf32_avr_relax_section): Likewise.
797 * elf32-frv.c (elf32_avr_relax_section): Likewise.
798 * elf32-xtensa.c (elf_xtensa_relax_section): Likewise.
799 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
800 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
801 * elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise.
802 * reloc.c (bfd_generic_relax_section): Likewise.
803 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
804 * vms.c (vms_bfd_relax_section): Likewise.
805
68d7e96a
L
8062009-05-26 H.J. Lu <hongjiu.lu@intel.com>
807
808 * elf-bfd.h (_bfd_elf_is_ifunc_symbol): New.
809
810 * elf32-i386.c (is_indirect_symbol): Renamed to ...
811 * elflink.c (_bfd_elf_is_ifunc_symbol): This.
812
813 * elf32-i386.c (allocate_dynrelocs): Updated.
814 (elf_i386_relocate_section): Likewise.
815 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
816 (elf64_x86_64_relocate_section): Likewise.
817
818 * elf64-x86-64.c (is_indirect_symbol): Removed.
819
f12e7348
NC
8202009-05-26 Nick Clifton <nickc@redhat.com>
821
822 * po/id.po: Updated Indonesian translation.
823
ce3c775b
NC
8242009-05-26 Rafael Avila de Espindola <espindola@google.com>
825
826 * Makefile.am: Run "make dep-am".
827 (AM_CPPFLAGS): New.
828 (LIBDL): New.
829 (ALL_MACHINES): Add cpu-plugin.lo.
830 (ALL_MACHINES_CFILES): Add cpu-plugin.c.
831 (BFD32_BACKENDS): Add plugin.lo.
832 (BFD32_BACKENDS_CFILES): Add plugin.c.
833 (libbfd_la_LIBADD): Add LIBDL
834 * archures.c (bfd_architecture): Add bfd_arch_plugin.
835 (bfd_plugin_arch): Declare.
836 * bfd-in.h (BFD_SUPPORTS_PLUGINS): New.
837 * bfd.c (bfd): Add plugin_data.
838 * config.bfd: Handle the plugin target.
839 * configure.in: Check for --enable-plugins.
840 (LT_INIT): Use the dlopen option.
841 * cpu-plugin.c: New.
842 * plugin.c: New.
843 * plugin.h: New.
844 * targets.c (plugin_vec): Declare.
845 (_bfd_target_vector): Add plugin_vec.
846 * Makefile.in: Regenerate.
847 * bfd-in2.h: Regenerate.
848 * configure: Regenerate.
849
9e097a72
AM
8502009-05-26 Alan Modra <amodra@bigpond.net.au>
851
852 * dep-in.sed: Don't modify .o to .lo here. Output one filename
853 per line with all lines having continuation backslash. Prefix
854 first line with "A", following lines with "B".
855 * Makefile.am (DEP): Don't use dep.sed here.
856 (DEP1): Run $MKDEP on single files, modify .o to .lo here. Use
857 dep.sed here on dependencies, sort and uniq.
858 * Makefile.in: Regenerate.
859
d5acff2f
TG
8602009-05-25 Tristan Gingold <gingold@adacore.com>
861
862 * makefile.vms: Add verilog.obj to object list OBJS.
863
5c93f09b
AM
8642009-05-24 Alan Modra <amodra@bigpond.net.au>
865
866 * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory
867 for BFD_IN_MEMORY is cleared.
868 (bfd_bwrite): Zero excess memory allocated.
869
48229727
JB
8702009-05-22 Julian Brown <julian@codesourcery.com>
871
872 * elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New
873 macros.
874 (elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b)
875 (elf32_arm_stub_a8_veneer_blx): New stub sequences.
876 (elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond,
877 arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx.
878 (elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields.
879 (a8_erratum_fix, a8_erratum_reloc): New structs.
880 (elf32_arm_link_hash_table): Add a8_erratum_fixes,
881 num_a8_erratum_fixes, fix_cortex_a8 fields.
882 (elf32_arm_link_hash_table_create): Zero fix_cortex_a8.
883 (elf32_arm_add_stub): Split into two parts, creating...
884 (elf32_arm_create_or_find_stub_sec): New function.
885 (elf32_arm_final_link_relocate): Add forward declaration.
886 (arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2
887 relocations, multiple relocations per stub.
888 (find_stub_size_and_template): New (using parts of arm_size_one_stub).
889 (arm_size_one_stub): Use find_stub_size_and_template.
890 (a8_reloc_compare): New.
891 (find_thumb_glue): Add forward declaration.
892 (cortex_a8_erratum_scan): New.
893 (elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support.
894 (bfd_elf32_arm_set_cortex_a8_fix): New.
895 (bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument.
896 (arm_map_one_stub): Add THUMB32_TYPE support.
897 (a8_branch_to_stub_data): New.
898 (make_branch_to_a8_stub): New.
899 (elf32_arm_write_section): Add Cortex-A8 erratum workaround support.
900 * bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New.
901 (bfd_elf32_arm_set_target_relocs): Add argument for controlling
902 Cortex-A8 erratum workaround.
903 * bfd-in2.h: Regenerate.
904
2b3decb5
AM
9052009-05-22 Alan Modra <amodra@bigpond.net.au>
906
907 * Makefile.am: Run "make dep-am".
908 * Makefile.in: Regenerate.
909 * po/SRC-POTFILES.in: Regenerate.
910
930e005c
AM
9112009-05-21 Alan Modra <amodra@bigpond.net.au>
912
913 * elflink.c (elf_link_input_bfd): Correct *pindex change in last
914 commit.
915
6e0b88f1
AM
9162009-05-21 Alan Modra <amodra@bigpond.net.au>
917
918 * elf-bfd.h (struct elf_backend_data
919 <elf_backend_link_output_symbol_hook>): Return an int.
920 * elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to drop
921 symbols on deleted .opd entries.
922 * elflink.c (elf_link_output_sym): Return without outputting sym
923 if output_symbol_hook returns 2.
924 (elf_link_output_extsym): Don't assign h->indx when symbol discarded.
925 Abort if we must not discard sym.
926 (elf_link_input_bfd): Similarly, don't set finfo->indices for
927 local syms.
928 (bfd_elf_final_link): Adjust elf_link_output_sym calls.
929 * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust for
930 elf_backend_link_output_symbol_hook return type change.
931 * elf32-arm.c (output_arch_syminfo): Likewise.
932 (elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise.
933 (elf32_arm_output_arch_local_syms): Likewise.
934 * elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise.
935 * elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise.
936 (bfd_score_elf_link_output_symbol_hook): Likewise.
937 * elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
938 * elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
939 * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise.
940 * elf32-spu.c (spu_elf_output_symbol_hook): Likewise.
941 * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
942 * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
943 * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
944 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
945 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
946 * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
947 * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
948
5ef11c02
AM
9492009-05-21 Alan Modra <amodra@bigpond.net.au>
950
951 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault on
952 out of range .opd symbols.
953
ebf12fbe
DK
9542009-05-21 Dave Korn <dave.korn.cygwin@gmail.com>
955
956 * coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, not
957 fprintf_vma directly.
958 * peXXigen.c (pe_print_edata): Likewise.
959 (pe_print_pdata): Likewise.
960 (_bfd_XX_print_ce_compressed_pdata): Likewise.
961 (_bfd_XX_print_private_bfd_data_common): Likewise.
962
c1711530
DK
9632009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
964
965 * cofflink.c (process_embedded_commands): Ignore "-aligncomm".
966
22a8f80e 9672009-05-15 Andrew Stubbs <ams@codesourcery.com>
164e7efc 968 Paul Brook <paul@codesourcery.com>
22a8f80e
PB
969
970 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
971 fix discarded sections.
972
335bd8f2
UW
9732009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
974
975 * elf32-spu.c (mark_overlay_section): Move .init and .fini
976 sections into the software icache.
977
cdc83fba
UW
9782009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
979
980 * elf32-spu.c (build_stub): Always build "compact" sofware
981 i-cache stubs.
982
97fc8d84
UW
9832009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
984
985 * elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.
986 (spu_elf_setup): Initialize it.
987 (spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.
988 Update to new-sytle cache manager data structures.
989 (spu_elf_build_stubs): Generate new-style cache manager data
990 structures and symbols.
991 (spu_elf_auto_overlay): Update size computation.
992
452de53c
UW
9932009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
994
995 * elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY
996 segments first amongst the program headers.
997
d342a8b1
UW
9982009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
999
1000 * elf32-spu.c (spu_elf_relocate_section): Only encode overlay index
1001 into addresses for relocation types that look at high bits. Remove
1002 special handling of relocation overflow warnings.
1003
cc210763
UW
10042009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
1005
1006 * elf32-spu.c (mark_functions_via_relocs): Handle cycles in the
1007 control flow graph between fragments of a function.
1008
c1ea05bb
UW
10092009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
1010
1011 * elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,
1012 generate only a 16-byte .toe section.
1013 (spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.
1014
bbb0fc04
AM
10152009-05-14 Alan Modra <amodra@bigpond.net.au>
1016
1017 * elf32-spu.c (spu_elf_size_stubs): Split out section placement to..
1018 (spu_elf_place_overlay_data): ..here. New function.
1019 * elf32-spu.h (spu_elf_place_overlay_data): Declare.
1020
6e6718a3
AJ
10212009-05-13 Andrew Jenner <andrew@codesourcery.com>
1022
1023 * elf32-arm.c: Move sysdep.h to start of file.
1024
77ae44b0
AM
10252009-05-11 Ulrich Weigand <uweigand@de.ibm.com>
1026
1027 * elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as
1028 start of overlays.
1029 (spu_elf_build_stubs): Don't define __icache_tagbase. Define
1030 __icache_tag_array and __icache_tag_array_size.
1031
51408ec2
AM
10322009-05-11 Masaki Muranaka <monaka@monami-software.com>
1033
1034 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessary
1035 ATTRIBUTE_UNUSED.
1036 (bfinfdpic_link_omit_section_dynsym): Likewise.
1037 (elf32_bfinfdpic_finish_dynamic_sections): Likewise.
1038
2468f9c9
PB
10392009-05-05 Paul Brook <paul@codesourcery.com>
1040
1041 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype.
1042 * bfd-in2.h: Regenerate.
1043 * elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define.
1044 (_arm_elf_section_data): Add text and exidx fields.
1045 (add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size,
1046 insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31,
1047 copy_exidx_entry): New functions.
1048 (elf32_arm_write_section): Fixup .ARM.exidx contents.
1049
738a79f6
CL
10502009-05-05 Christophe lyon <christophe.lyon@st.com>
1051
1052 * elf32-arm.c (DEF_STUBS): New helper define.
1053 (DEF_STUB): Likewise.
1054 (stub_def): New type.
1055 (stub_definitions): New array, containing stub template pointers
1056 and sizes.
1057 (arm_size_one_stub): Make use of stub_definitions.
1058
09e2aba4
DK
10592009-05-04 Dave Korn <dave.korn.cygwin@gmail.com>
1060
1061 * elflink.c (find_version_for_sym): Remove from here, ...
1062 * linker.c (bfd_find_version_for_sym): ... rename, replace
1063 here, make public and update all callers.
1064 * bfd-in2.h: Regenerate.
1065
d8045f23
NC
10662009-04-30 Nick Clifton <nickc@redhat.com>
1067
1068 * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs
1069 section pointer.
1070 (struct elf_obj_data): Add has_ifunc_symbols boolean.
1071 * elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags
1072 into a STT_GNU_IFUNC symbol type.
1073 (_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function
1074 type.
1075 (_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if
1076 the binary contains ifunc symbols.
1077 * elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC
1078 symbol type into a BSF_GNU_INDIRECT_FUNCTION flag.
1079 * elf32-i386.c (is_indirect_function): New function.
1080 (elf_i386_check_relocs): Create an ifunc output section.
1081 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
1082 section if necessary.
1083 (elf_i386_relocate_section): Emit a reloc against an ifunc symbol
1084 if necessary.
1085 (elf_i386_add_symbol_hook): New function. Set the
1086 has_ifunc_symbols field of the elf_obj_data structure if an ifunc
1087 symbol is encountered.
1088 (elf_backend_post_process_headers): Define.
1089 (elf_backend_add_symbol_hook): Define.
1090 (elf_i386_post_process_headers): Rename to
1091 elf_i388_fbsd_post_process_headers.
1092 * elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.
1093 (is_indirect_function): New function.
1094 (elf64_x86_64_check_relocs): Create an ifunc output section.
1095 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
1096 section if necessary.
1097 (elf64_x86_64_relocate_section): Emit a reloc against an ifunc
1098 symbol if necessary.
1099 (elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the
1100 elf_obj_data structure if an ifunc symbol is encountered.
1101 (elf_backend_post_process_headers): Define.
1102 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT
1103 if we have ifunc symbols to handle.
1104 (get_ifunc_reloc_section_name): New function. Computes the name
1105 for an ifunc section.
1106 (_bfd_elf_make_ifunc_reloc_section): New function. Creates a
1107 section to hold ifunc relocs.
1108 * syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.
1109 (bfd_print_symbol_vandf): Handle ifunc symbols.
1110 (bfd_decode_symclass): Likewise.
1111 * bfd-in2.h: Regenerate.
1112
96c23d59
JM
11132009-04-30 Joseph Myers <joseph@codesourcery.com>
1114
1115 * elf32-arm.c (elf32_arm_check_relocs): Give errors for absolute
1116 MOVW and MOVT relocations in a shared library link.
1117
c067354b
NC
11182009-04-27 Anthony Green <green@moxielogic.com>
1119
1120 * verilog.c: New file.
1121 * Makefile.am (BFD32_LIBS): Add verilog.c.
1122 (BFD32_LIBS_CFILES): Add verilog.c.
1123 (verilog.lo): New build rule.
1124 * Makefile.in: Rebuilt.
1125 * targets.c: Add verilog support.
1126 * bfd.c (tdata union): Add Verilog private data field.
1127 * bfd-in2.h: Regenerate.
1128
325c681d
L
11292009-04-27 H.J. Lu <hongjiu.lu@intel.com>
1130
1131 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
1132 copy pe_opthdr.
1133
ba775898
DK
11342009-04-23 Matthias Klose <doko@ubuntu.com>
1135
2e28a5fc 1136 * peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'.
ba775898 1137
155d87d7
CL
11382009-04-22 Christophe Lyon <christophe.lyon@st.com>
1139
1140 PR9743
1141 * elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24,
1142 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
1143 (elf32_arm_size_stubs): Likewise.
1144 (record_thumb_to_arm_glue): Deleted unused function.
1145 (bfd_elf32_arm_process_before_allocation): No longer handle
1146 R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here.
1147 (elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24,
1148 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
1149
3e6b1042
DJ
11502009-04-21 Daniel Jacobowitz <dan@codesourcery.com>
1151
1152 * elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED.
1153 (elf32_arm_write_section): Declare early.
1154 (elf32_arm_size_stubs): Skip non-stub sections in the stub BFD.
1155 (arm_allocate_glue_section_space): Exclude empty sections.
1156 (ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED.
1157 (bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub
1158 BFD.
1159 (elf32_arm_output_glue_section, elf32_arm_final_link): New.
1160 (elf32_arm_merge_eabi_attributes): Skip the stub BFD.
1161 (elf32_arm_size_dynamic_sections): Allocate interworking
1162 sections here.
1163 (bfd_elf32_bfd_final_link): Define.
1164
4f360784
L
11652009-04-21 H.J. Lu <hongjiu.lu@intel.com>
1166
1167 * coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K.
154a1ee5 1168
4f360784
L
1169 * coffcode.h (coff_compute_section_file_positions): Clear
1170 D_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE.
1171
1172 * libcoff-in.h (pe_tdata): Remove force_minimum_alignment and
1173 force_minimum_alignment.
1174
1175 * libcoff.h: Regenerated.
1176
1177 * pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed.
1178 (PEI_FORCE_MINIMUM_ALIGNMENT): Likewise.
1179
1180 * peicode.h (pe_mkobject): Don't set force_minimum_alignment
1181 nor target_subsystem.
1182
1183 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't check
1184 force_minimum_alignment nor target_subsystem.
1185
e48570bb
DK
11862009-04-21 Kai Tietz <kai.tietz@onevision.com>
1187
1188 * coff-x86_64.c (PEI_HEADERS): Protect includes.
1189 (bfd_pe_print_pdata): Remove #ifdef PE variation.
1190 * pei-x86_64.c (PEI_HEADERS): Define to prevent double
1191 include in coff-x86_64.c of headers.
1192 (PDATA_ROW_SIZE): New define.
1193 (pex_regs[]): New static array.
1194 (pex64_get_runtime_function): New static function.
1195 (pex64_get_unwind_info): Likewise.
1196 (pex64_get_scope_entry): Likewise.
1197 (pex64_xdata_print_uwd_codes): Likewise.
1198 (pex64_get_section_by_rva): Likewise.
1199 (pex64_dump_xdata): Likewise.
1200 (pex64_bfd_print_pdata): Likewise.
1201 (bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.
1202 * peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.
1203 * libpei.h (_bfd_pex64_print_pdata): Removed declaration.
1204
383c383f 12052009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com>
4f360784
L
1206 Alan Modra <amodra@bigpond.net.au>
1207 Dave Korn <dave.korn.cygwin@gmail.com>
383c383f
AM
1208
1209 * peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.t
1210 long names and non-NUL-terminated strings.
1211
b6b450f1
L
12122009-04-17 H.J. Lu <hongjiu.lu@intel.com>
1213
1214 * bfd-in2.h: Regenerated.
1215
d9118602
L
12162009-04-17 H.J. Lu <hongjiu.lu@intel.com>
1217
1218 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace
1219 IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.
1220
92dd4511
L
12212009-04-17 H.J. Lu <hongjiu.lu@intel.com>
1222
1223 PR binutils/10074
1224 * coffcode.h (bfd_pei_p): New.
1225
1226 * config.bfd: Remove bfd_efi_bsdrv_ia32_vec,
1227 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
1228 bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and
1229 bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec,
1230 bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with
1231 i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.
1232
1233 * configure.in: Remove bfd_efi_bsdrv_ia32_vec,
1234 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
1235 bfd_efi_rtdrv_x86_64_vec,
1236 bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace
1237 bfd_efi_ia64_vec with bfd_pei_ia64_vec.
1238 * targets.c: Likewise.
1239
1240 * configure: Regenerated.
1241 * libcoff.h: Likewise.
1242 * Makefile.in: Likewise.
1243
1244 * efi-app-ia32.c: Removed.
1245 * efi-app-x86_64.c: Likewise.
1246 * efi-bsdrv-ia32.c: Likewise.
1247 * efi-bsdrv-ia64.c: Likewise.
1248 * efi-bsdrv-x86_64.c: Likewise.
1249 * efi-rtdrv-ia32.c: Likewise.
1250 * efi-rtdrv-ia64.c: Likewise.
1251 * efi-rtdrv-x86_64.c: Likewise.
1252 * efi-rtdrv-ia32.c: Likewise.
1253
1254 * efi-app-ia64.c: Moved to ...
1255 * pei-ia64.c: This.
1256 (TARGET_SYM): Set to bfd_pei_ia64_vec.
1257 (TARGET_NAME): Set to pei-ia64.
1258
1259 * libpei.h (bfd_target_pei_p): Removed.
1260 (bfd_target_pei_arch): Likewise.
1261 (bfd_target_efi_app_p): Likewise.
1262 (bfd_target_efi_app_arch): Likewise.
1263 (bfd_target_efi_bsdrv_p): Likewise.
1264 (bfd_target_efi_bsdrv_arch): Likewise.
1265 (bfd_target_efi_rtdrv_p): Likewise.
1266 (bfd_target_efi_rtdrv_arch): Likewise.
1267 (bfd_pe_executable_p): Likewise.
1268
1269 * Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,
1270 efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.
1271 (BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c
1272 and efi-rtdrv-ia32.c.
1273 (BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,
1274 efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and
1275 efi-rtdrv-x86_64.lo. Add pei-ia64.lo.
1276 (BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,
1277 efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and
1278 efi-rtdrv-x86_64.c. Add pei-ia64.c.
1279 (efi-app-ia64.lo): Removed.
1280 (efi-bsdrv-ia32.lo): Likewise.
1281 (efi-rtdrv-ia32.lo): Likewise.
1282 (efi-app-ia64.lo): Likewise.
1283 (efi-bsdrv-ia64.lo): Likewise.
1284 (efi-rtdrv-ia64.lo): Likewise.
1285 (efi-app-x86_64.lo): Likewise.
1286 (efi-bsdrv-x86_64.lo): Likewise.
1287 (efi-rtdrv-x86_64.lo): Likewise.
1288 (pei-ia64.lo): New.
1289
1290 * peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p
1291 with bfd_pei_p.
1292 (arch_type): Removed.
1293 (pe_arch): Likewise.
1294 (pe_bfd_object_p): Just return coff_object_p.
1295
1296 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace
1297 bfd_pe_executable_p with bfd_pei_p.
1298
69c5861e
CL
12992009-04-17 Christophe Lyon <christophe.lyon@st.com>
1300
1301 * elf32-arm.c (elf32_arm_size_stubs): Handle long branches through
1302 PLT entries to an undefined symbol when generating a shared
1303 library.
1304
e9cd0660
NC
13052009-04-17 Nick Clifton <nickc@redhat.com>
1306
1307 PR 9909
1308 * coffcode.h (handle_COMDAT): Allow for external COMDAT symbols.
1309
3023e3f6
RS
13102009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com>
1311
1312 * aout-adobe.c (aout_32_bfd_define_common_symbol): Define.
1313 * aout-target.h (MY_bfd_define_common_symbol): Likewise.
1314 * aout-tic30.c (MY_bfd_define_common_symbol): Likewise.
1315 * binary.c (binary_bfd_define_common_symbol): Likewise.
1316 * bout.c (b_out_bfd_define_common_symbol): Likewise.
1317 * coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
1318 * coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
1319 * coffcode.h (coff_bfd_define_common_symbol): Likewise.
1320 * elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise.
1321 * i386msdos.c (msdos_bfd_define_common_symbol): Likewise.
1322 * i386os9k.c (os9k_bfd_define_common_symbol): Likewise.
1323 * ieee.c (ieee_bfd_define_common_symbol): Likewise.
1324 * ihex.c (ihex_bfd_define_common_symbol): Likewise.
1325 * libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise.
1326 * mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise.
1327 * mmo.c (mmo_bfd_define_common_symbol): Likewise.
1328 * nlm-target.h (nlm_bfd_define_common_symbol): Likewise.
1329 * oasys.c (oasys_bfd_define_common_symbol): Likewise.
1330 * pef.c (bfd_pef_bfd_define_common_symbol): Likewise.
1331 * ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise.
1332 * som.c (som_bfd_define_common_symbol): Likewise.
1333 * srec.c (srec_bfd_define_common_symbol): Likewise.
1334 * tekhex.c (tekhex_bfd_define_common_symbol): Likewise.
1335 * versados.c (versados_bfd_define_common_symbol): Likewise.
1336 * vms.c (vms_bfd_define_common_symbol): Likewise.
1337 * xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise.
1338 * xsym.c (bfd_sym_bfd_define_common_symbol): Likewise.
1339 * coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol.
1340 (pmac_xcoff_vec): Likewise.
1341 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1342 (aix5coff64_vec): Likewise.
1343 * linker.c (bfd_generic_define_common_symbol): New function.
1344 * targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol.
1345 (_bfd_define_common_symbol): New field.
1346 * libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare.
1347 * xcofflink.c (_bfd_xcoff_define_common_symbol): New function.
1348 (xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for common
1349 symbols here.
1350 * bfd-in2.h: Regenerate.
1351 * libbfd.h: Likewise.
1352 * libcoff.h: Likewise.
1353
20135e4c
NC
13542009-04-15 Anthony Green <green@moxielogic.com>
1355
1356 * targets.c: Add moxie support.
1357 * Makefile.am: Ditto.
1358 * Makefile.in: Rebuilt.
1359 * cpu-moxie.c, elf32-moxie.c: New files.
1360 * archures.c: Add moxie support.
1361 * configure.in: Add moxie support.
1362 * configure: Rebuilt.
1363 * config.bfd, archures.c: Add moxie support.
1364 * bfd-in2.h: Rebuilt.
1365
82b5c97a
CL
13662009-04-15 Christophe Lyon <christophe.lyon@st.com>
1367
1368 * elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARM
1369 branch to an undef weak symbol into a jump to next instruction if
1370 a PLT entry will be created.
1371
0408dee6
DK
13722009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
1373
1374 * coffgen.c (make_a_section_from_file): Set the backend long
1375 section names enable if long section names found on input.
1376 * coffcode.h: Extend long section names documentation to match.
1377
a0c402a5
L
13782009-04-08 H.J. Lu <hongjiu.lu@intel.com>
1379
1380 * elflink.c (elf_link_add_object_symbols): Warn alternate ELF
1381 machine code.
1382
4d28413b
DD
13832009-04-07 DJ Delorie <dj@redhat.com>
1384
1385 * archures.c: Add bfd_mach_mep_c5.
1386 * bfd-in2.h: Likewise.
1387 * cpu-mep.c: Add bfd_c5_arch.
1388 * elf32-mep.c: Support it.
1389
bb6198d2
L
13902009-04-07 H.J. Lu <hongjiu.lu@intel.com>
1391
1392 * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
1393 info->callbacks->einfo.
1394 * linker.c (_bfd_generic_section_already_linked): Likewise.
1395
bcb012d3
DD
13962009-04-06 DJ Delorie <dj@redhat.com>
1397
1398 * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.
1399
db1fe6e9
L
14002009-04-06 H.J. Lu <hongjiu.lu@intel.com>
1401
1402 * coff-x86_64.c (bfd_pe_print_pdata): Defined to
1403 _bfd_pex64_print_pdata only if PE is defined.
1404
1405 * libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...
1406 (_bfd_pex64_print_pdata): This.
1407
1408 * peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...
1409 (_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64
1410 is defined.
1411
c7c7219d
KT
14122009-04-05 Kai Tietz <kai.tietz@onevision.com>
1413
1414 * coff-x86_64.c (bfd_pe_print_pdata): Define as
1415 _bfd_pep_print_x64_pdata.
1416 * libpei.h (_bfd_pep_print_x64_pdata): Add prototype.
1417 * peXXigen.c (_bfd_pep_print_x64_pdata): New.
1418
3df502ae
SA
14192009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>
1420
154a1ee5 1421 * elf32-xtensa.c (relax_property_section): Always set r_offset
3df502ae
SA
1422 to zero.
1423
d3626fb0
CL
14242009-04-02 Christophe Lyon <christophe.lyon@st.com>
1425
1426 * elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,
1427 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long
1428 branch stubs.
1429 (elf32_arm_stub_type): New enum values for the two new stubs.
1430 (arm_type_of_stub): Make use of the two new stubs.
1431 (arm_size_one_stub): Handle the two new stubs.
1432
fe723c87
MT
14332009-04-01 Matt Thomas <matt@netbsd.org>
1434
1435 * elf32-vax.c (elf_vax_check_relocs): Do not put relocations against
1436 hidden symbols into the GOT or PLT.GOT.
154a1ee5 1437 (elf_vax_relocate_section): Do not emit a PCREL reloc
fe723c87
MT
1438 into a shared object if it is against a hidden symbol.
1439
ee698300
RS
14402009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1441
1442 * xcofflink.c (xcoff_archive_info): Add contains_shared_object_p
1443 and know_contains_shared_object_p.
1444 (xcoff_archive_contains_shared_object_p): Add an "info" parameter.
1445 Cache the result in the archive_info table.
1446 (xcoff_auto_export_p): Add an "info" parameter and update the
1447 call to xcoff_archive_contains_shared_object_p.
1448 (xcoff_mark_auto_exports): Update accordingly.
1449 (xcoff_post_gc_symbol): Likewise.
1450
54e2dbe0
RS
14512009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1452
1453 * xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT
1454 rather than C_EXT.
1455
2e470849
RS
14562009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1457
1458 * coff-rs6000.c (member_layout): New structure.
1459 (archive_iterator): Likewise.
1460 (member_layout_init): New function.
1461 (archive_iterator_begin): Likewise.
1462 (archive_iterator_next): Likewise.
1463 (xcoff_write_armap_old): Use the new iterator functions.
1464 (do_shared_object_padding): Delete.
1465 (xcoff_write_armap_big): Use the new iterator functions. Simplify
1466 handling of arch_info.
1467 (xcoff_write_archive_contents_old): Allocate arelt_data in the
1468 first loop rather than the second. Allocate a member header if
1469 there isn't one, then work out the stat information and length
1470 in the first loop too. Use the new iterators for the second loop.
1471 (xcoff_write_archive_contents_big): Likewise.
1472
24c611d1
RS
14732009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1474
1475 * bfd-in.h (bfd_xcoff_split_import_path): Declare.
1476 (bfd_xcoff_set_archive_import_path): Likewise.
1477 * bfd-in2.h: Regenerate.
1478 * xcofflink.c: Include libiberty.h.
1479 (xcoff_archive_info): New structure.
1480 (xcoff_archive_info_hash): New function.
1481 (xcoff_archive_info_eq): Likewise.
1482 (xcoff_get_archive_info): Likewise.
1483 (_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.
1484 (bfd_xcoff_split_import_path): New function.
1485 (bfd_xcoff_set_archive_import_path): Likewise.
1486 (xcoff_set_import_path): Move earlier in file.
1487 (xcoff_link_add_dynamic_symbols): Set the import path of a non-archive
1488 object to the the directory part of the bfd's filename. Get the
1489 import path and filename of an archive object from the archive's
1490 xcoff_tdata, initializing it if necessary. Update use of
1491 import_file_id.
1492 (bfd_link_input_bfd): Update use of import_file_id.
1493 (xcoff_write_global_symbol): Likewise.
1494
d286971a
RS
14952009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1496
1497 * xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
1498
14992009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1500
1501 * xcofflink.c (xcoff_link_create_extra_sections): Don't create
1502 a .loader section for relocatable links.
1503 (xcoff_need_ldrel_p): New function.
1504 (xcoff_mark): Use it.
1505 (bfd_xcoff_link_count_reloc): Only count loader relocs if there's
1506 a loader section.
1507 (xcoff_build_ldsym): New function, split out from...
1508 (xcoff_build_ldsyms): ...here. Rename to...
1509 (xcoff_post_gc_symbol): ...this. Only export symbols, and only
1510 call xcoff_build_ldsym, if there's a loader section.
1511 (xcoff_build_loader_section): New function, extracted verbatim from...
1512 (bfd_xcoff_size_dynamic_sections): ...here. Only call it if
1513 there's a loader section. Only add an __rtinit loader symbol
1514 if there's a loader section. Update after above name change.
1515 (xcoff_symbol_section, xcoff_create_ldrel): New functions.
1516 (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section
1517 and xcoff_create_ldrel.
1518 (xcoff_write_global_symbol): Use xcoff_create_ldrel.
1519 (xcoff_reloc_link_order): Likewise, but only call it if there's
1520 a loader section. Use xcoff_symbol_section.
1521 (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym
1522 if there's a loader section.
1523
8707bb87
RS
15242009-04-01 Richard Sandiford <rdsandiford@googlemail.com>
1525
1526 * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
1527
e780aef2
CL
15282009-04-01 Christophe Lyon <christophe.lyon@st.com>
1529
1530 * elf32-arm.c (group_sections): Rewrite loops for better
1531 readability.
1532
c301e700
DD
15332009-03-30 DJ Delorie <dj@redhat.com>
1534
1535 * elflink.c (elf_link_input_bfd): Don't try to resolve complex
1536 relocs when doing a relocatable link.
1537
3895f852
MM
15382009-03-28 Mark Mitchell <mark@codesourcery.com>
1539
1540 * coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
1541 "ERROR:", in error messages.
1542 * cpu-arm.c (bfd_arm_merge_machines): Likewise.
1543 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
1544 * elf32-arm.c (tag_cpu_arch_combine): Likewise.
1545 (elf32_arm_merge_eabi_attributes): Likewise.
1546 (elf32_arm_merge_private_bfd_data): Likewise.
1547
ea882e87
NC
15482009-03-27 Nick Clifton <nickc@redhat.com>
1549
1550 * section.c (bfd_get_section_contents): Detect and handle the case
1551 where a section has the SEC_IN_MEMORY flag set but no actual
1552 contents allocated.
1553
9433b9b1
AM
15542009-03-26 Alan Modra <amodra@bigpond.net.au>
1555
1556 PR 6494
1557 * elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO
1558 p_filesz and p_memsz are equal. Use p_memsz as the segment size.
1559 (assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO
1560 if we don't find matching PT_LOAD when copying.
1561
dc1aa734
SR
15622009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
1563
1564 * elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of
1565 the reloc descriptions.
1566
34d3d6b9
HPN
15672009-03-25 Hans-Peter Nilsson <hp@axis.com>
1568
1569 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
1570 <R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.
1571 <case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.
1572
34274ccc
L
15732009-03-24 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.
1576 (bfd_i386_arch_intel_syntax): Likewise.
1577 (i8086_arch): Likewise.
1578 (bfd_x86_64_arch): Likewise.
1579
019c5a2e
HPN
15802009-03-24 Hans-Peter Nilsson <hp@axis.com>
1581
6718f446
HPN
1582 * elf32-cris.c (cris_elf_relocate_section): <case
1583 R_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-local
1584 symbols for non-allocated sections. Don't check whether to
1585 generate R_CRIS_DTPMOD for non-allocated sections.
1586 (cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don't
1587 handle relocation GC:ing if applied to non-allocated section.
1588 (cris_elf_check_relocs): Similar.
1589
019c5a2e
HPN
1590 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
1591 <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
1592 when emitting a known TP offset in the GOT.
1593
ffcfec52
AM
15942009-03-23 Alan Modra <amodra@bigpond.net.au>
1595
1596 * elf64-ppc.c (synthetic_opd): Delete.
1597 (compare_symbols): Look for .opd name rather than section match.
1598 (ppc64_elf_get_synthetic_symtab): Likewise.
1599
c6dd29ce
AM
16002009-03-21 Alan Modra <amodra@bigpond.net.au>
1601
1602 * elf32-ppc.c (is_pic_glink_stub): Delete.
1603 (is_nonpic_glink_stub): New function.
1604 (ppc_elf_get_synthetic_symtab): Check for last non-pic stub rather
1605 than first pic one.
1606 (struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.
1607
8c21ca21
AK
16082009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
1609 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1610
1611 * elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*
4f360784 1612 macros for visibilty and locality checks.
8c21ca21
AK
1613 (elf_s390_adjust_dynamic_symbol): Likewise.
1614 (allocate_dynrelocs): Likewise.
1615 (elf_s390_relocate_section): Likewise.
1616 (elf_s390_finish_dynamic_symbol): Likewise.
1617 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1618 (elf_s390_adjust_dynamic_symbol): Likewise.
1619 (allocate_dynrelocs): Likewise.
1620 (elf_s390_relocate_section): Likewise.
1621 (elf_s390_finish_dynamic_symbol): Likewise.
1622
156621f3
KT
16232009-03-19 Kai Tietz <kai.tietz@onevision.com>
1624
1625 * bfd-in2.h: Regenerated.
1626 * coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLY
1627 for debugging sections and map memory read/write dependent on
1628 SEC_COFF_NOREAD.
1629 (styp_to_sec_flags): Set SEC_COFF_NOREAD for sections
1630 without memory read flags set.
1631 * section.c: Add SEC_COFF_NOREAD to section flags.
1632
d1fa68d3
AS
16332009-03-19 Andreas Schwab <schwab@linux-m68k.org>
1634
1635 * elf32-hppa.c (final_link_relocate): Cast bfd_vma values to long
1636 for format string.
1637
ad2adbc8
AM
16382009-03-19 Alan Modra <amodra@bigpond.net.au>
1639
1640 * elf32-spu.c (spu_elf_find_overlays): Separate error return from
1641 "no overlays" return. If there are overlays, create overlay
1642 manager entry symbols here, so that..
1643 (spu_elf_build_stubs): ..we don't need to set them up here.
1644 Simplify entry symbol tests.
1645 * elf32-spu.h (spu_elf_find_overlays): Update prototype.
1646
67cc5033
MK
16472009-03-18 Mark Kettenis <kettenis@gnu.org>
1648
d1fa68d3 1649 * elf.c (elfcore_grok_openbsd_procinfo)
67cc5033
MK
1650 (elfcore_grok_openbsd_note): New functions.
1651 (elf_parse_notes): Handle notes from OpenBSD ELF core files.
1652
8d25cc3d
AM
16532009-03-18 Alan Modra <amodra@bigpond.net.au>
1654
3889c459 1655 * vms-hdr.c: Don't include alloca.h.
8d25cc3d
AM
1656 * elf32-m68hc1x.c: Include alloca-conf.h.
1657 * xsym.c: Likewise.
1658 * elf64-hppa.c: Likewise. Remove existing #if's handling alloca.
1659 * som.c: Likewise.
1660 * Makefile.am: Run "make dep-am".
1661 * Makefile.in: Regenerate.
1662
a89e6478
DJ
16632009-03-17 Daniel Jacobowitz <dan@codesourcery.com>
1664
1665 * elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.
1666
a7e11ee1
AM
16672009-03-17 Alan Modra <amodra@bigpond.net.au>
1668
1669 * elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
1670 Add compact_stub.
1671 (emum _ovly_flavour): Delete ovly_compact, ovly_none.
1672 * elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
1673 ovly_return fields with ovly_entry[2]. Adjust all users.
1674 (spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
1675 when soft-icache.
1676 (spu_elf_build_stubs): Likewise.
1677 (ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
1678 ovly_flavour changes. Update all callers.
1679 (ovl_stub_size_log2): New function.
1680 (build_stub): Handle compact icache stubs. Use different manager
1681 entry point for stubs in non-icache area.
1682 (spu_elf_size_stubs): Don't allocate space for indirect branch
1683 descriptors.
1684 (spu_elf_build_stubs): And don't built them.
1685
607a83c9
AS
16862009-03-16 Andrew Stubbs <ams@codesourcery.com>
1687
1688 * dwarf2.c (read_section): Always use rawsize, if available.
1689
588f62fc
AM
16902009-03-16 Alan Modra <amodra@bigpond.net.au>
1691
1692 * simple.c (bfd_simple_get_relocated_section_contents): Use larger
1693 of rawsize and size for buffer.
1694
a14c90c1
UW
16952009-03-15 Ulrich Weigand <uweigand@de.ibm.com>
1696
1697 * elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
1698 parameter just because fixed sections fit into local store.
1699 (spu_elf_auto_overlay): Do not declare as "noreturn". Skip
1700 generating overlays if fixed sections plus reserved stack
1701 and heap space fit into local store.
1702
30c665df
AM
17032009-03-15 Alan Modra <amodra@bigpond.net.au>
1704
1705 * elf32-spu.c (build_stub): Correct icache set_id.
1706 (spu_elf_relocate_section): Likewise.
1707
f95942a3
RS
17082009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1709
1710 * xcofflink.c (xcoff_link_check_archive_element): Only free the
1711 symbol table if it was created by the current call.
1712
670562e9
RS
17132009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1714
1715 * xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
1716 class XMC_DS rather than XMC_UA.
1717
b64232cc
RS
17182009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1719
1720 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
1721 bfd_boolean export_defineds parameter with an unsigned int
1722 auto_export_flags parameter.
1723 * bfd-in2.h: Regenerate.
1724 * xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
1725 split out from xcoff_build_ldsyms.
1726 (xcoff_covered_by_expall_p): New function.
1727 (xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
1728 but with extra code to handle -bexpfull and -bexpall.
1729 (xcoff_mark_auto_exports): New function.
1730 (xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
1731 a function should be automatically exported.
1732 (bfd_xcoff_size_dynamic_sections): Replace the export_defineds
1733 parameter with an auto_export_flags parameter. Update ldinfo
1734 accordingly. Use xcoff_mark_auto_exports to mark all automatically-
1735 exported symbols.
1736
7d504122
RS
17372009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1738
1739 * xcofflink.c (xcoff_mark_symbol_by_name): New function.
1740 (bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
1741 init and fini functions. Do garbage collection for objects
1742 without an entry point too.
1743
8602d4fe
RS
17442009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1745
1746 * coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
1747 check whether a symbol has csect information.
1748 (coff_print_aux): Likewise.
1749 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
1750 information for C_AIX_WEAKEXT too.
1751 (_bfd_xcoff_swap_aux_out): Likewise.
1752 (xcoff_reloc_type_br): Handle defweak symbols too.
1753 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
1754 information for C_AIX_WEAKEXT too.
1755 (_bfd_xcoff64_swap_aux_out): Likewise.
1756 (xcoff64_reloc_type_br): Handle defweak symbols too.
1757 * coffgen.c (coff_print_symbol): Handle auxillary function
1758 information for C_AIX_WEAKEXT too.
1759 * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
1760 instead of BSF_GLOBAL if the L_WEAK flag is set.
1761 (xcoff_dynamic_definition_p): New function.
1762 (xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
1763 defines h. Don't change h if ldsym isn't the definition. Otherwise,
1764 always take the symbol class from the ldsym. Use weak bfd symbol
1765 types for weak ldsyms.
1766 (xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
1767 Fix the check for whether a definition is from a shared object.
1768 Allow redefinitions of weak symbols.
1769 (xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
1770 (xcoff_keep_symbol_p): Likewise.
1771 (bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
1772 (xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
1773 Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
1774 but mark them as L_WEAK.
1775 (xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
1776 instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
1777
5b49f6dc
RS
17782009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1779
1780 * xcofflink.c (xcoff_mark): When walking the relocations,
1781 only mark the target symbol or the target section, not both.
1782 (xcoff_final_definition_p): New function.
1783 (xcoff_keep_symbol_p): Use it to check whether an external XCOFF
1784 symbol is a valid definition of the associated output symbol.
1785 Use XCOFF_ALLOCATED to stop the same hash table entry having
1786 two output symbols.
1787 (bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
1788 keeping a symbol.
1789 (xcoff_link_input_bfd): Use xcoff_final_definition_p.
1790
c4037431
RS
17912009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1792
1793 * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
1794 symbols as XMC_XO.
1795
3df13c4a
RS
17962009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1797
1798 * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
1799 * libcoff.h: Regenerate.
1800 * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
1801 line-number counts in the bfd's lineno_counts field.
1802 Don't keep per-csect line-number counts.
1803 (xcoff_sweep): Don't update per-csect line-number counts.
1804 (bfd_xcoff_size_dynamic_sections): Count the number of line-number
1805 entries in each output section.
1806 (xcoff_link_input_bfd): Get the number of line numbers from
1807 the bfd's lineno_counts field, rather than recalculating it
1808 from scratch. Fix the range check when updating C_BINCL and
1809 C_EINCL symbols.
1810 (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
1811 here. Don't expect csects to have line-number counts.
1812
e450936a
RS
18132009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1814
1815 * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
1816 * libcoff.h: Regenerate.
1817 * xcofflink.c (xcoff_keep_symbol_p): New function, using the
1818 "skip" logic from xcoff_link_input_bfd.
1819 (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
1820 objects in a dynamic link, rather than checking whether csectpp
1821 is null. Always allocate debug_index for other objects,
1822 and always go through the loop. Update the type of debug_index
1823 after the change above. Read the auxillary csect information
1824 and use xcoff_keep_symbol_p to decide whether a symbol should
1825 be kept. Set its debug_index to -2 if not.
1826 (xcoff_link_input_bfd): Update the type of debug_index after
1827 the change above and always expect it to be nonnull. Use it to
1828 test whether a symbol should be stripped, rather than making the
1829 decision here. Postpone all symbol creation to the second pass.
1830
47dfb2ca
RS
18312009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1832
1833 * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
1834 creating a descriptor.
1835 (xcoff_sweep): Don't mark toc_section unless it's needed.
1836 (bfd_xcoff_size_dynamic_sections): Skip the toc_section
1837 when marking every bfd.
1838 (xcoff_link_input_bfd): Skip all TOC anchors.
1839 (xcoff_toc_section_p, xcoff_find_tc0): New functions.
1840 (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
1841 to -1; call xcoff_find_tc0 instead.
1842
4cc02a02
RS
18432009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1844
1845 * libcoff-in.h (xcoff_section_tdata): Update commentary.
1846 * libcoff.h: Regenerate.
1847 * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
1848 symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
1849 the previous symbol's csect. Treat last_symndx as an inclusive value
1850 and simplify its handling.
1851 (xcoff_mark): Treat last_symndx as an inclusive value. Only mark
1852 symbols with the right csect. Don't mark rsec when processing
d1fa68d3 1853 relocations against undefined or absolute sections.
4cc02a02
RS
1854 (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
1855 of bfd_und_section_ptr.
1856 (xcoff_link_input_bfd): Likewise.
1857
858ef0ce
RS
18582009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1859
1860 * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
1861 against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
1862 flag is set. Assert that all undefined symbols are either
1863 imported or defined by a dynamic object.
1864 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
1865 * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
1866 handling to all relocations. Only set XCOFF_CALLED for function
1867 symbols.
1868 (xcoff_find_function): New function, split out from...
1869 (bfd_xcoff_export_symbol) ...here.
1870 (xcoff_set_import_path): New function, split out from...
1871 (bfd_xcoff_import_symbol): ...here. Remove assertion for old
1872 meaning of XCOFF_CALLED.
1873 (xcoff_mark_symbol): If we mark an undefined and unimported
1874 symbol, find some way of defining it. If the symbol is a function
1875 descriptor, fill in its definition automatically. If the symbol
1876 is a function, mark its descriptor and allocate room for global
1877 linkage code. Otherwise mark the symbol as implicitly imported.
1878 Move the code for creating function descriptors from...
d1fa68d3 1879 (xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
858ef0ce
RS
1880 check for symbols that were implicitly defined.
1881 (xcoff_mark): Don't count any dynamic relocations against
1882 function symbols.
1883 (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
1884 in the xcoff link info.
1885 (xcoff_link_input_bfd): Remove handling of undefined and
1886 unexported symbols.
1887
12b2cce9
RS
18882009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1889
1890 * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
1891 if the target is absolute. Fix comment typo.
1892 (xcoff_ppc_relocate_section): Remove FIXME.
1893 * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
1894 if the target is absolute.
1895
0e3212ad
RS
18962009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1897
1898 * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
1899 R_POS and R_NEG relocations against absolute symbols to the
1900 .loader section.
1901
d19d97e9
RS
19022009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1903
1904 * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
1905 to 2 for bfd_mach_ppc_620.
1906
e5231592
RS
19072009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
1908
1909 * config.bfd: Treat AIX 6+ in the same way as AIX 5.
1910 * configure.in: Likewise.
1911 * configure: Regenerate.
1912
3516e984
L
19132009-03-13 H.J. Lu <hongjiu.lu@intel.com>
1914
1915 PR binutils/9945
1916 * elf.c (assign_section_numbers): Generate symbol table if there
1917 is any relocation in output.
1918 (_bfd_elf_compute_section_file_positions): Likewise.
1919
ce98a316
NC
19202009-03-13 Nick Clifton <nickc@redhat.com>
1921
1922 PR 9934
1923 * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
1924 * elflink.c (elf_link_read_relocs_from_section): Use
1925 NUM_SHDR_ENTRIES. Gracefully handle the case where there are
1926 relocs but no symbol table.
1927 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1928
c4fb387b
L
19292009-03-12 H.J. Lu <hongjiu.lu@intel.com>
1930
1931 PR ld/9938
1932 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
1933 to check ___tls_get_addr.
1934
1935 * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
1936 strncmp to check __tls_get_addr.
1937
53638231
AS
19382009-03-12 Andrew Stubbs <ams@codesourcery.com>
1939
1940 * dwarf2.c (read_section): Always check the offset, even when the
1941 section has been read before.
1942
09e8c3bf
L
19432009-03-11 H.J. Lu <hongjiu.lu@intel.com>
1944
1945 * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
1946 comments.
1947
36e4dce6
CD
19482009-03-11 Chris Demetriou <cgd@google.com>
1949
1950 * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
1951 * bfd-in2.h: Regenerate.
1952 * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
1953 flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
1954 mode.
1955 (bsd_write_armap): Likewise.
1956 (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
1957 flag is set, do nothing.
1958 (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
1959 for timestamp.
1960
9b175a76
UW
19612009-03-11 Ulrich Weigand <uweigand@de.ibm.com>
1962
1963 * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
1964 used to update stack pointer.
1965
f501de17
DA
19662009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1967
1968 PR binutils/9921
1969 * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
1970 for unknown symbols in absolute section.
1971
d11fd249
NC
19722009-03-06 Nick Clifton <nickc@redhat.com>
1973
1974 * po/es.po: Updated Spanish translation.
1975
8cd931b7
CL
19762009-03-05 Christophe Lyon <christophe.lyon@st.com>
1977
1978 * elf32-arm.c (group_sections): Take next section size into
1979 account before accepting to group it.
1980
5fa9e92f
CL
19812009-03-05 Christophe Lyon <christophe.lyon@st.com>
1982
1983 * elf32-arm.c (arm_type_of_stub): Handle long branches targetting
1984 PLT entries.
1985 (elf32_arm_final_link_relocate): Likewise.
1986
b92997d6
AM
19872009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>
1988
1989 PR 9923
1990 * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
1991
727fc41e
AM
19922009-03-04 Alan Modra <amodra@bigpond.net.au>
1993
1994 * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
1995 * section.c (struct bfd_section): Add has_tls_get_addr_call.
1996 (BFD_FAKE_SECTION): Init new flag.
1997 * ecoff.c (bfd_debug_section): Likewise.
1998 * bfd-in2.h: Regenerate.
1999 * libbfd.h: Regenerate.
2000 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
2001 (ppc_elf_reloc_type_lookup): Handle new relocs.
2002 (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
2003 without marker relocs.
2004 (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
2005 if section has no old-style calls.
2006 (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
2007 Don't try to optimize new-style __tls_get_addr call when handling
2008 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
2009 relocs.
2010 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
2011 (ppc64_elf_reloc_type_lookup): Handle new relocs.
2012 (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
2013 without marker relocs.
2014 (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
2015 if section has no old-style calls. Set toc_ref for new relocs as
2016 appropriate.
2017 (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
2018 Don't try to optimize new-style __tls_get_addr call when handling
2019 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
2020 relocs.
2021
51dec227
AM
20222009-03-04 Alan Modra <amodra@bigpond.net.au>
2023
2024 PR 6768
2025 * configure.in: Test for ld --as-needed support. Link shared
2026 libbfd against libm.
2027 * configure: Regenerate.
2028
a1f7ca36
AM
20292009-03-03 Alan Modra <amodra@bigpond.net.au>
2030
2031 * Makefile.am: Run "make dep-am".
2032 * Makefile.in: Regenerate.
2033
c3b7224a
NC
20342009-03-02 Qinwei <qinwei@sunnorth.com.cn>
2035
2036 * elf32-score7.c: New file.
2037 * elf32-score.h: New file.
2038 * elf32-score.c: Add code to support score 7. Set score7 as the
2039 default.
2040 * cpu-score.c: Add score7 architecure.
2041 (compatibile): New function.
2042 * Makefile.am: Add rules for building elf32-score7 object.
2043 * Makefile.in: Regenerate.
2044 * configure.in: Add elf32-score7 object to score vectors.
2045 * configure: Regenerate.
2046 * reloc.c: Add score7 relocs.
2047 * archures.c: Add score3 and score7 machine numbers.
2048 * bfd-in2.h: Regenerate.
2049 * libbfd.h: Regenerate.
2050
58e24671
RW
20512009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2052
2053 * configure: Regenerate.
2054
5887528b
DA
20552009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2056
d45b7d74
DA
2057 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.
2058 (elf32_hppa_check_relocs): Use it.
2059
5887528b
DA
2060 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
2061 elf64-hppa.c.
2062 (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
2063 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
2064 (elf_hppa_is_dynamic_loader_symbol): Likewise.
2065 (elf_hppa_record_segment_addrs): Likewise.
2066 (elf_hppa_final_link): Likewise.
2067 (elf_hppa_relocate_insn): Likewise.
2068 (elf_hppa_final_link_relocate): Likewise.
2069 (elf64_hppa_relocate_section): Likewise.
2070 * elf64-hppa.c: Insert above.
2071
a03bd320
DA
20722009-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2073
2074 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
2075 (elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
2076 (elf_hppa_relocate_section): Likewise.
2077 * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
2078 from struct elf_link_hash_entry. Add count field.
2079 (struct elf64_hppa_dyn_hash_table): Delete.
2080 (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
2081 (elf64_hppa_hash_table): Rename to hppa_link_hash_table.
2082 (hppa_elf_hash_entry, eh_name): Define.
2083 (elf64_hppa_new_dyn_hash_entry): Delete.
2084 (elf64_hppa_dyn_hash_lookup): Delete.
2085 (elf64_hppa_dyn_hash_traverse): Delete.
2086 (get_dyn_name): Delete.
2087 (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
2088 of struct elf64_hppa_dyn_hash_entry *.
2089 (elf64_hppa_finalize_dlt, llocate_global_data_dlt,
2090 allocate_global_data_plt, allocate_global_data_stub,
2091 allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
2092 Likewise.
2093 (hppa64_link_hash_newfunc): New.
2094 (elf64_hppa_hash_table_create): Rework.
2095 (count_dyn_reloc): Likewise.
2096 (hppa64_elf_local_refcounts): New.
2097 (elf64_hppa_check_relocs): Rework using standard technique for recording
2098 local DLT, PLT and OPD reference counts.
2099 (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
2100 elf_link_hash_entry *.
2101 (elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
2102 allocate_global_data_plt, allocate_global_data_stub,
2103 allocate_global_data_opd, allocate_dynrel_entries,
2104 elf64_hppa_adjust_dynamic_symbol,
2105 elf64_hppa_mark_milli_and_exported_functions): Likewise.
2106 (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
2107 Use hppa_link_hash_table. Rework.
2108 (elf64_hppa_link_output_symbol_hook): Rework.
2109 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
2110 elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
2111 elf64_hppa_finish_dynamic_sections): Likewise.
2112
ebe24dd4
CL
21132009-02-26 Christophe Lyon <christophe.lyon@st.com>
2114
2115 * elf32-arm.c (stub_reloc_type): Removed.
2116 (insn_sequence): Renamed reloc_type field to r_type.
2117 (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
2118 (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
2119 (elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
2120 (elf32_arm_stub_type): Add new enum entries for the new stubs.
2121 (arm_stub_is_thumb): Catch new stubs.
2122 (arm_type_of_stub): Handle new stubs.
2123 (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
2124 (bfd_elf32_arm_process_before_allocation): Remove useless
2125 condition.
2126
b9d678e0
L
21272009-02-25 H.J. Lu <hongjiu.lu@intel.com>
2128
2129 * elf.c (elf_find_function): Use is_function_type to check
2130 function symbol.
2131
56fb3749
SA
21322009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
2133
2134 * xtensa-modules.c: Revert to previous version 1.11 due
2135 to inadvertant commit.
2136
658ff993
SA
21372009-02-24 Sterling Augustine <sterling@tensilica.com>
2138
2139 * elf32-xtensa.c (text_action_add): Separate test for action
2140 type. Break if saved action is ta_widen_insn at same offset.
2141
cf3eccff
DJ
21422009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
2143
2144 * elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
2145 to elf32_arm_stub_long_branch_any_arm_pic.
2146 (elf32_arm_stub_long_branch_any_thumb_pic): New.
2147 (enum elf32_arm_stub_type, arm_type_of_stub)
2148 (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
2149 separately.
2150
07d72278
DJ
21512009-02-24 Joseph Myers <joseph@codesourcery.com>
2152
2153 * elf32-arm.c (PREV_SEC): Update comment.
2154 (group_sections): Rename argument to stubs_always_after_branch.
2155 Reverse the list and place stubs at the end of input sections.
2156 Undefine NEXT_SEC.
2157 (elf32_arm_size_stubs): Update to use stubs_always_after_branch.
2158
4e31c731
DJ
21592009-02-23 Daniel Jacobowitz <dan@codesourcery.com>
2160
2161 * elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
2162 Fix formatting.
2163 (arm_size_one_stub): Remove unnecessary break.
2164 (arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
2165
21662009-02-23 Christophe Lyon <christophe.lyon@st.com>
461a49ca
DJ
2167
2168 * elf32-arm.c (stub_insn_type): New type.
2169 (stub_reloc_type): Likewise.
2170 (insn_sequence): Likewise.
2171 (elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
2172 (elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
2173 (elf32_arm_stub_long_branch_thumb_only): Likewise.
2174 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
2175 (elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
2176 (elf32_arm_stub_long_branch_any_any_pic): Likewise.
2177 (elf32_arm_stub_hash_entry): Add new helper fields.
2178 (stub_hash_newfunc): Initialize these new fields.
2179 (arm_build_one_stub): Encode Arm and Thumb instructions separately
2180 to take endianness into account.
2181 (arm_size_one_stub): Compute size of stubs using insn_sequence.
2182 (arm_map_one_stub): Code is now more generic, thanks to
2183 insn_sequence.
2184
c2b4a39d
CL
21852009-02-23 Christophe Lyon <christophe.lyon@st.com>
2186
2187 * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
2188 code.
2189 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
2190 (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
2191 BLX is not available. Fix typo in warning message. Add comments
2192 and improve formatting.
2193 (arm_build_one_stub): Adjust to new
2194 elf32_arm_stub_long_branch_v4t_thumb_arm stub.
2195 (arm_map_one_stub): Likewise.
2196
0c376465 21972009-02-23 Tristan Gingold <gingold@adacore.com>
a60a89d6
TG
2198 Eric Botcazou <ebotcazou@adacore.com>
2199 Douglas B Rupp <rupp@gnat.com>
0c376465
TG
2200
2201 * vms.h: Update copyright year, fix comments, reorder declarations.
2202 (_bfd_save_vms_section): Remove the prototype.
2203 (EGPS_S_V_NO_SHIFT): New constant.
2204 (bfd_vms_set_section_flags): New prototype.
2205 (EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
2206 constants.
2207 (EGSY_S_W_FLAGS): Ditto.
2208 (EGSY_S_V_QUAD_VAL): Ditto.
2209 (ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
2210 (EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
2211 EGST_S_B_NAMLNG): Ditto.
2212 (ESRF_S_B_NAMLNG): Ditto.
2213 (ETIR_S_C_HEADER_SIZE): Ditto.
2214 (EGPS_S_V_ALLOC_64BIT): Ditto.
2215 (DST_S_C_EPILOG): Ditto.
2216 (DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
2217 (DST_S_C_SRC_INCRLNUM_B): Ditto.
2218 (DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
2219 (DST_S_L_PCLINE_UNSLONG): Ditto.
2220 (DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
2221 (DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
2222 (DST_S_C_SOURCE_HEADER_SIZE): Ditto.
2223 (DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
2224 (DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
2225 (DST_S_B_SRC_UNSBYTE): Ditto.
2226 (DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
2227 Add prototypes.
2228 (vms_section, vms_reloc): Remove types.
2229 (hdr_struc): Replaced by ...
2230 (hdr_struct): ... new type.
2231 (EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
2232 (EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
2233 (EMH_DATE_LENGTH): Ditto.
2234 (eom_struc): Replaced by ...
2235 (eom_struct): ... new type.
2236 (EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
2237 (EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
2238 (EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
2239 (EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
2240 (EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
2241 (EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
2242 (EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
2243 (EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
2244 (EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
2245 (EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
2246 (EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
2247 (EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
2248 (EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
2249 (EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
2250 (EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
2251 (DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
2252 (DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
2253 (DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
2254 (DBG_S_C_DMT_PSECT_SIZE): Ditto.
2255 (enum file_type_enum): New type.
2256 (struct location_struct): Removed.
2257 (struct fileinfo, struct srecinfo, struct lineinfo): New types.
2258 (struct funcinfo, struct module): Ditto.
2259 (struct vms_private_data_struct): Update fields.
2260 (struct vms_section_data_struct): New type.
2261
2262 * vms.c: Update copyright year, fix comments,
2263 Fix includes for DECC, add prototypes.
2264 (vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
2265 some initializers.
2266 Use flavour to set is_vax, location_stack is removed.
2267 (struct pair): Declare.
2268 (fill_section_ptr): Initialize variables at declaration.
2269 Add guard to set SECTION_SYM flag, handlde und section.
2270 (vms_fixup_sections): Use struct pair for fill_section_ptr argument.
2271 (_bfd_vms_slurp_object_records): New function, replaces previous
2272 vms_object_p.
2273 (vms_slurp_module): New function.
2274 (vms_slurp_image): Ditto.
2275 (vms_object_p): Complete rewrite.
2276 (vms_mkobject): Use is_vax field to slect architecture.
2277 (free_reloc_stream): New function.
2278 (vms_convert_to_var): Ditto.
2279 (vms_convert_to_var_1): Ditto.
2280 (vms_convert_to_var_unix_filename): Ditto.
2281 (vms_close_and_cleanup): Call free_reloc_stream, convert file to
2282 VAR format on VMS.
2283 (vms_new_section_hook): Set alignment to 0, allocate private data.
2284 (vms_get_section_contents): Load content.
2285 (vms_get_symbol_info): Handle undefined section.
2286 (vms_find_nearest_line): Handle.
2287 (alloc_reloc_stream): New function.
2288 (vms_slurp_reloc_table): Ditto.
2289 (vms_get_reloc_upper_bound): Make it real.
2290 (vms_canonicalize_reloc): Do the real work.
2291 (alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
2292 ALPHA_R_BOH.
2293 (vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
2294 (vms_set_arch_mach): Check arch.
2295 (vms_set_section_contents): Copy the content after allocation.
2296 (vms_alpha_vec): Update object flags.
2297
2298 * vms-tir.c: Update copyright year, fix comments,
2299 add prototypes for new functions.
2300 (dst_define_location): New function.
2301 (dst_restore_location): New function.
2302 (dst_retrieve_location): New function.
2303 (dst_check_allocation): New function.
2304 (image_dump): Call dst_check_allocation.
2305 (image_write_b): Ditto.
2306 (image_write_w): Ditto.
2307 (image_write_l): Ditto.
2308 (image_write_q): Ditto.
2309 (cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
2310 STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
2311 CTL_STKDL.
2312 Call error handler instead of abort if name is not known.
2313 (etir_sta): Add quarter_relocs argument and set it.
2314 Fix cast.
2315 (etir_sto): Ditto.
2316 (etir_opr): Ditto, return FALSE in case of error.
2317 (etir_ctl): Add quarter_relocs argument and set it, fix cast.
2318 Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
2319 (etir_stc): Add quarter_relocs argument and set it, fix cast.
2320 Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
2321 Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
2322 Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
2323 Return FALSE in case of error.
2324 (tir_sta): Change sign of psect.
2325 (tir_ctl): Ditto.
2326 (tir_cmd): Fix cast. Makes tir_table static const.
2327 (etir_cmd): Add quarter_relocs argument, makes etir_table const,
2328 add argument to explain.
2329 (analyze_etir): Initialize maxptr, add quarter_relocs
2330 declaration, move some declarations into inner scopes.
2331 Handle quarter_relocs and STO_IMM.
2332 (_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
2333 (_bfd_vms_slurp_relocs): New function.
2334 (_bfd_vms_decode_relocs): New function.
2335 (sto_imm): Rewritten.
2336 (start_first_etbt_record): New function.
2337 (start_another_etbt_record): Ditto.
2338 (etir_output_check): Ditto.
2339 (defer_reloc_p): Ditto.
2340 (_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
2341 a for-loop. Correctly deals with contents, deals with .vmsdebug,
2342 rewritte relocations handling.
2343 (_bfd_vms_write_tbt): Removed.
2344 (_bfd_vms_write_dbg): Ditto.
2345
2346 * vms-misc.c: Update copyright year, Fix comments.
2347 (_bfd_vms_get_header_values): Use 'size' instead of 'length'.
2348 (maybe_adjust_record_pointer_for_object): New function.
2349 (_bfd_vms_get_first_record): New function, replaces ...
2350 (_bfd_vms_get_record): .. removed.
2351 (_bfd_vms_get_object_record): New function.
2352 (_bfd_vms_get_object_record): New function.
2353 (vms_get_remaining_object_record): New function, replaces ...
2354 (_bfd_vms_get_next_record): ... removed.
2355 (add_new_contents): Removed.
2356 (_bfd_save_vms_section): Removed.
2357 (_bfd_get_vms_section): Removed.
2358 (_bfd_vms_output_flush): Write in VAR format.
2359 (new_symbol): Don't make UND section.
2360
2361 * vms-hdr.c: Update copyright year, update list of record handled.
2362 (_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
2363 (_bfd_vms_write_hdr): Strip vms and unix patches,
2364 add comments, truncate module name at 31 characters,
2365 use constants instead of hard-coded value,
2366 write BFD version instead of a fixed string.
2367 (_bfd_vms_slurp_ihd): New function.
2368 (_bfd_vms_slurp_isd): Ditto.
2369 (_bfd_vms_slurp_ihs): Ditto.
2370 (new_module): Ditto.
2371 (parse_module): Ditto
2372 (build_module_list): Ditto.
2373 (module_find_nearest_line): Ditto.
2374 (_bfd_vms_find_nearest_dst_line): Ditto.
2375 (vms_slurp_debug): Ditto.
2376 (_bfd_vms_slurp_dbg): Ditto.
2377 (_bfd_vms_slurp_tbt): Ditto.
2378 (_bfd_vms_write_dbg): Ditto.
2379 (_bfd_vms_write_tbt): Ditto.
2380
2381 * vms-gsd.c: Update copyright year, update list of records handled.
2382 (EVAX_LITERALS_NAME): New macro.
2383 (evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
2384 (gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
2385 (register_universal_symbol): New function and prototype.
2386 (_bfd_vms_slurp_gsd): Fix indentations and casts,
2387 improve debug messages,
2388 use constants instead of hard-coded value,
2389 fix missing endianness conversion,
2390 handle global symbol (SYMG).
2391 (bfd_vms_set_section_flags): New function.
2392 (_bfd_vms_write_gsd): Don't write .vmsdebug section,
2393 handle section literals,
2394 fix indentation,
2395 handle section bfd and vms flags,
2396 don't output LIB$INITIALIZE symbol,
2397 fix handling of weak symbols,
2398 fix evax vs vax procedure descriptor,
2399 handle absolute symbols.
2400
2401 * reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
2402 BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
2403
2404 * makefile.vms (DEFS): Fix flags for VMS.
2405
2406 * bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
2407
2408 * bfd-in2.h: Regenerated.
2409 * libbfd.h: Regenerated.
2410
47149254
CC
24112009-02-20 Cary Coutant <ccoutant@google.com>
2412
2413 * vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
2414 in struct stat.
2415
6b1cecf3
DK
24162009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
2417
2418 PR gas/7059
2419 * coffcode.h (coff_write_object_contents): Don't let the string
2420 table offset overflow the s_name field when using long section names.
2421
88183869
DK
24222009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
2423
2424 * coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
2425 control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
2426 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2427 * coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
2428 control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
2429 (bfd_pmac_xcoff_backend_data): Likewise.
2430 * coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
2431 (bfd_xcoff_aix5_backend_data): Likewise.
2432 (xcoff64_write_object_contents): Delete unused long_section_names
2433 local variable.
2434 * coff-sh.c (bfd_coff_small_swap_table): Initialise long section
2435 name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
2436 struct non-const.
2437 * coffcode.h (documentation): Update to describe long section names.
2438 (COFFLONGSECTIONCATHELPER): New helper macro.
2439 (BLANKOR1TOODD): Likewise.
2440 (COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
2441 (COFF_LONG_SECTION_NAMES_SETTER): Likewise.
2442 (COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
2443 (bfd_coff_set_long_section_names_allowed): New function.
2444 (bfd_coff_set_long_section_names_disallowed): Likewise.
2445 (struct bfd_coff_backend_data): Add new backend hook function
2446 pointer _bfd_coff_set_long_section_names.
2447 (bfd_coff_set_long_section_names): New backend hook.
2448 (coff_write_object_contents): Only generate long section names if
2449 bfd_coff_long_section_names() indicates they are currently enabled.
2450 (bfd_coff_std_swap_table): Make non-const, and initialise long
2451 section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
2452 (ticoff0_swap_table): Likewise to both.
2453 (ticoff1_swap_table): Again, likewise to both.
2454 * coffgen.c (make_a_section_from_file): Allow long section names
2455 as inputs even if not currently allowed for outputs.
2456 * ecoff.c (_bfd_ecoff_no_long_sections): New function.
2457 * efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
2458 * efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
2459 * efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
2460 * efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
2461 * efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
2462 * efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
2463 * efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
2464 * efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
2465 * efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
2466 * pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
2467 * pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
2468 * pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
2469 * pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
2470 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
2471 * pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
2472 * pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
2473 * libcoff-in.h: Update copyright year to cause updated copyright
2474 year in generated libcoff.h, and fix typo.
2475 * libcoff.h: Regenerated.
2476 * libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
2477 (_bfd_ecoff_no_long_sections): Add prototype.
2478 * libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
2479 * pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
2480 defined by an including .c file.
2481 * ticoff.h (ticoff0_swap_table): Make non-const, and initialise
2482 long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
2483 (ticoff1_swap_table): Likewise to both.
2484
90d8a22c
CL
24852009-02-18 Christophe Lyon <christophe.lyon@st.com>
2486
2487 * elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
2488 stub. Catch default case error.
2489 (arm_map_one_stub): Add missing Thumb mapping symbol.
2490
12123067
NC
24912009-02-18 Bjoern Haase <bjoern.m.haase@web.de>
2492
2493 PR 9841
2494 * elf32-avr.c: Handle case where no local symbos exist correctly.
2495
fea2b4d6
CL
24962009-02-16 Christophe Lyon <christophe.lyon@st.com>
2497
2498 bfd/
2499 * elf32-arm.c (arm_long_branch_stub,
2500 arm_thumb_v4t_long_branch_stub,
2501 arm_thumb_thumb_long_branch_stub,
2502 arm_thumb_arm_v4t_long_branch_stub,
2503 arm_thumb_arm_v4t_short_branch_stub,
2504 arm_pic_long_branch_stub):
2505 Renamed to elf32_arm_stub_long_branch_any_any,
2506 elf32_arm_stub_long_branch_v4t_arm_thumb,
2507 elf32_arm_stub_long_branch_thumb_only,
2508 elf32_arm_stub_long_branch_v4t_thumb_arm,
2509 elf32_arm_stub_short_branch_v4t_thumb_arm,
2510 elf32_arm_stub_long_branch_any_any_pic.
2511 (arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
2512 arm_thumb_thumb_stub_long_branch,
2513 arm_thumb_arm_v4t_stub_long_branch,
2514 arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
2515 Renamed to arm_stub_long_branch_any_any,
2516 arm_stub_long_branch_v4t_arm_thumb,
2517 arm_stub_long_branch_thumb_only,
2518 arm_stub_long_branch_v4t_thumb_arm,
2519 arm_stub_short_branch_v4t_thumb_arm,
2520 arm_stub_long_branch_any_any_pic.
2521
13e0a874
DA
25222009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2523
2524 * elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
2525 in branch offset check.
2526
3a71aa26
AM
25272009-02-15 Alan Modra <amodra@bigpond.net.au>
2528
2529 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
2530 add toc.symndx and toc.add.
2531 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
2532 Set up toc.add.
2533 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
2534 callers.
2535 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
2536 (branch_reloc_hash_match): New function, extracted from..
2537 (ppc64_elf_tls_optimize): ..here.
2538 (ppc64_elf_relocate_section): Properly set addends when optimizing
2539 tls sequences. Avoid unnecessary reading and writing of insns.
2540 Only redo reloc when symbol changed. Bypass symbol checks when
2541 using tlsld_got.
2542 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
2543 (branch_reloc_hash_match): New function, extracted from..
2544 (ppc_elf_tls_optimize): ..here.
2545 (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
2546 Don't clear addend on zapped __tls_get_addr reloc.
2547
2c2b4ed4
NC
25482009-02-12 Nick Clifton <nickc@redhat.com>
2549
2550 PR 9827
2551 * elflink.c (bfd_elf_final_link): When counting the relocations,
2552 if the header size has not been set yet then assume that it will
2553 match the output section's reloc type.
2554
453f5985
NS
25552009-02-12 Nathan Sidwell <nathan@codesourcery.com>
2556
2557 * elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
2558 relocatable link.
2559
3209bffa
AM
25602009-02-09 Alan Modra <amodra@bigpond.net.au>
2561
2562 * elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.
2563 (find_function): Likewise.
2564 (pasted_function): Don't error if no prior function found.
2565 (discover_functions): Revert 2008-12-10 change. Extend first
2566 function range to start of section.
2567
813c8a3c
DA
25682009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2569
2570 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convert
2571 functions to C90.
2572 * elf64-hppa.h: Likewise.
2573
2d0f9ad9
JM
25742009-02-06 Joseph Myers <joseph@codesourcery.com>
2575
2576 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special
2577 .sbss handling.
2578
50e00962
AM
25792009-02-04 Alan Modra <amodra@bigpond.net.au>
2580
2581 * elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.
2582 Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.
2583
52b6b6b9
JM
25842009-02-03 Sandip Matte <sandip@rmicorp.com>
2585
2586 * aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.
2587 * archures.c (bfd_mach_mips_xlr): Define.
2588 * bfd-in2.h: Regenerate.
2589 * cpu-mips.c (I_xlr): Define.
2590 (arch_info_struct): Add XLR entry.
2591 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.
2592 (mips_set_isa_flags): Handle bfd_mach_mips_xlr
2593 (mips_mach_extensions): Add XLR entry.
2594
654c3c9f
EW
25952009-02-03 Eric B. Weddington <eric.weddington@atmel.com>
2596
2597 * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
2598
31dd3154
JM
25992009-02-03 Carlos O'Donell <carlos@codesourcery.com>
2600
2601 * configure.in: AC_SUBST pdfdir.
d1fa68d3 2602 * Makefile.am: Add install-pdf, install-pdf-am
31dd3154
JM
2603 and install-pdf-recursive targets. Define pdfdir.
2604 * doc/Makefile.am: Define pdf__strip_dir. Add
2605 install-pdf and install-pdf-am targets.
d1fa68d3 2606 * po/Make-in: Add install-pdf target.
31dd3154
JM
2607 * configure: Regenerate.
2608 * Makefile.in: Regenerate
2609 * doc/Makefile.in: Regenerate.
2610
cf869cce
NC
26112009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
2612
2613 * bfd-in2.h: Regenerate.
2614 * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
2615 fields from n_entries to n_slots where appropriate, update comments.
2616 (HOWTO): Add TLS relocations.
2617 (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
2618 (enum elf_m68k_got_offset_size): New enum.
2619 (struct elf_m68k_got_entry.type): Move field to ...
2620 (struct elf_m68k_got_entry_key): ... here. Update all uses.
2621 (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
2622 functions.
2623 (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
2624 functions.
2625 (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
2626 fields into n_entries array. Update comments.
2627 (elf_m68k_init_got): Simplify, update all uses.
2628 (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
2629 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
2630 GOT entries; update name, update all uses.
2631 (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
2632 (elf_m68k_get_got_entry): Update.
2633 (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
2634 simplify.
2635 (elf_m68k_remove_got_entry_type): Simplify.
2636 (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
2637 (elf_m68k_can_merge_gots): Update.
2638 (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
2639 (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
2640 GOT entries, simplify.
2641 (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
2642 (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
2643 field, remove obsoleted local_n_entries field.
2644 (elf_m68k_partition_multi_got_2): New static function.
2645 (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
2646 update.
2647 (elf_m68k_remove_got_entry_type): Update.
2648 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
d1fa68d3 2649 (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
cf869cce
NC
2650 update of sgot->size and srelgot->size.
2651 (elf_m68k_gc_sweep_hook): Update.
2652 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
2653 (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
2654 TLS relocations.
2655 * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
2656 * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
2657
c1a0a41f
DD
26582009-02-02 DJ Delorie <dj@redhat.com>
2659
2660 * elf32-mep.c (config_names): Regenerate configuration.
2661
72a80a16
AM
26622009-02-02 Alan Modra <amodra@bigpond.net.au>
2663
2664 * elf-bfd.h (bfd_elf_get_str_section): Don't declare.
2665 (bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
2666 * elf.c (bfd_elf_get_str_section): Make static.
2667 (bfd_elf_find_section): Delete.
2668 * libbfd.h: Regenerate.
2669
273f4430
JK
26702009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2671
2672 * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
2673 (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
2674
010e5ae2
AM
26752009-01-31 Alan Modra <amodra@bigpond.net.au>
2676
2677 * elflink.c (on_needed_list): New function.
2678 (elf_link_add_object_symbols): Link in --as-needed libs if they
2679 satisfy undefined symbols in other libs.
2680
33a7ffc2
JM
26812009-01-30 Julian Brown <julian@codesourcery.com>
2682
2683 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
2684 EXEC_P or DYNAMIC flags, and skip sections which are being linked
2685 with --just-symbols (-R).
2686
13d72a14
AN
26872009-01-29 Adam Nemet <anemet@caviumnetworks.com>
2688
2689 * dwarf2.c (read_rangelist): Use read_address to read low_pc and
2690 high_pc in order to properly sign-extend VMAs.
2691
d334575b 26922009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
d1fa68d3
AS
2693 Mark Shinwell <shinwell@codesourcery.com>
2694 Catherine Moore <clm@codesourcery.com>
d334575b
JM
2695
2696 * elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
2697
528aeb62
CM
26982009-01-28 Catherine Moore <clm@codesourcery.com>
2699
2700 * elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
2701 SEC_LOAD for dynamic relocation sections.
2702
f6f05983
HPN
27032009-01-27 Hans-Peter Nilsson <hp@axis.com>
2704
2705 * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
2706 (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
2707 the size of local TLS data.
2708
27cc28f9
AS
27092009-01-27 Andreas Schwab <schwab@suse.de>
2710
2711 * mach-o.c (bfd_mach_o_archive_p): Restrict the number of
2712 architectures in the archive.
2713
b3bf42d8
HPN
27142009-01-27 Hans-Peter Nilsson <hp@axis.com>
2715
f551b6f0
HPN
2716 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
2717 <R_CRIS_32_DTPREL>: Correct relocation value.
2718
b3bf42d8
HPN
2719 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
2720 <R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
2721 symbols with non-default visibility.
2722
9bc4e62b
NS
27232009-01-26 Nathan Sidwell <nathan@codesourcery.com>
2724
2725 * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
2726 describing the trampolines.
2727 (ppc_elf_relocate_section): Update relocs to describe the
2728 trampolines.
2729
aeaf6540
DA
27302009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2731
2732 * elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
2733 branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
2734 and R_PARISC_PCREL12F relocations.
2735
1e8fa21e
AM
27362009-01-24 Alan Modra <amodra@bigpond.net.au>
2737
2738 PR 6022
2739 * elflink.c (find_version_for_sym): New function split out from,
2740 but without export_dynamic test, ..
2741 (_bfd_elf_link_assign_sym_version): ..here.
2742 (_bfd_elf_export_symbol): Use it.
2743
28caa186
AM
27442009-01-23 Alan Modra <amodra@bigpond.net.au>
2745
2746 * elf-bfd.h (struct elf_assign_sym_version_info): Delete.
2747 (struct elf_info_failed, struct elf_find_verdep_info): Move to..
2748 * elflink.c: ..here, somewhat modified.
2749 * elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
2750 _bfd_elf_link_find_version_dependencies,
2751 _bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
2752 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
2753 _bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
2754 declare..
2755 * elflink.c: ..and make static here.
2756 (_bfd_elf_link_find_version_dependencies): Adjust for removal
2757 of output_bfd from struct elf_find_verdep_info.
2758 (_bfd_elf_link_assign_sym_version): Similarly adjust to use
2759 struct elf_info_failed.
2760 (bfd_elf_size_dynamic_sections): Adjust.
2761
be04437d
AM
27622009-01-22 Alan Modra <amodra@bigpond.net.au>
2763
2764 PR 6832
2765 * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
2766 after comp_unit_find_line call.
2767
58f9615c
NC
27682009-01-21 Nick Clifton <nickc@redhat.com>
2769
2770 PR 9769
2771 * vmsutil.c (vms_file_stats_name): Remove use of unsupported
2772 tm_gmtoff field in struct tm.
2773
fb266b8b
AM
27742009-01-21 Alan Modra <amodra@bigpond.net.au>
2775
2776 * elf32-spu.h (struct spu_elf_params): Add non_ia_text.
2777 * elf32-spu.c (mark_overlay_section): Only include .text.ia.*
2778 sections in soft-icache lines unless non_ia_text. Don't add
2779 rodata if doing so would exceed line size.
2780
451ffe63
HPN
27812009-01-19 Hans-Peter Nilsson <hp@axis.com>
2782
2783 * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
2784 types than bfd_link_hash_indirect, before early return, call
2785 _bfd_elf_link_hash_copy_indirect.
2786
5aa6ff7c
AS
27872009-01-19 Andrew Stubbs <ams@codesourcery.com>
2788
2789 * elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
2790 * elf-bfd.h (elf_backend_data): Add obj_attrs_order.
2791 * elf32-arm.c (elf32_arm_obj_attrs_order): New function.
2792 (elf_backend_obj_attrs_order): New define.
2793 * elfxx-target.h (elf_backend_obj_attrs_order): New define.
2794 (elfNN_bed): Add elf_backend_obj_attrs_order.
2795
3483fe2e
AS
27962009-01-19 Andrew Stubbs <ams@codesourcery.com>
2797
2798 * elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
2799 (obj_attr_size): Likewise.
2800 (write_obj_attribute): Likewise.
2801 (_bfd_elf_copy_obj_attributes): Likewise.
2802 (_bfd_elf_parse_attributes): Likewise.
2803 * elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
2804 (ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
2805 (ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
2806 (ATTR_TYPE_HAS_NO_DEFAULT): New define.
2807 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
2808 with macros.
2809
2d0bb761
AS
28102009-01-19 Andrew Stubbs <ams@codesourcery.com>
2811
2812 * elf-attrs.c (is_default_attr): Support defaultless attributes.
2813 (bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
2814 (bfd_elf_add_obj_attr_string): Likewise.
2815 (bfd_elf_add_obj_attr_int_string): Likewise.
2816 (_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
2817 * elf-bfd.h (struct obj_attribute): Document new flag bit.
2818 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
2819 Tag_nodefaults has no default value.
2820 (elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
2821 comment to reflect the new state.
2822
a77e83b7
AM
28232009-01-19 Alan Modra <amodra@bigpond.net.au>
2824
2825 PR 9695
2826 * pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
2827 (some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
2828 (adjust_z_magix): Delete dead code handling QMAGIC.
2829
f6d29e26
KT
28302009-01-16 Kai Tietz <kai.tietz@onevision.com>
2831
2832 * coffcode.h (styp_to_sec_flags): Correct interpretation of
2833 IMAGE_SCN_MEM_DISCARDABLE.
2834
29670fb9
AM
28352009-01-16 Alan Modra <amodra@bigpond.net.au>
2836
2837 * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
2838 SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
2839 * configure.in (commonbfdlib): Delete.
2840 (SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
2841 (SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if such
2842 is available, not just for linux.
2843 * po/SRC-POTFILES.in: Regenerate.
2844 * Makefile.in: Regenerate.
2845 * configure: Regenerate.
2846
91e22acd
AS
28472009-01-15 Andrew Stubbs <ams@codesourcery.com>
2848 Julian Brown <julian@codesourcery.com>
2849
2850 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
2851 ARM attributes in ABI 2.07.
2852 * elf32-arm.c (get_secondary_compatible_arch): New function.
2853 (set_secondary_compatible_arch): New function.
2854 (tag_cpu_arch_combine): New function.
2855 (elf32_arm_copy_one_eabi_other_attribute): Delete function.
2856 (elf32_arm_copy_eabi_other_attribute_list): Delete function.
2857 (elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
2858 make it fit with order_01243.
2859 Add support for Tag_also_compatible_with,
2860 Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
2861 Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
2862 Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
2863 Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
2864 Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
2865 Tag_VFP_arch and Tag_ABI_FP_16bit_format.
2866 Rework the way unknown attributes are handled.
2867 Defer errors until all attributes have been processed.
2868
7b86a9fa
AS
28692009-01-15 Andrew Stubbs <ams@codesourcery.com>
2870
2871 * elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
2872 bfd_elf_add_obj_attr_int_string.
2873 Read Tag_compatibility from its new location in the attribute array,
2874 rather than the attribute list.
2875 (_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
2876 bfd_elf_add_obj_attr_int_string.
2877 (_bfd_elf_parse_attributes): Likewise.
2878 (_bfd_elf_merge_object_attributes): There's now only one
2879 Tag_compatibility, and it's in the array, not the list.
2880 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
2881 Tag_compatibility.
2882 (bfd_elf_add_obj_attr_compat): Rename to
2883 bfd_elf_add_obj_attr_int_string.
2884 (bfd_elf_add_proc_attr_compat): Rename to
2885 bfd_elf_add_proc_attr_int_string.
2886 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
2887 Tag_compatibility.
2888
01e1a5bc
NC
28892009-01-15 Douglas B Rupp <rupp@gnat.com>
2890
2891 * Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
2892 (BFD32_BACKENDS_CFILES): Add new file vmsutil.c
2893 (vmsutil.lo): Add dependency rule.
2894 * Makefile.in: Regenerate.
2895 * config.bfd (ia64*-*-*vms*): Add case.
2896 * configure.in (bfd_elf64_ia64_vms_vec): Add case.
2897 * configure: Regenerate.
2898 * vmsutil.c: New file.
2899 * vmsutil.h: New file.
2900 * elf-bfd.h (struct bfd_elf_special_section): Change type of
2901 attr to bfd_vma.
2902 * elfxx-ia64.c (elfNN_vms_post_process_headers,
2903 elfNN_vms_section_processing, elfNN_vms_final_write_processing,
2904 elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
2905 elfNN_vms_object_p): New functions
2906 * targets.c (bfd_elf64_ia64_vms_vec): New target.
2907
a33dafc3
L
29082009-01-14 H.J. Lu <hongjiu.lu@intel.com>
2909
2910 PR ld/9727
2911 * elflink.c (elf_gc_sweep): Exclude the group section if the
2912 first member of the section group is excluded.
2913
13c0e967
AM
29142009-01-14 Alan Modra <amodra@bigpond.net.au>
2915
2916 PR 9735
2917 * syms.c (_bfd_stab_section_find_nearest_line): Don't free
2918 saved filename, use bfd_alloc rather than bfd_malloc for it.
2919
460e679b
AM
29202009-01-13 Alan Modra <amodra@bigpond.net.au>
2921
2922 * elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
2923
25076afa
AM
29242009-01-13 Alan Modra <amodra@bigpond.net.au>
2925
2926 * elf32-spu.c (remove_cycles): Always set call->max_depth.
2927
37107878
AM
29282009-01-12 Alan Modra <amodra@bigpond.net.au>
2929
2930 * elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
2931
cd4a7468
AM
29322009-01-12 Alan Modra <amodra@bigpond.net.au>
2933
2934 * elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
2935 num_lines_log2.
2936 (struct got_entry): Add br_addr.
2937 (struct call_info): Add priority.
2938 (struct function_info): Add lr_store and sp_adjust.
2939 (spu_elf_setup): Init line_size_log2 and num_lines_log2.
2940 (spu_elf_find_overlays): For soft-icache, mark any section within cache
2941 area as an overlay, and check that no other overlays exist. Look up
2942 icache overlay manager entry sym.
2943 (BRA_STUBS, BRA, BRASL): Define.
2944 (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
2945 (needs_ovl_stub): Adjust for soft-icache. Return priority encoded
2946 in branch insn.
2947 (count_stub, build_stub): Support soft-icache.
2948 (build_spuear_stubs, process_stubs): Adjust build_stub call.
2949 (spu_elf_size_stubs): Size soft-icache stubs.
2950 (overlay_index): New function.
2951 (spu_elf_build_stubs): Make static. Support soft-icache.
2952 (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
2953 (find_function_stack_adjust): Save lr store and stack adjust insn
2954 offsets.
2955 (maybe_insert_function): Adjust find_function_stack_adjust call.
2956 (mark_functions_via_relocs): Retrieve priority.
2957 (remove_cycles): Only warn about pruned arcs when stack_analysis.
2958 (sort_calls): Sort by priority first.
2959 (mark_overlay_section): Ignore .ovl.init.
2960 (sum_stack): Only print when stack_analysis.
2961 (print_one_overlay_section): New function, extracted from..
2962 (spu_elf_auto_overlay): ..here. Support soft-icache overlays.
2963 (spu_elf_stack_analysis): Only print when htab->stack_analysis.
2964 (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
2965 analysis. Call spu_elf_build_stubs.
2966 (spu_elf_relocate_section): For soft-icache encode overlay index
2967 into addresses.
2968 (spu_elf_output_symbol_hook): Support soft-icache.
2969 (spu_elf_modify_program_headers: Likewise.
37107878 2970
cd4a7468
AM
2971 * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
2972 num_regions to num_lines. Add line_size and max_branch.
2973 (enum _ovly_flavour): Add ovly_soft_icache.
2974 (spu_elf_build_stubs): Delete.
2975
80c29487
JK
29762009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
2977
2978 * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
2979 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
2980
1bc86aea
HPN
29812009-01-07 Hans-Peter Nilsson <hp@axis.com>
2982
2983 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
2984 <case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
2985 the program, the known offset starts at the negative size of the
2986 TLS section.
2987 <case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
2988 Similar.
2989
3baa454d 29902009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
75606e85 2991
3baa454d 2992 * config.bfd: Add lm32-*-rtems*.
75606e85 2993
9dbe8890
L
29942009-01-03 H.J. Lu <hongjiu.lu@intel.com>
2995
2996 * coff-ppc.c: Add 2009 to Copyright.
2997 * elf32-cris.c: Likewise.
2998 * elflink.c: Likewise.
2999
0bdf8d40
HPN
30002009-01-03 Hans-Peter Nilsson <hp@axis.com>
3001
3002 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
3003 gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
3004
54ac0771
L
30052009-01-02 H.J. Lu <hongjiu.lu@intel.com>
3006
3007 PR ld/9679
3008 * elflink.c (elf_merge_st_other): New.
3009 (_bfd_elf_merge_symbol): Use it on skipped weak definitions and
3010 hide them if needed.
3011 (elf_link_add_object_symbols): Updated.
3012
d8880531
L
30132009-01-02 H.J. Lu <hongjiu.lu@intel.com>
3014
3015 PR ld/9676
3016 * elflink.c (elf_link_add_object_symbols): Update def_dynamic,
3017 ref_dynamic and dynamic_def fields when setting def_regular
3018 to 1.
3019
b70b5c14
NC
30202009-01-02 Curtis Mackie <curtmackevo@gmail.com>
3021
3022 PR 9682
3023 * coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
3024 literal.
3025
d8880531 3026For older changes see ChangeLog-2008
56882138
AM
3027\f
3028Local Variables:
3029mode: change-log
3030left-margin: 8
3031fill-column: 74
3032version-control: never
3033End:
This page took 0.777719 seconds and 4 git commands to generate.