ce48a24ec6a2a3b88e60c8ee2380fdd5f5c33b0a
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2009-11-02 Paul Brook <paul@codesourcery.com>
2
3 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle VFPv4
4 attributes.
5
6 2009-11-02 Alan Modra <amodra@bigpond.net.au>
7
8 * elflink.c (elf_link_add_object_symbols): Don't force debug
9 symbols local.
10
11 2009-10-29 Johan Kristell <johankri@axis.com>
12
13 * elf32-cris.c (cris_elf_plt_sym_val): New function.
14 (elf_backend_plt_sym_val): Define.
15
16 2009-10-27 Kai Tietz <kai.tietz@onevision.com>
17
18 * peXXigen.c (bfdver.h): Add include.
19 (LINKER_VERSION): Do calculation based on BFD_VERSION.
20
21 2009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
22
23 * elf32-vax.c (elf_vax_relocate_section): Correct assertion.
24
25 2009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
26
27 * elf32-vax.c (elf_vax_plt_entry): Fix formatting.
28
29 2009-10-25 Maciej W. Rozycki <macro@linux-mips.org>
30
31 * elf32-vax.c (elf_vax_relocate_section): Fix a typo.
32
33 2009-10-23 Kai Tietz <kai.tietz@onevision.com>
34
35 * coff-x86_64.c (coff_amd64_rtype_to_howto): Subtract offset
36 of R_AMD64_PCRLONG_<X> relocations from addend.
37
38 2009-10-23 Alan Modra <amodra@bigpond.net.au>
39
40 * plugin.c: Produce empty object if not BFD_SUPPORTS_PLUGINS.
41
42 2009-10-20 Alan Modra <amodra@bigpond.net.au>
43
44 PR binutils/10802
45 * opncls.c (_maybe_make_executable): Make DYNAMIC files executable.
46
47 2009-10-19 Hans-Peter Nilsson <hp@axis.com>
48
49 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
50 Don't subtract the size of the TLS block for non-shared objects
51 from the relocation.
52
53 2009-10-17 Arnold Metselaar <arnold.metselaar@planet.nl>
54
55 * coff-z80.c (z80coff_vec): Allow sections to be of type
56 SEC_CODE or SEC_DATA
57
58 2009-10-16 Alan Modra <amodra@bigpond.net.au>
59
60 PR binutils/10785
61 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Don't bfd_alloc
62 bim and bim->buffer. bfd_malloc instead.
63 * peicode.h (pe_ILF_build_a_bfd): Similarly.
64 (ILF_DATA_SIZE): Don't include bim.
65 * opncls.c (bfd_close): Test bim->buffer non-NULL before freeing.
66
67 2009-10-14 Alan Modra <amodra@bigpond.net.au>
68
69 * aoutx.h (aout_link_check_ar_symbols): Typo fix.
70
71 2009-10-13 H.J. Lu <hongjiu.lu@intel.com>
72
73 PR binutils/10763
74 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt
75 earlier.
76
77 2009-10-13 Alan Modra <amodra@bigpond.net.au>
78
79 * elflink.c (_bfd_elf_merge_symbol): Revert previous patch.
80
81 2009-10-12 Roland McGrath <roland@frob.com>
82
83 * elflink.c (elf_link_add_object_symbols, _bfd_elf_merge_symbol):
84 Fix %s that should be %B in several message formats.
85
86 2009-10-10 Alan Modra <amodra@bigpond.net.au>
87
88 * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols for
89 excluded output sections.
90
91 2009-10-09 Tristan Gingold <gingold@adacore.com>
92
93 * mach-o.c (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_RPATH.
94 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
95
96 2009-10-09 Tristan Gingold <gingold@adacore.com>
97
98 * mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Rename to
99 bfd_mach_o_read_symtab_symbols.
100 (bfd_mach_o_scan_write_thread): Rename to bfd_mach_o_write_thread.
101 (bfd_mach_o_scan_write_relocs): Rename to bfd_mach_o_write_relocs.
102 (bfd_mach_o_scan_write_section_32): Rename to
103 bfd_mach_o_write_section_32.
104 (bfd_mach_o_scan_write_section_64): Rename to
105 bfd_mach_o_write_section_64.
106 (bfd_mach_o_scan_write_segment_32): Rename to
107 bfd_mach_o_write_segment_32.
108 (bfd_mach_o_scan_write_segment_64): Rename to
109 bfd_mach_o_write_segment_64.
110 (bfd_mach_o_scan_write_symtab): Rename to bfd_mach_o_write_symtab.
111 (bfd_mach_o_scan_read_section_32): Rename to
112 bfd_mach_o_read_section_32.
113 (bfd_mach_o_scan_read_section_64): Rename to
114 bfd_mach_o_read_section_64.
115 (bfd_mach_o_scan_read_section): Rename to bfd_mach_o_read_section.
116 (bfd_mach_o_scan_read_symtab_strtab): Rename to
117 bfd_mach_o_read_symtab_strtab.
118 (bfd_mach_o_scan_read_symtab_symbol): Rename to
119 bfd_mach_o_read_symtab_symbol.
120 (bfd_mach_o_scan_read_dysymtab_symbol): Rename to
121 bfd_mach_o_read_dysymtab_symbol.
122 (bfd_mach_o_scan_read_dylinker): Rename to bfd_mach_o_read_dylinker.
123 (bfd_mach_o_scan_read_dylib): Rename to bfd_mach_o_read_dylib.
124 (bfd_mach_o_scan_read_prebound_dylib): Rename to
125 bfd_mach_o_read_prebound_dylib.
126 (bfd_mach_o_scan_read_thread): Rename to bfd_mach_o_read_thread.
127 (bfd_mach_o_scan_read_dysymtab): Rename to bfd_mach_o_read_dysymtab.
128 (bfd_mach_o_scan_read_symtab): Rename to bfd_mach_o_read_symtab.
129 (bfd_mach_o_scan_read_uuid): Rename to bfd_mach_o_read_uuid.
130 (bfd_mach_o_scan_read_linkedit): Rename to bfd_mach_o_read_linkedit.
131 (bfd_mach_o_scan_read_str): Rename to bfd_mach_o_read_str.
132 (bfd_mach_o_scan_read_dyld_info): Rename to bfd_mach_o_read_dyld_info.
133 (bfd_mach_o_scan_read_segment): Rename to bfd_mach_o_read_segment.
134 (bfd_mach_o_scan_read_segment_32): Rename to
135 bfd_mach_o_read_segment_32.
136 (bfd_mach_o_scan_read_segment_64): Rename to
137 bfd_mach_o_read_segment_64.
138 (bfd_mach_o_scan_read_command): Rename to bfd_mach_o_read_command.
139 * mach-o.h (bfd_mach_o_scan_read_dysymtab_symbol): Rename to
140 bfd_mach_o_read_dysymtab_symbol.
141
142 2009-10-09 Tristan Gingold <gingold@adacore.com>
143
144 * mach-o.c (bfd_mach_o_section_get_entry_size): Moved.
145 (bfd_mach_o_section_get_nbr_indirect): Ditto.
146 (bfd_mach_o_get_synthetic_symtab): New function.
147 (bfd_mach_o_print_private_header): Print the number of commands
148 in decimal.
149 * mach-o.h (bfd_mach_o_get_synthetic_symtab): Add prototype.
150 * mach-o-target.c: Do not defined bfd_mach_o_get_synthetic_symtab.
151
152 2009-10-08 Tristan Gingold <gingold@adacore.com>
153
154 * config.bfd: Add bfd_mach_o_i386_vec in x86_64-darwin targ_selvecs.
155
156 2009-10-06 H.J. Lu <hongjiu.lu@intel.com>
157
158 * bfd-in2.h: Regenerated.
159
160 2009-10-02 Alan Modra <amodra@bigpond.net.au>
161
162 * aout-cris.c (N_SHARED_LIB): Don't define.
163 * hp300bsd.c (N_SHARED_LIB): Don't define.
164 * i386bsd.c (N_SHARED_LIB): Don't define.
165 * i386linux.c (N_SHARED_LIB): Don't define.
166 * i386lynx.c (N_SHARED_LIB): Don't define.
167 * m68klinux.c (N_SHARED_LIB): Don't define.
168 * m88kmach3.c (N_SHARED_LIB): Don't define.
169 * mipsbsd.c (N_SHARED_LIB): Don't define.
170 * newsos3.c (N_SHARED_LIB): Don't define.
171 * pc532-mach.c (N_SHARED_LIB): Don't define.
172 * pdp11.c (N_SHARED_LIB): Don't define.
173 * sparclinux.c (N_SHARED_LIB): Don't define.
174 * vaxbsd.c (N_SHARED_LIB): Don't define.
175
176 2009-10-01 Dave Korn <dave.korn.cygwin@gmail.com>
177
178 * cofflink.c (_bfd_coff_generic_relocate_section): Look for the aux
179 symbol for a weak undef in the auxbfd, not the input bfd.
180
181 2009-10-01 Ulrich Weigand <uweigand@de.ibm.com>
182
183 * elf32-spu.c (spu_elf_auto_overlay): Insert icache linker script
184 after .toe instead of before .text section. Set the LMA of all
185 overlay sections to their icache IA address.
186 (spu_elf_find_overlays): Determine icache set id without reference
187 to the LMA.
188
189 2009-09-30 Tristan Gingold <gingold@adacore.com>
190
191 * configure.com: Use hosts/alphavms.h on both alpha and ia64 VMS.
192
193 2009-09-29 H.J. Lu <hongjiu.lu@intel.com>
194
195 * elf64-x86-64.c (elf64_x86_64_append_rela): New.
196 (elf64_x86_64_relocate_section): Use it.
197 (elf64_x86_64_finish_dynamic_symbol): Likewise.
198
199 2009-09-29 DJ Delorie <dj@redhat.com>
200
201 * Makefile.am (ALL_MACHINES): Add cpu-rx.lo.
202 (ALL_MACHINES_CFILES): Add cpu-rx.c.
203 (BFD32_BACKENDS): Add elf32-rx.lo.
204 (BFD32_BACKENDS_CFILES): Add elf32-rx.c.
205 * archures.c (bfd_architecture): Add bfd_arch_rx and bfd_mach_rx.
206 Export bfd_rx_arch.
207 (bfd_archures_list): Add bfd_rx_arch.
208 * config.bfd: Add entry for rx-*-elf.
209 * configure.in: Add entries for bfd_elf32_rx_le_vec and
210 bfd_elf32_rx_be_vec.
211 * reloc.c: Add RX relocations.
212 * targets.c: Add RX target vectors.
213 * Makefile.in: Regenerate.
214 * bfd-in2.h: Regenerate.
215 * configure: Regenerate.
216 * libbfd.h: Regenerate.
217 * cpu-rx.c: New file.
218 * elf32-rx.c: New file.
219
220 2009-09-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
221
222 * elf32-cr16.c (elf32_cr16_relocate_section): Removed
223 info->relocatable to fix the ld/testsuites/ld-elf/linkonce1 test case.
224
225 2009-09-28 Nick Clifton <nickc@redhat.com>
226
227 PR 10478: Accepting Solaris binaries.
228 * elf.c (bfd_section_from_shdr): Allow SHN_BEFORE and SHN_AFTER
229 section link values in x86 binaries.
230 * elfcode.h (elf_object_p): Likewise.
231
232 2009-09-28 Philippe De Muyter <phdm@macqel.be>
233
234 * elf32-m68k.c (elf_m68k_final_write_processing): New function.
235 (elf_backend_final_write_processing): Macro defined as above function.
236
237 2009-09-25 Martin Thuresson <martint@google.com>
238
239 Update sources to make alpha and arm targets compile cleanly with
240 -Wc++-compat:
241 * ecoff.c: Add casts.
242 * ecofflink.c: Add casts.
243 * elf64-alpha.c: Add casts.
244 (struct alpha_elf_got_entry, struct alpha_elf_reloc_entry): Move
245 to top level.
246 (SKIP_HOWTO): Use enum name.
247 * elf32-arm.c: Add casts.
248 (elf32_arm_vxworks_bed): Update code to avoid multiple
249 declarations.
250 (struct map_stub): Move to top level.
251
252 2009-09-24 H.J. Lu <hongjiu.lu@intel.com>
253
254 PR ld/10630
255 * elflink.c (elf_link_output_extsym): Turn off visibility on
256 local symbol.
257 (bfd_elf_final_link): Turn off visibility on dynamic local
258 symbol.
259
260 2009-09-24 Alan Modra <amodra@bigpond.net.au>
261
262 PR binutils/10654
263 * dwarf2.c (lookup_address_in_line_info_table): Remove workaround
264 for invalid location lists generated by gcc-2.95 and Intel 6.0 C++.
265 Remove "function" parm, adjust caller.
266
267 2009-09-23 Matt Rice <ratmice@gmail.com>
268
269 * bfd-in.h (bfd_elf_size_dynamic_sections): Add audit and depaudit
270 arguments.
271 * elflink.c (bfd_elf_size_dynamic_sections): Generate DT_AUDIT,
272 DT_DEPAUDIT from audit/depaudit arguments.
273 (elf_finalize_dynstr): Finalize DT_AUDIT and DT_DEPAUDIT strtab entries.
274 (elf_link_add_object_symbols): Set dt_audit target data when finding a
275 DT_AUDIT.
276 * bfd-in2.h: Regenerate.
277 * bfd-elf.h: Add dt_audit to elf_obj_tdata, and elf_dt_audit macro.
278
279 2009-09-23 Jie Zhang <jie.zhang@analog.com>
280
281 * elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
282 .rel.plt and .plt sections are removed.
283 (elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss
284 section. Remove the duplicated removing of empty .rel.plt
285 section.
286
287 2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
288
289 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
290 patch to handle the new personality relaxation.
291
292 2009-09-21 Richard Sandiford <rdsandiford@googlemail.com>
293
294 * elf-eh-frame.c (make_pc_relative): New function.
295 (_bfd_elf_write_section_eh_frame): Use it.
296
297 2009-09-21 Alan Modra <amodra@bigpond.net.au>
298
299 * elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.
300 (ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.
301 (MR_0_3, MR_3_0): Define.
302 (struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.
303 (ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.
304 (ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
305 table. Check for presense of __tls_get_addr_opt
306 (allocate_dynrelocs): Increase glink entry size for __tls_get_addr.
307 (ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.
308 (write_glink_stub): Add param p.
309 (ppc_elf_relocate_section): Adjust write_glink_stub call.
310 (ppc_elf_finish_dynamic_symbol): Emit special glink call stub for
311 __tls_get_addr.
312 * elf32-ppc.h (ppc_elf_tls_setup): Update prototype.
313 * elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.
314 (ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
315 table. Check for presense of __tls_get_addr_opt.
316 (ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.
317 (LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,
318 BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,
319 LD_R2_0R1, MTLR_R11): Define.
320 (build_tls_get_addr_stub): New function.
321 (ppc_build_one_stub): Call it.
322 (ppc_size_one_stub): Add extra size for __tls_get_addr stub.
323 (ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for
324 __tls_get_addr plt call.
325 * elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.
326
327 2009-09-19 Richard Sandiford <rdsandiford@googlemail.com>
328
329 * elf-bfd.h (eh_cie_fde): Add personality_offset and
330 make_per_encoding_relative to the CIE structure. Add a padding field.
331 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70
332 rather than 0xf0 when masking out the base address encoding
333 Record the offset of personality data from the start of the CIE.
334 Remove a repeated elf_backend_can_make_relative_eh_frame check.
335 (find_merged_cie): Take an info argument. If the personality
336 binds locally, try converting an absolute personality into
337 a local one.
338 (_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0
339 when masking out the base address encoding. Update the call to
340 find_merged_cie.
341 (_bfd_elf_eh_frame_section_offset): Discard relocations against
342 the personality data if we are converting into PC-relative form.
343 (_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0
344 when masking out the base address encoding. Handle
345 make_per_encoding_relative.
346
347 2009-09-18 Alan Modra <amodra@bigpond.net.au>
348
349 PR ld/10406
350 * elf32-ppc.c (ppc_elf_howto_raw): Make R_PPC_EMB_SDAI16 and
351 R_PPC_EMB_SDA2I16 complain_overflow_signed.
352 (create_sdata_sym): Pass info rather than htab.
353 Update all callers. Ensure symbols are hidden.
354 (ppc_elf_check_relocs): Allow SDAREL16 when shared.
355 (ppc_elf_size_dynamic_sections): When shared, equate _SDA_BASE_ to
356 _GLOBAL_OFFSET_TABLE_.
357 (elf_finish_pointer_linker_section): Don't assume that sdata base
358 symbol is always at 0x8000 offset. Don't subtract the addend here.
359 (is_static_defined): New function.
360 (ppc_elf_relocate_section): Verify symbol base used in SDA relocs
361 is statically defined. Clear addend for EMB_SDAI16 and EMB_SDA2I16
362 relocs. Downgrade error on unexpected section for EMB_SDA2REL
363 reloc symbols to a warning.
364
365 2009-09-18 Nick Clifton <nickc@redhat.com>
366
367 * po/es.po: Updated Spanish translation.
368 * po/vi.po: Updated Vietnamese translation.
369
370 2009-09-18 Alan Modra <amodra@bigpond.net.au>
371
372 * elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
373 functions. Use throughout.
374 (ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" field
375 from indirect symbol.
376 (lookup_fdh): Rename from get_fdh. Follow indirect sym links.
377 (add_symbol_adjust): Simplify.
378 (defined_code_entry, defined_func_desc): New functions.
379 (ppc64_elf_gc_keep): Follow indirect sym links. Use defined_code_entry.
380 (ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc and
381 defined_code_entry to follow indirect sym links.
382 (ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.
383 (ppc_type_of_stub): Follow indirect sym links.
384 (toc_adjusting_stub_needed): Likewise.
385 (ppc_build_one_stub): Likewise. Make undefined dot-symbols weak
386 rather than defining them at stub.
387 (ppc64_elf_relocate_section): Rewrite call test to avoid multiple
388 assignments in test.
389
390 2009-09-16 Tristan Gingold <gingold@adacore.com>
391
392 * mach-o.h (bfd_mach_o_filetype): Add new constants from darwin10.
393 Reindent.
394 * mach-o.c (bfd_mach_o_cpu_name): Reindent.
395 (bfd_mach_o_filetype_name): Complete with new constants. Reindent.
396 (bfd_mach_o_print_private_header): Use fputs instead of fprintf
397 when possible to avoid warnings.
398 (bfd_mach_o_print_section_map): Ditto.
399 (bfd_mach_o_section_get_entry_size): New function.
400 (bfd_mach_o_section_get_nbr_indirect): Simplify using the newly
401 added function.
402 (bfd_mach_o_print_dysymtab): Print address of indirect symbols.
403
404 2009-09-14 Nick Clifton <nickc@redhat.com>
405
406 * po/fi.po: Updated Finnish translation.
407
408 2009-09-11 Nick Clifton <nickc@redhat.com>
409
410 * po/bfd.pot: Updated by the Translation project.
411
412 2009-09-11 Philippe De Muyter <phdm@macqel.be>
413
414 * binary.c (binary_object_p): Remove bfd_external_binary_architecture
415 hack. objcopy `-B' (`--binary-architecture') option is now handled
416 in a generic way.
417
418 2009-09-11 Nick Clifton <nickc@redhat.com>
419
420 * rs6000-core.c (read_hdr): Fix typo in recent C++ compatibility
421 changes.
422
423 2009-09-11 Jie Zhang <jie.zhang@analog.com>
424
425 * elf32-bfin.c (bfinfdpic_relocs_info_find): Just return
426 NULL if `ht' is NULL.
427
428 2009-09-09 Martin Thuresson <martin@mtme.org>
429
430 Update sources to compile cleanly with -Wc++-compat:
431 * aoutx.h: Add casts.
432 * archive.c: Add casts.
433 * archive64.c: Add casts.
434 * archures.c: Add casts.
435 * bfd-in2.h: Regenerated.
436 * bfd.c: Add casts. (enum bfd_direction): Move out to top level.
437 * bfdio.c: Add casts.
438 * binary.c: Add casts.
439 * cache.c (cache_bseek,cache_bread_1,cache_bwrite): Updated
440 parameter to use enum value instead of int.
441 * coffcode.h: Add casts.
442 * coffgen.c: Add casts.
443 * cofflink.c: Add casts.
444 * compress.c: Add casts.
445 * dwarf1.c: Add casts.
446 * dwarf2.c: Add casts. (struct dwarf2_debug): Rename member bfd to
447 bfd_ptr. Update code to use new name.
448 * elf-attrs.c: Add casts.
449 * elf-bfd.h (elf_link_virtual_table_entry): Gives name to
450 anonymous struct. (union gotplt_union, struct
451 elf_link_virtual_table_entry): Move to top level.
452 * elf-eh-frame.c: Add casts.
453 * elf-strtab.c: Add casts.
454 * elf.c: Add casts. (_bfd_elm_make_Section_from_phdr): Change
455 argument name from typename to type_name.
456 * elf32-i386.c: Add casts.
457 * elf64-x86-64.c: Add casts.
458 * elfcode.h: Add casts.
459 * elfcore.h: Add casts.
460 * elflink.c: Add casts.
461 * format.c: Add casts.
462 * hash.c: Add casts.
463 * ihex.c: Add casts.
464 * libaout.h (enum aout_subformat, enum aout_magic): Move to top
465 level.
466 * libbfd.c: Add casts.
467 * linker.c: Add casts.
468 * merge.c: Add casts.
469 * opncls.c: Add casts.
470 * peXXigen.c: Add casts.
471 * peicode.h: Add casts.
472 * reloc.c: Add casts.
473 * section.c: Add casts.
474 * simple.c: Add casts.
475 * srec.c: Add casts.
476 * stabs.c: Add casts.
477 * syms.c: Add casts.
478 * targets.c: Add casts.
479 * tekhex.c: Add casts.
480 * verilog.c: Add casts.
481
482 2009-09-09 Paolo Bonzini <bonzini@gnu.org>
483
484 * configure: Regenerate.
485
486 2009-09-09 Daniel Jacobowitz <dan@codesourcery.com>
487
488 * elf32-arm.c (elf32_arm_final_link_relocate): Set sym_flags
489 for the mode of target PLT entries.
490 (allocate_dynrelocs): Only adjust symbol type if setting its
491 value.
492
493 2009-09-09 Paolo Bonzini <bonzini@gnu.org>
494
495 * configure: Regenerate.
496
497 2009-09-09 Nick Clifton <nickc@redhat.com>
498
499 PR 10478:
500 * elf.c (bfd_section_from_shdr): Do not reject sparc binaries with
501 section headers containing sh_link values of SHN_BEFORE or
502 SHN_AFTER.
503 * elfcode.h (elf_object_p): Likewise.
504
505 2009-09-09 Tristan Gingold <gingold@adacore.com>
506
507 Handle DYLD_INFO introduced by Darwin10.
508 * mach-o.h (bfd_mach_o_load_command_type): Add
509 BFD_MACH_O_LC_DYLD_INFO.
510 (bfd_mach_o_dyld_info_command): New type.
511 (bfd_mach_o_load_command): Add dyld_info field.
512 * mach-o.c (bfd_mach_o_scan_read_str): Reduce size of buf.
513 (bfd_mach_o_scan_read_dyld_info): New function.
514 (bfd_mach_o_scan_read_command): Handle BFD_MACH_O_LC_DYLD_INFO.
515 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
516 (bfd_mach_o_load_command_name): AddB FD_MACH_O_LC_DYLD_INFO.
517 (bfd_mach_o_print_dyld_info): New function.
518
519 2009-09-09 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
520
521 * elf32-cr16.c (elf32_cr16_relocate_section): Add code to discard the
522 linkonce or linker script discarded section.
523
524 2009-09-09 Alan Modra <amodra@bigpond.net.au>
525
526 * elf32-xtensa.c (elf_xtensa_relax_section): Delete -r check.
527
528 2009-09-07 Andreas Schwab <schwab@linux-m68k.org>
529
530 * elf32-m68k.c (rtype_to_howto): If the reloc index is out of
531 range call the bfd error hander and use R_68K_NONE instead.
532
533 2009-09-07 Tristan Gingold <gingold@adacore.com>
534
535 * po/SRC-POTFILES.in: Regenerate.
536 * po/bfd.pot: Regenerate.
537
538 * bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
539 BFD_HAVE_SYS_STAT_TYPE_MEMBER): Moved to gas/acinclude.m4
540 * configure.in: Move tests for tm_gmtoff, st_mtim.tv_sec and
541 st_mtim.tv_nsec to gas/configure.in
542 (bfd_elf64_ia64_vms_vec): Remove vmsutil.lo
543 * configure: Regenerate.
544 * config.in: Regenerate.
545 * vmsutil.c: Moved to gas/config/te-vms.c
546 * vmsutil.h: Removed.
547 * Makefile.am (BFD32_BACKENDS_CFILES): Remove vmsutil.c
548 (BFD32_BACKENDS): Remove vmsutil.lo
549 * Makefile.in: Regenerate.
550
551 2009-09-05 Eli Zaretskii <eliz@gnu.org>
552
553 * coffcode.h: Include libiberty.h.
554
555 2009-09-05 Martin Thuresson <martin@mtme.org>
556
557 * coff-arm.c (coff_arm_relocate_section)
558 (record_thumb_to_arm_glue, bfd_arm_process_before_allocation):
559 Change member name class to symbol_class.
560 * coff-i960.c (coff_i960_relocate_section) Rename variable
561 class to class_val. Change member name class to symbol_class.
562 * coff-rs6000.c (_bfd_xcoff_swap_aux_in)
563 (_bfd_xcoff_swap_aux_out): Rename arguments class to in_class.
564 * coff-stgo32.c (adjust_aux_in_post)
565 (adjust_aux_out_pre, adjust_aux_out_post): Rename arguments class
566 to in_class.
567 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in)
568 (_bfd_xcoff64_swap_aux_out): Rename arguments class to in_class.
569 * coffcode.h (coff_pointerize_aux_hook): Rename variable class
570 to n_sclass.
571 * coffgen.c (coff_write_symbol, coff_pointerize_aux): Rename
572 variables named class to n_sclass. (coff_write_symbols): Rename
573 variable class to sym_class. (bfd_coff_set_symbol_class): Rename
574 argument class to symbol_class.
575 * cofflink.c (_bfd_coff_link_hash_newfunc)
576 (coff_link_add_symbols, _bfd_coff_link_input_bfd)
577 (_bfd_coff_write_global_sym, _bfd_coff_generic_relocate_section):
578 Update code to use renamed members.
579 * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Rename
580 argument class to in_class.
581 * libcoff-in.h (struct coff_link_hash_entry, struct
582 coff_debug_merge_type) Renamed members class to symbol_class and
583 type_class.
584 * libcoff.h Regenerated.
585 * peXXigen.c: (_bfd_XXi_swap_aux_in, _bfd_XXi_swap_aux_out):
586 Rename argument class to in_class.
587 * pef.c (bfd_pef_parse_imported_symbol): Update code to use
588 renamed members.
589 * pef.h (struct bfd_pef_imported_symbol): Changed name of
590 member class to symbol_class.
591
592 2009-09-04 H.J. Lu <hongjiu.lu@intel.com>
593
594 * configure: Regenerated.
595
596 2009-09-04 Tristan Gingold <gingold@adacore.com>
597
598 * configure.in: Bump version to 2.20.51
599
600 2009-09-04 Alan Modra <amodra@bigpond.net.au>
601
602 * elf32-spu.c (spu_elf_relocate_section): Correct 2009-07-24 logic.
603
604 2009-09-04 Jie Zhang <jie.zhang@analog.com>
605
606 * elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Always
607 create .rela.bss.
608 (elf32_bfinfdpic_size_dynamic_sections): Set SEC_EXCLUDE flag
609 for empty .rela.bss and .rel.plt sections.
610
611 2009-09-03 Adam Nemet <anemet@caviumnetworks.com>
612
613 * elfxx-mips.c (mips_elf_calculate_relocation): Don't relocate
614 R_MIPS_JALR unless symbol resolves locally.
615
616 2009-09-03 Adam Nemet <anemet@caviumnetworks.com>
617
618 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Don't set
619 has_static_relocs for R_MIPS_JALR.
620
621 2009-09-03 Maciej W. Rozycki <macro@codesourcery.com>
622
623 * elf64-mips.c (mips_elf64_howto_table_rela): Add support for
624 R_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing the
625 respective stubs.
626
627 2009-09-01 H.J. Lu <hongjiu.lu@intel.com>
628
629 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Declare
630 plt earlier.
631
632 2009-09-01 Tristan Gingold <gingold@adacore.com>
633
634 * makefile.vms: Ported to Itanium VMS. Remove useless variable and
635 dependencies. Reindent.
636 * configure.com: Ported to Itanium VMS. Now generates a build.com
637 to build without make. Add messages but make edit silent.
638 * hosts/alphavms.h: Add a prototype for stpcpy.
639 * vms.c: Add a missing include for Alpha VMS.
640 * elfxx-ia64.c (ELF_OSABI): Define for OpenVMS.
641
642 2009-08-31 Jan Beulich <jbeulich@novell.com>
643
644 * elf-bfd.h (bfd_elf_get_default_section_type): Declare.
645 * elf.c (bfd_elf_get_default_section_type): New.
646 (elf_fake_sections): Use bfd_elf_get_default_section_type.
647
648 2009-08-30 H.J. Lu <hongjiu.lu@intel.com>
649
650 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert the
651 accidental checkin.
652 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likwise.
653
654 2009-08-30 Alan Modra <amodra@bigpond.net.au>
655
656 PR ld/10569
657 * bfd.c (bfd_emul_get_maxpagesize): Don't abort.
658 (bfd_emul_get_commonpagesize): Likewise.
659
660 2009-08-29 Martin Thuresson <martin@mtme.org>
661
662 * elf32-arm.c (struct stub_def): Rename member template to
663 template_sequence. (arm_build_one_stub,
664 find_stub_size_and_template, arm_size_one_stub, arm_map_one_stub):
665 Rename variable template to template_sequence.
666 * elfxx-ia64.c (elfNN_ia64_relax_br, elfNN_ia64_relax_brl):
667 Rename variable template to template_val.
668 * aoutx.h (NAME (aout, make_empty_symbol)): Rename variable
669 new to new_symbol.
670 * coffgen.c (coff_make_empty_symbol)
671 (coff_bfd_make_debug_symbol): Rename variable new to new_symbol.
672 * cpu-ia64-opc.c (ext_reg, ins_imms_scaled): Rename variable
673 new to new_insn.
674 * ecoff.c (_bfd_ecoff_make_empty_symbol): Rename variable new
675 to new_symbol.
676 * elf32-m68k.c (elf_m68k_get_got_entry_type): Rename argument
677 new to new_reloc.
678 * hash.c (bfd_hash_lookup): Rename variable new to new_string.
679 * ieee.c (ieee_make_empty_symbol): Rename variable new to
680 new_symbol.
681 * linker.c (bfd_new_link_order): Rename variable new to
682 new_lo.
683 * mach-o.c (bfd_mach_o_sizeof_headers): Rename variable new to
684 symbol.
685 * oasys.c (oasys_make_empty_symbol): Rename variable new to
686 new_symbol_type.
687 * pdp11.c (NAME (aout, make_empty_symbol)): Rename variable
688 new to new_symbol_type.
689 * plugin.c (bfd_plugin_make_empty_symbol): Rename variable new
690 to new_symbol.
691 * rs6000-core.c (CoreHdr, VmInfo): Rename union member new to
692 new_dump.
693 (read_hdr, rs6000coff_core_p)
694 (rs6000coff_core_file_matches_executable_p)
695 (rs6000coff_core_file_failing_command)
696 (rs6000coff_core_file_failing_signal): Updated function to use new
697 union member name.
698 * som.c (som_make_empty_symbol): Rename variable new to
699 new_symbol_type.
700 * syms.c (_bfd_generic_make_empty_symbol): Rename variable new
701 to new_symbol.
702 * tekhex.c (first_phase, tekhex_make_empty_symbol): Rename
703 variable new to new_symbol.
704
705 2009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
706
707 * acinclude.m4 (AM_INSTALL_LIBBFD): Call AM_SUBST_NOTMAKE for
708 bfdlibdir and bfdincludedir.
709 * Makefile.am (bfdlibdir, bfdincludedir): Move definition ...
710 [INSTALL_LIBBFD]: ... here, ...
711 [INSTALL_LIBBFD]: ... and empty overrides here.
712 [!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.
713 [!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.
714 * Makefile.in: Regenerate.
715 * configure: Regenerate.
716
717 2009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>
718
719 * elf32-m68k.c: Rewrite initialization of GOT entries for TLS
720 relocations. Rewrite output of dynamic TLS relocations.
721 (DTP_OFFSET, TP_OFFSET): New constants.
722 (dtpoff_base): Update.
723 (tpoff): Rename to tpoff_base, update.
724 (elf_m68k_init_got_entry_static, elf_m68k_init_got_entry_local_shared):
725 New functions. Move code from elf_m68k_relocate_section here.
726 (elf_m68k_relocate_section): Update.
727 (elf_m68k_finish_dynamic_symbol): Fix handling of local TLS symbols.
728
729 2009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>
730
731 * elf32-m68k.c (elf_m68k_copy_indirect_symbol): Propagate
732 non_got_ref value.
733 (elf_m68k_check_relocs): Handle dynamic TLS relocations.
734 Handle non_got_ref field.
735 (elf_m68k_adjust_dynamic_symbol): Handle non_got_ref field.
736
737 2009-08-26 Alan Modra <amodra@bigpond.net.au>
738
739 PR ld/10518
740 * linker.c (bfd_find_version_for_sym): Revert warning.
741
742 2009-08-26 Alan Modra <amodra@bigpond.net.au>
743
744 PR ld/10518
745 * linker.c (bfd_find_version_for_sym): Override a "*" match by any
746 other wildcard match. Warn on multiple wildcard matches.
747
748 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
749
750 * Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow
751 appending.
752 [INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set
753 only in this condition.
754 [!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,
755 to build but not install libbfd.la in this condition.
756 (install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)
757 (install_libbfd, install_libbfd): Remove.
758 * Makefile.in: Regenerate.
759 * doc/Makefile.am (AM_CPPFLAGS): Renamed from ...
760 (INCLUDES): ... this.
761 ($(MKDOC)): Adjust.
762 * doc/Makefile.in: Regenerate.
763
764 * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead use
765 no-dist and foreign.
766 (EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allow
767 dependency tracking to work for them.
768 (targets.lo, archures.lo, dwarf.lo): Rewrite to
769 use automake dependency tracking mechanism.
770 (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove.
771 (mkdep section): Remove.
772 (BUILT_SOURCES): New, list $(BUILD_HFILES).
773 * Makefile.in: Regenerate.
774 * po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
775
776 * Makefile.am (datarootdir, docdir, htmldor, pdfdir)
777 (install-pdf, install-pdf-recursive, install-html)
778 (install-html-recursive): Remove.
779 * Makefile.in: Regenerate.
780
781 * Makefile.in: Regenerate.
782 * aclocal.m4: Likewise.
783 * config.in: Likewise.
784 * configure: Likewise.
785
786 2009-08-21 Daniel Gutson <dgutson@codesourcery.com>
787
788 * elf32-arm.c (arch_has_thumb2_nop): New function.
789 (arch_has_arm_nop): New function.
790 (elf32_arm_final_link_relocate): NOP opcodes changed.
791
792 2009-08-16 Doug Evans <dje@google.com>
793
794 * opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
795 at least don't leak memory.
796
797 2009-08-13 DJ Delorie <dj@redhat.com>
798
799 * elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
800 if needed.
801
802 2009-08-12 Nick Clifton <nickc@redhat.com>
803
804 * po/fi.po: Updated Finnish translation.
805
806 2009-08-11 Bernd Schmidt <bernd.schmidt@analog.com>
807
808 Merge some FRV FDPIC changes into the Blackfin code.
809 * elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer to
810 summary reloc information.
811 (bfinfdpic_dynamic_got_plt_info): New.
812 (_bfin_create_got_section): Create the PLT section here.
813 (elf32_bfinfdpic_create_dynamic_sections): Not here.
814 (_bfinfdpic_count_nontls_entries): Move out of...
815 (_bfinfdpic_count_got_plt_entries): ... here.
816 (_bfinfdpic_count_relocs_fixups): Likewise.
817 (_bfinfdpic_reset_got_plt_entries): New.
818 (_bfinfdpic_size_got_plt): Move out of...
819 (elf32_bfinfdpic_size_dynamic_sections): ... here.
820 (bfinfdpic_relocate_section): Be careful not to call
821 _bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.
822 (bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):
823 New functions.
824 (elf_backend_discard_info): Define for FD-PIC.
825
826 2009-08-11 Alan Modra <amodra@bigpond.net.au>
827
828 * elflink.c: Add FIXMEs for some places that require octets_per_byte
829 adjustments.
830 * elf-eh-frame.c: Likewise.
831 * merge.c: Likewise.
832
833 2009-08-11 Alan Modra <amodra@bigpond.net.au>
834
835 * configure.in: Remove elf-ifunc.lo from common ELF files. Add
836 to x86 and x86_64 configurations.
837 * configure: Regenerate.
838
839 2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
840
841 Stop using bfd_usrdata in libbfd.
842 * coff-stgo32.c (bfd_coff_go32stub): Remove.
843 (stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE.
844 (adjust_filehdr_in_post): Declare the abfd parameter as unused.
845 Replace STUBSIZE by GO32_STUBSIZE. Save now the stub in
846 filehdr_dst->u.go32.stub. New comment with the reason.
847 (adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE.
848 Substitute the removed macro bfd_coff_go32stub.
849 (adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre)
850 (adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre)
851 (adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE.
852 (create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data):
853 Replace STUBSIZE by GO32_STUBSIZE. Substitute the removed macro
854 bfd_coff_go32stub.
855 * coffcode.h (coff_mkobject_hook): Initialize coff->go32stub.
856 * libcoff-in.h (coff_data_type): New field go32stub.
857 * libcoff.h: Regenerated.
858
859 2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
860
861 Fix go32 stub preservation by objcopy.
862 * coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.
863 (go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD
864 go32stub.
865
866 2009-08-10 Nathan Sidwell <nathan@codesourcery.com>
867
868 * elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined local
869 symbols.
870 (elf32_arm_final_link_relocate): Treat local undefined symbols the
871 same as global undefined symbols.
872 (elf32_arm_relocate_section): Give an error for local undefined
873 non-weak symbols, unless the reloc will not use the symbol.
874
875 2009-08-10 Nathan Sidwell <nathan@codesourcery.com>
876
877 * elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.
878 (ppc_elf_relax_section): Use symbol index to distinguish
879 relocatable stubs.
880
881 2009-08-10 Alan Modra <amodra@bigpond.net.au>
882
883 * elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections.
884
885 2009-08-10 Alan Modra <amodra@bigpond.net.au>
886
887 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear plt
888 info for STT_GNU_IFUNC.
889 * elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entry
890 on got refs in case the symbol turns out to be ifunc.
891 (ppc_elf_gc_sweep_hook): Similarly.
892 (ppc_elf_adjust_dynamic_symbol): Adjust assertion.
893 (allocate_dynrelocs): Don't specially allocate got relocs for ifunc.
894 (ppc_elf_size_dynamic_sections): Likewise.
895 (ppc_elf_relocate_section): Likewise.
896
897 2009-08-09 Bernd Schmidt <bernd.schmidt@analog.com>
898
899 From Mike Frysinger <michael.frysinger@analog.com>
900 * elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,
901 bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,
902 _bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,
903 bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
904 bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
905 Adjust to match the renamed reloc definitions.
906
907 2009-08-08 Alan Modra <amodra@bigpond.net.au>
908
909 PR 10494
910 * elf.c (_bfd_elf_make_section_from_shdr): When setting up section
911 LMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers.
912
913 2009-08-07 Tom Tromey <tromey@redhat.com>
914
915 * elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
916 aliasing error.
917
918 2009-08-06 Michael Eager <eager@eagercon.com>
919
920 * Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
921 * Makefile.in: Regenerate.
922 * archures.c: Add bfd_arch_microblaze.
923 * bfd-in2.h: Regenerate.
924 * config.bfd: Add microblaze target.
925 * configure.in: Add bfd_elf32_microblaze_vec target.
926 * configure: Regenerate.
927 * cpu-microblaze.c: New.
928 * elf32-microblaze.c: New.
929 * libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
930 * libbfd.h: Regenerate.
931 * reloc.c: Add MICROBLAZE relocations.
932 * section.c: Add struct relax_table and relax_count to section.
933 * targets.c: Add bfd_elf32_microblaze_vec.
934
935 2009-08-06 Jakub Jelinek <jakub@redhat.com>
936 Alan Modra <amodra@bigpond.net.au>
937
938 PR binutils/10492
939 * elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
940 symbols.
941 * elf32-mips.c (mips_elf_sym_is_global): Likewise.
942 * elfn32-mips.c (mips_elf_sym_is_global): Likewise.
943
944 2009-08-06 Nathan Sidwell <nathan@codesourcery.com>
945
946 * elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
947 at least once when fixing cortex-a8.
948
949 2009-08-05 Chao-ying Fu <fu@mips.com>
950
951 * elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
952 * elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
953 for CPUs. It is true for RM9000.
954 (JALR_TO_BAL_P): New define to transform JALR to BAL. It is true
955 for all CPUs.
956 (mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
957 to guard the transformation.
958
959 2009-08-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
960
961 * elf32-spu.h (spu_elf_params): Add member emit_fixups.
962 (spu_elf_size_sections): Declare prototype.
963 * elf32-spu.c (spu_link_hash_table): Add member sfixup.
964 (FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
965 (spu_elf_emit_fixup): New function.
966 (spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
967 (spu_elf_size_sections): New function.
968
969 2009-08-05 Nathan Sidwell <nathan@codesourcery.com>
970
971 * elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
972 (arm_build_one_stub): Build a8 veneers as a separate pass.
973 (cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
974 parameters. Use them to check if we create a different a8 fixup
975 than the previous pass.
976 (elf32_arm_size_stubs): Move scope of stub_changed and
977 prev_num_a8_fixes into main loop.
978 (elf32_arm_build_stubs): Build a8 veneers in a second pass.
979
980 2009-08-04 Alan Modra <amodra@bigpond.net.au>
981
982 * elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
983 which find_plt_ent is called. Delete redundant code.
984
985 2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
986
987 PR binutils/10363
988 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
989 invalid string offset.
990
991 2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
992
993 PR ld/10433
994 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
995 to htab->init_got_offset and plt to htab->init_plt_offset
996 when discarding space for dynamic relocations.
997
998 2009-08-03 Alan Modra <amodra@bigpond.net.au>
999
1000 * elf32-ppc.c (struct plt_entry): Revise comments.
1001 (ppc_elf_check_relocs): Don't create needless plt_entry info
1002 for non-pie executables. Don't test info->pie when info->shared
1003 already covers that case.
1004 (ppc_elf_gc_sweep_hook): Adjust for above change.
1005 (add_stub_sym): Don't test info->pie when info->shared tested.
1006 (allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
1007 (write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
1008 (ppc_elf_relax_section): Adjust find_plt_ent arguments.
1009 (ppc_elf_relocate_section): Likewise.
1010
1011 2009-08-03 Alan Modra <amodra@bigpond.net.au>
1012
1013 * elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
1014 for local ifunc symbols in non-pie executables, regardless of
1015 reloc type. Don't specially create ifunc dyn relocs. Tidy ifunc
1016 code so that it's obvious that we only do anything special for
1017 local ifunc syms.
1018 (ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
1019 (allocate_dynrelocs): Correct comment for syms defined in plt.
1020 Don't specially allocate ifunc dyn relocs.
1021 (ppc_elf_relax_section): Relax branches to ifunc plt entries too.
1022 (ppc_elf_relocate_section): Set "relocation" value for ifunc
1023 syms in non-pie executables. No specially allocated dyn relocs
1024 for ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT.
1025 (ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
1026 a non-pie executable.
1027
1028 2009-08-02 H.J. Lu <hongjiu.lu@intel.com>
1029 Jakub Jelinek <jakub@redhat.com>
1030
1031 PR ld/6443
1032 * elf32-i386.c (elf_i386_tls_transition): Check executable
1033 instead of shared for TLS when building PIE.
1034 (elf_i386_check_relocs): Likewise.
1035 (elf_i386_allocate_dynrelocs): Likewise.
1036 (elf_i386_relocate_section): Likewise.
1037
1038 * elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
1039 instead of shared for TLS when building PIE.
1040 (elf64_x86_64_check_relocs): Likewise.
1041 (elf64_x86_64_allocate_dynrelocs): Likewise.
1042 (elf64_x86_64_relocate_section): Likewise.
1043
1044 2009-07-31 Anthony Green <green@moxielogic.com>
1045
1046 * config.bfd (targ_cpu): Add moxie-uclinux support.
1047
1048 2009-07-31 Hans-Peter Nilsson <hp@bitrange.com>
1049
1050 * linker.c (fix_syms): Consider SEC_LOAD when choosing section.
1051
1052 2009-07-30 Alan Modra <amodra@bigpond.net.au>
1053
1054 * elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
1055 used by indirect function support. Count dynamic relocs for
1056 ifunc syms.
1057 (ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
1058 (allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
1059 in iplt and their relocs in reliplt. Don't make ifunc syms
1060 dynamic. Allocate got entry relocs for non-dynamic ifunc in
1061 reliplt. Handle other dynamic relocs for ifunc.
1062 (ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
1063 ifunc in reliplt, likewise relocs for got against local ifunc.
1064 Typo fix on reliplt size adjust.
1065 (ppc_elf_relocate_section): Don't use plt scheme of allocating
1066 relocs 1-1 with entries for iplt, instead just add using
1067 reloc_count. Write got relocs and dyn relocs for ifunc to reliplt.
1068 Error on invalid ifunc dyn relocs.
1069 (ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
1070 in iplt/reliplt.
1071 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
1072 R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
1073 (ppc64_elf_reloc_type_lookup): Handle new relocs.
1074 (ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc.
1075 (allocate_dynrelocs): As for elf32-ppc.c above.
1076 (ppc64_elf_size_dynamic_sections): Likewise.
1077 (ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
1078 and their relocs in reliplt. Use R_PPC64_JMP_IREL.
1079 (ppc_size_one_stub): Similarly.
1080 (ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle new
1081 relocs too.
1082 (ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
1083
1084 2009-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1085
1086 * elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27
1087 change. Add note to head comment.
1088
1089 2009-07-28 Jan Beulich <jbeulich@novell.com>
1090
1091 * archive.c (get_extended_arelt_filename): Remove redundant
1092 range check on index.
1093
1094 2009-07-27 Doug Kwan <dougkwan@google.com>
1095
1096 * elf32-arm.c (stub_hash_newfunc): Initialize field output_name.
1097
1098 2009-07-27 H.J. Lu <hongjiu.lu@intel.com>
1099
1100 * archures.c bfd_*_arch): Sorted.
1101 (bfd_archures_list): Likewise.
1102
1103 2009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
1104
1105 * elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle
1106 to R_cr16_NUM32 relocation.
1107
1108 2009-07-26 Michael Eager <eager@eagercon.com>
1109
1110 * archures.c: Add bfd_mach_ppc_405
1111 * bfd-in2.h: Same.
1112
1113 2009-07-25 H.J. Lu <hongjiu.lu@intel.com>
1114
1115 * cpu-i386.c (bfd_x86_64_arch): Fix comment typos.
1116 * cpu-l1om.c (bfd_l1om_arch): Likewise.
1117
1118 2009-07-25 H.J. Lu <hongjiu.lu@intel.com>
1119
1120 * archures.c (bfd_architecture): Add bfd_arch_l1om.
1121 (bfd_l1om_arch): New.
1122 (bfd_archures_list): Add &bfd_l1om_arch.
1123 * bfd-in2.h: Regenerated.
1124
1125 * config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if
1126 bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec
1127 if bfd_elf64_x86_64_freebsd_vec is supported.
1128 (targ_selvecs): Likewise.
1129
1130 * configure.in: Support bfd_elf64_l1om_vec and
1131 bfd_elf64_l1om_freebsd_vec.
1132 * configure: Regenerated.
1133
1134 * cpu-l1om.c: New.
1135
1136 * elf64-x86-64.c (elf64_l1om_elf_object_p): New.
1137 (bfd_elf64_l1om_vec): Likewise.
1138 (bfd_elf64_l1om_freebsd_vec): Likewise.
1139
1140 * Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.
1141 (ALL_MACHINES_CFILES): Add cpu-l1om.c.
1142 * Makefile.in: Regenerated.
1143
1144 * targets.c (bfd_elf64_l1om_vec): New.
1145 (bfd_elf64_l1om_freebsd_vec): Likewise.
1146 (_bfd_target_vector): Add bfd_elf64_l1om_vec and
1147 bfd_elf64_l1om_freebsd_vec.
1148
1149 2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
1150 Alan Modra <amodra@bigpond.net.au>
1151
1152 * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.
1153 * bfd-in2.h: Regenerate.
1154 * libbfd.h: Regenerate.
1155 * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.
1156 (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.
1157 (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.
1158
1159 2009-07-23 H.J. Lu <hongjiu.lu@intel.com>
1160
1161 PR ld/10434
1162 * elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
1163 instead of shared for R_X86_64_TPOFF32.
1164 (elf64_x86_64_relocate_section): Likewise.
1165
1166 2009-07-23 Ulrich Drepper <drepper@redhat.com>
1167
1168 * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
1169 * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols
1170 with the BSF_GNU_UNIQUE flag bit set.
1171 * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag
1172 for symbols with STB_GNU_UNIQUE binding.
1173 * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols
1174 with the STB_GNU_UNIQUE binding.
1175 (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for
1176 symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for
1177 symbols with the unique_global field set.
1178 (elf_link_output_extsym): Set unique_global field for symbols with
1179 the STB_GNU_UNIQUE binding.
1180 * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit.
1181 (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE
1182 symbols.
1183 (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE
1184 symbols.
1185 * bfd-in2.h: Regenerate.
1186
1187 2009-07-22 H.J. Lu <hongjiu.lu@intel.com>
1188
1189 * elflink.c (elf_link_output_extsym): Revert the last change.
1190
1191 2009-07-22 H.J. Lu <hongjiu.lu@intel.com>
1192
1193 PR ld/10433
1194 * elflink.c (elf_link_output_extsym): Special case ifunc syms
1195 when ref_regular, not def_regular.
1196
1197 2009-07-21 H.J. Lu <hongjiu.lu@intel.com>
1198
1199 PR ld/10426
1200 * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
1201 from a DSO into a normal FUNC symbol.
1202 (elf_link_output_extsym): Turn an undefined IFUNC symbol into
1203 a normal FUNC symbol.
1204
1205 2009-07-17 Chao-ying Fu <fu@mips.com>
1206
1207 * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
1208 (_bfd_mips_elf_size_dynamic_sections): For CPUs without load
1209 interlocking, the last PLT entry needs a nop in the branch delay slot.
1210 (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
1211 output the last two PLT entries in reverse order.
1212
1213 2009-07-16 H.J. Lu <hongjiu.lu@intel.com>
1214
1215 * elf32-i386.c (elf_i386_relocate_section): Don't get local
1216 STT_GNU_IFUNC symbol for relocatable link.
1217 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1218
1219 2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1220
1221 * bfdio.c (bfd_iovec): Add comments for bmmap.
1222 * bfd-in2.h: Regenerated.
1223
1224 2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1225
1226 * Makefile.am: Run "make dep-am".
1227 * Makefile.in: Regenerated.
1228
1229 2009-07-10 Doug Kwan <dougkwan@google.com>
1230
1231 * elf32-arm.c (stub_hash_newfunc): Initialize fields
1232 target_addend and orig_insn.
1233
1234 2009-07-10 Tom Tromey <tromey@redhat.com>
1235
1236 * Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h.
1237 (elf-eh-frame.lo): Likewise.
1238 (elf32-bfin.lo): Likewise.
1239 (elf32-frv.lo): Likewise.
1240 (elf32-xc16x.lo): Likewise.
1241 * Makefile.in: Rebuild.
1242 * dwarf2.c: Included dwarf.h, not elf/dwarf2.h.
1243 * elf-eh-frame.c: Likewise.
1244 * elf32-bfin.c: Likewise.
1245 * elf32-frv.c: Likewise.
1246 * elf32-xc16x.c: Likewise.
1247
1248 2009-07-10 Julian Brown <julian@codesourcery.com>
1249
1250 * elf32-arm.c (arm_build_one_stub): Use the hash entry of the
1251 symbol a stub entry is derived from, not the entry for the stub
1252 itself, in call to elf32_arm_final_link_relocate.
1253
1254 2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
1255
1256 * elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros
1257 when reporting addends.
1258
1259 2009-07-10 Alan Modra <amodra@bigpond.net.au>
1260
1261 * elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager
1262 data even when no stubs.
1263 (spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust.
1264
1265 2009-07-10 Alan Modra <amodra@bigpond.net.au>
1266
1267 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_IRELATIVE.
1268 (ppc_elf_get_synthetic_symtab): Report addend.
1269 (PLT_IFUNC): Define.
1270 (struct ppc_elf_link_hash_table): Add iplt and reliplt.
1271 (ppc_elf_create_glink): New function.
1272 (ppc_elf_create_dynamic_sections): Use it.
1273 (ppc_elf_add_symbol_hook): Set has_ifunc_symbols.
1274 (update_local_sym_info): Allocate space for local_plt array.
1275 Don't bump local_got_refcounts for PLT_IFUNC. Return local_plt
1276 entry pointer.
1277 (is_branch_reloc): New function.
1278 (ppc_elf_check_relocs): Handle STT_GNU_IFUNC symbols.
1279 (ppc_elf_gc_sweep_hook): Likewise.
1280 (ppc_elf_adjust_dynamic_symbol): Likewise.
1281 (allocate_dynrelocs): Likewise.
1282 (ppc_elf_size_dynamic_sections): Likewise.
1283 (ppc_elf_relocate_section): Likewise.
1284 (branch_reloc_hash_match): Use is_branch_reloc.
1285 (ppc_elf_tls_optimize): Adjust for local_plt.
1286 (write_glink_stub): New function, extracted from..
1287 (ppc_elf_finish_dynamic_symbol): ..here. Handle STT_GNU_IFUNC.
1288 (ppc_elf_finish_dynamic_sections): Only write plt resolver and
1289 branch table when dynamic.
1290 (elf_backend_post_process_headers): Define.
1291 * elf64-ppc.c (elf_backend_post_process_headers): Define.
1292 (ppc64_elf_howto_raw): Add R_PPC64_IRELATIVE.
1293 (ppc64_elf_get_synthetic_symtab): Report addend.
1294 (struct ppc_stub_hash_entry): Add plt_ent.
1295 (PLT_IFUNC): Define.
1296 (struct ppc_link_hash_table): Add iplt and reliplt.
1297 (create_linkage_sections): Make .iplt and .rela.iplt sections.
1298 (ppc64_elf_add_symbol_hook): Set has_ifunc_symbols.
1299 (update_local_sym_info): Allocate space for local_plt array.
1300 Don't bump local_got_ents for PLT_IFUNC. Return local_plt
1301 entry pointer.
1302 (update_plt_info): Pass pointer to plt_entry rather than sym hash,
1303 and don't change hash flags here.
1304 (is_branch_reloc): New function.
1305 (ppc64_elf_check_relocs): Handle STT_GNU_IFUNC.
1306 (ppc64_elf_gc_sweep_hook): Likewise.
1307 (ppc64_elf_adjust_dynamic_symbol): Likewise.
1308 (allocate_dynrelocs): Likewise.
1309 (ppc64_elf_size_dynamic_sections): Likewise.
1310 (ppc_build_one_stub, ppc_size_one_stub): Likewise.
1311 (ppc64_elf_size_stubs): Likewise.
1312 (ppc64_elf_relocate_section): Likewise.
1313 (get_sym_h): Adjust for local_plt.
1314 (branch_reloc_hash_match): Use is_branch_reloc.
1315 (ppc_type_of_stub): Pass plt_entry pointer and handle ifunc.
1316 (ppc64_elf_toc): Ignore SEC_EXCLUDE sections.
1317
1318 2009-07-10 Alan Modra <amodra@bigpond.net.au>
1319
1320 * elf.c (_bfd_elf_get_synthetic_symtab): Report addends.
1321
1322 2009-07-10 Alan Modra <amodra@bigpond.net.au>
1323
1324 * elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular
1325 and ref_regular_nonweak comment.
1326 * elflink.c (elf_link_output_extsym): Special case ifunc syms
1327 when def_regular, not ref_regular.
1328 (elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,..
1329 * elf32-i386.c (elf_i386_check_relocs): ..set it here instead..
1330 * elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.
1331
1332 2009-07-09 Alan Modra <amodra@bigpond.net.au>
1333
1334 * elf32-spu.c (mark_functions_via_relocs): Init broken_cycle field
1335 of malloc'd struct call_info.
1336 (pasted_function): Likewise, priority too.
1337
1338 2009-07-07 Alan Modra <amodra@bigpond.net.au>
1339
1340 * elf32-spu.c (spu_elf_auto_overlay): Take into account section
1341 alignment when packing sections into overlays.
1342
1343 2009-07-03 Cary Coutant <ccoutant@google.com>
1344
1345 * dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator.
1346
1347 2009-07-03 Dave Korn <dave.korn.cygwin@gmail.com>
1348
1349 * coffcode.h (sec_to_styp_flags): Partially revert (functional
1350 changes only) earlier patch:-
1351
1352 2009-06-25 Kai Tietz <kai.tietz@onevision.com>
1353
1354 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
1355 give .debug and .reloc data characteristics.
1356 (DOT_RELOC): New define for .reloc section string.
1357 (coff_write_object_contents): Use DOT_RELOC instead of string.
1358
1359 2009-07-02 Tom Tromey <tromey@redhat.com>
1360
1361 * aoutx.h (aout_get_external_symbols): Declare 'amt' locally.
1362 * bfdwin.c (bfd_free_window): Cast to unsigned long.
1363
1364 2009-07-01 Nick Clifton <nickc@redhat.com>
1365
1366 * elf-m10300.c: Remove trailing white space.
1367 * reloc.c: Likewise.
1368
1369 2009-07-01 Douglas B Rupp <rupp@gnat.com>
1370
1371 * bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
1372 BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.
1373 * configure.in: Use them.
1374 * configure: Regenerate.
1375 * config.in: Regenerate.
1376 * vmsutil.c: Include sysdep.h, remove ansidecl.h.
1377 #define _BSD_SOURCE. Add comments.
1378 (vms_file_stats_name): Calculate creation date based on available
1379 runtime data. Return 1 for version instead of 0.
1380
1381 2009-07-01 Nick Clifton <nickc@redhat.com>
1382
1383 PR 10072
1384 * elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle
1385 to R_ARM_THM_PC8 relocation.
1386
1387 2009-06-29 Nick Clifton <nickc@redhat.com>
1388
1389 * elf-m10300.c (mn10300_elf_relax_section): Allow for the
1390 different uses of the relocations addend when a symbol is in a
1391 merged section.
1392
1393 2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
1394
1395 PR ld/10337
1396 * elf.c (bfd_section_from_shdr): Don't change sh_link for
1397 SHT_REL/SHT_RELA sections on executable nor shared library.
1398 Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF
1399 as a normal section.
1400
1401 2009-06-25 Nick Clifton <nickc@redhat.com>
1402
1403 * elf-m10300.c (mn10300_elf_relax_section): Handle non-section
1404 symbols with SEC_MERGE flag.
1405
1406 2009-06-25 Kai Tietz <kai.tietz@onevision.com>
1407
1408 * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
1409 give .debug and .reloc data characteristics.
1410 (DOT_RELOC): New define for .reloc section string.
1411 (coff_write_object_contents): Use DOT_RELOC instead of string.
1412
1413 2009-06-25 Tristan Gingold <gingold@adacore.com>
1414
1415 * mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)
1416 (bfd_mach_o_canonicalize_dynamic_symtab)
1417 (bfd_mach_o_get_synthetic_symtab): Defines.
1418 (TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.
1419 (TARGET_NAME): Use Mach-O specific functions for dynamic.
1420
1421 * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes
1422 for scattered relocations.
1423 (bfd_mach_o_i386_print_thread): New function.
1424 (bfd_mach_o_print_thread): Define.
1425
1426 * mach-o.c (text_section_names_xlat): Add an entry for __const.
1427 (bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
1428 New functions extracted from ...
1429 (bfd_mach_o_canonicalize_reloc): ... This. Simplified.
1430 (bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
1431 (bfd_mach_o_canonicalize_dynamic_reloc): New function.
1432 (bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.
1433 (bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases.
1434 (bfd_mach_o_scan_read_dylinker): Do not create a section anymore.
1435 Set name_str field.
1436 (bfd_mach_o_scan_read_dylib): Ditto.
1437 (bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments,
1438 reindent.
1439 (bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctly
1440 decode isym and flags on little endian targets. Set dysymtab field.
1441 (bfd_mach_o_scan_start_address): Adjust for enum names.
1442 (bfd_mach_o_lookup_section): Do not look for segments anymore.
1443 (bfd_mach_o_print_section): Display bfd section name.
1444 (bfd_mach_o_print_segment): Display none if no name.
1445 (bfd_mach_o_print_dysymtab): Display next index for local, external
1446 and undefined symbols.
1447 (bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.
1448 Display dylinker name. Display thread and unixthread commands content.
1449 (bfd_mach_o_print_thread): New macro.
1450
1451 * mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.
1452 (bfd_mach_o_ppc_thread_flavour): Ditto.
1453 (bfd_mach_o_i386_thread_flavour): Ditto.
1454 (BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.
1455 (BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces
1456 BFD_MACH_O_THREAD_STATE_NONE.
1457 (bfd_mach_o_segment_command): Remove segment field.
1458 (bfd_mach_o_thread_flavour): Field offset is now unsigned long.
1459 (bfd_mach_o_dylinker_command): Remove section field, add name_str.
1460 (bfd_mach_o_prebound_dylib_command): Ditto.
1461 (bfd_mach_o_dylib_command): Ditto.
1462 (bfd_mach_o_prebound_dylib_command): Remove section field.
1463 (mach_o_data_struct): Add dysymtab field.
1464 (bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.
1465 (bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)
1466 (bfd_mach_o_build_commands): Remove parameter names and attributes.
1467 (bfd_mach_o_get_dynamic_reloc_upper_bound)
1468 (bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.
1469
1470 2009-06-25 Rafael Avila de Espindola <espindola@google.com>
1471
1472 * plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type
1473 field of struct dirent.
1474
1475 2009-06-23 Tristan Gingold <gingold@adacore.com>
1476
1477 * vms.c (vms_get_synthetic_symtab): Remove duplicate definition
1478 of this macro. Fix indentation.
1479
1480 2009-06-22 Christophe Lyon <christophe.lyon@st.com>
1481
1482 * elf32-arm.c (elf32_arm_size_stubs): Use PLT address as
1483 destination for defined dynamic symbols when deciding whether to
1484 insert a stub or not.
1485 (allocate_dynrelocs): Make sure functions are not marked as Thumb
1486 when actually accessed through a PLT, even when generating a
1487 shared lib.
1488
1489 2009-06-22 Tristan Gingold <gingold@adacore.com>
1490
1491 * mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to
1492 the relocs array.
1493
1494 2009-06-22 Alan Modra <amodra@bigpond.net.au>
1495
1496 * elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch.
1497 * elf32-v850.c (v850_elf_relocate_section): Warning fix.
1498
1499 2009-06-22 Alan Modra <amodra@bigpond.net.au>
1500
1501 * elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning.
1502
1503 2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1504
1505 * elflink.c (elf_link_add_object_symbols): Avoid warning
1506 from -Wjump-misses-init in gcc 4.5.0.
1507
1508 2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1509
1510 * elf32-i386.c (elf_i386_check_relocs): Properly check local
1511 symbol on error.
1512 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1513
1514 2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
1515
1516 * elf32-i386.c (elf_i386_tls_transition): Add a parameter,
1517 r_symndx. Report local symbol name on error.
1518 (elf_i386_check_relocs): Updated. Report local symbol name on
1519 error.
1520 (elf_i386_gc_sweep_hook): Updated.
1521 (elf_i386_relocate_section): Likewise.
1522
1523 * elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter,
1524 r_symndx. Report local symbol name on error.
1525 (elf64_x86_64_check_relocs): Updated. Report local symbol name
1526 on error.
1527 (elf64_x86_64_gc_sweep_hook): Updated.
1528 (elf64_x86_64_relocate_section): Likewise.
1529
1530 2009-06-19 Tristan Gingold <gingold@adacore.com>
1531
1532 * mach-o.c (bfd_mach_o_print_private_header): Fix format character.
1533
1534 2009-06-19 Tristan Gingold <gingold@adacore.com>
1535
1536 * mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Add prototype.
1537 (bfd_mach_o_version): Use bfd_mach_o_get_data instead of direct access.
1538 (bfd_mach_o_valid): Ditto.
1539 (bfd_mach_o_wide_p): Ditto.
1540 (bfd_mach_o_canonicalize_reloc): Ditto.
1541 (bfd_mach_o_build_commands): Ditto.
1542 (bfd_mach_o_scan_read_thread): Ditto.
1543 (bfd_mach_o_flatten_sections): Ditto.
1544 (bfd_mach_o_scan_start_address): Ditto.
1545 (bfd_mach_o_lookup_section): Ditto.
1546 (bfd_mach_o_core_fetch_environment): Ditto.
1547 (bfd_mach_o_write_contents): Ditto. Handle reexport_dylib.
1548 (bfd_mach_o_scan_write_relocs): Adjust for bfd_mach_o_get_data.
1549 (bfd_mach_o_scan_write_symtab): Ditto.
1550 Use macros instead of hard-coded values.
1551 (bfd_mach_o_scan_read_symtab_symbol): Make the function static.
1552 Use bfd_mach_o_get_data instead of direct access. Use macros
1553 instead of hard-coded values.
1554 (bfd_mach_o_scan_read_symtab_strtab): Make the function static.
1555 Remove sym argument and get section from mdata.
1556 Move code into the else branch.
1557 (bfd_mach_o_scan_read_symtab_symbols): Make the function static.
1558 Remove sym argument and get section from mdata. Adjust code.
1559 (bfd_mach_o_scan_read_dylib): Move assertion into the created
1560 switch (which replaces consecutive if statements).
1561 (bfd_mach_o_scan_read_dysymtab): Rename seg to cmd. Load
1562 module table, table of content, indirect symbols and external
1563 referenced symbols.
1564 (bfd_mach_o_scan_read_symtab): Renames seg to symtab. Set symtab
1565 field.
1566 (bfd_mach_o_scan_read_linkedit): New function.
1567 (bfd_mach_o_scan_read_str): Ditto.
1568 (bfd_mach_o_count_symbols): Simplify the code by using the symtab
1569 field of mdata.
1570 (bfd_mach_o_get_symtab_upper_bound): Remove check as
1571 bfd_mach_o_count_symbols never returns an error.
1572 (bfd_mach_o_canonicalize_symtab): Simplify the code by using the
1573 symtab field (there might be only one symtab).
1574 (bfd_mach_o_scan_read_command): Handle reexported dylib.
1575 Handle sub frameworks, sub umbrella, sub library and sub client.
1576 Read code signature and segment split info commands.
1577 (bfd_mach_o_scan): Reindent.
1578 (bfd_mach_o_xlat_name): New type.
1579 (bfd_mach_o_print_flags): New function.
1580 (bfd_mach_o_get_name): Ditto.
1581 (bfd_mach_o_cpu_name): New variable.
1582 (bfd_mach_o_filetype_name, bfd_mach_o_header_flags_name)
1583 (bfd_mach_o_section_type_name)
1584 (bfd_mach_o_section_attribute_name)
1585 (bfd_mach_o_load_command_name): New variables.
1586 (bfd_mach_o_print_private_header): New function.
1587 (bfd_mach_o_print_section_map): New function extracted from
1588 bfd_mach_o_print_private_bfd_data.
1589 (bfd_mach_o_print_section): Ditto. Print more infos.
1590 (bfd_mach_o_print_segment): Ditto.
1591 (bfd_mach_o_print_dysymtab): Ditto.
1592 (bfd_mach_o_bfd_print_private_bfd_data): Reworked. Handle
1593 load weak dylib, reexport dylib and id dylib.
1594 Handle code signature and segment_split info.
1595 Handle sub frameworks, sub umbrella, sub library and sub client.
1596 (bfd_mach_o_section_get_nbr_indirect): New function.
1597
1598 * mach-o.h (BFD_MACH_O_REFERENCE_MASK): New macro. Add comment.
1599 (bfd_mach_o_header_flags): New enum to define header flags.
1600 (bfd_mach_o_section_attribute): New enum to replace ...
1601 (BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,
1602 BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,
1603 BFD_MACH_O_S_SELF_MODIFYING_CODE, BFD_MACH_O_S_ATTR_LIVE_SUPPORT,
1604 BFD_MACH_O_S_ATTR_NO_DEAD_STRIP, BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS,
1605 BFD_MACH_O_S_ATTR_NO_TOC, BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): ...
1606 these removed macros.
1607 (BFD_MACH_O_NLIST_SIZE, BFD_MACH_O_NLIST_64_SIZE): New macros.
1608 (bfd_mach_o_dylib_module): New type.
1609 (BFD_MACH_O_DYLIB_MODULE_SIZE, BFD_MACH_O_DYLIB_MODULE_64_SIZE): New
1610 macros.
1611 (bfd_mach_o_dylib_table_of_content): New type.
1612 (BFD_MACH_O_TABLE_OF_CONTENT_SIZE): New macro.
1613 (bfd_mach_o_dylib_reference): New type.
1614 (BFD_MACH_O_REFERENCE_SIZE): New macro.
1615 (bfd_mach_o_dysymtab_command): Add fields for loaded and decoded
1616 modules, toc, references and indirect syms.
1617 (BFD_MACH_O_INDIRECT_SYMBOL_SIZE): New macro.
1618 (bfd_mach_o_dylinker_command): Remove cmd and cmdsize fields (were
1619 unused). Add comment.
1620 (bfd_mach_o_dylib_command): Ditto.
1621 (bfd_mach_o_prebound_dylib_command): Ditto.
1622 (bfd_mach_o_linkedit_command): New type.
1623 (bfd_mach_o_str_command): New type.
1624 (bfd_mach_o_load_command): Add linkedit and str fields.
1625 (mach_o_data_struct): Add symtab field.
1626 (bfd_get_mach_o_data): Renamed to ...
1627 (bfd_mach_o_get_data): ... this new macro.
1628 (bfd_mach_o_scan_read_symtab_symbol,
1629 bfd_mach_o_scan_read_symtab_strtab,
1630 bfd_mach_o_scan_read_symtab_symbols): Prototypes removed.
1631
1632 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Use bfd_mach_o_get_data
1633 instead of direct access.
1634
1635 2009-06-19 Alan Modra <amodra@bigpond.net.au>
1636
1637 * elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for
1638 R_PPC_PLTREL24 relocs.
1639 (ppc_elf_relocate_section): Likewise.
1640
1641 2009-06-19 Alan Modra <amodra@bigpond.net.au>
1642
1643 * elf32-ppc.c (find_plt_ent): Pass pointer to plist rather than
1644 pointer to sym hash. Update all uses.
1645 (update_plt_info): Likewise. Don't check addend here.
1646
1647 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1648
1649 * elf32-i386.c (elf_i386_check_relocs): Remove isymbuf and use
1650 bfd_sym_from_r_symndx.
1651 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1652
1653 2009-06-18 Alan Modra <amodra@bigpond.net.au>
1654
1655 * elf-bfd.h (struct sym_sec_cache): Delete.
1656 (struct sym_cache): New.
1657 (bfd_section_from_r_symndx): Delete prototype.
1658 (bfd_sym_from_r_symndx): Define prototype.
1659 * elf.c (bfd_section_from_r_symndx): Delete, replace with..
1660 (bfd_sym_from_r_symndx): ..new function.
1661 * elf32-arm.c: Update all uses of struct sym_sec_cache and
1662 bfd_section_from_r_symndx to new struct and function.
1663 * elf32-bfin.c: Likewise.
1664 * elf32-hppa.c: Likewise.
1665 * elf32-i386.c: Likewise.
1666 * elf32-m32r.c: Likewise.
1667 * elf32-m68hc1x.c: Likewise.
1668 * elf32-m68hc1x.h: Likewise.
1669 * elf32-m68k.c: Likewise.
1670 * elf32-ppc.c: Likewise.
1671 * elf32-s390.c: Likewise.
1672 * elf32-sh.c: Likewise.
1673 * elf64-ppc.c: Likewise.
1674 * elf64-s390.c: Likewise.
1675 * elf64-x86-64.c: Likewise.
1676 * elfxx-sparc.c: Likewise.
1677 * elfxx-sparc.h: Likewise.
1678
1679 2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
1680
1681 * elf32-i386.c (elf_i386_check_relocs): Cache or free isymbuf.
1682 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1683
1684 2009-06-18 Nick Clifton <nickc@redhat.com>
1685
1686 * elflink.c (elf_link_sort_relocs): Return early if there are no
1687 relocs to sort.
1688
1689 2009-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
1690
1691 Merge cegcc and mingw32ce target name changes from
1692 CeGCC project:
1693
1694 2007-12-25 Pedro Alves <pedro_alves@portugalmail.pt>
1695
1696 * config.bfd: Add arm*-*-cegcc* target.
1697
1698 2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt>
1699
1700 * config.bfd: Add arm-*-mingw32ce* target.
1701
1702 2009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1703
1704 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): New.
1705 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Likewise.
1706 * elf32-i386.c (elf_i386_allocate_dynrelocs): Use it.
1707 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1708
1709 2009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1710
1711 * elf-bfd.h (_bfd_elf_create_ifunc_dyn_reloc): New.
1712 * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Likewise.
1713 * elf32-i386.c (elf_i386_check_relocs): Use it.
1714 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1715
1716 2009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1717
1718 * elf-bfd.h (elf_dyn_relocs): New.
1719
1720 * elf32-i386.c (elf_i386_dyn_relocs): Removed.
1721 (elf_i386_link_hash_entry): Replace elf_i386_dyn_relocs with
1722 elf_dyn_relocs.
1723 (elf_i386_copy_indirect_symbol): Likewise.
1724 (elf_i386_check_relocs): Likewise.
1725 (elf_i386_gc_sweep_hook): Likewise.
1726 (elf_i386_allocate_dynrelocs): Likewise.
1727 (elf_i386_readonly_dynrelocs): Likewise.
1728 (elf_i386_size_dynamic_sections): Likewise.
1729
1730 * elf64-x86-64.c (elf64_x86_64_dyn_relocs): Removed.
1731 (elf64_x86_64_link_hash_entry): Replace elf64_x86_64_dyn_relocs
1732 with elf_dyn_relocs.
1733 (elf64_x86_64_copy_indirect_symbol): Updated.
1734 (elf64_x86_64_check_relocs): Likewise.
1735 (elf64_x86_64_gc_sweep_hook): Likewise.
1736 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1737 (elf64_x86_64_allocate_dynrelocs): Likewise.
1738 (elf64_x86_64_readonly_dynrelocs): Likewise.
1739 (elf64_x86_64_size_dynamic_sections): Likewise.
1740
1741 2009-06-17 H.J. Lu <hongjiu.lu@intel.com>
1742
1743 * elf32-arm.c (create_got_section): Get existing .rela.got
1744 section.
1745 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
1746 * elf32-lm32.c (create_got_section): Likewise.
1747 * elf32-m32r.c (create_got_section): Likewise.
1748 * elf32-ppc.c (ppc_elf_create_got): Likewise.
1749 * elf32-s390.c (create_got_section): Likewise.
1750 * elf32-sh.c (create_got_section): Likewise.
1751 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
1752 * elf64-s390.c (create_got_section): Likewise.
1753 * elfxx-sparc.c (create_got_section): Likewise.
1754
1755 * elflink.c (_bfd_elf_create_got_section): Properly initialize
1756 the GOT size.
1757
1758 2009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1759
1760 * elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New.
1761
1762 * elf32-i386.c (elf_i386_local_hash): Removed.
1763 (elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1764 (elf_i386_get_local_sym_hash): Likewise.
1765
1766 * elf64-x86-64.c (elf64_x86_64_local_hash): Removed.
1767 (elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.
1768 (elf64_x86_64_get_local_sym_hash): Likewise.
1769 * elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise.
1770 (get_local_sym_hash): Likewise.
1771
1772 2009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1773
1774 * elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec,
1775 rel_got_sec and plt_sec.
1776 (elfNN_ia64_relax_section): Updated.
1777 (elfNN_ia64_create_dynamic_sections): Likewise.
1778 (get_got): Likewise.
1779 (allocate_dynrel_entries): Likewise.
1780 (elfNN_ia64_size_dynamic_sections): Likewise.
1781 (set_got_entry): Likewise.
1782 (elfNN_ia64_choose_gp): Likewise.
1783 (elfNN_ia64_relocate_section): Likewise.
1784 (elfNN_ia64_finish_dynamic_symbol): Likewise.
1785 (elfNN_ia64_finish_dynamic_sections): Likewise.
1786
1787 2009-06-16 Ulrich Weigand <uweigand@de.ibm.com>
1788
1789 * elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bits
1790 also for calls.
1791
1792 2009-06-16 H.J. Lu <hongjiu.lu@intel.com>
1793
1794 * configure.in (elf): Add elf-ifunc.lo.
1795
1796 * configure: Regenerated.
1797 * Makefile.in: Likewise.
1798
1799 * elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,
1800 srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.
1801
1802 * elf32-i386.c (elf_i386_link_hash_table): Remove sgot,
1803 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1804 irelifunc.
1805 (elf_i386_link_hash_table_create): Likewise.
1806 (elf_i386_create_dynamic_sections): Likewise.
1807 (elf_i386_check_relocs): Likewise.
1808 (elf_i386_allocate_dynrelocs): Likewise.
1809 (elf_i386_size_dynamic_sections): Likewise.
1810 (elf_i386_relocate_section): Likewise.
1811 (elf_i386_finish_dynamic_symbol): Likewise.
1812 (elf_i386_finish_dynamic_sections): Likewise.
1813 (elf_i386_create_got_section): Removed.
1814
1815 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,
1816 sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and
1817 irelifunc.
1818 (elf64_x86_64_compute_jump_table_size): Updated.
1819 (elf64_x86_64_link_hash_table_create): Likewise.
1820 (elf64_x86_64_create_dynamic_sections): Likewise.
1821 (elf64_x86_64_check_relocs): Likewise.
1822 (elf64_x86_64_allocate_dynrelocs): Likewise.
1823 (elf64_x86_64_size_dynamic_sections): Likewise.
1824 (elf64_x86_64_relocate_section): Likewise.
1825 (elf64_x86_64_finish_dynamic_symbol): Likewise.
1826 (elf64_x86_64_finish_dynamic_sections): Likewise.
1827 (elf64_x86_64_create_got_section): Removed.
1828
1829 * elflink.c (_bfd_elf_create_got_section): Use log_file_align
1830 for pointer alignment. Set up section pointers.
1831 (_bfd_elf_create_dynamic_sections): Likewise.
1832 (_bfd_elf_create_ifunc_sections): Moved to ...
1833 * elf-ifunc.c: Here. New.
1834
1835 * Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.
1836 (BFD32_BACKENDS_CFILES): Add elf-ifunc.c.
1837 Run "make dep-am".
1838
1839 2009-06-16 Doug Kwan <dougkwan@google.com>
1840
1841 * elf32-arm.c (cortex_a8_erratum_scan): Change type of offset
1842 to bfd_signed_vma. Cast constant operands which are used in
1843 offset related expressions to bfd_signed_vma type as appropriate.
1844
1845 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1846
1847 * elf32-vax.c (elf_vax_plt_sym_val): New function.
1848 (elf_backend_plt_sym_val): Define.
1849
1850 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1851
1852 * elf32-vax.c (elf_vax_reloc_type_class): New function.
1853 (elf_backend_reloc_type_class): Define.
1854
1855 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1856
1857 * elf32-vax.c (elf_vax_relocate_section): For symbol references
1858 from an executable to a shared library treat R_VAX_PC32
1859 relocations as R_VAX_PLT32 ones.
1860
1861 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1862
1863 * elf32-vax.c (elf_vax_instantiate_got_entries): Skip local
1864 symbols in GOT space calculation.
1865 (elf_vax_relocate_section): Adjust accordingly.
1866
1867 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1868
1869 * elf32-vax.c (elf_vax_plt_entry): Set the entry mask to
1870 include <R11:R2>.
1871
1872 2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>
1873
1874 * elf32-vax.c (elf_vax_check_relocs): Handle the visibility
1875 attribute.
1876 (elf_vax_relocate_section): Likewise.
1877
1878 2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1879
1880 * elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.
1881 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1882
1883 2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1884
1885 * elf32-i386.c (elf_i386_check_relocs): Reformat.
1886 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1887
1888 2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1889
1890 * Makefile.am: Run "make dep-am".
1891 * Makefile.in: Regenerated.
1892
1893 2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
1894
1895 * elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo.
1896 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
1897
1898 2009-06-15 Nick Clifton <nickc@redhat.com>
1899
1900 * po/ru.po: New Russian translation.
1901 * configure.in (ALL_LINGUAS): Add ru.
1902 * configure: Regenerate.
1903
1904 2009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1905
1906 * elf32-i386.c: Remove duplicated comments.
1907
1908 2009-06-14 H.J. Lu <hongjiu.lu@intel.com>
1909
1910 PR ld/10270
1911 * elf32-i386.c (elf_i386_allocate_dynrelocs): Disallow
1912 dynamic IFUNC pointer in non-shared object. Use .got.plt
1913 for IFUNC definition in PIE.
1914 (elf_i386_allocate_dynrelocs): Resolve IFUNC definition in
1915 PIE locally.
1916
1917 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallow
1918 dynamic IFUNC pointer in non-shared object. Use .got.plt
1919 for IFUNC definition in PIE.
1920 (elf64_x86_64_relocate_section): Resolve IFUNC definition in
1921 PIE locally.
1922
1923 2009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1924
1925 * elf32-i386.c (elf_i386_check_relocs): Properly report
1926 local symbol for unhandled relocation against STT_GNU_IFUNC
1927 symbol.
1928 (elf_i386_relocate_section): Likewise.
1929 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1930 (elf64_x86_64_relocate_section): Likewise.
1931
1932 2009-06-13 H.J. Lu <hongjiu.lu@intel.com>
1933
1934 PR ld/10269
1935 * elf32-i386.c: Include "objalloc.h" and "hashtab.h".
1936 (elf_i386_link_hash_table): Add loc_hash_table and
1937 loc_hash_memory.
1938 (elf_i386_local_hash): New.
1939 (elf_i386_local_htab_hash): Likewise.
1940 (elf_i386_local_htab_eq): Likewise.
1941 (elf_i386_get_local_sym_hash): Likewise.
1942 (elf_i386_link_hash_table_free): Likewise.
1943 (elf_i386_allocate_local_dynrelocs): Likewise.
1944 (elf_i386_finish_local_dynamic_symbol): Likewise.
1945 (bfd_elf64_bfd_link_hash_table_free): Likewise.
1946 (elf_i386_link_hash_table_create): Create loc_hash_table and
1947 loc_hash_memory.
1948 (elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols.
1949 (elf_i386_size_dynamic_sections): Likewise.
1950 (elf_i386_relocate_section): Likewise.
1951 (elf_i386_finish_dynamic_sections): Likewise.
1952 (elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym
1953 isn't NULL.
1954
1955 * elf64-x86-64.c: Include "objalloc.h" and "hashtab.h".
1956 (elf64_x86_64_link_hash_table): Add loc_hash_table and
1957 loc_hash_memory.
1958 (elf64_x86_64_local_hash): New.
1959 (elf64_x86_64_local_htab_hash): Likewise.
1960 (elf64_x86_64_local_htab_eq): Likewise.
1961 (elf64_x86_64_get_local_sym_hash): Likewise.
1962 (elf64_x86_64_link_hash_table_free): Likewise.
1963 (elf64_x86_64_allocate_local_dynrelocs): Likewise.
1964 (elf64_x86_64_finish_local_dynamic_symbol): Likewise.
1965 (bfd_elf64_bfd_link_hash_table_free): Likewise.
1966 (elf64_x86_64_link_hash_table_create): Create loc_hash_table
1967 and loc_hash_memory.
1968 (elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC
1969 symbols.
1970 (elf64_x86_64_size_dynamic_sections): Likewise.
1971 (elf64_x86_64_relocate_section): Likewise.
1972 (elf64_x86_64_finish_dynamic_sections): Likewise.
1973 (elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if
1974 sym isn't NULL.
1975
1976 2009-06-10 Philip Blundell <philb@gnu.org>
1977
1978 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
1979 elf_sec->this_hdr == NULL.
1980
1981 2009-06-12 Tristan Gingold <gingold@adacore.com>
1982
1983 * reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
1984 * bfd-in2.h: Regenerated.
1985 * libbfd.h: Regenerated.
1986
1987 * mach-o.c (FILE_ALIGN): New macro.
1988 (bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
1989 (bfd_mach_o_print_symbol): Ditto.
1990 (bfd_mach_o_scan_write_thread): Adjust type of variable offset.
1991 (bfd_mach_o_get_reloc_upper_bound): New function.
1992 (bfd_mach_o_canonicalize_reloc): Ditto.
1993 (bfd_mach_o_scan_write_relocs): Ditto.
1994 (bfd_mach_o_scan_write_section_32): Remove offset argument.
1995 (bfd_mach_o_scan_write_section_64): Ditto.
1996 (bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of data
1997 written for load command. Do not compute section file offset.
1998 (bfd_mach_o_scan_write_segment_64): Ditto.
1999 (bfd_mach_o_scan_write_symtab): Compute file offset first.
2000 Adjust for bfd_mach_o_asymbol. Move code to convert from BFD to
2001 Mach-O to ...
2002 (bfd_mach_o_mangle_symbols): ... this new function.
2003 (bfd_mach_o_write_contents): Be sure to have load commands built.
2004 Call bfd_mach_o_mangle_symbols.
2005 (bfd_mach_o_build_commands): Adjust for filelen field.
2006 Use FILE_ALIGN macro. Clear section file offset if section is empty.
2007 Do not set symtab file offset anymore here.
2008 (bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
2009 (bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
2010 Set reloc_count and rel_filepos section fields.
2011 (bfd_mach_o_scan_read_section_32): Type of argument offset is now
2012 unsigned int.
2013 (bfd_mach_o_scan_read_section_64): Ditto.
2014 (bfd_mach_o_scan_read_section): Ditto.
2015 (bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
2016 bfd_mach_o_asymbol. Use unsigned int for file offset type.
2017 (bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
2018 Handle weak-ref symbols.
2019 (bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
2020 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2021 (bfd_mach_o_scan): Remove assignment to removed field.
2022 (bfd_mach_o_mkobject_init): Ditto.
2023 (bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
2024 (bfd_mach_o_bfd_reloc_type_lookup): New macro.
2025 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
2026 (bfd_mach_o_swap_reloc_in): Ditto.
2027 (bfd_mach_o_swap_reloc_out): Ditto.
2028
2029 * mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
2030 (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
2031 (BFD_MACH_O_REFERENCE_FLAG_DEFINED)
2032 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
2033 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
2034 (BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
2035 (BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
2036 (BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
2037 (BFD_MACH_O_N_WEAK_DEF): New macros.
2038 Add comments.
2039 (bfd_mach_o_section_type): Add new enumeration values.
2040 (BFD_MACH_O_S_SELF_MODIFYING_CODE)
2041 (BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
2042 (BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
2043 (BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
2044 macros.
2045 (BFD_MACH_O_GENERIC_RELOC_VANILLA)
2046 (BFD_MACH_O_GENERIC_RELOC_PAIR)
2047 (BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
2048 (BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
2049 (BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
2050 (BFD_MACH_O_RELENT_SIZE): Ditto.
2051 (BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
2052 (BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
2053 (BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
2054 (BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
2055 (BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
2056 (BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
2057 (BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
2058 (BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
2059 (bfd_mach_o_reloc_info): New struct.
2060 (bfd_mach_o_asymbol): New struct.
2061 (bfd_mach_o_symtab_command): The symbols field is now of type
2062 bfd_mach_o_asymbol.
2063 (bfd_mach_o_load_command): The offset and len fields are now of type
2064 unsigned int.
2065 (mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
2066 Add a filelen field. Add comments.
2067 (bfd_mach_o_backend_data): New struct.
2068 (bfd_mach_o_get_backend_data): New macro.
2069 (bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
2070 bfd_mach_o_asymbol.
2071 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2072 (bfd_mach_o_get_reloc_upper_bound): New prototype.
2073 (bfd_mach_o_canonicalize_reloc): Ditto.
2074
2075 * mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
2076 duplicated macro. Now defined to _bfd_generic_is_local_label.
2077 (TARGET_NAME_BACKEND): New macro...
2078 (TARGET_NAME_BACKEND): ... used to name a new variable.
2079 (TARGET_NAME): Define relocs table using bfd_mach_o, reference
2080 Mach-O backend data.
2081
2082 * mach-o-i386.c (i386_howto_table): New variable.
2083 (bfd_mach_o_i386_swap_reloc_in): New function.
2084 (bfd_mach_o_i386_swap_reloc_out): Ditto.
2085 (bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
2086 (bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
2087 (bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
2088 (bfd_mach_o_bfd_reloc_type_lookup)
2089 (bfd_mach_o_bfd_reloc_name_lookup): Ditto.
2090
2091 2009-06-11 Eric Paris <eparis@redhat.com>
2092 Nick Clifton <nickc@redhat.com>
2093
2094 * opncls.c (_maybe_make_executable): New function. Gives execute
2095 permission to an executable bfd that was opened for writing
2096 provided that it is a regular file. Replaces common code found in...
2097 (bfd_close): here and ...
2098 (bfd_close_all_done): here.
2099
2100 2009-06-11 Anthony Green <green@moxielogic.com>
2101
2102 * reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.
2103 * bfd-in2.h: Rebuilt.
2104 * libbfd.h: Rebuilt.
2105 * elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10
2106 relocation support.
2107 (moxie_reloc_map): Ditto.
2108 Clean up copyright notice.
2109
2110 2009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com>
2111
2112 * bfd-in2.h: bfd_mmap prototype.
2113 * bfdio.c (bfd_mmap): New function.
2114 * libbfd.h (bfd_iovec): Add bmmap.
2115 * cache.c (cache_bmmap): New function.
2116 (cache_iovec): Initialize bmmap member.
2117 * opencls.c (opncls_bmmap): New function.
2118 (opncls_iovec): Initialize bmmap member.
2119
2120 2009-06-09 Tristan Gingold <gingold@adacore.com>
2121
2122 * mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
2123 and stabstr_segment fields.
2124 (mach_o_be_vec, mach_o_le_vec): Removed
2125 (bfd_mach_o_version): New prototype.
2126
2127 * mach-o.c (bfd_mach_o_version): Make this function public.
2128 (mach_o_wide_p): New function.
2129 (bfd_mach_o_wide_p): Ditto.
2130 (bfd_mach_o_convert_section_name_to_bfd): Add prefix only for
2131 weird names.
2132 (bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment.
2133 Search in the list only if the name starts with a dot.
2134 (bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-coded
2135 test. Check bfd_seek status.
2136 (bfd_mach_o_scan_write_thread): Check bfd_seek status.
2137 (bfd_mach_o_scan_write_section_32): Ditto.
2138 (bfd_mach_o_scan_write_section_64): Ditto.
2139 (bfd_mach_o_scan_write_section): Removed.
2140 (bfd_mach_o_scan_write_segment): Split into ...
2141 (bfd_mach_o_scan_write_segment_32): ... this and ...
2142 (bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status.
2143 (bfd_mach_o_scan_write_symtab_symbols): Moved into ...
2144 (bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFD
2145 symbol table. Now returns a boolean.
2146 (bfd_mach_o_write_contents): Set filetype. Check bfd_seek status.
2147 Adjust for status type.
2148 (bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-coded
2149 test. Write symbol table. Numbers the sections.
2150 (bfd_mach_o_read_header): Check bfd_seek status.
2151 Use mach_o_wide_p instead of hard-coded test.
2152 (bfd_mach_o_scan_read_section_32): Check bfd_seek status.
2153 (bfd_mach_o_scan_read_section_64): Ditto.
2154 (bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status.
2155 Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctly
2156 handled common symbols.
2157 (bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status.
2158 (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
2159 (bfd_mach_o_scan_read_dylinker): Ditto.
2160 (bfd_mach_o_scan_read_dylib): Ditto.
2161 (bfd_mach_o_scan_read_thread): Ditto.
2162 (bfd_mach_o_scan_read_symtab): Ditto.
2163 Do not create a section for the stabs.
2164 (bfd_mach_o_scan_read_uuid): Check bfd_seek status.
2165 (bfd_mach_o_scan_read_segment): Ditto.
2166 (bfd_mach_o_scan_read_command): Ditto.
2167 (bfd_mach_o_scan_start_address): Ditto.
2168 (bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test.
2169 (bfd_mach_o_archive_p): Check bfd_seek status.
2170 (bfd_mach_o_core_fetch_environment): Ditto.
2171
2172 * mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype.
2173
2174 2009-06-06 H.J. Lu <hongjiu.lu@intel.com>
2175
2176 * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.
2177 (elf_i386_link_hash_table_create): Initialize irelifunc.
2178 (elf_i386_check_relocs): Updated. Set up irelifunc for
2179 shared objects.
2180 (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic
2181 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
2182 shared objects.
2183 (elf_i386_relocate_section): Likewise.
2184
2185 * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.
2186 (elf64_x86_64_link_hash_table_create): Initialize irelifunc.
2187 (elf64_x86_64_check_relocs): Updated. Set up irelifunc for
2188 shared objects.
2189 (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic
2190 relocation for non-GOT reference of STT_GNU_IFUNC symbol in
2191 shared objects.
2192 (elf64_x86_64_relocate_section): Likewise.
2193
2194 * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to
2195 ...
2196 (_bfd_elf_create_ifunc_sections): This.
2197
2198 * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to
2199 ...
2200 (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc
2201 for shared objects.
2202
2203 2009-06-06 H.J. Lu <hongjiu.lu@intel.com>
2204
2205 * elf32-i386.c (elf_i386_check_relocs): Make room for dynamic
2206 relocation for R_386_32 against STT_GNU_IFUNC symbol when
2207 building shared object. Check info->executable instead of
2208 !info->shared when setting non_got_ref.
2209 (elf_i386_allocate_dynrelocs): Allocate dynamic relocation
2210 for non-GOT reference of STT_GNU_IFUNC symbol in shared
2211 object. Allocate GOT relocation agsinst STT_GNU_IFUNC
2212 symbol if needed.
2213 (elf_i386_relocate_section): Output dynamic relocation for
2214 R_386_32 against STT_GNU_IFUNC symbol to get the real
2215 function address when building shared object.
2216 (elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT
2217 relocation for STT_GNU_IFUNC symbol in shared object.
2218
2219 * elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for
2220 dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC
2221 symbol when building shared object. Check info->executable
2222 instead of !info->shared when setting non_got_ref.
2223 (elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation
2224 for non-GOT reference of STT_GNU_IFUNC symbol in shared
2225 library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol
2226 if needed.
2227 (elf64_x86_64_relocate_section): Output dynamic relocation
2228 for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real
2229 function address when building shared object.
2230 (elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT
2231 relocation for STT_GNU_IFUNC symbol in shared object.
2232
2233 2009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com>
2234
2235 * Makefile.am: Run "make dep-am".
2236 (BFD32_BACKENDS): Add mach-o-i386.lo.
2237 (BFD32_BACKENDS_CFILES): Add mach-o-i386.c.
2238 * Makefile.in: Regenerate.
2239
2240 2009-06-06 Alan Modra <amodra@bigpond.net.au>
2241
2242 * elf32-spu.c (spu_elf_relocate_section): Match overlay number
2243 when looking for soft-icache stubs.
2244
2245 2009-06-05 Tristan Gingold <gingold@adacore.com>
2246
2247 * mach-o.h: Update copyright year.
2248 (bfd_mach_o_mach_header_magic): New enum.
2249 (bfd_mach_o_cpu_subtype): Now an enum.
2250 (BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.
2251 (BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.
2252 (BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.
2253 (bfd_mach_o_load_command): Field type_required is now a boolean.
2254 Reindent prototypes.
2255 (bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.
2256 (bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.
2257 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
2258 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
2259 (bfd_mach_o_get_symtab_upper_bound): Ditto.
2260 (bfd_mach_o_canonicalize_symtab): Ditto.
2261 (bfd_mach_o_get_symbol_info): Ditto.
2262 (bfd_mach_o_print_symbol): Ditto.
2263 (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
2264 (bfd_mach_o_make_empty_symbol): Ditto.
2265 (bfd_mach_o_write_contents): Ditto.
2266
2267 * mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,
2268 bfd_mach_o_mkobject): Defines.
2269 (bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.
2270 Do not check with target vector but with flavour.
2271 (struct mach_o_section_name_xlat): New declaration.
2272 (dwarf_section_names_xlat): Ditto.
2273 (text_section_names_xlat): Ditto.
2274 (data_section_names_xlat): Ditto.
2275 (struct mach_o_segment_name_xlat): Ditto.
2276 (segsec_names_xlat): Ditto.
2277 (bfd_mach_o_convert_section_name_to_bfd): New function.
2278 (bfd_mach_o_convert_section_name_to_mach_o): Ditto.
2279 (bfd_mach_o_bfd_copy_private_symbol_data): Make it public.
2280 (bfd_mach_o_bfd_copy_private_section_data): Ditto.
2281 (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
2282 Accept any input and output flavour. Do not share private data
2283 anymore.
2284 (bfd_mach_o_count_symbols): Add a comment.
2285 (bfd_mach_o_get_symtab_upper_bound): Make it public.
2286 (bfd_mach_o_canonicalize_symtab): Ditto.
2287 (bfd_mach_o_get_symbol_info): Ditto.
2288 (bfd_mach_o_print_symbol): Ditto.
2289 (bfd_mach_o_write_header): Now returns a boolean instead of an int.
2290 Use constants instead of hard-coded values.
2291 (bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded
2292 values.
2293 (bfd_mach_o_scan_write_section_64): Ditto.
2294 (bfd_mach_o_scan_write_segment): Ditto.
2295 Do not copy sections anymore.
2296 (bfd_mach_o_write_contents): Make it public.
2297 Remove dead code. Rewrite typeflag assignment.
2298 (bfd_mach_o_build_commands): New function.
2299 (bfd_mach_o_set_section_contents): Ditto.
2300 (bfd_mach_o_make_empty_symbol): Make it public.
2301 (bfd_mach_o_read_header): Make it static.
2302 Convert to bfd_boolean.
2303 Use constants instead of hard-coded values.
2304 (bfd_mach_o_make_bfd_section): Call
2305 bfd_mach_o_convert_section_name_to_bfd to create name.
2306 (bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded
2307 values.
2308 (bfd_mach_o_scan_read_section_64): Ditto.
2309 (bfd_mach_o_scan_read_segment): Do not create a bfd section for
2310 a segment anymore. Use constants instead of hard-coded values.
2311 (bfd_mach_o_scan_read_command): Fix style.
2312 (bfd_mach_o_scan): Use constants instead of hard-coded values.
2313 Get rid of BFD_IO_FUNCS.
2314 (bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.
2315 (bfd_mach_o_header_p): Created from bfd_mach_o_object_p.
2316 (bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.
2317 (bfd_mach_o_object_p): Removed.
2318 (bfd_mach_o_gen_core_p): New function, replaces ...
2319 (bfd_mach_o_core_p): ... deleted.
2320 (bfd_mach_o_bfd_print_private_bfd_data): Make it public.
2321
2322 * mach-o-i386.c: New file.
2323 * config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.
2324 * configure.in (TDEFINES): Add mach_o_i386_vec.
2325 * configure: Regenerated.
2326 * targets.c: Add mach_o_i386_vec.
2327
2328 * mach-o.c: Update copyright years.
2329 (BFD_IO_FUNCS): Remove (was not used).
2330 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap
2331 bfd_mach_o_slurp_extended_name_table,
2332 bfd_mach_o_construct_extended_name_table,
2333 bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,
2334 bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,
2335 bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,
2336 bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,
2337 bfd_mach_o_get_section_contents_in_window,
2338 bfd_mach_o_bfd_is_local_label_name,
2339 bfd_mach_o_bfd_is_target_special_symbol,
2340 bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,
2341 bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,
2342 bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,
2343 bfd_mach_o_minisymbol_to_symbol,
2344 bfd_mach_o_bfd_get_relocated_section_contents,
2345 bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,
2346 bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,
2347 bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,
2348 bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,
2349 bfd_mach_o_bfd_merge_private_bfd_data,
2350 bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,
2351 bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,
2352 bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,
2353 bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,
2354 bfd_mach_o_bfd_copy_private_header_data,
2355 bfd_mach_o_core_file_matches_executable_p): Move these defines ...
2356 * mach-o-target.c: ... here.
2357 Update copyright years.
2358
2359 2009-06-04 Alan Modra <amodra@bigpond.net.au>
2360
2361 * dep-in.sed: Don't use \n in replacement part of s command.
2362 * Makefile.am (DEP1): LC_ALL for uniq.
2363 Run "make dep-am".
2364 * Makefile.in: Regenerate.
2365
2366 2009-06-03 H.J. Lu <hongjiu.lu@intel.com>
2367
2368 * elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of
2369 h->plt.refcount > 0 on STT_GNU_IFUNC symbol.
2370 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
2371
2372 2009-06-03 H.J. Lu <hongjiu.lu@intel.com>
2373
2374 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate
2375 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
2376 (elf_i386_relocate_section): Adjust R_386_GOT32 relocation
2377 against STT_GNU_IFUNC symbols for static executables.
2378 (elf_i386_finish_dynamic_symbol): Load GOT entry with
2379 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
2380
2381 * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Allocate
2382 GOT entry for STT_GNU_IFUNC symbol with pointer equality.
2383 (elf64_x86_64_finish_dynamic_symbol): Load GOT entry with
2384 PLT entry for STT_GNU_IFUNC symbol with pointer equality.
2385
2386 2009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com>
2387
2388 * coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefined
2389 symbols to be left unimported when linking statically.
2390 * xcofflink.c (xcoff_link_add_symbols): Ignore global linkage
2391 code when linking statically.
2392
2393 2009-06-02 H.J. Lu <hongjiu.lu@intel.com>
2394
2395 * elf32-i386.c (elf_i386_check_relocs): Increment
2396 got.refcount for R_386_GOT32/R_386_GOTOFF relocations
2397 against STT_GNU_IFUNC symbol.
2398 (elf_i386_allocate_dynrelocs): Set got.refcount to 0 if
2399 local STT_GNU_IFUNC definition is used.
2400 (elf_i386_relocate_section): Handle got.offset != -1 for
2401 R_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNC
2402 symbol.
2403
2404 * elf64-x86-64.c (elf64_x86_64_check_relocs): Increment
2405 got.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64
2406 relocations against STT_GNU_IFUNC symbol.
2407 (elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 if
2408 local STT_GNU_IFUNC definition is used.
2409 (elf64_x86_64_relocate_section): Handle got.offset != -1
2410 for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations against
2411 STT_GNU_IFUNC symbol.
2412
2413 2009-06-01 H.J. Lu <hongjiu.lu@intel.com>
2414
2415 PR ld/10205
2416 * elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE.
2417 (elf_i386_reloc_type_lookup): Likewise.
2418 (R_386_tls): Removed.
2419 (R_386_irelative): New.
2420 (R_386_vt_offset): Updated.
2421 (elf_i386_rtype_to_howto): Likewise.
2422 (elf_i386_link_hash_table): Add igotplt, iplt and irelplt.
2423 (elf_i386_link_hash_table_create): Initialize igotplt,
2424 iplt and irelplt.
2425 (elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first.
2426 (elf_i386_adjust_dynamic_symbol): Likewise.
2427 (elf_i386_allocate_dynrelocs): Likewise.
2428 (elf_i386_relocate_section): Likewise.
2429 (elf_i386_size_dynamic_sections): Set up .iplt and .igot.plt
2430 sections.
2431 (elf_i386_finish_dynamic_symbol): When building a static
2432 executable, use .iplt, .igot.plt and .rel.iplt sections for
2433 STT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation for
2434 locally defined STT_GNU_IFUNC symbol.
2435
2436 * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE.
2437 (x86_64_reloc_map): Likewise.
2438 (R_X86_64_standard): Updated.
2439 (elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt.
2440 (elf64_x86_64_link_hash_table_create): Initialize igotplt,
2441 iplt and irelplt.
2442 (elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first.
2443 (elf64_x86_64_adjust_dynamic_symbol): Likewise.
2444 (elf64_x86_64_allocate_dynrelocs): Likewise.
2445 (elf64_x86_64_relocate_section): Likewise.
2446 (elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.plt
2447 sections.
2448 (elf64_x86_64_finish_dynamic_symbol): When building a static
2449 executable, use .iplt, .igot.plt and .rela.iplt sections for
2450 STT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocation
2451 for locally defined STT_GNU_IFUNC symbol.
2452
2453 * reloc.c (BFD_RELOC_386_IRELATIVE): New.
2454 (BFD_RELOC_X86_64_IRELATIVE): Likewise.
2455
2456 * bfd-in2.h: Regenerated.
2457 * libbfd.h: Likewise.
2458
2459 2009-06-01 H.J. Lu <hongjiu.lu@intel.com>
2460
2461 * elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.
2462 (_bfd_elf_make_ifunc_reloc_section): Removed.
2463 (_bfd_elf_is_ifunc_symbol): Likewise.
2464 (_bfd_elf_create_static_ifunc_sections): New.
2465
2466 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC
2467 symbol check to ...
2468 (elf_link_add_object_symbols): Here.
2469 (_bfd_elf_link_hash_hide_symbol): Don't clean plt on
2470 STT_GNU_IFUNC symbol.
2471 (elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol
2472 if a STT_GNU_IFUNC symbol is referenced in a non-shared object.
2473 (IFUNC_INFIX): Removed.
2474 (get_ifunc_reloc_section_name): Likewise.
2475 (_bfd_elf_make_ifunc_reloc_section): Likewise.
2476 (_bfd_elf_is_ifunc_symbol): Likewise.
2477 (_bfd_elf_create_static_ifunc_sections): New.
2478
2479 2009-05-29 H.J. Lu <hongjiu.lu@intel.com>
2480
2481 * elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix.
2482 (create_got_section): Likewise.
2483 (allocate_dynrelocs): Likewise.
2484 (readonly_dynrelocs): Likewise.
2485 (set_tls_module_base): Likewise.
2486 (dtpoff_base): Likewise.
2487 (tpoff): Likewise.
2488 (elf_i386_link_hash_table_create): Updated.
2489 (elf_i386_create_dynamic_sections): Likewise.
2490 (elf_i386_check_relocs): Likewise.
2491 (elf_i386_size_dynamic_sections): Likewise.
2492 (elf_i386_relocate_section): Likewise.
2493
2494 * elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix.
2495 (create_got_section): Likewise.
2496 (allocate_dynrelocs): Likewise.
2497 (readonly_dynrelocs): Likewise.
2498 (set_tls_module_base): Likewise.
2499 (dtpoff_base): Likewise.
2500 (tpoff): Likewise.
2501 (elf64_x86_64_link_hash_table_create): Updated.
2502 (elf64_x86_64_create_dynamic_sections): Likewise.
2503 (elf64_x86_64_check_relocs): Likewise.
2504 (elf64_x86_64_size_dynamic_sections): Likewise.
2505 (elf64_x86_64_relocate_section): Likewise.
2506
2507 2009-05-28 Nick Clifton <nickc@redhat.com>
2508
2509 * targets.c (_bfd_target_vector): Only include plugin target in
2510 all-targets build if BFD_SUPPORTS_PLUGINS is non-zero.
2511
2512 2009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
2513
2514 * elf32-spu.c (struct call_info): New member broken_cycle.
2515 (remove_cycle): Instead of physically removing call_info structures
2516 to break call graph cycles, mark them using the broken_cycle flag.
2517 (mark_overlay_section): Respect broken_cycle flag.
2518 (unmark_overlay_section): Likewise.
2519 (collect_lib_sections): Likewise.
2520 (collect_overlays): Likewise.
2521 (sum_stack): Likewise.
2522
2523 2009-05-28 Ulrich Weigand <uweigand@de.ibm.com>
2524
2525 * elf32-spu.c (insert_callee): Accumulate incoming callee->count.
2526 (mark_functions_via_relocs): Initialize callee->count to 1.
2527 (pasted_function): Likewise.
2528 (spu_elf_auto_overlay): Honor call counts when determining number
2529 of stubs required in software i-cache mode.
2530
2531 2009-05-27 Rafael Avila de Espindola <espindola@google.com>
2532
2533 * plugin.c (program_name): Remove.
2534 (plugin_program_name): New.
2535 (bfd_plugin_set_program_name): New.
2536 (try_load_plugin): Use plugin_program_name.
2537 * plugin.h (bfd_plugin_set_program_name): New.
2538
2539 2009-05-27 Rafael Avila de Espindola <espindola@google.com>
2540
2541 * aclocal.m4: Include ../config/plugins.m4.
2542 * configure.in: Use AC_PLUGINS.
2543 * configure: Regenerate.
2544 * Makefile.in: Regenerate.
2545 * doc/Makefile.in: Regenerate.
2546
2547 2009-05-27 Nathan Sidwell <nathan@codesourcery.com>
2548
2549 * elf32-ppc.c (ppc_elf_relax_section): Work with a partial
2550 link.
2551 * bout.c (b_out_bfd_relax_section): Reject relocatable links.
2552 * elf32-m10300.c (mn10300_elf_relax_section): Likewise.
2553 * elf32-avr.c (elf32_avr_relax_section): Likewise.
2554 * elf32-frv.c (elf32_avr_relax_section): Likewise.
2555 * elf32-xtensa.c (elf_xtensa_relax_section): Likewise.
2556 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
2557 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
2558 * elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise.
2559 * reloc.c (bfd_generic_relax_section): Likewise.
2560 * reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
2561 * vms.c (vms_bfd_relax_section): Likewise.
2562
2563 2009-05-26 H.J. Lu <hongjiu.lu@intel.com>
2564
2565 * elf-bfd.h (_bfd_elf_is_ifunc_symbol): New.
2566
2567 * elf32-i386.c (is_indirect_symbol): Renamed to ...
2568 * elflink.c (_bfd_elf_is_ifunc_symbol): This.
2569
2570 * elf32-i386.c (allocate_dynrelocs): Updated.
2571 (elf_i386_relocate_section): Likewise.
2572 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
2573 (elf64_x86_64_relocate_section): Likewise.
2574
2575 * elf64-x86-64.c (is_indirect_symbol): Removed.
2576
2577 2009-05-26 Nick Clifton <nickc@redhat.com>
2578
2579 * po/id.po: Updated Indonesian translation.
2580
2581 2009-05-26 Rafael Avila de Espindola <espindola@google.com>
2582
2583 * Makefile.am: Run "make dep-am".
2584 (AM_CPPFLAGS): New.
2585 (LIBDL): New.
2586 (ALL_MACHINES): Add cpu-plugin.lo.
2587 (ALL_MACHINES_CFILES): Add cpu-plugin.c.
2588 (BFD32_BACKENDS): Add plugin.lo.
2589 (BFD32_BACKENDS_CFILES): Add plugin.c.
2590 (libbfd_la_LIBADD): Add LIBDL
2591 * archures.c (bfd_architecture): Add bfd_arch_plugin.
2592 (bfd_plugin_arch): Declare.
2593 * bfd-in.h (BFD_SUPPORTS_PLUGINS): New.
2594 * bfd.c (bfd): Add plugin_data.
2595 * config.bfd: Handle the plugin target.
2596 * configure.in: Check for --enable-plugins.
2597 (LT_INIT): Use the dlopen option.
2598 * cpu-plugin.c: New.
2599 * plugin.c: New.
2600 * plugin.h: New.
2601 * targets.c (plugin_vec): Declare.
2602 (_bfd_target_vector): Add plugin_vec.
2603 * Makefile.in: Regenerate.
2604 * bfd-in2.h: Regenerate.
2605 * configure: Regenerate.
2606
2607 2009-05-26 Alan Modra <amodra@bigpond.net.au>
2608
2609 * dep-in.sed: Don't modify .o to .lo here. Output one filename
2610 per line with all lines having continuation backslash. Prefix
2611 first line with "A", following lines with "B".
2612 * Makefile.am (DEP): Don't use dep.sed here.
2613 (DEP1): Run $MKDEP on single files, modify .o to .lo here. Use
2614 dep.sed here on dependencies, sort and uniq.
2615 * Makefile.in: Regenerate.
2616
2617 2009-05-25 Tristan Gingold <gingold@adacore.com>
2618
2619 * makefile.vms: Add verilog.obj to object list OBJS.
2620
2621 2009-05-24 Alan Modra <amodra@bigpond.net.au>
2622
2623 * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory
2624 for BFD_IN_MEMORY is cleared.
2625 (bfd_bwrite): Zero excess memory allocated.
2626
2627 2009-05-22 Julian Brown <julian@codesourcery.com>
2628
2629 * elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New
2630 macros.
2631 (elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b)
2632 (elf32_arm_stub_a8_veneer_blx): New stub sequences.
2633 (elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond,
2634 arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx.
2635 (elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields.
2636 (a8_erratum_fix, a8_erratum_reloc): New structs.
2637 (elf32_arm_link_hash_table): Add a8_erratum_fixes,
2638 num_a8_erratum_fixes, fix_cortex_a8 fields.
2639 (elf32_arm_link_hash_table_create): Zero fix_cortex_a8.
2640 (elf32_arm_add_stub): Split into two parts, creating...
2641 (elf32_arm_create_or_find_stub_sec): New function.
2642 (elf32_arm_final_link_relocate): Add forward declaration.
2643 (arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2
2644 relocations, multiple relocations per stub.
2645 (find_stub_size_and_template): New (using parts of arm_size_one_stub).
2646 (arm_size_one_stub): Use find_stub_size_and_template.
2647 (a8_reloc_compare): New.
2648 (find_thumb_glue): Add forward declaration.
2649 (cortex_a8_erratum_scan): New.
2650 (elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support.
2651 (bfd_elf32_arm_set_cortex_a8_fix): New.
2652 (bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument.
2653 (arm_map_one_stub): Add THUMB32_TYPE support.
2654 (a8_branch_to_stub_data): New.
2655 (make_branch_to_a8_stub): New.
2656 (elf32_arm_write_section): Add Cortex-A8 erratum workaround support.
2657 * bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New.
2658 (bfd_elf32_arm_set_target_relocs): Add argument for controlling
2659 Cortex-A8 erratum workaround.
2660 * bfd-in2.h: Regenerate.
2661
2662 2009-05-22 Alan Modra <amodra@bigpond.net.au>
2663
2664 * Makefile.am: Run "make dep-am".
2665 * Makefile.in: Regenerate.
2666 * po/SRC-POTFILES.in: Regenerate.
2667
2668 2009-05-21 Alan Modra <amodra@bigpond.net.au>
2669
2670 * elflink.c (elf_link_input_bfd): Correct *pindex change in last
2671 commit.
2672
2673 2009-05-21 Alan Modra <amodra@bigpond.net.au>
2674
2675 * elf-bfd.h (struct elf_backend_data
2676 <elf_backend_link_output_symbol_hook>): Return an int.
2677 * elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to drop
2678 symbols on deleted .opd entries.
2679 * elflink.c (elf_link_output_sym): Return without outputting sym
2680 if output_symbol_hook returns 2.
2681 (elf_link_output_extsym): Don't assign h->indx when symbol discarded.
2682 Abort if we must not discard sym.
2683 (elf_link_input_bfd): Similarly, don't set finfo->indices for
2684 local syms.
2685 (bfd_elf_final_link): Adjust elf_link_output_sym calls.
2686 * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust for
2687 elf_backend_link_output_symbol_hook return type change.
2688 * elf32-arm.c (output_arch_syminfo): Likewise.
2689 (elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise.
2690 (elf32_arm_output_arch_local_syms): Likewise.
2691 * elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise.
2692 * elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise.
2693 (bfd_score_elf_link_output_symbol_hook): Likewise.
2694 * elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
2695 * elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise.
2696 * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise.
2697 * elf32-spu.c (spu_elf_output_symbol_hook): Likewise.
2698 * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
2699 * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
2700 * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
2701 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
2702 * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
2703 * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
2704 * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
2705
2706 2009-05-21 Alan Modra <amodra@bigpond.net.au>
2707
2708 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault on
2709 out of range .opd symbols.
2710
2711 2009-05-21 Dave Korn <dave.korn.cygwin@gmail.com>
2712
2713 * coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, not
2714 fprintf_vma directly.
2715 * peXXigen.c (pe_print_edata): Likewise.
2716 (pe_print_pdata): Likewise.
2717 (_bfd_XX_print_ce_compressed_pdata): Likewise.
2718 (_bfd_XX_print_private_bfd_data_common): Likewise.
2719
2720 2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
2721
2722 * cofflink.c (process_embedded_commands): Ignore "-aligncomm".
2723
2724 2009-05-15 Andrew Stubbs <ams@codesourcery.com>
2725 Paul Brook <paul@codesourcery.com>
2726
2727 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to
2728 fix discarded sections.
2729
2730 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2731
2732 * elf32-spu.c (mark_overlay_section): Move .init and .fini
2733 sections into the software icache.
2734
2735 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2736
2737 * elf32-spu.c (build_stub): Always build "compact" sofware
2738 i-cache stubs.
2739
2740 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2741
2742 * elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.
2743 (spu_elf_setup): Initialize it.
2744 (spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.
2745 Update to new-sytle cache manager data structures.
2746 (spu_elf_build_stubs): Generate new-style cache manager data
2747 structures and symbols.
2748 (spu_elf_auto_overlay): Update size computation.
2749
2750 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2751
2752 * elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY
2753 segments first amongst the program headers.
2754
2755 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2756
2757 * elf32-spu.c (spu_elf_relocate_section): Only encode overlay index
2758 into addresses for relocation types that look at high bits. Remove
2759 special handling of relocation overflow warnings.
2760
2761 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2762
2763 * elf32-spu.c (mark_functions_via_relocs): Handle cycles in the
2764 control flow graph between fragments of a function.
2765
2766 2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>
2767
2768 * elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,
2769 generate only a 16-byte .toe section.
2770 (spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.
2771
2772 2009-05-14 Alan Modra <amodra@bigpond.net.au>
2773
2774 * elf32-spu.c (spu_elf_size_stubs): Split out section placement to..
2775 (spu_elf_place_overlay_data): ..here. New function.
2776 * elf32-spu.h (spu_elf_place_overlay_data): Declare.
2777
2778 2009-05-13 Andrew Jenner <andrew@codesourcery.com>
2779
2780 * elf32-arm.c: Move sysdep.h to start of file.
2781
2782 2009-05-11 Ulrich Weigand <uweigand@de.ibm.com>
2783
2784 * elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as
2785 start of overlays.
2786 (spu_elf_build_stubs): Don't define __icache_tagbase. Define
2787 __icache_tag_array and __icache_tag_array_size.
2788
2789 2009-05-11 Masaki Muranaka <monaka@monami-software.com>
2790
2791 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessary
2792 ATTRIBUTE_UNUSED.
2793 (bfinfdpic_link_omit_section_dynsym): Likewise.
2794 (elf32_bfinfdpic_finish_dynamic_sections): Likewise.
2795
2796 2009-05-05 Paul Brook <paul@codesourcery.com>
2797
2798 * bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype.
2799 * bfd-in2.h: Regenerate.
2800 * elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define.
2801 (_arm_elf_section_data): Add text and exidx fields.
2802 (add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size,
2803 insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31,
2804 copy_exidx_entry): New functions.
2805 (elf32_arm_write_section): Fixup .ARM.exidx contents.
2806
2807 2009-05-05 Christophe lyon <christophe.lyon@st.com>
2808
2809 * elf32-arm.c (DEF_STUBS): New helper define.
2810 (DEF_STUB): Likewise.
2811 (stub_def): New type.
2812 (stub_definitions): New array, containing stub template pointers
2813 and sizes.
2814 (arm_size_one_stub): Make use of stub_definitions.
2815
2816 2009-05-04 Dave Korn <dave.korn.cygwin@gmail.com>
2817
2818 * elflink.c (find_version_for_sym): Remove from here, ...
2819 * linker.c (bfd_find_version_for_sym): ... rename, replace
2820 here, make public and update all callers.
2821 * bfd-in2.h: Regenerate.
2822
2823 2009-04-30 Nick Clifton <nickc@redhat.com>
2824
2825 * elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs
2826 section pointer.
2827 (struct elf_obj_data): Add has_ifunc_symbols boolean.
2828 * elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags
2829 into a STT_GNU_IFUNC symbol type.
2830 (_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function
2831 type.
2832 (_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if
2833 the binary contains ifunc symbols.
2834 * elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC
2835 symbol type into a BSF_GNU_INDIRECT_FUNCTION flag.
2836 * elf32-i386.c (is_indirect_function): New function.
2837 (elf_i386_check_relocs): Create an ifunc output section.
2838 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2839 section if necessary.
2840 (elf_i386_relocate_section): Emit a reloc against an ifunc symbol
2841 if necessary.
2842 (elf_i386_add_symbol_hook): New function. Set the
2843 has_ifunc_symbols field of the elf_obj_data structure if an ifunc
2844 symbol is encountered.
2845 (elf_backend_post_process_headers): Define.
2846 (elf_backend_add_symbol_hook): Define.
2847 (elf_i386_post_process_headers): Rename to
2848 elf_i388_fbsd_post_process_headers.
2849 * elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.
2850 (is_indirect_function): New function.
2851 (elf64_x86_64_check_relocs): Create an ifunc output section.
2852 (allocate_dynrelocs): Create dynamic relocs in the ifunc output
2853 section if necessary.
2854 (elf64_x86_64_relocate_section): Emit a reloc against an ifunc
2855 symbol if necessary.
2856 (elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the
2857 elf_obj_data structure if an ifunc symbol is encountered.
2858 (elf_backend_post_process_headers): Define.
2859 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT
2860 if we have ifunc symbols to handle.
2861 (get_ifunc_reloc_section_name): New function. Computes the name
2862 for an ifunc section.
2863 (_bfd_elf_make_ifunc_reloc_section): New function. Creates a
2864 section to hold ifunc relocs.
2865 * syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.
2866 (bfd_print_symbol_vandf): Handle ifunc symbols.
2867 (bfd_decode_symclass): Likewise.
2868 * bfd-in2.h: Regenerate.
2869
2870 2009-04-30 Joseph Myers <joseph@codesourcery.com>
2871
2872 * elf32-arm.c (elf32_arm_check_relocs): Give errors for absolute
2873 MOVW and MOVT relocations in a shared library link.
2874
2875 2009-04-27 Anthony Green <green@moxielogic.com>
2876
2877 * verilog.c: New file.
2878 * Makefile.am (BFD32_LIBS): Add verilog.c.
2879 (BFD32_LIBS_CFILES): Add verilog.c.
2880 (verilog.lo): New build rule.
2881 * Makefile.in: Rebuilt.
2882 * targets.c: Add verilog support.
2883 * bfd.c (tdata union): Add Verilog private data field.
2884 * bfd-in2.h: Regenerate.
2885
2886 2009-04-27 H.J. Lu <hongjiu.lu@intel.com>
2887
2888 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
2889 copy pe_opthdr.
2890
2891 2009-04-23 Matthias Klose <doko@ubuntu.com>
2892
2893 * peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'.
2894
2895 2009-04-22 Christophe Lyon <christophe.lyon@st.com>
2896
2897 PR9743
2898 * elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24,
2899 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2900 (elf32_arm_size_stubs): Likewise.
2901 (record_thumb_to_arm_glue): Deleted unused function.
2902 (bfd_elf32_arm_process_before_allocation): No longer handle
2903 R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here.
2904 (elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24,
2905 R_ARM_JUMP24 and R_ARM_PLT32 relocations.
2906
2907 2009-04-21 Daniel Jacobowitz <dan@codesourcery.com>
2908
2909 * elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED.
2910 (elf32_arm_write_section): Declare early.
2911 (elf32_arm_size_stubs): Skip non-stub sections in the stub BFD.
2912 (arm_allocate_glue_section_space): Exclude empty sections.
2913 (ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED.
2914 (bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub
2915 BFD.
2916 (elf32_arm_output_glue_section, elf32_arm_final_link): New.
2917 (elf32_arm_merge_eabi_attributes): Skip the stub BFD.
2918 (elf32_arm_size_dynamic_sections): Allocate interworking
2919 sections here.
2920 (bfd_elf32_bfd_final_link): Define.
2921
2922 2009-04-21 H.J. Lu <hongjiu.lu@intel.com>
2923
2924 * coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K.
2925
2926 * coffcode.h (coff_compute_section_file_positions): Clear
2927 D_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE.
2928
2929 * libcoff-in.h (pe_tdata): Remove force_minimum_alignment and
2930 force_minimum_alignment.
2931
2932 * libcoff.h: Regenerated.
2933
2934 * pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed.
2935 (PEI_FORCE_MINIMUM_ALIGNMENT): Likewise.
2936
2937 * peicode.h (pe_mkobject): Don't set force_minimum_alignment
2938 nor target_subsystem.
2939
2940 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't check
2941 force_minimum_alignment nor target_subsystem.
2942
2943 2009-04-21 Kai Tietz <kai.tietz@onevision.com>
2944
2945 * coff-x86_64.c (PEI_HEADERS): Protect includes.
2946 (bfd_pe_print_pdata): Remove #ifdef PE variation.
2947 * pei-x86_64.c (PEI_HEADERS): Define to prevent double
2948 include in coff-x86_64.c of headers.
2949 (PDATA_ROW_SIZE): New define.
2950 (pex_regs[]): New static array.
2951 (pex64_get_runtime_function): New static function.
2952 (pex64_get_unwind_info): Likewise.
2953 (pex64_get_scope_entry): Likewise.
2954 (pex64_xdata_print_uwd_codes): Likewise.
2955 (pex64_get_section_by_rva): Likewise.
2956 (pex64_dump_xdata): Likewise.
2957 (pex64_bfd_print_pdata): Likewise.
2958 (bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.
2959 * peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.
2960 * libpei.h (_bfd_pex64_print_pdata): Removed declaration.
2961
2962 2009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com>
2963 Alan Modra <amodra@bigpond.net.au>
2964 Dave Korn <dave.korn.cygwin@gmail.com>
2965
2966 * peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.t
2967 long names and non-NUL-terminated strings.
2968
2969 2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2970
2971 * bfd-in2.h: Regenerated.
2972
2973 2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2974
2975 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace
2976 IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.
2977
2978 2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
2979
2980 PR binutils/10074
2981 * coffcode.h (bfd_pei_p): New.
2982
2983 * config.bfd: Remove bfd_efi_bsdrv_ia32_vec,
2984 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
2985 bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and
2986 bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec,
2987 bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with
2988 i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.
2989
2990 * configure.in: Remove bfd_efi_bsdrv_ia32_vec,
2991 bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,
2992 bfd_efi_rtdrv_x86_64_vec,
2993 bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace
2994 bfd_efi_ia64_vec with bfd_pei_ia64_vec.
2995 * targets.c: Likewise.
2996
2997 * configure: Regenerated.
2998 * libcoff.h: Likewise.
2999 * Makefile.in: Likewise.
3000
3001 * efi-app-ia32.c: Removed.
3002 * efi-app-x86_64.c: Likewise.
3003 * efi-bsdrv-ia32.c: Likewise.
3004 * efi-bsdrv-ia64.c: Likewise.
3005 * efi-bsdrv-x86_64.c: Likewise.
3006 * efi-rtdrv-ia32.c: Likewise.
3007 * efi-rtdrv-ia64.c: Likewise.
3008 * efi-rtdrv-x86_64.c: Likewise.
3009 * efi-rtdrv-ia32.c: Likewise.
3010
3011 * efi-app-ia64.c: Moved to ...
3012 * pei-ia64.c: This.
3013 (TARGET_SYM): Set to bfd_pei_ia64_vec.
3014 (TARGET_NAME): Set to pei-ia64.
3015
3016 * libpei.h (bfd_target_pei_p): Removed.
3017 (bfd_target_pei_arch): Likewise.
3018 (bfd_target_efi_app_p): Likewise.
3019 (bfd_target_efi_app_arch): Likewise.
3020 (bfd_target_efi_bsdrv_p): Likewise.
3021 (bfd_target_efi_bsdrv_arch): Likewise.
3022 (bfd_target_efi_rtdrv_p): Likewise.
3023 (bfd_target_efi_rtdrv_arch): Likewise.
3024 (bfd_pe_executable_p): Likewise.
3025
3026 * Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,
3027 efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.
3028 (BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c
3029 and efi-rtdrv-ia32.c.
3030 (BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,
3031 efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and
3032 efi-rtdrv-x86_64.lo. Add pei-ia64.lo.
3033 (BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,
3034 efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and
3035 efi-rtdrv-x86_64.c. Add pei-ia64.c.
3036 (efi-app-ia64.lo): Removed.
3037 (efi-bsdrv-ia32.lo): Likewise.
3038 (efi-rtdrv-ia32.lo): Likewise.
3039 (efi-app-ia64.lo): Likewise.
3040 (efi-bsdrv-ia64.lo): Likewise.
3041 (efi-rtdrv-ia64.lo): Likewise.
3042 (efi-app-x86_64.lo): Likewise.
3043 (efi-bsdrv-x86_64.lo): Likewise.
3044 (efi-rtdrv-x86_64.lo): Likewise.
3045 (pei-ia64.lo): New.
3046
3047 * peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p
3048 with bfd_pei_p.
3049 (arch_type): Removed.
3050 (pe_arch): Likewise.
3051 (pe_bfd_object_p): Just return coff_object_p.
3052
3053 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace
3054 bfd_pe_executable_p with bfd_pei_p.
3055
3056 2009-04-17 Christophe Lyon <christophe.lyon@st.com>
3057
3058 * elf32-arm.c (elf32_arm_size_stubs): Handle long branches through
3059 PLT entries to an undefined symbol when generating a shared
3060 library.
3061
3062 2009-04-17 Nick Clifton <nickc@redhat.com>
3063
3064 PR 9909
3065 * coffcode.h (handle_COMDAT): Allow for external COMDAT symbols.
3066
3067 2009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com>
3068
3069 * aout-adobe.c (aout_32_bfd_define_common_symbol): Define.
3070 * aout-target.h (MY_bfd_define_common_symbol): Likewise.
3071 * aout-tic30.c (MY_bfd_define_common_symbol): Likewise.
3072 * binary.c (binary_bfd_define_common_symbol): Likewise.
3073 * bout.c (b_out_bfd_define_common_symbol): Likewise.
3074 * coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
3075 * coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.
3076 * coffcode.h (coff_bfd_define_common_symbol): Likewise.
3077 * elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise.
3078 * i386msdos.c (msdos_bfd_define_common_symbol): Likewise.
3079 * i386os9k.c (os9k_bfd_define_common_symbol): Likewise.
3080 * ieee.c (ieee_bfd_define_common_symbol): Likewise.
3081 * ihex.c (ihex_bfd_define_common_symbol): Likewise.
3082 * libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise.
3083 * mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise.
3084 * mmo.c (mmo_bfd_define_common_symbol): Likewise.
3085 * nlm-target.h (nlm_bfd_define_common_symbol): Likewise.
3086 * oasys.c (oasys_bfd_define_common_symbol): Likewise.
3087 * pef.c (bfd_pef_bfd_define_common_symbol): Likewise.
3088 * ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise.
3089 * som.c (som_bfd_define_common_symbol): Likewise.
3090 * srec.c (srec_bfd_define_common_symbol): Likewise.
3091 * tekhex.c (tekhex_bfd_define_common_symbol): Likewise.
3092 * versados.c (versados_bfd_define_common_symbol): Likewise.
3093 * vms.c (vms_bfd_define_common_symbol): Likewise.
3094 * xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise.
3095 * xsym.c (bfd_sym_bfd_define_common_symbol): Likewise.
3096 * coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol.
3097 (pmac_xcoff_vec): Likewise.
3098 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
3099 (aix5coff64_vec): Likewise.
3100 * linker.c (bfd_generic_define_common_symbol): New function.
3101 * targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol.
3102 (_bfd_define_common_symbol): New field.
3103 * libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare.
3104 * xcofflink.c (_bfd_xcoff_define_common_symbol): New function.
3105 (xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for common
3106 symbols here.
3107 * bfd-in2.h: Regenerate.
3108 * libbfd.h: Likewise.
3109 * libcoff.h: Likewise.
3110
3111 2009-04-15 Anthony Green <green@moxielogic.com>
3112
3113 * targets.c: Add moxie support.
3114 * Makefile.am: Ditto.
3115 * Makefile.in: Rebuilt.
3116 * cpu-moxie.c, elf32-moxie.c: New files.
3117 * archures.c: Add moxie support.
3118 * configure.in: Add moxie support.
3119 * configure: Rebuilt.
3120 * config.bfd, archures.c: Add moxie support.
3121 * bfd-in2.h: Rebuilt.
3122
3123 2009-04-15 Christophe Lyon <christophe.lyon@st.com>
3124
3125 * elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARM
3126 branch to an undef weak symbol into a jump to next instruction if
3127 a PLT entry will be created.
3128
3129 2009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
3130
3131 * coffgen.c (make_a_section_from_file): Set the backend long
3132 section names enable if long section names found on input.
3133 * coffcode.h: Extend long section names documentation to match.
3134
3135 2009-04-08 H.J. Lu <hongjiu.lu@intel.com>
3136
3137 * elflink.c (elf_link_add_object_symbols): Warn alternate ELF
3138 machine code.
3139
3140 2009-04-07 DJ Delorie <dj@redhat.com>
3141
3142 * archures.c: Add bfd_mach_mep_c5.
3143 * bfd-in2.h: Likewise.
3144 * cpu-mep.c: Add bfd_c5_arch.
3145 * elf32-mep.c: Support it.
3146
3147 2009-04-07 H.J. Lu <hongjiu.lu@intel.com>
3148
3149 * elflink.c (_bfd_elf_section_already_linked): Add `\n' for
3150 info->callbacks->einfo.
3151 * linker.c (_bfd_generic_section_already_linked): Likewise.
3152
3153 2009-04-06 DJ Delorie <dj@redhat.com>
3154
3155 * elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.
3156
3157 2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
3158
3159 * coff-x86_64.c (bfd_pe_print_pdata): Defined to
3160 _bfd_pex64_print_pdata only if PE is defined.
3161
3162 * libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...
3163 (_bfd_pex64_print_pdata): This.
3164
3165 * peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...
3166 (_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64
3167 is defined.
3168
3169 2009-04-05 Kai Tietz <kai.tietz@onevision.com>
3170
3171 * coff-x86_64.c (bfd_pe_print_pdata): Define as
3172 _bfd_pep_print_x64_pdata.
3173 * libpei.h (_bfd_pep_print_x64_pdata): Add prototype.
3174 * peXXigen.c (_bfd_pep_print_x64_pdata): New.
3175
3176 2009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>
3177
3178 * elf32-xtensa.c (relax_property_section): Always set r_offset
3179 to zero.
3180
3181 2009-04-02 Christophe Lyon <christophe.lyon@st.com>
3182
3183 * elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,
3184 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long
3185 branch stubs.
3186 (elf32_arm_stub_type): New enum values for the two new stubs.
3187 (arm_type_of_stub): Make use of the two new stubs.
3188 (arm_size_one_stub): Handle the two new stubs.
3189
3190 2009-04-01 Matt Thomas <matt@netbsd.org>
3191
3192 * elf32-vax.c (elf_vax_check_relocs): Do not put relocations against
3193 hidden symbols into the GOT or PLT.GOT.
3194 (elf_vax_relocate_section): Do not emit a PCREL reloc
3195 into a shared object if it is against a hidden symbol.
3196
3197 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3198
3199 * xcofflink.c (xcoff_archive_info): Add contains_shared_object_p
3200 and know_contains_shared_object_p.
3201 (xcoff_archive_contains_shared_object_p): Add an "info" parameter.
3202 Cache the result in the archive_info table.
3203 (xcoff_auto_export_p): Add an "info" parameter and update the
3204 call to xcoff_archive_contains_shared_object_p.
3205 (xcoff_mark_auto_exports): Update accordingly.
3206 (xcoff_post_gc_symbol): Likewise.
3207
3208 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3209
3210 * xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT
3211 rather than C_EXT.
3212
3213 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3214
3215 * coff-rs6000.c (member_layout): New structure.
3216 (archive_iterator): Likewise.
3217 (member_layout_init): New function.
3218 (archive_iterator_begin): Likewise.
3219 (archive_iterator_next): Likewise.
3220 (xcoff_write_armap_old): Use the new iterator functions.
3221 (do_shared_object_padding): Delete.
3222 (xcoff_write_armap_big): Use the new iterator functions. Simplify
3223 handling of arch_info.
3224 (xcoff_write_archive_contents_old): Allocate arelt_data in the
3225 first loop rather than the second. Allocate a member header if
3226 there isn't one, then work out the stat information and length
3227 in the first loop too. Use the new iterators for the second loop.
3228 (xcoff_write_archive_contents_big): Likewise.
3229
3230 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3231
3232 * bfd-in.h (bfd_xcoff_split_import_path): Declare.
3233 (bfd_xcoff_set_archive_import_path): Likewise.
3234 * bfd-in2.h: Regenerate.
3235 * xcofflink.c: Include libiberty.h.
3236 (xcoff_archive_info): New structure.
3237 (xcoff_archive_info_hash): New function.
3238 (xcoff_archive_info_eq): Likewise.
3239 (xcoff_get_archive_info): Likewise.
3240 (_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.
3241 (bfd_xcoff_split_import_path): New function.
3242 (bfd_xcoff_set_archive_import_path): Likewise.
3243 (xcoff_set_import_path): Move earlier in file.
3244 (xcoff_link_add_dynamic_symbols): Set the import path of a non-archive
3245 object to the the directory part of the bfd's filename. Get the
3246 import path and filename of an archive object from the archive's
3247 xcoff_tdata, initializing it if necessary. Update use of
3248 import_file_id.
3249 (bfd_link_input_bfd): Update use of import_file_id.
3250 (xcoff_write_global_symbol): Likewise.
3251
3252 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3253
3254 * xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.
3255
3256 2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
3257
3258 * xcofflink.c (xcoff_link_create_extra_sections): Don't create
3259 a .loader section for relocatable links.
3260 (xcoff_need_ldrel_p): New function.
3261 (xcoff_mark): Use it.
3262 (bfd_xcoff_link_count_reloc): Only count loader relocs if there's
3263 a loader section.
3264 (xcoff_build_ldsym): New function, split out from...
3265 (xcoff_build_ldsyms): ...here. Rename to...
3266 (xcoff_post_gc_symbol): ...this. Only export symbols, and only
3267 call xcoff_build_ldsym, if there's a loader section.
3268 (xcoff_build_loader_section): New function, extracted verbatim from...
3269 (bfd_xcoff_size_dynamic_sections): ...here. Only call it if
3270 there's a loader section. Only add an __rtinit loader symbol
3271 if there's a loader section. Update after above name change.
3272 (xcoff_symbol_section, xcoff_create_ldrel): New functions.
3273 (bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section
3274 and xcoff_create_ldrel.
3275 (xcoff_write_global_symbol): Use xcoff_create_ldrel.
3276 (xcoff_reloc_link_order): Likewise, but only call it if there's
3277 a loader section. Use xcoff_symbol_section.
3278 (_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym
3279 if there's a loader section.
3280
3281 2009-04-01 Richard Sandiford <rdsandiford@googlemail.com>
3282
3283 * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
3284
3285 2009-04-01 Christophe Lyon <christophe.lyon@st.com>
3286
3287 * elf32-arm.c (group_sections): Rewrite loops for better
3288 readability.
3289
3290 2009-03-30 DJ Delorie <dj@redhat.com>
3291
3292 * elflink.c (elf_link_input_bfd): Don't try to resolve complex
3293 relocs when doing a relocatable link.
3294
3295 2009-03-28 Mark Mitchell <mark@codesourcery.com>
3296
3297 * coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not
3298 "ERROR:", in error messages.
3299 * cpu-arm.c (bfd_arm_merge_machines): Likewise.
3300 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
3301 * elf32-arm.c (tag_cpu_arch_combine): Likewise.
3302 (elf32_arm_merge_eabi_attributes): Likewise.
3303 (elf32_arm_merge_private_bfd_data): Likewise.
3304
3305 2009-03-27 Nick Clifton <nickc@redhat.com>
3306
3307 * section.c (bfd_get_section_contents): Detect and handle the case
3308 where a section has the SEC_IN_MEMORY flag set but no actual
3309 contents allocated.
3310
3311 2009-03-26 Alan Modra <amodra@bigpond.net.au>
3312
3313 PR 6494
3314 * elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO
3315 p_filesz and p_memsz are equal. Use p_memsz as the segment size.
3316 (assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO
3317 if we don't find matching PT_LOAD when copying.
3318
3319 2009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
3320
3321 * elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of
3322 the reloc descriptions.
3323
3324 2009-03-25 Hans-Peter Nilsson <hp@axis.com>
3325
3326 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
3327 <R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.
3328 <case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.
3329
3330 2009-03-24 H.J. Lu <hongjiu.lu@intel.com>
3331
3332 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.
3333 (bfd_i386_arch_intel_syntax): Likewise.
3334 (i8086_arch): Likewise.
3335 (bfd_x86_64_arch): Likewise.
3336
3337 2009-03-24 Hans-Peter Nilsson <hp@axis.com>
3338
3339 * elf32-cris.c (cris_elf_relocate_section): <case
3340 R_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-local
3341 symbols for non-allocated sections. Don't check whether to
3342 generate R_CRIS_DTPMOD for non-allocated sections.
3343 (cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don't
3344 handle relocation GC:ing if applied to non-allocated section.
3345 (cris_elf_check_relocs): Similar.
3346
3347 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
3348 <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
3349 when emitting a known TP offset in the GOT.
3350
3351 2009-03-23 Alan Modra <amodra@bigpond.net.au>
3352
3353 * elf64-ppc.c (synthetic_opd): Delete.
3354 (compare_symbols): Look for .opd name rather than section match.
3355 (ppc64_elf_get_synthetic_symtab): Likewise.
3356
3357 2009-03-21 Alan Modra <amodra@bigpond.net.au>
3358
3359 * elf32-ppc.c (is_pic_glink_stub): Delete.
3360 (is_nonpic_glink_stub): New function.
3361 (ppc_elf_get_synthetic_symtab): Check for last non-pic stub rather
3362 than first pic one.
3363 (struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.
3364
3365 2009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
3366 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3367
3368 * elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*
3369 macros for visibilty and locality checks.
3370 (elf_s390_adjust_dynamic_symbol): Likewise.
3371 (allocate_dynrelocs): Likewise.
3372 (elf_s390_relocate_section): Likewise.
3373 (elf_s390_finish_dynamic_symbol): Likewise.
3374 * elf64-s390.c (elf_s390_check_relocs): Likewise.
3375 (elf_s390_adjust_dynamic_symbol): Likewise.
3376 (allocate_dynrelocs): Likewise.
3377 (elf_s390_relocate_section): Likewise.
3378 (elf_s390_finish_dynamic_symbol): Likewise.
3379
3380 2009-03-19 Kai Tietz <kai.tietz@onevision.com>
3381
3382 * bfd-in2.h: Regenerated.
3383 * coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLY
3384 for debugging sections and map memory read/write dependent on
3385 SEC_COFF_NOREAD.
3386 (styp_to_sec_flags): Set SEC_COFF_NOREAD for sections
3387 without memory read flags set.
3388 * section.c: Add SEC_COFF_NOREAD to section flags.
3389
3390 2009-03-19 Andreas Schwab <schwab@linux-m68k.org>
3391
3392 * elf32-hppa.c (final_link_relocate): Cast bfd_vma values to long
3393 for format string.
3394
3395 2009-03-19 Alan Modra <amodra@bigpond.net.au>
3396
3397 * elf32-spu.c (spu_elf_find_overlays): Separate error return from
3398 "no overlays" return. If there are overlays, create overlay
3399 manager entry symbols here, so that..
3400 (spu_elf_build_stubs): ..we don't need to set them up here.
3401 Simplify entry symbol tests.
3402 * elf32-spu.h (spu_elf_find_overlays): Update prototype.
3403
3404 2009-03-18 Mark Kettenis <kettenis@gnu.org>
3405
3406 * elf.c (elfcore_grok_openbsd_procinfo)
3407 (elfcore_grok_openbsd_note): New functions.
3408 (elf_parse_notes): Handle notes from OpenBSD ELF core files.
3409
3410 2009-03-18 Alan Modra <amodra@bigpond.net.au>
3411
3412 * vms-hdr.c: Don't include alloca.h.
3413 * elf32-m68hc1x.c: Include alloca-conf.h.
3414 * xsym.c: Likewise.
3415 * elf64-hppa.c: Likewise. Remove existing #if's handling alloca.
3416 * som.c: Likewise.
3417 * Makefile.am: Run "make dep-am".
3418 * Makefile.in: Regenerate.
3419
3420 2009-03-17 Daniel Jacobowitz <dan@codesourcery.com>
3421
3422 * elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.
3423
3424 2009-03-17 Alan Modra <amodra@bigpond.net.au>
3425
3426 * elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.
3427 Add compact_stub.
3428 (emum _ovly_flavour): Delete ovly_compact, ovly_none.
3429 * elf32-spu.c (struct spu_link_hash_table): Replace ovly_load and
3430 ovly_return fields with ovly_entry[2]. Adjust all users.
3431 (spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handler
3432 when soft-icache.
3433 (spu_elf_build_stubs): Likewise.
3434 (ovl_stub_size): Change arg to spu_elf_params pointer. Adjust for
3435 ovly_flavour changes. Update all callers.
3436 (ovl_stub_size_log2): New function.
3437 (build_stub): Handle compact icache stubs. Use different manager
3438 entry point for stubs in non-icache area.
3439 (spu_elf_size_stubs): Don't allocate space for indirect branch
3440 descriptors.
3441 (spu_elf_build_stubs): And don't built them.
3442
3443 2009-03-16 Andrew Stubbs <ams@codesourcery.com>
3444
3445 * dwarf2.c (read_section): Always use rawsize, if available.
3446
3447 2009-03-16 Alan Modra <amodra@bigpond.net.au>
3448
3449 * simple.c (bfd_simple_get_relocated_section_contents): Use larger
3450 of rawsize and size for buffer.
3451
3452 2009-03-15 Ulrich Weigand <uweigand@de.ibm.com>
3453
3454 * elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlay
3455 parameter just because fixed sections fit into local store.
3456 (spu_elf_auto_overlay): Do not declare as "noreturn". Skip
3457 generating overlays if fixed sections plus reserved stack
3458 and heap space fit into local store.
3459
3460 2009-03-15 Alan Modra <amodra@bigpond.net.au>
3461
3462 * elf32-spu.c (build_stub): Correct icache set_id.
3463 (spu_elf_relocate_section): Likewise.
3464
3465 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3466
3467 * xcofflink.c (xcoff_link_check_archive_element): Only free the
3468 symbol table if it was created by the current call.
3469
3470 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3471
3472 * xcofflink.c (xcoff_build_ldsyms): Give imported descriptors
3473 class XMC_DS rather than XMC_UA.
3474
3475 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3476
3477 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace the
3478 bfd_boolean export_defineds parameter with an unsigned int
3479 auto_export_flags parameter.
3480 * bfd-in2.h: Regenerate.
3481 * xcofflink.c (xcoff_archive_contains_shared_object_p): New function,
3482 split out from xcoff_build_ldsyms.
3483 (xcoff_covered_by_expall_p): New function.
3484 (xcoff_auto_export_p): New function, split out from xcoff_build_ldsyms
3485 but with extra code to handle -bexpfull and -bexpall.
3486 (xcoff_mark_auto_exports): New function.
3487 (xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whether
3488 a function should be automatically exported.
3489 (bfd_xcoff_size_dynamic_sections): Replace the export_defineds
3490 parameter with an auto_export_flags parameter. Update ldinfo
3491 accordingly. Use xcoff_mark_auto_exports to mark all automatically-
3492 exported symbols.
3493
3494 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3495
3496 * xcofflink.c (xcoff_mark_symbol_by_name): New function.
3497 (bfd_xcoff_size_dynamic_sections): Use it to mark the entry,
3498 init and fini functions. Do garbage collection for objects
3499 without an entry point too.
3500
3501 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3502
3503 * coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P to
3504 check whether a symbol has csect information.
3505 (coff_print_aux): Likewise.
3506 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csect
3507 information for C_AIX_WEAKEXT too.
3508 (_bfd_xcoff_swap_aux_out): Likewise.
3509 (xcoff_reloc_type_br): Handle defweak symbols too.
3510 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csect
3511 information for C_AIX_WEAKEXT too.
3512 (_bfd_xcoff64_swap_aux_out): Likewise.
3513 (xcoff64_reloc_type_br): Handle defweak symbols too.
3514 * coffgen.c (coff_print_symbol): Handle auxillary function
3515 information for C_AIX_WEAKEXT too.
3516 * xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAK
3517 instead of BSF_GLOBAL if the L_WEAK flag is set.
3518 (xcoff_dynamic_definition_p): New function.
3519 (xcoff_link_add_dynamic_symbols): Use it to decide whether ldsym
3520 defines h. Don't change h if ldsym isn't the definition. Otherwise,
3521 always take the symbol class from the ldsym. Use weak bfd symbol
3522 types for weak ldsyms.
3523 (xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.
3524 Fix the check for whether a definition is from a shared object.
3525 Allow redefinitions of weak symbols.
3526 (xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.
3527 (xcoff_keep_symbol_p): Likewise.
3528 (bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.
3529 (xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.
3530 Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,
3531 but mark them as L_WEAK.
3532 (xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXT
3533 instead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.
3534
3535 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3536
3537 * xcofflink.c (xcoff_mark): When walking the relocations,
3538 only mark the target symbol or the target section, not both.
3539 (xcoff_final_definition_p): New function.
3540 (xcoff_keep_symbol_p): Use it to check whether an external XCOFF
3541 symbol is a valid definition of the associated output symbol.
3542 Use XCOFF_ALLOCATED to stop the same hash table entry having
3543 two output symbols.
3544 (bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED when
3545 keeping a symbol.
3546 (xcoff_link_input_bfd): Use xcoff_final_definition_p.
3547
3548 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3549
3550 * xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolute
3551 symbols as XMC_XO.
3552
3553 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3554
3555 * libcoff-in.h (xcoff_tdata): Add a lineno_counts field.
3556 * libcoff.h: Regenerate.
3557 * xcofflink.c (xcoff_link_add_symbols): Record per-symbol
3558 line-number counts in the bfd's lineno_counts field.
3559 Don't keep per-csect line-number counts.
3560 (xcoff_sweep): Don't update per-csect line-number counts.
3561 (bfd_xcoff_size_dynamic_sections): Count the number of line-number
3562 entries in each output section.
3563 (xcoff_link_input_bfd): Get the number of line numbers from
3564 the bfd's lineno_counts field, rather than recalculating it
3565 from scratch. Fix the range check when updating C_BINCL and
3566 C_EINCL symbols.
3567 (_bfd_xcoff_bfd_final_link): Don't count the output line numbers
3568 here. Don't expect csects to have line-number counts.
3569
3570 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3571
3572 * libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.
3573 * libcoff.h: Regenerate.
3574 * xcofflink.c (xcoff_keep_symbol_p): New function, using the
3575 "skip" logic from xcoff_link_input_bfd.
3576 (bfd_xcoff_size_dynamic_sections): Explicitly skip dynamic
3577 objects in a dynamic link, rather than checking whether csectpp
3578 is null. Always allocate debug_index for other objects,
3579 and always go through the loop. Update the type of debug_index
3580 after the change above. Read the auxillary csect information
3581 and use xcoff_keep_symbol_p to decide whether a symbol should
3582 be kept. Set its debug_index to -2 if not.
3583 (xcoff_link_input_bfd): Update the type of debug_index after
3584 the change above and always expect it to be nonnull. Use it to
3585 test whether a symbol should be stripped, rather than making the
3586 decision here. Postpone all symbol creation to the second pass.
3587
3588 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3589
3590 * xcofflink.c: (xcoff_mark_symbol): Mark the TOC section when
3591 creating a descriptor.
3592 (xcoff_sweep): Don't mark toc_section unless it's needed.
3593 (bfd_xcoff_size_dynamic_sections): Skip the toc_section
3594 when marking every bfd.
3595 (xcoff_link_input_bfd): Skip all TOC anchors.
3596 (xcoff_toc_section_p, xcoff_find_tc0): New functions.
3597 (_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchor
3598 to -1; call xcoff_find_tc0 instead.
3599
3600 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3601
3602 * libcoff-in.h (xcoff_section_tdata): Update commentary.
3603 * libcoff.h: Regenerate.
3604 * xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ER
3605 symbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather than
3606 the previous symbol's csect. Treat last_symndx as an inclusive value
3607 and simplify its handling.
3608 (xcoff_mark): Treat last_symndx as an inclusive value. Only mark
3609 symbols with the right csect. Don't mark rsec when processing
3610 relocations against undefined or absolute sections.
3611 (bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flag
3612 of bfd_und_section_ptr.
3613 (xcoff_link_input_bfd): Likewise.
3614
3615 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3616
3617 * coff-rs6000.c (xcoff_ppc_relocate_section): Report relocations
3618 against undefined symbols if the symbol's XCOFF_WAS_UNDEFINED
3619 flag is set. Assert that all undefined symbols are either
3620 imported or defined by a dynamic object.
3621 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
3622 * xcofflink.c (xcoff_link_add_symbols): Extend function-symbol
3623 handling to all relocations. Only set XCOFF_CALLED for function
3624 symbols.
3625 (xcoff_find_function): New function, split out from...
3626 (bfd_xcoff_export_symbol) ...here.
3627 (xcoff_set_import_path): New function, split out from...
3628 (bfd_xcoff_import_symbol): ...here. Remove assertion for old
3629 meaning of XCOFF_CALLED.
3630 (xcoff_mark_symbol): If we mark an undefined and unimported
3631 symbol, find some way of defining it. If the symbol is a function
3632 descriptor, fill in its definition automatically. If the symbol
3633 is a function, mark its descriptor and allocate room for global
3634 linkage code. Otherwise mark the symbol as implicitly imported.
3635 Move the code for creating function descriptors from...
3636 (xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED to
3637 check for symbols that were implicitly defined.
3638 (xcoff_mark): Don't count any dynamic relocations against
3639 function symbols.
3640 (bfd_xcoff_size_dynamic_sections): Save the rtld parameter
3641 in the xcoff link info.
3642 (xcoff_link_input_bfd): Remove handling of undefined and
3643 unexported symbols.
3644
3645 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3646
3647 * coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute
3648 if the target is absolute. Fix comment typo.
3649 (xcoff_ppc_relocate_section): Remove FIXME.
3650 * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute
3651 if the target is absolute.
3652
3653 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3654
3655 * xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy
3656 R_POS and R_NEG relocations against absolute symbols to the
3657 .loader section.
3658
3659 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3660
3661 * coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype
3662 to 2 for bfd_mach_ppc_620.
3663
3664 2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
3665
3666 * config.bfd: Treat AIX 6+ in the same way as AIX 5.
3667 * configure.in: Likewise.
3668 * configure: Regenerate.
3669
3670 2009-03-13 H.J. Lu <hongjiu.lu@intel.com>
3671
3672 PR binutils/9945
3673 * elf.c (assign_section_numbers): Generate symbol table if there
3674 is any relocation in output.
3675 (_bfd_elf_compute_section_file_positions): Likewise.
3676
3677 2009-03-13 Nick Clifton <nickc@redhat.com>
3678
3679 PR 9934
3680 * elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.
3681 * elflink.c (elf_link_read_relocs_from_section): Use
3682 NUM_SHDR_ENTRIES. Gracefully handle the case where there are
3683 relocs but no symbol table.
3684 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
3685
3686 2009-03-12 H.J. Lu <hongjiu.lu@intel.com>
3687
3688 PR ld/9938
3689 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp
3690 to check ___tls_get_addr.
3691
3692 * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use
3693 strncmp to check __tls_get_addr.
3694
3695 2009-03-12 Andrew Stubbs <ams@codesourcery.com>
3696
3697 * dwarf2.c (read_section): Always check the offset, even when the
3698 section has been read before.
3699
3700 2009-03-11 H.J. Lu <hongjiu.lu@intel.com>
3701
3702 * elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in
3703 comments.
3704
3705 2009-03-11 Chris Demetriou <cgd@google.com>
3706
3707 * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag.
3708 * bfd-in2.h: Regenerate.
3709 * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT
3710 flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file
3711 mode.
3712 (bsd_write_armap): Likewise.
3713 (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT
3714 flag is set, do nothing.
3715 (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0
3716 for timestamp.
3717
3718 2009-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3719
3720 * elf32-spu.c (find_function_stack_adjust): Handle sf instruction
3721 used to update stack pointer.
3722
3723 2009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3724
3725 PR binutils/9921
3726 * som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE
3727 for unknown symbols in absolute section.
3728
3729 2009-03-06 Nick Clifton <nickc@redhat.com>
3730
3731 * po/es.po: Updated Spanish translation.
3732
3733 2009-03-05 Christophe Lyon <christophe.lyon@st.com>
3734
3735 * elf32-arm.c (group_sections): Take next section size into
3736 account before accepting to group it.
3737
3738 2009-03-05 Christophe Lyon <christophe.lyon@st.com>
3739
3740 * elf32-arm.c (arm_type_of_stub): Handle long branches targetting
3741 PLT entries.
3742 (elf32_arm_final_link_relocate): Likewise.
3743
3744 2009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>
3745
3746 PR 9923
3747 * peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
3748
3749 2009-03-04 Alan Modra <amodra@bigpond.net.au>
3750
3751 * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
3752 * section.c (struct bfd_section): Add has_tls_get_addr_call.
3753 (BFD_FAKE_SECTION): Init new flag.
3754 * ecoff.c (bfd_debug_section): Likewise.
3755 * bfd-in2.h: Regenerate.
3756 * libbfd.h: Regenerate.
3757 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
3758 (ppc_elf_reloc_type_lookup): Handle new relocs.
3759 (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
3760 without marker relocs.
3761 (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3762 if section has no old-style calls.
3763 (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
3764 Don't try to optimize new-style __tls_get_addr call when handling
3765 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3766 relocs.
3767 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
3768 (ppc64_elf_reloc_type_lookup): Handle new relocs.
3769 (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
3770 without marker relocs.
3771 (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
3772 if section has no old-style calls. Set toc_ref for new relocs as
3773 appropriate.
3774 (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
3775 Don't try to optimize new-style __tls_get_addr call when handling
3776 arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
3777 relocs.
3778
3779 2009-03-04 Alan Modra <amodra@bigpond.net.au>
3780
3781 PR 6768
3782 * configure.in: Test for ld --as-needed support. Link shared
3783 libbfd against libm.
3784 * configure: Regenerate.
3785
3786 2009-03-03 Alan Modra <amodra@bigpond.net.au>
3787
3788 * Makefile.am: Run "make dep-am".
3789 * Makefile.in: Regenerate.
3790
3791 2009-03-02 Qinwei <qinwei@sunnorth.com.cn>
3792
3793 * elf32-score7.c: New file.
3794 * elf32-score.h: New file.
3795 * elf32-score.c: Add code to support score 7. Set score7 as the
3796 default.
3797 * cpu-score.c: Add score7 architecure.
3798 (compatibile): New function.
3799 * Makefile.am: Add rules for building elf32-score7 object.
3800 * Makefile.in: Regenerate.
3801 * configure.in: Add elf32-score7 object to score vectors.
3802 * configure: Regenerate.
3803 * reloc.c: Add score7 relocs.
3804 * archures.c: Add score3 and score7 machine numbers.
3805 * bfd-in2.h: Regenerate.
3806 * libbfd.h: Regenerate.
3807
3808 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3809
3810 * configure: Regenerate.
3811
3812 2009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3813
3814 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.
3815 (elf32_hppa_check_relocs): Use it.
3816
3817 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
3818 elf64-hppa.c.
3819 (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
3820 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
3821 (elf_hppa_is_dynamic_loader_symbol): Likewise.
3822 (elf_hppa_record_segment_addrs): Likewise.
3823 (elf_hppa_final_link): Likewise.
3824 (elf_hppa_relocate_insn): Likewise.
3825 (elf_hppa_final_link_relocate): Likewise.
3826 (elf64_hppa_relocate_section): Likewise.
3827 * elf64-hppa.c: Insert above.
3828
3829 2009-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3830
3831 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.
3832 (elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table.
3833 (elf_hppa_relocate_section): Likewise.
3834 * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive
3835 from struct elf_link_hash_entry. Add count field.
3836 (struct elf64_hppa_dyn_hash_table): Delete.
3837 (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field.
3838 (elf64_hppa_hash_table): Rename to hppa_link_hash_table.
3839 (hppa_elf_hash_entry, eh_name): Define.
3840 (elf64_hppa_new_dyn_hash_entry): Delete.
3841 (elf64_hppa_dyn_hash_lookup): Delete.
3842 (elf64_hppa_dyn_hash_traverse): Delete.
3843 (get_dyn_name): Delete.
3844 (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead
3845 of struct elf64_hppa_dyn_hash_entry *.
3846 (elf64_hppa_finalize_dlt, llocate_global_data_dlt,
3847 allocate_global_data_plt, allocate_global_data_stub,
3848 allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries):
3849 Likewise.
3850 (hppa64_link_hash_newfunc): New.
3851 (elf64_hppa_hash_table_create): Rework.
3852 (count_dyn_reloc): Likewise.
3853 (hppa64_elf_local_refcounts): New.
3854 (elf64_hppa_check_relocs): Rework using standard technique for recording
3855 local DLT, PLT and OPD reference counts.
3856 (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct
3857 elf_link_hash_entry *.
3858 (elf64_hppa_mark_exported_functions, allocate_global_data_dlt,
3859 allocate_global_data_plt, allocate_global_data_stub,
3860 allocate_global_data_opd, allocate_dynrel_entries,
3861 elf64_hppa_adjust_dynamic_symbol,
3862 elf64_hppa_mark_milli_and_exported_functions): Likewise.
3863 (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections):
3864 Use hppa_link_hash_table. Rework.
3865 (elf64_hppa_link_output_symbol_hook): Rework.
3866 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd,
3867 elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc,
3868 elf64_hppa_finish_dynamic_sections): Likewise.
3869
3870 2009-02-26 Christophe Lyon <christophe.lyon@st.com>
3871
3872 * elf32-arm.c (stub_reloc_type): Removed.
3873 (insn_sequence): Renamed reloc_type field to r_type.
3874 (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub.
3875 (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise.
3876 (elf32_arm_stub_long_branch_thumb_only_pic): Likewise.
3877 (elf32_arm_stub_type): Add new enum entries for the new stubs.
3878 (arm_stub_is_thumb): Catch new stubs.
3879 (arm_type_of_stub): Handle new stubs.
3880 (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs.
3881 (bfd_elf32_arm_process_before_allocation): Remove useless
3882 condition.
3883
3884 2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
3885
3886 * elf.c (elf_find_function): Use is_function_type to check
3887 function symbol.
3888
3889 2009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>
3890
3891 * xtensa-modules.c: Revert to previous version 1.11 due
3892 to inadvertant commit.
3893
3894 2009-02-24 Sterling Augustine <sterling@tensilica.com>
3895
3896 * elf32-xtensa.c (text_action_add): Separate test for action
3897 type. Break if saved action is ta_widen_insn at same offset.
3898
3899 2009-02-24 Daniel Jacobowitz <dan@codesourcery.com>
3900
3901 * elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename
3902 to elf32_arm_stub_long_branch_any_arm_pic.
3903 (elf32_arm_stub_long_branch_any_thumb_pic): New.
3904 (enum elf32_arm_stub_type, arm_type_of_stub)
3905 (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC
3906 separately.
3907
3908 2009-02-24 Joseph Myers <joseph@codesourcery.com>
3909
3910 * elf32-arm.c (PREV_SEC): Update comment.
3911 (group_sections): Rename argument to stubs_always_after_branch.
3912 Reverse the list and place stubs at the end of input sections.
3913 Undefine NEXT_SEC.
3914 (elf32_arm_size_stubs): Update to use stubs_always_after_branch.
3915
3916 2009-02-23 Daniel Jacobowitz <dan@codesourcery.com>
3917
3918 * elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.
3919 Fix formatting.
3920 (arm_size_one_stub): Remove unnecessary break.
3921 (arm_map_one_stub): Fix formatting. Return after BFD_FAIL.
3922
3923 2009-02-23 Christophe Lyon <christophe.lyon@st.com>
3924
3925 * elf32-arm.c (stub_insn_type): New type.
3926 (stub_reloc_type): Likewise.
3927 (insn_sequence): Likewise.
3928 (elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
3929 (elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
3930 (elf32_arm_stub_long_branch_thumb_only): Likewise.
3931 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3932 (elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
3933 (elf32_arm_stub_long_branch_any_any_pic): Likewise.
3934 (elf32_arm_stub_hash_entry): Add new helper fields.
3935 (stub_hash_newfunc): Initialize these new fields.
3936 (arm_build_one_stub): Encode Arm and Thumb instructions separately
3937 to take endianness into account.
3938 (arm_size_one_stub): Compute size of stubs using insn_sequence.
3939 (arm_map_one_stub): Code is now more generic, thanks to
3940 insn_sequence.
3941
3942 2009-02-23 Christophe Lyon <christophe.lyon@st.com>
3943
3944 * elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stub
3945 code.
3946 (elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
3947 (arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) when
3948 BLX is not available. Fix typo in warning message. Add comments
3949 and improve formatting.
3950 (arm_build_one_stub): Adjust to new
3951 elf32_arm_stub_long_branch_v4t_thumb_arm stub.
3952 (arm_map_one_stub): Likewise.
3953
3954 2009-02-23 Tristan Gingold <gingold@adacore.com>
3955 Eric Botcazou <ebotcazou@adacore.com>
3956 Douglas B Rupp <rupp@gnat.com>
3957
3958 * vms.h: Update copyright year, fix comments, reorder declarations.
3959 (_bfd_save_vms_section): Remove the prototype.
3960 (EGPS_S_V_NO_SHIFT): New constant.
3961 (bfd_vms_set_section_flags): New prototype.
3962 (EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): New
3963 constants.
3964 (EGSY_S_W_FLAGS): Ditto.
3965 (EGSY_S_V_QUAD_VAL): Ditto.
3966 (ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.
3967 (EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,
3968 EGST_S_B_NAMLNG): Ditto.
3969 (ESRF_S_B_NAMLNG): Ditto.
3970 (ETIR_S_C_HEADER_SIZE): Ditto.
3971 (EGPS_S_V_ALLOC_64BIT): Ditto.
3972 (DST_S_C_EPILOG): Ditto.
3973 (DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.
3974 (DST_S_C_SRC_INCRLNUM_B): Ditto.
3975 (DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.
3976 (DST_S_L_PCLINE_UNSLONG): Ditto.
3977 (DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto
3978 (DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto
3979 (DST_S_C_SOURCE_HEADER_SIZE): Ditto.
3980 (DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.
3981 (DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.
3982 (DST_S_B_SRC_UNSBYTE): Ditto.
3983 (DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.
3984 Add prototypes.
3985 (vms_section, vms_reloc): Remove types.
3986 (hdr_struc): Replaced by ...
3987 (hdr_struct): ... new type.
3988 (EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.
3989 (EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.
3990 (EMH_DATE_LENGTH): Ditto.
3991 (eom_struc): Replaced by ...
3992 (eom_struct): ... new type.
3993 (EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.
3994 (EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.
3995 (EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.
3996 (EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.
3997 (EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.
3998 (EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.
3999 (EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.
4000 (EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.
4001 (EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.
4002 (EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.
4003 (EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.
4004 (EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.
4005 (EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.
4006 (EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.
4007 (EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.
4008 (DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.
4009 (DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.
4010 (DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)
4011 (DBG_S_C_DMT_PSECT_SIZE): Ditto.
4012 (enum file_type_enum): New type.
4013 (struct location_struct): Removed.
4014 (struct fileinfo, struct srecinfo, struct lineinfo): New types.
4015 (struct funcinfo, struct module): Ditto.
4016 (struct vms_private_data_struct): Update fields.
4017 (struct vms_section_data_struct): New type.
4018
4019 * vms.c: Update copyright year, fix comments,
4020 Fix includes for DECC, add prototypes.
4021 (vms_initialize): Use bfd_alloc instead of bfd_zalloc and remove
4022 some initializers.
4023 Use flavour to set is_vax, location_stack is removed.
4024 (struct pair): Declare.
4025 (fill_section_ptr): Initialize variables at declaration.
4026 Add guard to set SECTION_SYM flag, handlde und section.
4027 (vms_fixup_sections): Use struct pair for fill_section_ptr argument.
4028 (_bfd_vms_slurp_object_records): New function, replaces previous
4029 vms_object_p.
4030 (vms_slurp_module): New function.
4031 (vms_slurp_image): Ditto.
4032 (vms_object_p): Complete rewrite.
4033 (vms_mkobject): Use is_vax field to slect architecture.
4034 (free_reloc_stream): New function.
4035 (vms_convert_to_var): Ditto.
4036 (vms_convert_to_var_1): Ditto.
4037 (vms_convert_to_var_unix_filename): Ditto.
4038 (vms_close_and_cleanup): Call free_reloc_stream, convert file to
4039 VAR format on VMS.
4040 (vms_new_section_hook): Set alignment to 0, allocate private data.
4041 (vms_get_section_contents): Load content.
4042 (vms_get_symbol_info): Handle undefined section.
4043 (vms_find_nearest_line): Handle.
4044 (alloc_reloc_stream): New function.
4045 (vms_slurp_reloc_table): Ditto.
4046 (vms_get_reloc_upper_bound): Make it real.
4047 (vms_canonicalize_reloc): Do the real work.
4048 (alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,
4049 ALPHA_R_BOH.
4050 (vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.
4051 (vms_set_arch_mach): Check arch.
4052 (vms_set_section_contents): Copy the content after allocation.
4053 (vms_alpha_vec): Update object flags.
4054
4055 * vms-tir.c: Update copyright year, fix comments,
4056 add prototypes for new functions.
4057 (dst_define_location): New function.
4058 (dst_restore_location): New function.
4059 (dst_retrieve_location): New function.
4060 (dst_check_allocation): New function.
4061 (image_dump): Call dst_check_allocation.
4062 (image_write_b): Ditto.
4063 (image_write_w): Ditto.
4064 (image_write_l): Ditto.
4065 (image_write_q): Ditto.
4066 (cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,
4067 STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,
4068 CTL_STKDL.
4069 Call error handler instead of abort if name is not known.
4070 (etir_sta): Add quarter_relocs argument and set it.
4071 Fix cast.
4072 (etir_sto): Ditto.
4073 (etir_opr): Ditto, return FALSE in case of error.
4074 (etir_ctl): Add quarter_relocs argument and set it, fix cast.
4075 Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.
4076 (etir_stc): Add quarter_relocs argument and set it, fix cast.
4077 Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.
4078 Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.
4079 Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.
4080 Return FALSE in case of error.
4081 (tir_sta): Change sign of psect.
4082 (tir_ctl): Ditto.
4083 (tir_cmd): Fix cast. Makes tir_table static const.
4084 (etir_cmd): Add quarter_relocs argument, makes etir_table const,
4085 add argument to explain.
4086 (analyze_etir): Initialize maxptr, add quarter_relocs
4087 declaration, move some declarations into inner scopes.
4088 Handle quarter_relocs and STO_IMM.
4089 (_bfd_vms_slurp_tir): Use constant instead of hard-coded values.
4090 (_bfd_vms_slurp_relocs): New function.
4091 (_bfd_vms_decode_relocs): New function.
4092 (sto_imm): Rewritten.
4093 (start_first_etbt_record): New function.
4094 (start_another_etbt_record): Ditto.
4095 (etir_output_check): Ditto.
4096 (defer_reloc_p): Ditto.
4097 (_bfd_vms_write_tir): Remove nextoffset, convert a while-loop to
4098 a for-loop. Correctly deals with contents, deals with .vmsdebug,
4099 rewritte relocations handling.
4100 (_bfd_vms_write_tbt): Removed.
4101 (_bfd_vms_write_dbg): Ditto.
4102
4103 * vms-misc.c: Update copyright year, Fix comments.
4104 (_bfd_vms_get_header_values): Use 'size' instead of 'length'.
4105 (maybe_adjust_record_pointer_for_object): New function.
4106 (_bfd_vms_get_first_record): New function, replaces ...
4107 (_bfd_vms_get_record): .. removed.
4108 (_bfd_vms_get_object_record): New function.
4109 (_bfd_vms_get_object_record): New function.
4110 (vms_get_remaining_object_record): New function, replaces ...
4111 (_bfd_vms_get_next_record): ... removed.
4112 (add_new_contents): Removed.
4113 (_bfd_save_vms_section): Removed.
4114 (_bfd_get_vms_section): Removed.
4115 (_bfd_vms_output_flush): Write in VAR format.
4116 (new_symbol): Don't make UND section.
4117
4118 * vms-hdr.c: Update copyright year, update list of record handled.
4119 (_bfd_vms_slurp_hdr): rec_length renamed to rec_size.
4120 (_bfd_vms_write_hdr): Strip vms and unix patches,
4121 add comments, truncate module name at 31 characters,
4122 use constants instead of hard-coded value,
4123 write BFD version instead of a fixed string.
4124 (_bfd_vms_slurp_ihd): New function.
4125 (_bfd_vms_slurp_isd): Ditto.
4126 (_bfd_vms_slurp_ihs): Ditto.
4127 (new_module): Ditto.
4128 (parse_module): Ditto
4129 (build_module_list): Ditto.
4130 (module_find_nearest_line): Ditto.
4131 (_bfd_vms_find_nearest_dst_line): Ditto.
4132 (vms_slurp_debug): Ditto.
4133 (_bfd_vms_slurp_dbg): Ditto.
4134 (_bfd_vms_slurp_tbt): Ditto.
4135 (_bfd_vms_write_dbg): Ditto.
4136 (_bfd_vms_write_tbt): Ditto.
4137
4138 * vms-gsd.c: Update copyright year, update list of records handled.
4139 (EVAX_LITERALS_NAME): New macro.
4140 (evax_section_flags): Add an entry for EVAX_LITERALS_NAME.
4141 (gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.
4142 (register_universal_symbol): New function and prototype.
4143 (_bfd_vms_slurp_gsd): Fix indentations and casts,
4144 improve debug messages,
4145 use constants instead of hard-coded value,
4146 fix missing endianness conversion,
4147 handle global symbol (SYMG).
4148 (bfd_vms_set_section_flags): New function.
4149 (_bfd_vms_write_gsd): Don't write .vmsdebug section,
4150 handle section literals,
4151 fix indentation,
4152 handle section bfd and vms flags,
4153 don't output LIB$INITIALIZE symbol,
4154 fix handling of weak symbols,
4155 fix evax vs vax procedure descriptor,
4156 handle absolute symbols.
4157
4158 * reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,
4159 BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.
4160
4161 * makefile.vms (DEFS): Fix flags for VMS.
4162
4163 * bfdio.c (real_fopen): Handle multiple VMS fopen attributes.
4164
4165 * bfd-in2.h: Regenerated.
4166 * libbfd.h: Regenerated.
4167
4168 2009-02-20 Cary Coutant <ccoutant@google.com>
4169
4170 * vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtime
4171 in struct stat.
4172
4173 2009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
4174
4175 PR gas/7059
4176 * coffcode.h (coff_write_object_contents): Don't let the string
4177 table offset overflow the s_name field when using long section names.
4178
4179 2009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>
4180
4181 * coff-alpha.c (alpha_ecoff_backend_data): Initialise fields which
4182 control long section name handling with ECOFF_NO_LONG_SECTION_NAMES.
4183 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4184 * coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields which
4185 control long section name handling with XCOFF_NO_LONG_SECTION_NAMES.
4186 (bfd_pmac_xcoff_backend_data): Likewise.
4187 * coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.
4188 (bfd_xcoff_aix5_backend_data): Likewise.
4189 (xcoff64_write_object_contents): Delete unused long_section_names
4190 local variable.
4191 * coff-sh.c (bfd_coff_small_swap_table): Initialise long section
4192 name members using COFF_DEFAULT_LONG_SECTION_NAMES and make entire
4193 struct non-const.
4194 * coffcode.h (documentation): Update to describe long section names.
4195 (COFFLONGSECTIONCATHELPER): New helper macro.
4196 (BLANKOR1TOODD): Likewise.
4197 (COFF_ENABLE_LONG_SECTION_NAMES): Likewise.
4198 (COFF_LONG_SECTION_NAMES_SETTER): Likewise.
4199 (COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.
4200 (bfd_coff_set_long_section_names_allowed): New function.
4201 (bfd_coff_set_long_section_names_disallowed): Likewise.
4202 (struct bfd_coff_backend_data): Add new backend hook function
4203 pointer _bfd_coff_set_long_section_names.
4204 (bfd_coff_set_long_section_names): New backend hook.
4205 (coff_write_object_contents): Only generate long section names if
4206 bfd_coff_long_section_names() indicates they are currently enabled.
4207 (bfd_coff_std_swap_table): Make non-const, and initialise long
4208 section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
4209 (ticoff0_swap_table): Likewise to both.
4210 (ticoff1_swap_table): Again, likewise to both.
4211 * coffgen.c (make_a_section_from_file): Allow long section names
4212 as inputs even if not currently allowed for outputs.
4213 * ecoff.c (_bfd_ecoff_no_long_sections): New function.
4214 * efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.
4215 * efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4216 * efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4217 * efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
4218 * efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4219 * efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4220 * efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.
4221 * efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.
4222 * efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4223 * pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.
4224 * pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.
4225 * pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.
4226 * pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.
4227 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.
4228 * pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.
4229 * pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.
4230 * libcoff-in.h: Update copyright year to cause updated copyright
4231 year in generated libcoff.h, and fix typo.
4232 * libcoff.h: Regenerated.
4233 * libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.
4234 (_bfd_ecoff_no_long_sections): Add prototype.
4235 * libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.
4236 * pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not already
4237 defined by an including .c file.
4238 * ticoff.h (ticoff0_swap_table): Make non-const, and initialise
4239 long section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.
4240 (ticoff1_swap_table): Likewise to both.
4241
4242 2009-02-18 Christophe Lyon <christophe.lyon@st.com>
4243
4244 * elf32-arm.c (arm_build_one_stub): Fix relocation target for pic
4245 stub. Catch default case error.
4246 (arm_map_one_stub): Add missing Thumb mapping symbol.
4247
4248 2009-02-18 Bjoern Haase <bjoern.m.haase@web.de>
4249
4250 PR 9841
4251 * elf32-avr.c: Handle case where no local symbos exist correctly.
4252
4253 2009-02-16 Christophe Lyon <christophe.lyon@st.com>
4254
4255 bfd/
4256 * elf32-arm.c (arm_long_branch_stub,
4257 arm_thumb_v4t_long_branch_stub,
4258 arm_thumb_thumb_long_branch_stub,
4259 arm_thumb_arm_v4t_long_branch_stub,
4260 arm_thumb_arm_v4t_short_branch_stub,
4261 arm_pic_long_branch_stub):
4262 Renamed to elf32_arm_stub_long_branch_any_any,
4263 elf32_arm_stub_long_branch_v4t_arm_thumb,
4264 elf32_arm_stub_long_branch_thumb_only,
4265 elf32_arm_stub_long_branch_v4t_thumb_arm,
4266 elf32_arm_stub_short_branch_v4t_thumb_arm,
4267 elf32_arm_stub_long_branch_any_any_pic.
4268 (arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,
4269 arm_thumb_thumb_stub_long_branch,
4270 arm_thumb_arm_v4t_stub_long_branch,
4271 arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):
4272 Renamed to arm_stub_long_branch_any_any,
4273 arm_stub_long_branch_v4t_arm_thumb,
4274 arm_stub_long_branch_thumb_only,
4275 arm_stub_long_branch_v4t_thumb_arm,
4276 arm_stub_short_branch_v4t_thumb_arm,
4277 arm_stub_long_branch_any_any_pic.
4278
4279 2009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4280
4281 * elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value used
4282 in branch offset check.
4283
4284 2009-02-15 Alan Modra <amodra@bigpond.net.au>
4285
4286 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
4287 add toc.symndx and toc.add.
4288 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
4289 Set up toc.add.
4290 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
4291 callers.
4292 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
4293 (branch_reloc_hash_match): New function, extracted from..
4294 (ppc64_elf_tls_optimize): ..here.
4295 (ppc64_elf_relocate_section): Properly set addends when optimizing
4296 tls sequences. Avoid unnecessary reading and writing of insns.
4297 Only redo reloc when symbol changed. Bypass symbol checks when
4298 using tlsld_got.
4299 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
4300 (branch_reloc_hash_match): New function, extracted from..
4301 (ppc_elf_tls_optimize): ..here.
4302 (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
4303 Don't clear addend on zapped __tls_get_addr reloc.
4304
4305 2009-02-12 Nick Clifton <nickc@redhat.com>
4306
4307 PR 9827
4308 * elflink.c (bfd_elf_final_link): When counting the relocations,
4309 if the header size has not been set yet then assume that it will
4310 match the output section's reloc type.
4311
4312 2009-02-12 Nathan Sidwell <nathan@codesourcery.com>
4313
4314 * elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset for
4315 relocatable link.
4316
4317 2009-02-09 Alan Modra <amodra@bigpond.net.au>
4318
4319 * elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.
4320 (find_function): Likewise.
4321 (pasted_function): Don't error if no prior function found.
4322 (discover_functions): Revert 2008-12-10 change. Extend first
4323 function range to start of section.
4324
4325 2009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4326
4327 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convert
4328 functions to C90.
4329 * elf64-hppa.h: Likewise.
4330
4331 2009-02-06 Joseph Myers <joseph@codesourcery.com>
4332
4333 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special
4334 .sbss handling.
4335
4336 2009-02-04 Alan Modra <amodra@bigpond.net.au>
4337
4338 * elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.
4339 Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.
4340
4341 2009-02-03 Sandip Matte <sandip@rmicorp.com>
4342
4343 * aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.
4344 * archures.c (bfd_mach_mips_xlr): Define.
4345 * bfd-in2.h: Regenerate.
4346 * cpu-mips.c (I_xlr): Define.
4347 (arch_info_struct): Add XLR entry.
4348 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.
4349 (mips_set_isa_flags): Handle bfd_mach_mips_xlr
4350 (mips_mach_extensions): Add XLR entry.
4351
4352 2009-02-03 Eric B. Weddington <eric.weddington@atmel.com>
4353
4354 * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
4355
4356 2009-02-03 Carlos O'Donell <carlos@codesourcery.com>
4357
4358 * configure.in: AC_SUBST pdfdir.
4359 * Makefile.am: Add install-pdf, install-pdf-am
4360 and install-pdf-recursive targets. Define pdfdir.
4361 * doc/Makefile.am: Define pdf__strip_dir. Add
4362 install-pdf and install-pdf-am targets.
4363 * po/Make-in: Add install-pdf target.
4364 * configure: Regenerate.
4365 * Makefile.in: Regenerate
4366 * doc/Makefile.in: Regenerate.
4367
4368 2009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
4369
4370 * bfd-in2.h: Regenerate.
4371 * elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
4372 fields from n_entries to n_slots where appropriate, update comments.
4373 (HOWTO): Add TLS relocations.
4374 (reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
4375 (enum elf_m68k_got_offset_size): New enum.
4376 (struct elf_m68k_got_entry.type): Move field to ...
4377 (struct elf_m68k_got_entry_key): ... here. Update all uses.
4378 (elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
4379 functions.
4380 (elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
4381 functions.
4382 (struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
4383 fields into n_entries array. Update comments.
4384 (elf_m68k_init_got): Simplify, update all uses.
4385 (elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
4386 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
4387 GOT entries; update name, update all uses.
4388 (ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
4389 (elf_m68k_get_got_entry): Update.
4390 (elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
4391 simplify.
4392 (elf_m68k_remove_got_entry_type): Simplify.
4393 (elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
4394 (elf_m68k_can_merge_gots): Update.
4395 (elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
4396 (struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
4397 GOT entries, simplify.
4398 (elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
4399 (struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
4400 field, remove obsoleted local_n_entries field.
4401 (elf_m68k_partition_multi_got_2): New static function.
4402 (elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
4403 update.
4404 (elf_m68k_remove_got_entry_type): Update.
4405 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
4406 (elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
4407 update of sgot->size and srelgot->size.
4408 (elf_m68k_gc_sweep_hook): Update.
4409 (elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
4410 (elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
4411 TLS relocations.
4412 * reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
4413 * libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
4414
4415 2009-02-02 DJ Delorie <dj@redhat.com>
4416
4417 * elf32-mep.c (config_names): Regenerate configuration.
4418
4419 2009-02-02 Alan Modra <amodra@bigpond.net.au>
4420
4421 * elf-bfd.h (bfd_elf_get_str_section): Don't declare.
4422 (bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.
4423 * elf.c (bfd_elf_get_str_section): Make static.
4424 (bfd_elf_find_section): Delete.
4425 * libbfd.h: Regenerate.
4426
4427 2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
4428
4429 * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
4430 (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
4431
4432 2009-01-31 Alan Modra <amodra@bigpond.net.au>
4433
4434 * elflink.c (on_needed_list): New function.
4435 (elf_link_add_object_symbols): Link in --as-needed libs if they
4436 satisfy undefined symbols in other libs.
4437
4438 2009-01-30 Julian Brown <julian@codesourcery.com>
4439
4440 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs with
4441 EXEC_P or DYNAMIC flags, and skip sections which are being linked
4442 with --just-symbols (-R).
4443
4444 2009-01-29 Adam Nemet <anemet@caviumnetworks.com>
4445
4446 * dwarf2.c (read_rangelist): Use read_address to read low_pc and
4447 high_pc in order to properly sign-extend VMAs.
4448
4449 2009-01-29 Daniel Jacobowitz <dan@codesourcery.com>
4450 Mark Shinwell <shinwell@codesourcery.com>
4451 Catherine Moore <clm@codesourcery.com>
4452
4453 * elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.
4454
4455 2009-01-28 Catherine Moore <clm@codesourcery.com>
4456
4457 * elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC and
4458 SEC_LOAD for dynamic relocation sections.
4459
4460 2009-01-27 Hans-Peter Nilsson <hp@axis.com>
4461
4462 * elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table
4463 (info)->tls_size, not elf_hash_table (info)->tls_sec->size for
4464 the size of local TLS data.
4465
4466 2009-01-27 Andreas Schwab <schwab@suse.de>
4467
4468 * mach-o.c (bfd_mach_o_archive_p): Restrict the number of
4469 architectures in the archive.
4470
4471 2009-01-27 Hans-Peter Nilsson <hp@axis.com>
4472
4473 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL>
4474 <R_CRIS_32_DTPREL>: Correct relocation value.
4475
4476 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8>
4477 <R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefined
4478 symbols with non-default visibility.
4479
4480 2009-01-26 Nathan Sidwell <nathan@codesourcery.com>
4481
4482 * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
4483 describing the trampolines.
4484 (ppc_elf_relocate_section): Update relocs to describe the
4485 trampolines.
4486
4487 2009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4488
4489 * elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure that
4490 branch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17F
4491 and R_PARISC_PCREL12F relocations.
4492
4493 2009-01-24 Alan Modra <amodra@bigpond.net.au>
4494
4495 PR 6022
4496 * elflink.c (find_version_for_sym): New function split out from,
4497 but without export_dynamic test, ..
4498 (_bfd_elf_link_assign_sym_version): ..here.
4499 (_bfd_elf_export_symbol): Use it.
4500
4501 2009-01-23 Alan Modra <amodra@bigpond.net.au>
4502
4503 * elf-bfd.h (struct elf_assign_sym_version_info): Delete.
4504 (struct elf_info_failed, struct elf_find_verdep_info): Move to..
4505 * elflink.c: ..here, somewhat modified.
4506 * elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,
4507 _bfd_elf_link_find_version_dependencies,
4508 _bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,
4509 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
4510 _bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don't
4511 declare..
4512 * elflink.c: ..and make static here.
4513 (_bfd_elf_link_find_version_dependencies): Adjust for removal
4514 of output_bfd from struct elf_find_verdep_info.
4515 (_bfd_elf_link_assign_sym_version): Similarly adjust to use
4516 struct elf_info_failed.
4517 (bfd_elf_size_dynamic_sections): Adjust.
4518
4519 2009-01-22 Alan Modra <amodra@bigpond.net.au>
4520
4521 PR 6832
4522 * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
4523 after comp_unit_find_line call.
4524
4525 2009-01-21 Nick Clifton <nickc@redhat.com>
4526
4527 PR 9769
4528 * vmsutil.c (vms_file_stats_name): Remove use of unsupported
4529 tm_gmtoff field in struct tm.
4530
4531 2009-01-21 Alan Modra <amodra@bigpond.net.au>
4532
4533 * elf32-spu.h (struct spu_elf_params): Add non_ia_text.
4534 * elf32-spu.c (mark_overlay_section): Only include .text.ia.*
4535 sections in soft-icache lines unless non_ia_text. Don't add
4536 rodata if doing so would exceed line size.
4537
4538 2009-01-19 Hans-Peter Nilsson <hp@axis.com>
4539
4540 * elf32-cris.c (elf_cris_copy_indirect_symbol): For other symbol
4541 types than bfd_link_hash_indirect, before early return, call
4542 _bfd_elf_link_hash_copy_indirect.
4543
4544 2009-01-19 Andrew Stubbs <ams@codesourcery.com>
4545
4546 * elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.
4547 * elf-bfd.h (elf_backend_data): Add obj_attrs_order.
4548 * elf32-arm.c (elf32_arm_obj_attrs_order): New function.
4549 (elf_backend_obj_attrs_order): New define.
4550 * elfxx-target.h (elf_backend_obj_attrs_order): New define.
4551 (elfNN_bed): Add elf_backend_obj_attrs_order.
4552
4553 2009-01-19 Andrew Stubbs <ams@codesourcery.com>
4554
4555 * elf-attrs.c (is_default_attr): Substitute magic numbers with macros.
4556 (obj_attr_size): Likewise.
4557 (write_obj_attribute): Likewise.
4558 (_bfd_elf_copy_obj_attributes): Likewise.
4559 (_bfd_elf_parse_attributes): Likewise.
4560 * elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.
4561 (ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.
4562 (ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.
4563 (ATTR_TYPE_HAS_NO_DEFAULT): New define.
4564 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numbers
4565 with macros.
4566
4567 2009-01-19 Andrew Stubbs <ams@codesourcery.com>
4568
4569 * elf-attrs.c (is_default_attr): Support defaultless attributes.
4570 (bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.
4571 (bfd_elf_add_obj_attr_string): Likewise.
4572 (bfd_elf_add_obj_attr_int_string): Likewise.
4573 (_bfd_elf_parse_attributes): Allow for unknown flag bits in type.
4574 * elf-bfd.h (struct obj_attribute): Document new flag bit.
4575 * elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify that
4576 Tag_nodefaults has no default value.
4577 (elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaults
4578 comment to reflect the new state.
4579
4580 2009-01-19 Alan Modra <amodra@bigpond.net.au>
4581
4582 PR 9695
4583 * pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.
4584 (some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.
4585 (adjust_z_magix): Delete dead code handling QMAGIC.
4586
4587 2009-01-16 Kai Tietz <kai.tietz@onevision.com>
4588
4589 * coffcode.h (styp_to_sec_flags): Correct interpretation of
4590 IMAGE_SCN_MEM_DISCARDABLE.
4591
4592 2009-01-16 Alan Modra <amodra@bigpond.net.au>
4593
4594 * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute
4595 SHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.
4596 * configure.in (commonbfdlib): Delete.
4597 (SHARED_LDFLAGS): Rename from WIN32LDFLAGS/
4598 (SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if such
4599 is available, not just for linux.
4600 * po/SRC-POTFILES.in: Regenerate.
4601 * Makefile.in: Regenerate.
4602 * configure: Regenerate.
4603
4604 2009-01-15 Andrew Stubbs <ams@codesourcery.com>
4605 Julian Brown <julian@codesourcery.com>
4606
4607 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
4608 ARM attributes in ABI 2.07.
4609 * elf32-arm.c (get_secondary_compatible_arch): New function.
4610 (set_secondary_compatible_arch): New function.
4611 (tag_cpu_arch_combine): New function.
4612 (elf32_arm_copy_one_eabi_other_attribute): Delete function.
4613 (elf32_arm_copy_eabi_other_attribute_list): Delete function.
4614 (elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
4615 make it fit with order_01243.
4616 Add support for Tag_also_compatible_with,
4617 Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
4618 Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
4619 Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
4620 Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
4621 Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
4622 Tag_VFP_arch and Tag_ABI_FP_16bit_format.
4623 Rework the way unknown attributes are handled.
4624 Defer errors until all attributes have been processed.
4625
4626 2009-01-15 Andrew Stubbs <ams@codesourcery.com>
4627
4628 * elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename to
4629 bfd_elf_add_obj_attr_int_string.
4630 Read Tag_compatibility from its new location in the attribute array,
4631 rather than the attribute list.
4632 (_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->
4633 bfd_elf_add_obj_attr_int_string.
4634 (_bfd_elf_parse_attributes): Likewise.
4635 (_bfd_elf_merge_object_attributes): There's now only one
4636 Tag_compatibility, and it's in the array, not the list.
4637 * elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to include
4638 Tag_compatibility.
4639 (bfd_elf_add_obj_attr_compat): Rename to
4640 bfd_elf_add_obj_attr_int_string.
4641 (bfd_elf_add_proc_attr_compat): Rename to
4642 bfd_elf_add_proc_attr_int_string.
4643 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handle
4644 Tag_compatibility.
4645
4646 2009-01-15 Douglas B Rupp <rupp@gnat.com>
4647
4648 * Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
4649 (BFD32_BACKENDS_CFILES): Add new file vmsutil.c
4650 (vmsutil.lo): Add dependency rule.
4651 * Makefile.in: Regenerate.
4652 * config.bfd (ia64*-*-*vms*): Add case.
4653 * configure.in (bfd_elf64_ia64_vms_vec): Add case.
4654 * configure: Regenerate.
4655 * vmsutil.c: New file.
4656 * vmsutil.h: New file.
4657 * elf-bfd.h (struct bfd_elf_special_section): Change type of
4658 attr to bfd_vma.
4659 * elfxx-ia64.c (elfNN_vms_post_process_headers,
4660 elfNN_vms_section_processing, elfNN_vms_final_write_processing,
4661 elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
4662 elfNN_vms_object_p): New functions
4663 * targets.c (bfd_elf64_ia64_vms_vec): New target.
4664
4665 2009-01-14 H.J. Lu <hongjiu.lu@intel.com>
4666
4667 PR ld/9727
4668 * elflink.c (elf_gc_sweep): Exclude the group section if the
4669 first member of the section group is excluded.
4670
4671 2009-01-14 Alan Modra <amodra@bigpond.net.au>
4672
4673 PR 9735
4674 * syms.c (_bfd_stab_section_find_nearest_line): Don't free
4675 saved filename, use bfd_alloc rather than bfd_malloc for it.
4676
4677 2009-01-13 Alan Modra <amodra@bigpond.net.au>
4678
4679 * elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.
4680
4681 2009-01-13 Alan Modra <amodra@bigpond.net.au>
4682
4683 * elf32-spu.c (remove_cycles): Always set call->max_depth.
4684
4685 2009-01-12 Alan Modra <amodra@bigpond.net.au>
4686
4687 * elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.
4688
4689 2009-01-12 Alan Modra <amodra@bigpond.net.au>
4690
4691 * elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
4692 num_lines_log2.
4693 (struct got_entry): Add br_addr.
4694 (struct call_info): Add priority.
4695 (struct function_info): Add lr_store and sp_adjust.
4696 (spu_elf_setup): Init line_size_log2 and num_lines_log2.
4697 (spu_elf_find_overlays): For soft-icache, mark any section within cache
4698 area as an overlay, and check that no other overlays exist. Look up
4699 icache overlay manager entry sym.
4700 (BRA_STUBS, BRA, BRASL): Define.
4701 (enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
4702 (needs_ovl_stub): Adjust for soft-icache. Return priority encoded
4703 in branch insn.
4704 (count_stub, build_stub): Support soft-icache.
4705 (build_spuear_stubs, process_stubs): Adjust build_stub call.
4706 (spu_elf_size_stubs): Size soft-icache stubs.
4707 (overlay_index): New function.
4708 (spu_elf_build_stubs): Make static. Support soft-icache.
4709 (spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
4710 (find_function_stack_adjust): Save lr store and stack adjust insn
4711 offsets.
4712 (maybe_insert_function): Adjust find_function_stack_adjust call.
4713 (mark_functions_via_relocs): Retrieve priority.
4714 (remove_cycles): Only warn about pruned arcs when stack_analysis.
4715 (sort_calls): Sort by priority first.
4716 (mark_overlay_section): Ignore .ovl.init.
4717 (sum_stack): Only print when stack_analysis.
4718 (print_one_overlay_section): New function, extracted from..
4719 (spu_elf_auto_overlay): ..here. Support soft-icache overlays.
4720 (spu_elf_stack_analysis): Only print when htab->stack_analysis.
4721 (spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
4722 analysis. Call spu_elf_build_stubs.
4723 (spu_elf_relocate_section): For soft-icache encode overlay index
4724 into addresses.
4725 (spu_elf_output_symbol_hook): Support soft-icache.
4726 (spu_elf_modify_program_headers: Likewise.
4727
4728 * elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
4729 num_regions to num_lines. Add line_size and max_branch.
4730 (enum _ovly_flavour): Add ovly_soft_icache.
4731 (spu_elf_build_stubs): Delete.
4732
4733 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
4734
4735 * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
4736 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
4737
4738 2009-01-07 Hans-Peter Nilsson <hp@axis.com>
4739
4740 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
4741 <case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined in
4742 the program, the known offset starts at the negative size of the
4743 TLS section.
4744 <case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:
4745 Similar.
4746
4747 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
4748
4749 * config.bfd: Add lm32-*-rtems*.
4750
4751 2009-01-03 H.J. Lu <hongjiu.lu@intel.com>
4752
4753 * coff-ppc.c: Add 2009 to Copyright.
4754 * elf32-cris.c: Likewise.
4755 * elflink.c: Likewise.
4756
4757 2009-01-03 Hans-Peter Nilsson <hp@axis.com>
4758
4759 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Rename
4760 gotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.
4761
4762 2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4763
4764 PR ld/9679
4765 * elflink.c (elf_merge_st_other): New.
4766 (_bfd_elf_merge_symbol): Use it on skipped weak definitions and
4767 hide them if needed.
4768 (elf_link_add_object_symbols): Updated.
4769
4770 2009-01-02 H.J. Lu <hongjiu.lu@intel.com>
4771
4772 PR ld/9676
4773 * elflink.c (elf_link_add_object_symbols): Update def_dynamic,
4774 ref_dynamic and dynamic_def fields when setting def_regular
4775 to 1.
4776
4777 2009-01-02 Curtis Mackie <curtmackevo@gmail.com>
4778
4779 PR 9682
4780 * coff-ppc.c (dump_toc): Fix up calls to fprintf without a string
4781 literal.
4782
4783 For older changes see ChangeLog-2008
4784 \f
4785 Local Variables:
4786 mode: change-log
4787 left-margin: 8
4788 fill-column: 74
4789 version-control: never
4790 End:
This page took 0.131381 seconds and 4 git commands to generate.