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