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