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