bfd/
[binutils-gdb.git] / bfd / ChangeLog
1 2007-11-06 Alan Modra <amodra@bigpond.net.au>
2
3 * elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
4 (ppc_elf_gc_sweep_hook): ..or here..
5 (ppc_elf_tls_optimize): ..or here. Make two passes through the
6 relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
7 (allocate_dynrelocs): Refcount tlsld_got here.
8 (ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
9 allocating tlsld_got.
10 (ppc_elf_relocate_section): Remove check that a tls_get_addr
11 call follows gd and ld relocs.
12
13 2007-11-05 Alan Modra <amodra@bigpond.net.au>
14
15 * merge.c (sec_merge_hash_lookup): Revert last change.
16 (record_section): Likewise.
17 (_bfd_merge_sections): Likewise.
18 (_bfd_merged_section_offset): Properly handle NULL secinfo.
19 (_bfd_add_merge_section): Allocate extra space for a zero
20 terminator on SEC_STRINGS sections.
21
22 2007-11-05 Danny Smith <dannysmith@users.sourceforge.net>
23
24 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
25 and .bss section use the default.
26 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
27
28 2007-11-01 Joseph Myers <joseph@codesourcery.com>
29
30 * merge.c (sec_merge_hash_lookup): Add parameter sec_end. Check
31 for unterminated strings. All callers changed.
32 (record_section): Add parameter abfd. Give error message for
33 unterminated strings.
34 (_bfd_merge_sections): Update call to record_section.
35 (_bfd_write_merged_section, _bfd_merged_section_offset): Handle
36 NULL secinfo from merge failures.
37
38 2007-10-31 Nick Clifton <nickc@redhat.com>
39
40 * elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
41 align relocs when there are no relocs attached to the section.
42
43 2007-10-31 Alan Modra <amodra@bigpond.net.au>
44
45 * elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
46 * elflink.c (bfd_elf_match_symbols_in_sections): Make static.
47 Remove section name comparisons.
48
49 2007-10-30 Nick Clifton <nickc@redhat.com>
50
51 * reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
52 * bfd-in2.h: Regenerate.
53 * libbfd.h: Regnerate.
54 * elf-m10300.h: Handle R_MN10300_ALIGN relocs.
55 (mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
56 Re-fix off by one error in comparisons.
57
58 2007-10-25 Pedro Alves <pedro_alves@portugalmail.pt>
59
60 * bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
61 * bfd-in2.h: Regenerate.
62
63 2007-10-25 Daniel Jacobowitz <dan@codesourcery.com>
64
65 * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
66 Tag_GNU_Power_ABI_Vector.
67
68 2007-10-25 Joseph Myers <joseph@codesourcery.com>
69
70 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
71 PT_NULL header when not linking.
72
73 2007-10-25 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
74
75 * elf.c (elfcore_grok_ppc_vmx): New function.
76 (elfcore_grok_note): Handle NT_PPC_VMX.
77 (elfcore_write_ppc_vmx): New function.
78 * elf-bfd.h (elfcore_write_ppc_vmx): Declare.
79
80 2007-10-24 Alan Modra <amodra@bigpond.net.au>
81
82 * Makefile.am: Run "make dep-am".
83 * Makefile.in: Regenerate.
84 * po/SRC-POTFILES.in: Regenerate.
85
86 2007-10-23 Alan Modra <amodra@bigpond.net.au>
87
88 * elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
89 emitted for ".brlt" entries.
90 (toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
91 (ppc64_elf_next_input_section): ..instead do so here.
92
93 2007-10-19 Nick Clifton <nickc@redhat.com>
94
95 * config.bfd: Recognise am34-linux-gnu target.
96 * reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
97 * bfd-in2.h: Regenerate.
98 * libbfd.h: Regenerate.
99 * elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
100 (mn10300_reloc_map): Likewise.
101 (mn10300_elf_check_relocs): Do not create dynamic relocs for
102 symbol differences or relocations against absolute symbols.
103 (mn10300_elf_final_link_relocate): Likewise.
104 Handle R_MN10300_SYM_DIFF relocs.
105 (mn10300_elf_relocate_section): Fix for creating local copys of
106 dynamic relocs.
107 (mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
108 region. Adjust the size of function symbols.
109 (mn10300_elf_relax_section): Ignore symbols that are in discarded
110 sections.
111
112 2007-10-19 Nick Clifton <nickc@redhat.com>
113
114 * elf-m10300.c: Convert to ISO C.
115
116 2007-10-18 H.J. Lu <hongjiu.lu@intel.com>
117 Alan Modra <amodra@bigpond.net.au>
118
119 PR ld/4424
120 * config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
121 alpha/FreeBSD. Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
122 Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
123 (targ64_selvecs): Set for i386/FreeBSD.
124 * elf-bfd.h (elf_backend_data): Add relocs_compatible.
125 (_bfd_elf_default_relocs_compatible): Declare.
126 (_bfd_elf_relocs_compatible): Declare.
127 * elfxx-target.h (elf_backend_relocs_compatible): Define.
128 (elfNN_bed): Init new relocs_compatible field.
129 * elflink.c (_bfd_elf_default_relocs_compatible): New function.
130 (_bfd_elf_relocs_compatible): New function.
131 (elf_link_add_object_symbols): Call bed->relocs_compatible.
132 * elf32-i386.c (elf_backend_relocs_compatible): Define.
133 * elf64-alpha.c: Likewise.
134 * elf64-sparc.c: Likewise.
135 * elf64-x86-64.c: Likewise.
136
137 2007-10-16 Bob Wilson <bob.wilson@acm.org>
138
139 * elf32-xtensa.c (relax_section): Check for a reference to a discarded
140 DWARF section and anticipate its replacement with the kept section.
141
142 2007-10-16 Bob Wilson <bob.wilson@acm.org>
143
144 * elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
145 unnecessary size variables. Set sec->rawsize.
146 (relax_section, relax_property_section): Likewise.
147
148 2007-10-16 Bob Wilson <bob.wilson@acm.org>
149
150 * section.c (struct bfd_section): Clarify comment for rawsize field.
151 * bfd-in2.h: Regenerate.
152
153 2007-10-16 Bob Wilson <bob.wilson@acm.org>
154
155 * elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
156 values if they are set.
157
158 2007-10-16 Nick Clifton <nickc@redhat.com>
159
160 PR 5146
161 * configure.in (AC_CHECK_HEADERS): Add alloca.h
162 * configure: Regenerate.
163 * config.in: Regenerate.
164 * som.c: Replace alloca-conf.h inclusion with code recommended in
165 autoconf documentation.
166 * elf64-hppa.c: Likewise.
167
168 2007-10-16 Nick Clifton <nickc@redhat.com>
169
170 * configure.in (--enable-elf-stt-common): New configure
171 option. If enabled then the tools can generate symbols with
172 the ELF STT_COMMON type.
173 * config.in: Regenerate.
174 * configure: Regenerate.
175 * elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
176 the type of emitted common symbols to STT_COMMON.
177 * elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
178 types.
179
180 2007-10-15 Alan Modra <amodra@bigpond.net.au>
181
182 * coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
183 Return status. Adjust callers.
184 * coff-mcore.c (mcore_emit_base_file_entry): Likewise.
185 * coff-ppc.c (write_base_file_entry): New function.
186 (coff_ppc_relocate_section): Use it.
187 * elf32-arm.c (find_thumb_glue): Check asprintf return status.
188 (find_arm_glue): Likewise.
189 * vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
190
191 2007-10-12 Nick Clifton <nickc@redhat.com>
192
193 PR 5160
194 * elflink.c (eval_symbol): Remove bufsz variable and use
195 sizeof(symbuf) where necessary.
196
197 2007-10-12 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
198
199 * elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
200
201 2007-10-12 Daniel Jacobowitz <dan@codesourcery.com>
202
203 * elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
204 local symbols specially.
205 (mips_elf_set_global_got_offset): Skip forced local symbols.
206
207 2007-10-12 Alan Modra <amodra@bigpond.net.au>
208
209 * elf.c (elfcore_grok_prxfpreg): Fix comment typo.
210
211 2007-10-10 H.J. Lu <hongjiu.lu@intel.com>
212
213 * elf.c (get_program_header_size): Always add a PT_GNU_RELRO
214 segment for -z relro.
215 (_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
216 segment only when needed.
217
218 2007-10-05 Bob Wilson <bob.wilson@acm.org>
219
220 * elf32-xtensa.c (relax_section): Call pin_internal_relocs when
221 changing a relocation's offset. Adjust call to translate_reloc. Do
222 not add a fix record for a DIFF reloc. For other relocs, only add a
223 fix record if the translated target is in a different object file;
224 otherwise, just update the relocation. Call pin_internal_relocs when
225 updating a reloc but not when adding a fix record.
226 (translate_reloc): Get the target section from a new argument, not
227 from the relocation. Change check for relaxable sections to an
228 assertion. Compute separate offset adjustments for the base symbol
229 and the addend, and set the new relocation's addend correctly. Return
230 the new target section.
231
232 2007-10-05 Bob Wilson <bob.wilson@acm.org>
233
234 * elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
235 r_type and howto after calling do_fix_for_relocateable_link and
236 do_fix_for_final_link.
237
238 2007-10-05 Bob Wilson <bob.wilson@acm.org>
239
240 * elf32-xtensa.c (removed_by_actions): New.
241 (offset_with_removed_text): Reimplement using removed_by_actions.
242 (offset_with_removed_text_before_fill): Delete.
243 (relax_property_section): Use removed_by_actions. Rearrange logic.
244 (relax_section_symbols): Likewise.
245
246 2007-10-04 Bob Wilson <bob.wilson@acm.org>
247
248 * elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
249 (reloc_bfd_fix_init): Remove target_abfd argument.
250 (relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
251
252 2007-10-04 Nick Clifton <nickc@redhat.com>
253
254 PR linker/5099
255 * elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
256 apostrophe to error message.
257
258 2007-10-01 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
259
260 * elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
261 final relocation phase.
262 Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
263 * reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
264 R_CR16_SWITCH16, R_CR16_SWITCH32.
265 * libbfd.h: Regenerate.
266 * bfd-in2.h: Regenerate.
267
268 2007-09-30 Alan Modra <amodra@bigpond.net.au>
269
270 * elflink.c: Formatting.
271
272 2007-09-29 Alan Modra <amodra@bigpond.net.au>
273
274 * elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
275 sections. Don't test symbol st_shndx. Don't bother with
276 bfd_link_hash_common symbols. Print longs rather than ints
277 in debug messages.
278 (eval_symbol): Replace "sym" and "advanced" params with "symp".
279 Replace "addr" and "section_offset" params with "dot". Don't
280 cast bfd_vma values to signed, cast them to bfd_signed_vma.
281 (bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
282 "local_syms" and "local_sections" params. Add "relocation".
283 Delete code calculating relocation value.
284 (evaluate_complex_relocation_symbols): Delete function. Fold into..
285 (elf_link_input_bfd): ..existing code examining relocs.
286 * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
287 * elf32-mep.c (mep_elf_check_relocs): Delete function.
288 (mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
289 (mep_elf_object_p): Don't set elf_bad_symtab.
290 (elf_backend_check_relocs): Don't define.
291 (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
292 (elf_backend_can_gc_sections, USE_RELA): Likwise.
293 (mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
294 call after we have calculated reloc value. Delete local sym
295 debug code. Use RELOC_FOR_GLOBAL_SYMBOL. Delete addend
296 adjusting code..
297 (elf_backend_rela_normal): ..instead define this.
298
299 2007-09-28 Alan Modra <amodra@bigpond.net.au>
300
301 * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
302 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
303 * elf32-avr.c (elf32_avr_check_relocs): Likewise.
304 * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
305 * elf32-cris.c (cris_elf_check_relocs): Likewise.
306 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
307 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
308 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
309 * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
310 (elf32_frv_check_relocs): Likewise.
311 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
312 * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
313 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
314 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
315 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
316 * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
317 * elf32-mt.c (mt_elf_check_relocs): Likewise.
318 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
319 * elf32-sh.c (sh_elf_check_relocs): Likewise.
320 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
321 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
322 * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
323 (score_elf_local_relocation_p): Likewise.
324 (_bfd_score_elf_relocate_section): Likewise.
325 (score_elf_final_link_relocate): Likewise.
326
327 2007-09-26 Jan Beulich <jbeulich@novell.com>
328
329 * elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
330 check for R_386_GNU_VTINHERIT.
331 * elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
332 pointer for R_xxx_GNU_VTENTRY.
333 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
334 * elf32-bfin.c (bfin_check_relocs): Likewise.
335 (bfinfdpic_check_relocs): Likewise.
336 * elf32-cris.c (cris_elf_check_relocs): Likewise.
337 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
338 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
339 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
340 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
341 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
342 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
343 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
344 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
345 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
346 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
347 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
348 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
349 * elf32-s390.c (elf_s390_check_relocs): Likewise.
350 * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
351 * elf32-sh.c (sh_elf_check_relocs): Likewise.
352 * elf32-v850.c (v850_elf_check_relocs): Likewise.
353 * elf32-vax.c (elf_vax_check_relocs): Likewise.
354 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
355 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
356 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
357 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
358 * elf64-s390.c (elf_s390_check_relocs): Likewise.
359 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
360 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
361 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
362 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
363
364 2007-09-26 Alan Modra <amodra@bigpond.net.au>
365
366 * elflink.c (set_symbol_value): Add isymbuf and locsymcount
367 params. Change symidx to a size_t. Don't access past end
368 of symbol buffer.
369 (resolve_symbol): Add isymbuf param and use instead of
370 finfo->internal_syms.
371 (eval_symbol, evaluate_complex_relocation_symbols): Likewise.
372 (elf_link_input_bfd): Don't read symbols specially for
373 evaluate_complex_relocation_symbols.
374
375 2007-09-26 Tristan Gingold <gingold@adacore.com>
376
377 * som.c (som_get_reloc_upper_bound): If there are no relocs return
378 enough space to hold a NULL pointer.
379
380 2007-09-26 Alan Modra <amodra@bigpond.net.au>
381
382 * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
383
384 2007-09-25 Alan Modra <amodra@bigpond.net.au>
385
386 * elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
387 (spu_elf_size_stubs): Count stub relocs.
388 (write_one_stub): Emit relocs on overlay call stubs.
389
390 * elf32-spu.c (struct spu_link_hash_table): Add "stubs".
391 (spu_elf_link_hash_table_create): Init new field.
392 (spu_elf_size_stubs): Store sorted stub syms in new htab field
393 rather than local var.
394 (spu_elf_build_stubs): Iterate over htab stubs rather than
395 hash traversal.
396 (struct stubarr): Delete.
397 (allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
398
399 2007-09-24 Daniel Jacobowitz <dan@codesourcery.com>
400
401 * elf.c (assign_file_positions_for_load_sections): Trust
402 p_align_valid.
403 (copy_elf_program_header): Copy PT_NULL segments.
404
405 2007-09-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
406
407 * elf32-spu.c (is_indirect_branch): New function.
408 (find_function_stack_adjust): End scan on hitting indirect branch.
409 (sum_stack): Cast %v arg to correct type.
410
411 2007-09-21 H.J. Lu <hongjiu.lu@intel.com>
412
413 * Makefile.am: Run "make dep-am".
414 * Makefile.in: Regenerated.
415
416 2007-09-21 Doug Kwan <dougkwan@google.com>
417
418 * Makefile.am (BFD32_LIBS): Add arange-set.lo.
419 (BFD32_LIBS_CFILES): Add arange-set.c.
420 (SOURCE_HFILES): Add arange-set.h
421 (dwarf2.lo): Add dependency upon arange-set.h.
422 (arange-set.lo): New target.
423 * Makefile.in: Regenerate.
424 * arange-set.c: New file.
425 * arange-set.h: New file.
426 * dwarf2.c: Include arange-set.h.
427 (struct dwarf2_debug) Add new fields comp_unit_count and
428 comp_unit_arange_set.
429 (struct comp_unit) Replace field arange with a new field arange_set.
430 (dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
431 dwarf2_combine_arange_value, dwarf2_arange_set_new,
432 dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
433 functions to utilize arange set in dwarf2.c.
434 (arange_add): Formatting change for a line longer than 80 characters.
435 (decode_line_info): Replace call target arange_add with
436 dwarf2_comp_unit_arange_add.
437 (read_rangelist_insert_arange_list,
438 read_rangelist_comp_unit_arange_add): New functions used as callbacks
439 for read_rangelist.
440 (read_rangelist): Change interface to accept a callback and data to
441 allow caller to select the action peformed on a new range list read.
442 (scan_unit_for_symbols): Use new interface of read_rangelist.
443 (parse_comp_unit): Create an arange set for each new comp unit. Use new
444 interface of read_rangelist. Replace call to arange_add with that to
445 dwarf2_comp_unit_arange_add.
446 (comp_unit_contains_address): Replace sequential search with a call to
447 arange_set_lookup_address, which can handles large set efficiently.
448 (stash_copy_local_aranges, stash_maybe_enable_arange_set,
449 stash_find_nearest_line_fast): New functions maintaining and using a
450 valued global arange set for all compilation units to speed up
451 bfd_dwarf2_find_nearest_line.
452 (find_line): Use global arange set. Replace sequential search over all
453 compilation units with a call to stash_find_nearest_line_fast. Add
454 book keeping to count number of compilation units. Replace empty
455 arange list test with a call to arange_set_empty_p.
456
457 2007-09-21 Olivier Hainque <hainque@adacore.com>
458 Tristan Gingold <gingold@adacore.com>
459
460 * syms.c (_bfd_stab_section_find_nearest_line): Look at the
461 specific SOM sections for stabs if the regular ones are not found.
462 * som.h (struct somdata): Add a line_info field, to be used by
463 som_find_nearest_line.
464 * som.c (som_find_nearest_line): Implement using the bfd stabs
465 function above.
466
467 2007-09-19 Daniel Jacobowitz <dan@codesourcery.com>
468
469 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
470 will be output.
471
472 2007-09-19 Alan Modra <amodra@bigpond.net.au>
473 Doug Kwan <dougkwan@google.com>
474
475 * bfd-in.h (bfd_hash_insert): Declare.
476 * bfd-in2.h: Regenerate.
477 * hash.c (bfd_hash_insert): New function. Split out from..
478 (bfd_hash_lookup): ..here.
479 * merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
480
481 2007-09-18 Alan Modra <amodra@bigpond.net.au>
482
483 * elf.c (bfd_section_from_shdr): Check bfd_alloc return.
484 (elfcore_write_note): Check realloc return.
485 * elflink.c (_bfd_elf_link_find_version_dependencies): Check
486 bfd_zalloc return.
487 (_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
488 (elf_link_add_object_symbols): Likewise.
489 (struct hash_codes_info): New.
490 (elf_collect_hash_codes): Return bfd_malloc error.
491 (struct collect_gnu_hash_codes): Add "error".
492 (elf_collect_gnu_hash_codes): Return bfd_malloc error.
493 (bfd_elf_size_dynamic_sections): Check return status of
494 _bfd_elf_link_find_version_dependencies.
495 (bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
496 and elf_collect_gnu_hash_codes changes.
497 (elf_sym_name_compare): Formatting.
498 (elf_fixup_link_order): Use bfd_malloc, not xmalloc.
499
500 2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
501
502 PR binutils/3281
503 PR binutils/5037
504 * elf-bfd.h (elf_obj_tdata): Remove relro.
505
506 * elf.c (get_program_header_size): Check info->relro instead
507 of elf_tdata (abfd)->relro.
508 (_bfd_elf_map_sections_to_segments): Likewise.
509 (assign_file_positions_for_load_sections): Don't set
510 PT_GNU_RELRO segment alignment here.
511 (assign_file_positions_for_non_load_sections): Properly set up
512 PT_GNU_RELRO segment for copying executable/shared library.
513 (rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
514 (copy_elf_program_header): Set p_size and p_size_valid fields for
515 PT_GNU_RELRO segment.
516
517 2007-09-17 Nick Clifton <nickc@redhat.com>
518
519 * po/fi.po: New Finnish translation.
520 * po/es.po: Updated Spanish translation.
521 * configure.in (ALL_LINGUAS): Add fi.
522 * configure: Regenerate.
523 * po/bfd.pot: Regenerate.
524
525 2007-09-15 Nick Clifton <nickc@redhat.com>
526
527 * bfd.c (_bfd_default_error_handler): fflush stdout.
528
529 2007-09-14 Alan Modra <amodra@bigpond.net.au>
530
531 * opncls.c (find_separate_debug_file): Ensure bfd_set_error has
532 been called on all error return paths.
533 (bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
534 Clear padding after filename
535
536 2007-09-14 Alan Modra <amodra@bigpond.net.au>
537
538 * format.c (bfd_check_format_matches): Record matching targets even
539 when "matching" is NULL to allow bfd_associated_vector matches.
540 Consolidate error return code. Consolidate ok return code. Always
541 restore original target and format on error.
542
543 2007-09-14 Alan Modra <amodra@bigpond.net.au>
544
545 * configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
546 long long. Partly revert 2007-07-12 change, so that
547 BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
548 independent of "void *" size.
549 * configure: Regenerate.
550 * config.in: Regenerate.
551 * Makefile.in: Regenerate.
552
553 2007-09-12 Alan Modra <amodra@bigpond.net.au>
554
555 * elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
556 and elf_backend_fprintf_vma.
557 (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
558 * elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
559 * elfxx-target.h (elf_backend_sprintf_vma): Don't define.
560 (elf_backend_fprintf_vma): Likewise.
561 (elfNN_bed): Don't init removed fields.
562 * bfd.c (is32bit): New function.
563 (bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
564
565 2007-09-11 Nathan Sidwell <nathan@codesourcery.com>
566
567 * archures.c: Add bfd_mach_mcf_isa_c_nodiv,
568 bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
569 * ieee.c (ieee_write_processor): Update coldfire architecture
570 list.
571 * bfd-in2.h: Rebuilt.
572 * cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
573 (m68k_arch_features): Likewise.
574 * elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
575 (elf32_m68k_print_private_bfd_data): Likewise.
576
577 2007-09-11 Jan Beulich <jbeulich@novell.com>
578
579 * elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
580 * elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
581
582 2007-09-08 Alan Modra <amodra@bigpond.net.au>
583
584 * elf64-ppc.c (func_desc_adjust): When resolving undefined
585 references to dot-symbols, transfer def_regular and
586 def_dynamic from the descriptor symbol.
587
588 2007-09-08 Alan Modra <amodra@bigpond.net.au>
589
590 * config.bfd: Set want64 for spu-*-elf.
591
592 2007-09-08 Alan Modra <amodra@bigpond.net.au>
593
594 PR ld/2864, ld/5006
595 * elf.c (special_sections): Comment typo.
596 (elf_fake_sections): Force SHT_PROGBITS for sections that are
597 SHT_NOBITS if BFD section flags say they have contents.
598
599 2007-09-04 Michael Snyder <msnyder@access-company.com>
600
601 * elf32-bfin.c (howto_table): Cut and paste error?
602 Name field of reloc is wrong.
603
604 2007-09-04 Alan Modra <amodra@bigpond.net.au>
605
606 * elf32-spu.c (elf_howto_table): Formatting.
607
608 2007-09-02 H.J. Lu <hongjiu.lu@intel.com>
609
610 PR ld/4986
611 * dwarf2.c (new_line_sorts_after): Undo the last change.
612 (add_line_info): Only keep the last entry with the same address
613 and end sequence.
614
615 2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
616
617 PR ld/4986
618 * dwarf2.c (new_line_sorts_after): Also compare line number.
619
620 2007-08-31 Jesse Michael <jmichael@suse.de>
621
622 * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
623 zerofill sections.
624
625 2007-08-28 David Heine <dlheine@tensilica.com>
626
627 * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
628 narrowing instructions.
629
630 2007-08-28 Mark Shinwell <shinwell@codesourcery.com>
631 Joseph Myers <joseph@codesourcery.com>
632
633 * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
634 then on type.
635
636 2007-08-28 Robert Sebastian Gerus <arachnist@gmail.com>
637
638 * config.bfd: Add support for i[3-7]86-*-dragonfly*.
639 * configure.in: Likewise.
640 * configure: Regenerate.
641
642 2007-08-25 Ulrich Weigand <uweigand@de.ibm.com>
643 Alan Modra <amodra@bigpond.net.au>
644
645 * elf.c (elfcore_grok_spu_note): New function.
646 (elf_parse_notes): Call it.
647
648 2007-08-24 H.J. Lu <hongjiu.lu@intel.com>
649
650 * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
651 indentation.
652
653 2007-08-24 Pedro Alves <pedro_alves@portugalmail.pt>
654
655 * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
656 guard. Make it host independent.
657 (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
658 NT_WIN32PSTATUS.
659
660 2007-08-24 Jan Kratochvil <jan.kratochvil@redhat.com>
661
662 * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
663 * elf.c (elfcore_read_notes): Split to ...
664 (elf_read_notes) ... here ...
665 (elf_parse_notes): ... and here. Check `bfd_get_format (abfd)' with
666 the former subfunctions called only for BFD_CORE.
667 Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
668 (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
669 (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
670 (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
671 Code advisory: Roland McGrath
672
673 2007-08-24 Daniel Jacobowitz <dan@codesourcery.com>
674
675 * elf64-mips.c (elf_backend_sign_extend_vma): Define.
676
677 2007-08-24 Alan Modra <amodra@bigpond.net.au>
678
679 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
680
681 2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
682
683 * Makefile.am: Run "make dep-am".
684 * Makefile.in: Regenerated.
685
686 2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
687
688 * elf32-i386.c: Include "bfd_stdint.h".
689 (elf_i386_rtype_to_howto): New function.
690 (elf_i386_info_to_howto_rel): Use it.
691 (x86_64_opcode16): New union type.
692 (elf_i386_check_tls_transition): New function.
693 (elf_i386_tls_transition): Updated to check transition and
694 issue an error if a transition isn't supported.
695 (elf_i386_check_relocs): Return FALSE if
696 elf_i386_tls_transition returns FALSE.
697 (elf_i386_gc_sweep_hook): Likewise.
698 (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
699 on TLS transitions.
700
701 * elf64-x86-64.c: Include "bfd_stdint.h".
702 (x86_64_opcode16): New union type.
703 (x86_64_opcode32): Likewise.
704 (elf64_x86_64_check_tls_transition): New function.
705 (elf64_x86_64_tls_transition): Updated to check transition and
706 issue an error if a transition isn't supported.
707 (elf64_x86_64_check_relocs): Return FALSE if
708 elf64_x86_64_tls_transition returns FALSE.
709 (elf64_x86_64_gc_sweep_hook): Likewise.
710 (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
711 on TLS transitions.
712
713 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
714
715 * elfxx-ia64.c: Convert to ISO C90 prototypes.
716 (elfNN_hpux_backend_section_from_bfd_section): Make it static.
717
718 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
719
720 * elf64-x86-64.c: Remove trailing whitespace.
721 * elfxx-ia64.c: Likewise.
722
723 2007-08-21 H.J. Lu <hongjiu.lu@intel.com>
724
725 * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
726 to ELF hash entry instead of an integer for local test.
727 (elf_i386_check_relocs): Updated.
728 (elf_i386_gc_sweep_hook): Likewise.
729 (elf_i386_relocate_section): Likewise.
730
731 * elf64-x86-64.c (elf64_x86_64_tls_transition): Accept a
732 pointer to ELF hash entry instead of an integer for local
733 test.
734 (elf64_x86_64_check_relocs): Updated.
735 (elf64_x86_64_gc_sweep_hook): Likewise.
736 (elf64_x86_64_relocate_section): Likewise.
737
738 2007-08-20 H.J. Lu <hongjiu.lu@intel.com>
739
740 * elf32-i386.c (elf_i386_tls_transition): Break long line.
741 * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
742
743 2007-08-20 Jan Kratochvil <jan.kratochvil@redhat.com>
744
745 * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
746 (ELF_MINPAGESIZE): Fixed its size guess. Sanity checked its size.
747 (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
748
749 2007-08-20 Nick Clifton <nickc@redhat.com>
750
751 * elflink.c (elf_fixup_link_order): Rewrite conversion of
752 s->alignment_power into an offset mask in order to avoid a gcc
753 error message.
754
755 2007-08-17 Jakub Jelinek <jakub@redhat.com>
756
757 * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
758 Change sparc64-*-linux-* to sparc64*-*-linux-*.
759
760 2007-08-17 Alan Modra <amodra@bigpond.net.au>
761
762 * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
763
764 2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
765
766 * elf.c: Revert last change.
767
768 2007-08-16 H.J. Lu <hongjiu.lu@intel.com>
769
770 * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
771 (bfd_section_from_phdr): Likewise.
772 (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
773 if there is an attribute section.
774 (_bfd_elf_map_sections_to_segments): Likewise.
775 (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
776
777 2007-08-14 H.J. Lu <hongjiu.lu@intel.com>
778
779 PR ld/4918
780 * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
781 on ___tls_get_addr for GD->LE/LD->LE transitions when not
782 building shared library.
783
784 * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
785 R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
786 when not building shared library.
787
788 2007-08-14 Jan Kratochvil <jan.kratochvil@redhat.com>
789
790 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
791 initialized only on the first PT_LOAD. New variable LOADBASE_SET.
792 Removed PF_R checking for IA-64 vDSOs as redundant now.
793 Code advisory: Roland McGrath
794
795 2007-08-13 Richard Sandiford <richard@codesourcery.com>
796
797 * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
798 (mips_elf_record_global_got_symbol): Increment local_gotno for
799 each forced-local symbol.
800 (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
801 mips_elf_record_global_got_symbol for VxWorks too.
802 (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
803 to true after computing the GOT size.
804 (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
805 got.offset == 1. Only adjust global_gotno if computed_got_sizes.
806 For VxWorks, add a local entry when hiding a symbol that needs a
807 plt but has not been marked as needing a global got entry.
808 (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
809 false.
810
811 2007-08-12 Daniel Jacobowitz <dan@codesourcery.com>
812
813 * coffgen.c (coff_get_normalized_symtab): Correct cast.
814
815 2007-08-13 Alan Modra <amodra@bigpond.net.au>
816
817 * elf.c (elf_modify_segment_map): Add remove_empty_load param.
818 Don't remove empty PT_LOAD header if false.
819 (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
820 to elf_modify_segment_map.
821 (assign_file_positions_for_load_sections): Pass false to
822 elf_modify_segment_map.
823
824 2007-08-13 Alan Modra <amodra@bigpond.net.au>
825
826 * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
827 Update stub comments.
828 (build_plt_stub): Build two variants, one without "addis".
829 (ppc_build_one_stub): Build stubs without "addis" if possible.
830 (ppc_size_one_stub): Size new stubs.
831
832 2007-08-11 Richard Sandiford <richard@codesourcery.com>
833
834 * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
835
836 2007-08-09 Michael Snyder <msnyder@access-company.com>
837
838 * aoutx.h (aout_get_external_symbols): Return if count is zero.
839
840 2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
841
842 PR ld/4909
843 * elf.c (print_segment_map): New function.
844 (assign_file_positions_for_load_sections): Call print_segment_map
845 when a section can't be allocated in segment.
846
847 2007-08-09 Jan Kratochvil <jan.kratochvil@redhat.com>
848
849 * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
850
851 2007-08-07 Nick Clifton <nickc@redhat.com>
852
853 * po/bfd.pot: Updated template.
854 * po/BLD-POTFILES.in: Regenerate.
855
856 2007-08-07 Alan Modra <amodra@bigpond.net.au>
857
858 * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
859 bss segments.
860
861 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
862
863 * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
864 * Makefile.in: Regenerated.
865
866 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
867
868 * configure.in: Update version to 2.18.50.
869 * configure: Regenerated.
870
871 2007-08-06 Paul Brook <paul@codesourcery.com>
872
873 * elf32-arm.c (elf32_arm_link_hash_entry): Add
874 plt_maybe_thumb_refcount.
875 (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
876 (elf32_arm_copy_indirect_symbol): Ditto.
877 (elf32_arm_adjust_dynamic_symbol): Ditto.
878 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
879 (arm_add_to_rel): Ditto.
880 (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
881 R_ARM_THM_CALL. Handle R_ARM_THM_JUMP19 against a PLT stub.
882 (elf32_arm_gc_sweep_hook): Call check_use_blx. Update plt counts
883 for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
884 (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
885 and R_ARM_THM_JUMP19.
886 (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
887 (elf32_arm_finish_dynamic_symbol): Ditto.
888 (elf32_arm_output_plt_map): Ditto.
889
890 2007-08-06 Daniel Jacobowitz <dan@codesourcery.com>
891
892 * elf.c (rewrite_elf_program_header): Handle sections not sorted
893 by address.
894 (copy_elf_program_header): Likewise.
895
896 2007-08-04 H.J. Lu <hongjiu.lu@intel.com>
897
898 * elf-bfd.h (xvec_get_elf_backend_data): Add const.
899
900 * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
901 * elfcore.h (elf_core_file_p): Likewise.
902
903 2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
904
905 * coffcode.h (ALIGN_SET): Removed.
906 (ELIFALIGN_SET): Likewise.
907 (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
908 IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
909 IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
910 IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
911
912 2007-08-01 Michael Snyder <msnyder@access-company.com>
913
914 * vms-tir.c (new_section): Fix cut and paste error.
915
916 * aoutx.h (aout_link_add_symbols): Return if count is zero.
917
918 * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
919 pointer must be non-null.
920
921 2007-08-01 Tristan Gingold <gingold@adacore.com>
922
923 * coffcode.h (coff_sort_func_alent): New function.
924 (coff_slurp_line_table): Sort line table if not already sorted.
925
926 2007-08-01 Jakub Jelinek <jakub@redhat.com>
927
928 * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
929 GCC 3.4.x warning.
930
931 2007-08-01 Alan Modra <amodra@bigpond.net.au>
932
933 * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
934 r_type.
935 (swap_std_reloc_in): Likewise.
936 (aout_link_input_section_std): Likewise. Return with an error
937 on unexpected relocation type.
938 (aout_link_input_section_ext): Likewise.
939
940 2007-08-01 Alan Modra <amodra@bigpond.net.au>
941
942 PR4694
943 * aoutx.h (final_link): Write a zero in first word of
944 stringtab if no symbols rather than corrupting last byte
945 of text/data.
946
947 2007-07-31 Jakub Jelinek <jakub@redhat.com>
948
949 * elf.c (get_program_header_size): Adjacent loadable .note*
950 sections need just one PT_NOTE segment.
951 (_bfd_elf_map_sections_to_segments): Likewise.
952
953 2007-07-30 Michael Snyder <msnyder@access-company.com>
954
955 * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
956 2007-07-26. Buffer still in use, can't be freed.
957
958 2007-07-27 Michael Snyder <msnyder@access-company.com>
959
960 * cofflink.c (coff_link_add_symbols): Return if count is zero.
961
962 * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
963
964 * aoutx.h (slurp_symbol_table): Return if count == 0.
965
966 * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
967
968 * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
969
970 2007-07-27 H.J. Lu <hongjiu.lu@intel.com>
971
972 * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
973
974 2007-07-26 Michael Snyder <msnyder@access-company.com>
975
976 * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
977
978 * linker.c (bfd_section_already_linked_table_insert): Change
979 return type from void to boolean. Return FALSE on failure.
980 (_bfd_generic_section_already_linked): Test return value of
981 bfd_section_already_linked_table_insert, call fatal on error.
982
983 * elflink.c (_bfd_elf_section_already_linked): Test return value
984 of bfd_section_already_linked_table_insert, call fatal on error.
985
986 * libbfd-in.h (bfd_section_already_linked_table_insert): Update
987 return type to bfd_boolean.
988
989 * libbfd.h: Regenerate.
990
991 2007-07-26 Adam Nemet <anemet@caviumnetworks.com>
992
993 * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
994 bfd_slurp_armap): Improve function comment.
995
996 2007-07-26 Michael Snyder <msnyder@access-company.com>
997
998 * linker.c (already_linked_newfunc): Check for NULL return from
999 bfd_hash_allocate.
1000
1001 * coffgen.c (fixup_symbol_value): Guard against null;
1002 bfd_is_com_section will dereference the section pointer.
1003
1004 * syms.c (bfd_decode_symclass): Guard against NULL, since
1005 bfd_is_com_section dereferences the pointer.
1006
1007 * srec.c (srec_scan): Check for EOF (critical because return value
1008 will be used as array index).
1009
1010 * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
1011 are not to be cached, free the temporary buffer.
1012
1013 * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
1014 or count == zero.
1015
1016 * tekhex.c (first_phase): Check return value for null.
1017
1018 * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
1019 pointer increment.
1020
1021 2007-07-26 Alan Modra <amodra@bigpond.net.au>
1022
1023 * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
1024 check on dynobj. Remove bed shadow.
1025
1026 * srec.c (srec_get_section_contents): Return immediately on
1027 count zero. Check that offset and count are within section.
1028 * libbfd.c (_bfd_generic_get_section_contents): Check that
1029 offset + count does not overflow.
1030
1031 * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
1032 is zero. Correct return value on error.
1033 * mmo.c (mmo_canonicalize_symtab): Likewise.
1034 * binary.c (binary_canonicalize_symtab) Correct return on error.
1035
1036 2007-07-26 Thiemo Seufer <ths@mips.com>
1037
1038 * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
1039
1040 2007-07-26 Alan Modra <amodra@bigpond.net.au>
1041
1042 * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
1043 bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
1044 says there are no relocs.
1045
1046 2007-07-26 Doug Kwan <dougkwan@google.com>
1047
1048 Speed up bfd_dwarf2_find_line.
1049 * dwarf2.c (struct dwarf2_debug): Add new fields to support function
1050 and variable info hash tables. Add last_comp_unit, info_hash_count,
1051 funcinfo_hash_table, varinfo_hash_table, hash_units_head.
1052 (struct comp_unit): Add prev_unit, cached.
1053 (struct info_list_node, struct info_hash_entry,
1054 struct info_hash_table): New.
1055 (info_hash_table_newfunc, create_info_hash_table,
1056 insert_info_hash_table, lookup_info_hash_table): New functions
1057 implementing function and variable info hash tables.
1058 (scan_unit_for_symbols): Add checks to make sure hash tables are
1059 consistent with compilation units.
1060 (comp_unit_maybe_decode_line_info): New function.
1061 (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
1062 (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
1063 info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
1064 stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
1065 stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
1066 functions. Make use of info hash tables to speed up
1067 bfd_dwarf2_find_line.
1068 (find_line): Use hash table for faster lookup if it is turned on.
1069 Also add code to maintain bi-directional link in comp units.
1070
1071 2007-07-25 Michael Snyder <msnyder@access-company.com>
1072
1073 * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
1074 if size == 0; return and avoid possible null pointer issues.
1075
1076 2007-07-25 Alan Modra <amodra@bigpond.net.au>
1077
1078 * linker.c (generic_link_add_symbol_list): Warning fix.
1079
1080 2007-07-24 Michael Snyder <msnyder@access-company.com>
1081
1082 * opncls.c (bfd_make_writable): Check return from bfd_malloc.
1083
1084 * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
1085 on bfd_malloc error rather than goto error_return.
1086
1087 2007-07-24 Alan Modra <amodra@bigpond.net.au>
1088
1089 * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
1090 _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
1091 _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
1092 _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
1093 bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
1094 bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
1095 bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
1096 bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
1097 struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
1098 elf_sym_name_compare, elf_create_symbuf,
1099 bfd_elf_match_symbols_in_sections,
1100 _bfd_elf_match_sections_by_type): Move to here..
1101 * elf.c: ..from here.
1102
1103 2007-07-23 Richard Sandiford <richard@codesourcery.com>
1104
1105 * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
1106 of weakdef->root.type if weakdef has no regular definition.
1107
1108 2007-07-22 Adam Nemet <anemet@caviumnetworks.com>
1109
1110 * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
1111 small_data_overflow_reported.
1112 (_bfd_mips_elf_link_hash_table_create): Initialize it.
1113 (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
1114 small-data section overflow.
1115
1116 2007-07-19 Doug Kwan <dougkwan@google.com>
1117
1118 PR binutils/4797
1119 * dwarf2.c: (find_line) Do not dereference functionname_ptr if
1120 do_line is true.
1121
1122 2007-07-18 Bob Wilson <bob.wilson@acm.org>
1123
1124 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
1125 non-ELF sections.
1126
1127 2007-07-18 Bob Wilson <bob.wilson@acm.org>
1128
1129 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
1130 vma and size for dynamic tags from the output sections.
1131
1132 2007-07-18 Alan Modra <amodra@bigpond.net.au>
1133
1134 * elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
1135 * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
1136 symbol. Instead cache ELF section index. Remove redundant
1137 checks of st_shndx.
1138
1139 2007-07-15 Mike Frysinger <vapier@gentoo.org>
1140
1141 * trad-core.c (NBPG): If not defined, set to getpagesize().
1142
1143 2007-07-13 Roland McGrath <roland@redhat.com>
1144
1145 * elf-bfd.h (struct elf_obj_tdata): Revert last change.
1146 Add after_write_object_contents, after_write_object_contents_info.
1147 * elf.c (_bfd_elf_write_object_contents): Revert last change.
1148 Instead, call after_write_object_contents if set.
1149
1150 2007-07-12 Kai Tietz <kai.tietz@onevision.com>
1151
1152 * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
1153 (BFD_HOSTPTR_T): Host pointer type for casting a
1154 pointer to an integer type.
1155 (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
1156 (sprintf_vma, fprintf_vma): Add support for long long prints.
1157 * bfd-in2.h: Regenerate.
1158 * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
1159 (BFD_HOSTPTR_T): Host pointer type for casting a
1160 pointer to an integer type. Default is "unsigned long".
1161 (AC_CHECK_SIZEOF(void *)): New.
1162 (host64): Set it if the pointer size is 8.
1163 * configure: Regenerate.
1164 * config.in: Add macro SIZEOF_VOID_P.
1165 * coffcode.h: Replace host ptr type assuming "long" with
1166 bfd_hostptr_t type.
1167 * coffgen.c: Likewise.
1168 * elf-eh-frame.c: Likewise.
1169 * peicode.h: Likewise.
1170
1171 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
1172
1173 * Makefile.in: Regenerated.
1174
1175 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
1176
1177 PR binutils/4756
1178 * simple.c (bfd_simple_get_relocated_section_content): Don't
1179 apply relocation on executable and shared library.
1180
1181 2007-07-10 Nathan Sidwell <nathan@codesourcery.com>
1182
1183 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
1184 copy relocs on vxworks.
1185
1186 2007-07-10 Alan Modra <amodra@bigpond.net.au>
1187
1188 * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
1189 * elf64-alpha.c (alpha_elf_size_info): Likewise.
1190 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
1191 * elf64-mips.c (mips_elf64_size_info): Likewise.
1192 * elf64-s390.c (s390_elf64_size_info): Likewise.
1193 * elf64-sparc.c (elf64_sparc_size_info): Likewise.
1194
1195 2007-07-09 H.J. Lu <hongjiu.lu@intel.com>
1196
1197 * elflink.c (bfd_elf_record_link_assignment): Handle indirect
1198 symbol.
1199 (_bfd_elf_merge_symbol): Properly update normal symbol when
1200 overriding the versioned symbol from a dynamic library.
1201
1202 2007-07-09 Roland McGrath <roland@redhat.com>
1203
1204 * elf-bfd.h (struct elf_obj_tdata): Add members
1205 emit_note_gnu_build_id and note_gnu_build_id_sec.
1206 * elf.c (_bfd_id_note_section_size): New global function.
1207 (read_hex, _bfd_elf_write_build_id_section): New static functions.
1208 (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
1209 if emit_note_gnu_build_id is set.
1210 * Makefile.am (elf.lo): Update dependencies.
1211
1212 * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
1213 (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
1214 * elfcode.h (elf_checksum_contents): New macro and function.
1215 (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
1216
1217 2007-07-06 Michael Snyder <msnyder@access-company.com>
1218
1219 * elflink.c (elf_link_add_object_symbols): Return via
1220 error_free_vers on "notice" failure.
1221
1222 2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
1223
1224 * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
1225 if arch is unknown.
1226
1227 2007-07-04 Nick Clifton <nickc@redhat.com>
1228
1229 Import this patch from an internal tree:
1230
1231 2001-07-17 Richard Henderson <rth@redhat.com>
1232
1233 * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
1234 compensate for high bit set in R_MEP_LOW16.
1235
1236 2007-07-03 Joseph Myers <joseph@codesourcery.com>
1237
1238 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
1239 input attributes if value has been copied.
1240
1241 2007-07-03 Nick Clifton <nickc@redhat.com>
1242
1243 * COPYING: Replace with GPLv3 text.
1244 * aix386-core.c: Update copyright notice to refer to GPLv3.
1245 * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
1246 aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
1247 aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
1248 archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
1249 binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
1250 cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
1251 coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
1252 coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
1253 coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
1254 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
1255 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
1256 coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
1257 coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
1258 coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
1259 cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
1260 cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
1261 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
1262 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
1263 cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
1264 cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
1265 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
1266 cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
1267 cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
1268 cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
1269 cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
1270 cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
1271 cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
1272 demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
1273 ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
1274 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
1275 elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
1276 elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
1277 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
1278 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
1279 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
1280 elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
1281 elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
1282 elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
1283 elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
1284 elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
1285 elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
1286 elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
1287 elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
1288 elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
1289 elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
1290 elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
1291 elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
1292 elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
1293 elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
1294 elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
1295 elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
1296 epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
1297 hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
1298 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
1299 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
1300 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
1301 libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
1302 libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
1303 linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
1304 m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
1305 mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
1306 newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
1307 nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
1308 ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
1309 pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
1310 pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
1311 pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
1312 pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
1313 pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
1314 reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
1315 simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
1316 srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
1317 sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
1318 trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
1319 vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
1320 xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
1321 xtensa-modules.c: Likewise.
1322 * elf32-sh-relocs.h: Add copyright notice.
1323 * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
1324 hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
1325 hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
1326 hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
1327 hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
1328 hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
1329 hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
1330 hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
1331 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
1332
1333 2007-07-02 Joseph Myers <joseph@codesourcery.com>
1334
1335 * elfxx-mips.c (mips_elf_calculate_relocation): Handle
1336 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
1337 * elf64-mips.c (mips_elf64_howto_table_rela): Support
1338 R_MIPS_TLS_DTPREL64.
1339
1340 2007-07-02 Alan Modra <amodra@bigpond.net.au>
1341
1342 * Makefile.am: Run "make dep-am".
1343 * Makefile.in: Regenerate.
1344 * aclocal.m4: Regenerate.
1345 * config.in: Regenerate.
1346 * po/SRC-POTFILES.in: Regenerate.
1347 * po/bfd.pot: Regenerate.
1348
1349 2007-07-02 Alan Modra <amodra@bigpond.net.au>
1350
1351 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
1352 symsec != NULL tests.
1353
1354 2007-07-02 Alan Modra <amodra@bigpond.net.au>
1355
1356 PR 4712
1357 * elf.c (assign_file_positions_for_load_sections): Adjust lma
1358 by p_vaddr_offset.
1359
1360 2007-06-30 H.J. Lu <hongjiu.lu@intel.com>
1361
1362 * aclocal.m4: Regenerated.
1363 * Makefile.in: Likewise.
1364
1365 2007-06-29 Joseph Myers <joseph@codesourcery.com>
1366
1367 * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
1368 (ppc_elf_merge_private_bfd_data): Call it.
1369
1370 2007-06-29 Joseph Myers <joseph@codesourcery.com>
1371
1372 * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
1373 (_bfd_mips_elf_merge_private_bfd_data): Call it.
1374
1375 2007-06-29 Joseph Myers <joseph@codesourcery.com>
1376
1377 * elf-attrs.c: New.
1378 * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
1379 (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
1380 (elf-attrs.lo): Generate dependencies.
1381 * Makefile.in: Regenerate.
1382 * configure.in (elf): Add elf-attrs.lo.
1383 * configure: Regenerate.
1384 * elf-bfd.h (struct elf_backend_data): Add entries for object
1385 attributes.
1386 (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
1387 OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
1388 Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
1389 New.
1390 (struct elf_obj_tdata): Add entries for object attributes.
1391 (elf_known_obj_attributes, elf_other_obj_attributes,
1392 elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
1393 New.
1394 (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
1395 bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
1396 bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
1397 bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
1398 bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
1399 _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
1400 _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
1401 * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
1402 (bfd_section_from_shdr): Handle attributes sections.
1403 * elflink.c (bfd_elf_final_link): Handle attributes sections.
1404 * elfxx-target.h (elf_backend_obj_attrs_vendor,
1405 elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
1406 elf_backend_obj_attrs_section_type): New.
1407 (elfNN_bed): Update.
1408 * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
1409 aeabi_attribute_list): Remove.
1410 (struct elf32_arm_obj_tdata): Remove object attributes fields.
1411 (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
1412 elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
1413 Update for new object attributes interfaces.
1414 (uleb128_size, is_default_attr, eabi_attr_size,
1415 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
1416 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
1417 elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
1418 elf32_arm_add_eabi_attr_int, attr_strdup,
1419 elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
1420 copy_eabi_attributes, elf32_arm_parse_attributes): Remove. Moved
1421 to generic code in elf-attrs.c.
1422 (elf32_arm_obj_attrs_arg_type): New.
1423 (elf32_arm_fake_sections): Do not handle .ARM.attributes.
1424 (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
1425 (bfd_elf32_bfd_final_link): Remove.
1426 (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
1427 elf_backend_obj_attrs_arg_type,
1428 elf_backend_obj_attrs_section_type): New.
1429 * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
1430 attributes.
1431 * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
1432 * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
1433 * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
1434 * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
1435 * elf32-sh.c (sh_elf_copy_private_data): Likewise.
1436 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1437
1438 2007-06-29 Paul Brook <paul@codesourcery.com>
1439
1440 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
1441 call veneers for call relocations against undefined symbols.
1442 (elf32_arm_final_link_relocate): Turn call to undefined symbol
1443 into a jump to the next instruction.
1444
1445 2007-06-29 Michael Snyder <msnyder@access-company.com>
1446
1447 * bfd.c (bfd_demangle): Plug memory leak (Coverity).
1448
1449 2007-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
1450
1451 * Makefile.am: Add cr16 related entry
1452 * Makefile.in: Regenerate
1453 * archures.c: Add bfd_cr16_arch
1454 * bfd-in2.h: Regenerate
1455 * config.bfd: Add cr16-elf
1456 * configure.in: Add bfd_elf32_cr16_vec
1457 * configure: Regenerate.
1458 * targets.c: Added cr16 related information
1459 * cpu-cr16.c: New file.
1460 * elf32-cr16.c: New file.
1461 * reloc.c: Added cr16 relocs.
1462
1463 2007-06-29 Alan Modra <amodra@bigpond.net.au>
1464
1465 * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
1466 message for undefined version nodes.
1467 (elf_gc_sweep): Don't warn when zero size sections are
1468 removed.
1469
1470 2007-06-29 Nathan Froyd <froydnj@codesourcery.com>
1471
1472 * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
1473 types.
1474
1475 2007-06-29 Alan Modra <amodra@bigpond.net.au>
1476
1477 * elf32-spu.c (spu_elf_fake_sections): New function.
1478 (elf_backend_fake_sections): Define.
1479
1480 2007-06-29 Alan Modra <amodra@bigpond.net.au>
1481
1482 * elf.c (assign_file_positions_for_load_sections): Use elf
1483 section header sh_size rather than bfd section size, simplifying
1484 .tbss handling.
1485
1486 2007-06-29 Alan Modra <amodra@bigpond.net.au>
1487
1488 PR ld/4701
1489 * elf.c (assign_file_positions_for_load_sections): Ensure bss
1490 segments meet gABI alignment requirements. Don't allocate
1491 file space for bss sections in a segment also containing file
1492 or program headers.
1493
1494 2007-06-27 Alan Modra <amodra@bigpond.net.au>
1495
1496 * bfd.c (struct bfd): Rename "next" to "archive_next".
1497 * archive.c: Rename uses throughout file.
1498 * archive64.c: Likewise.
1499 * coff-rs6000.c: Likewise.
1500 * ecoff.c: Likewise.
1501 * som.c: Likewise.
1502 * bfd-in2.h: Regenerate.
1503
1504 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
1505 input bfds.
1506 * elf32-spu.c (spu_elf_create_sections): Likewise.
1507
1508 2007-06-26 H.J. Lu <hongjiu.lu@intel.com>
1509
1510 * dwarf2.c (find_line): New. Contains the duplicated code from:
1511 (_bfd_dwarf2_find_nearest_line): Use it.
1512 (_bfd_dwarf2_find_line): Use it.
1513
1514 2007-06-26 Joseph Myers <joseph@codesourcery.com>
1515
1516 * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
1517
1518 2007-06-25 Richard Sandiford <richard@codesourcery.com>
1519
1520 * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
1521 to be used for calls from MIPS16 code.
1522
1523 2007-06-23 Andreas Schwab <schwab@suse.de>
1524
1525 * configure.in (--with-separate-debug-dir): New option.
1526 * configure: Regenerate.
1527 * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
1528 * Makefile.in: Regenerate.
1529 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
1530 bfd_follow_gnu_debuglink.
1531 (_bfd_dwarf2_find_line): Likewise.
1532
1533 2007-06-22 Nick Clifton <nickc@redhat.com>
1534
1535 * dwarf2.c: Add support for reading in debug information via a
1536 .gnu_debuglink section:
1537 (struct dwarf2_debug): Add bfd field to record the bfd containing
1538 the debug info.
1539 (parse_comp_unit): Remove ABFD parameter. Instead use the bfd
1540 field in the dwarf2_debug structure.
1541 (_bfd_dwarf2_find_nearest_line): If a debug info section could not
1542 be found in the current bfd call bfd_follow_gnu_debuglink to see
1543 if another file contains the debug information. If it does, open
1544 it and continue.
1545 (_bfd_dwarf2_find_line): Likewise.
1546
1547 2007-06-19 H.J. Lu <hongjiu.lu@intel.com>
1548
1549 PR ld/4590
1550 * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
1551 when removing duplicated entries.
1552 (get_dyn_sym_info): Initialize the got_offset field to -1.
1553 Update call to sort_dyn_sym_info.
1554 (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
1555 array of addend and remove duplicates.
1556
1557 2007-06-18 H.J. Lu <hongjiu.lu@intel.com>
1558
1559 * libpei.h (_bfd_XXi_final_link_postscript): Remove
1560 duplication.
1561 (bfd_target_pei_p): New.
1562 (bfd_target_pei_arch): New
1563 (bfd_target_efi_p): Likewise.
1564 (bfd_target_efi_arch): New
1565 (bfd_pe_executable_p): Use bfd_target_pei_p and
1566 bfd_target_efi_p.
1567
1568 * peicode.h (arch_type): New enum.
1569 (pe_arch): New function.
1570 (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
1571 if there is an EFI/PE target.
1572
1573 2007-06-14 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
1576
1577 * acinclude.m4: Don't include m4 files. Remove libtool
1578 kludge.
1579
1580 * Makefile.in: Regenerated.
1581 * aclocal.m4: Likewise.
1582 * configure: Likewise.
1583
1584 2007-06-11 Sterling Augustine <sterling@tensilica.com>
1585 Bob Wilson <bob.wilson@acm.org>
1586
1587 * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
1588 XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
1589 (extend_ebb_bounds_backward, compute_text_actions): Likewise.
1590 (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
1591 (xtensa_get_property_predef_flags): Likewise.
1592 (compute_removed_literals): Pass new arguments to is_removable_literal.
1593 (is_removable_literal): Add sec, prop_table and ptblsize arguments.
1594 Do not remove literal if the NO_TRANSFORM property flag is set.
1595
1596 2007-05-31 Richard Sandiford <rsandifo@nildram.co.uk>
1597
1598 * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
1599 type (3) single-GOT entry, read tls_type from the hash table entry
1600 rather than the GOT entry.
1601
1602 2007-06-01 Alan Modra <amodra@bigpond.net.au>
1603
1604 * simple.c (bfd_simple_get_relocated_section_contents): Init
1605 input_bfds_tail.
1606
1607 2007-05-30 Alan Modra <amodra@bigpond.net.au>
1608
1609 * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
1610 created by objcopy --only-keep-debug.
1611 (_bfd_elf_init_private_section_data): Only change elf_section_type
1612 if it is SHT_NULL.
1613
1614 * elf.c (assign_file_positions_for_load_sections): Correct sh_type
1615 to SHT_NOBITS earlier. Base actions in rest of function on sh_type
1616 and sh_flags instead of bfd section flags. Delete voff and code
1617 keeping nobits segments aligned.
1618
1619 2007-05-25 Eric Christopher <echristo@apple.com>
1620
1621 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
1622 Check that sym_sec isn't NULL before accessing.
1623
1624 2007-05-24 Steve Ellcey <sje@cup.hp.com>
1625
1626 * Makefile.in: Regnerate.
1627 * configure: Regenerate.
1628 * aclocal.m4: Regenerate.
1629 * doc/Makefile.in: Regenerate.
1630
1631 2007-05-22 Paul Brook <paul@codesourcery.com>
1632
1633 * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1634 with sec and sec_shndx.
1635 (elf32_arm_ouput_plt_map_sym): Use them.
1636 (elf32_arm_output_arch_local_syms): Output mapping symbols for
1637 interworking glue.
1638
1639 2007-05-18 Paul Brook <paul@codesourcery.com>
1640
1641 * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1642 (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1643 (record_arm_to_thumb_glue): Add v5t non-pic glue.
1644 (elf32_arm_create_thumb_stub): Ditto.
1645
1646 2007-05-16 H.J. Lu <hongjiu.lu@intel.com>
1647 Alan Modra <amodra@bigpond.net.au>
1648
1649 * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1650 section to the minimum alignment.
1651
1652 2007-05-15 H.J. Lu <hongjiu.lu@intel.com>
1653 Alan Modra <amodra@bigpond.net.au>
1654
1655 PR ld/4504
1656 * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1657 * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1658
1659 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1660 _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1661 bss section.
1662 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1663 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1664 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1665 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1666 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1667 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1668 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1669 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1670 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1671 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1672 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1673 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1674 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1675 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1676 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1677 * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1678 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1679
1680 2007-05-15 Richard Sandiford <richard@codesourcery.com>
1681
1682 * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1683 input_section argument. Create .rela.dyn relocations against
1684 symbol 0 rather than the section symbol.
1685 (mips_elf_local_got_index): Remove input_section argument.
1686 Update call to mips_elf_create_local_got_entry.
1687 (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1688 (mips_elf_calculate_relocation): Update calls to
1689 mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1690
1691 2007-05-15 Mark Shinwell <shinwell@codesourcery.com>
1692
1693 * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1694 handle the Thumb-2 JUMP19 relocation.
1695
1696 2007-05-15 Alan Modra <amodra@bigpond.net.au>
1697
1698 PR 4479
1699 * elf.c (elf_fake_sections): Don't allow backend to change
1700 SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1701 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1702 fix from here.
1703
1704 2007-05-14 Alan Modra <amodra@bigpond.net.au>
1705
1706 * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1707 invalid shstrndx.
1708 (bfd_elf_get_str_section): Likewise.
1709
1710 2007-05-12 Alan Modra <amodra@bigpond.net.au>
1711
1712 PR 4497
1713 * elf-eh-frame.c (struct cie): Add "local_personality". Make
1714 "personality" a union.
1715 (cie_eq): Compare local_personality too. Adjust personality
1716 comparison.
1717 (_bfd_elf_discard_section_eh_frame): Check binding on personality
1718 reloc sym to allow for bad symtab. Use stashed local syms rather
1719 than reading personality local sym. Handle discarded sections.
1720
1721 2007-05-12 Alan Modra <amodra@bigpond.net.au>
1722
1723 * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1724
1725 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1726
1727 * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1728 (enum ppc_elf_plt_type): Move from..
1729 * elf32-ppc.c: ..here.
1730 (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1731 (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete
1732 can_use_new_plt. Make is_vxworks a bitfield.
1733 (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1734 (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd.
1735 (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc
1736 flags to better detect object files needing old bss-style plt.
1737 Allow secure plt to be used without rel16 relocs being detected.
1738 Warn if secure plt request cannot be allowed.
1739
1740 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1741
1742 * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1743 * elf-bfd.h (struct elf_backend_data): Change return type of
1744 elf_backend_relocate_section to int.
1745 * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1746 R_SPU_PPU64.
1747 (spu_elf_bfd_to_reloc_type): Convert new relocs.
1748 (spu_elf_count_relocs): New function.
1749 (elf_backend_count_relocs): Define.
1750 (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1751 R_SPU_PPU64 relocs.
1752 * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1753 returns 2.
1754 * bfd-in2.h: Regenerate.
1755 * libbfd.h: Regenerate.
1756
1757 2007-05-10 Richard Sandiford <richard@codesourcery.com>
1758
1759 * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1760 for R_ARM_ABS12 relocs.
1761 (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1762 non-shared VxWorks PLT entries.
1763
1764 2007-05-11 Alan Modra <amodra@bigpond.net.au>
1765
1766 PR 4454
1767 * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1768 (_bfd_elf_discard_section_eh_frame): Handle local syms on
1769 personality relocation.
1770
1771 2007-05-10 Richard Sandiford <richard@codesourcery.com>
1772
1773 * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1774 rather than p_filesz to calculate the LMA of the end of a segment.
1775
1776 2007-05-10 Jakub Jelinek <jakub@redhat.com>
1777
1778 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1779 processing if symbol is defined in the executable.
1780
1781 2007-05-10 Alexandre Oliva <aoliva@redhat.com>
1782
1783 * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1784 (frvfdpic_elf_discard_info): New.
1785 (elf_backend_discard_info): Define for FDPIC.
1786
1787 2007-05-09 Mark Shinwell <shinwell@codesourcery.com>
1788
1789 * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1790 attempt to scan if the bfd doesn't correspond to an ELF image.
1791 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1792
1793 2007-05-08 Alexandre Oliva <aoliva@redhat.com>
1794
1795 * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1796 for which _bfd_elf_section_offset returns -1.
1797
1798 2007-05-08 Alan Modra <amodra@bigpond.net.au>
1799
1800 * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1801 (mark_functions_via_relocs): Likewise.
1802
1803 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1804
1805 * elflink.c (bfd_elf_final_link): Correct reloc handling for
1806 elf_backend_count_relocs.
1807 (bfd_elf_discard_info): Print an error if we can't read syms.
1808
1809 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1810
1811 * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1812 invalid reloc code.
1813 (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1814 (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1815 define.
1816
1817 2007-05-07 Alan Modra <amodra@bigpond.net.au>
1818
1819 * elf.c (assign_file_positions_for_load_sections): Don't check
1820 core segment.
1821
1822 2007-05-04 H.J. Lu <hongjiu.lu@intel.com>
1823
1824 * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1825 and .rel.dyn aren't present.
1826
1827 2007-05-04 Nick Clifton <nickc@redhat.com>
1828
1829 * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1830 sections are present examine the indirect sections in an attempt
1831 to compute the correct relocation size. If there is any
1832 ambiguity, produce an error and refuse to sort.
1833
1834 2007-05-03 Sandra Loosemore <sandra@codesourcery.com>
1835
1836 * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1837
1838 2007-05-03 Vincent Riviere <vincent.riviere@freesbee.fr>
1839 Nick Clifton <nickc@redhat.com>
1840
1841 PR gas/3041
1842 * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1843 in the same way as relocs against external symbols.
1844
1845 2007-05-02 Alan Modra <amodra@bigpond.net.au>
1846
1847 * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1848 here. Set sh_type to SHT_NOBITS if we won't be allocating
1849 file space. Don't bump p_memsz for non-alloc sections. Adjust
1850 section-in-segment check.
1851 (assign_file_positions_for_non_load_sections): Don't set sh_offset
1852 here for sections that have already been handled above.
1853
1854 2007-04-30 Alan Modra <amodra@bigpond.net.au>
1855
1856 * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1857 and emit_stack_syms bitfields.
1858 (get_sym_h): Read all symbols if stack analysis will be done.
1859 (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1860 params, and stash in hash table.
1861 (is_hint): Split off from..
1862 (is_branch): ..here. Adjust callers.
1863 (spu_elf_size_stubs): Add stack_analysis param. Arrange to read
1864 and keep all syms.
1865 (write_one_stub): Fix mem leak.
1866 (find_function_stack_adjust): New function.
1867 (sort_syms_syms, sort_syms_psecs): New vars.
1868 (sort_syms): New function.
1869 (struct call_info, struct function_info): New.
1870 (struct spu_elf_stack_info): New.
1871 (alloc_stack_info, maybe_insert_function, func_name): New functions.
1872 (is_nop, insns_at_end, check_function_ranges): Likewise.
1873 (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1874 (pasted_function, interesting_section, discover_functions): Likewise.
1875 (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1876 (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1877 (bfd_elf32_bfd_final_link): Define.
1878 * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1879 (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1880
1881 2007-04-28 Sergey Rogozhkin <rogozhkin@niisi.msk.ru>
1882
1883 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1884 memory which we might not own.
1885
1886 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1887
1888 * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1889 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1890 (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1891
1892 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1893
1894 * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1895 contents and relocs in parallel.
1896
1897 2007-04-27 Bob Wilson <bob.wilson@acm.org>
1898
1899 * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1900
1901 2007-04-27 Alan Modra <amodra@bigpond.net.au>
1902
1903 * cpu-rs6000.c: Write Mimi's name in ASCII.
1904 * coff-rs6000.c: Likewise.
1905 * rs6000-core.c: Likewise.
1906
1907 2007-04-27 Alan Modra <amodra@bigpond.net.au>
1908
1909 * sysdep.h: Include config.h first.
1910 Many files: Include sysdep.h before bfd.h.
1911 * Makefile.am: Run "make dep-am".
1912 * Makefile.in: Regenerate.
1913
1914 2007-04-25 Alan Modra <amodra@bigpond.net.au>
1915
1916 * sysdep.h: Revert last change.
1917
1918 2007-04-24 Nick Clifton <nickc@redhat.com>
1919
1920 * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1921 * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1922
1923 2007-04-24 Alan Modra <amodra@bigpond.net.au>
1924
1925 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1926 eh_frame_hdr table won't be created.
1927
1928 2007-04-24 Alan Modra <amodra@bigpond.net.au>
1929
1930 * acinclude.m4: Include config/stdint.m4.
1931 * configure.in: Invoke GCC_HEADER_STDINT.
1932 * sysdep.h: Don't include ansidecl.h here.
1933 * configure: Regenerate.
1934 * config.in: Regenerate.
1935 * Makefile.in: Regenerate.
1936
1937 2007-04-23 Nathan Sidwell <nathan@codesourcery.com>
1938
1939 * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1940 bfd_mach_mcf_isa_c_emac): New.
1941 * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1942 elf_isac_plt_entry, elf_isac_plt_info): New.
1943 (elf32_m68k_object_p): Add ISA_C.
1944 (elf32_m68k_print_private_bfd_data): Print ISA_C.
1945 (elf32_m68k_get_plt_info): Detect ISA_C.
1946 * cpu-m68k.c (arch_info): Add ISAC.
1947 (m68k_arch_features): Likewise,
1948 (bfd_m68k_compatible): ISAs B & C are not compatible.
1949
1950 2007-04-21 Nick Clifton <nickc@redhat.com>
1951
1952 * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1953 (ecoff_link_add_archive_symbols): Likewise.
1954 * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1955 relent.howto.
1956 * ieee.c (parse_int): Initialise x.
1957 (must_parse_int): Initialise result.
1958 (ieee_slurp_external_symbols): Initialise value.
1959
1960 2007-04-21 Alan Modra <amodra@bigpond.net.au>
1961
1962 * config.bfd (spu-*-elf): Delete targ_selvecs.
1963
1964 2007-04-19 Nick Clifton <nickc@redhat.com>
1965
1966 * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1967
1968 2007-04-19 Alan Modra <amodra@bigpond.net.au>
1969
1970 * bfd.c (bfd_demangle): New function.
1971 * Makefile.am: Run "make dep-am".
1972 * Makefile.in: Regenerate.
1973 * bfd-in2.h: Regenerate.
1974
1975 2007-04-18 Matthias Klose <doko@ubuntu.com>
1976
1977 * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1978 (bfdver.h): Use the date in non-release builds for the soversion.
1979 * Makefile.in: Regenerate.
1980
1981 2007-04-17 Paul Brook <paul@codesourcery.com>
1982
1983 * elf.c (_bfd_elf_is_function_type): New function.
1984 * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1985 (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1986 is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1987 * elf-bfd.h (elf_backend_data): Add is_function_type.
1988 (_bfd_elf_is_function_type): Add prototype.
1989 * elfxx-target.h (elf_backend_is_function_type): Add default
1990 definition.
1991 (elfNN_bed): Add elf_backend_is_function_type.
1992 * elf32-arm.c (elf32_arm_is_function_type): New function.
1993 (elf_backend_is_function_type): Define.
1994
1995 2007-04-17 Daniel Jacobowitz <dan@codesourcery.com>
1996
1997 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1998 DT_MIPS_RLD_MAP before DT_DEBUG again.
1999
2000 2007-04-14 Steve Ellcey <sje@cup.hp.com>
2001
2002 * Makefile.am: Add ACLOCAL_AMFLAGS.
2003 * configure.in: Change macro call order.
2004 * Makefile.in: Regnerate.
2005 * doc/Makefile.in: Regenerate.
2006 * configure: Regenerate.
2007
2008 2007-04-14 Jakub Jelinek <jakub@redhat.com>
2009
2010 * elflink.c (bfd_elf_final_link): Don't free symbuf for
2011 non-elf input bfds.
2012 (bfd_elf_size_dynamic_sections): Don't access elf_section_data
2013 for non-elf input bfds.
2014
2015 2007-04-12 Richard Sandiford <richard@codesourcery.com>
2016
2017 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
2018 DT_MIPS_RTLD_MAP for PIEs.
2019
2020 2007-04-12 Richard Sandiford <richard@codesourcery.com>
2021
2022 * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
2023 when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
2024 in a read-only section.
2025 (_bfd_mips_elf_check_relocs): Likewise.
2026
2027 2007-04-12 Bob Wilson <bob.wilson@acm.org>
2028
2029 * elf32-xtensa.c (xtensa_is_insntable_section): New.
2030 (xtensa_is_proptable_section): New.
2031 (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
2032 tables with 12-byte entries, as well as tables with 8-byte entries.
2033 Sort the relocations before examining them.
2034 (relax_property_section): Use xtensa_is_proptable_section and
2035 xtensa_is_littable_section. Rewrite code for combining table entries
2036 to be more robust in case of unexpected relocations. Do not set offset
2037 of unused relocations to less than zero.
2038 (xtensa_is_property_section): Use other functions instead of
2039 duplicating section name comparisons.
2040 (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
2041 (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
2042
2043 2007-04-12 Bob Wilson <bob.wilson@acm.org>
2044
2045 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
2046 from Xtensa property sections.
2047
2048 2007-04-12 Alan Modra <amodra@bigpond.net.au>
2049
2050 * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
2051 is non-NULL before dereferencing.
2052
2053 2007-04-11 Nathan Sidwell <nathan@codesourcery.com>
2054
2055 * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
2056 relocs too.
2057
2058 2007-04-10 Richard Henderson <rth@redhat.com>
2059
2060 * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
2061 (elf64_alpha_size_got_sections): Remove unused something_changed local.
2062 (elf64_alpha_size_plt_section): Return void.
2063 (elf64_alpha_size_rela_got_section): Likewise.
2064 (elf64_alpha_relax_section): Only regenerate got+plt if the
2065 relax_trip counter has changed.
2066
2067 2007-04-09 Daniel Jacobowitz <dan@codesourcery.com>
2068
2069 * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
2070 * doc/Makefile.am (DOCFILES): Add bfdver.texi.
2071 (bfdver.texi): New rule.
2072 * Makefile.in, doc/Makefile.in: Regenerated.
2073
2074 2007-04-03 Matt Thomas <matt@netbsd.org>
2075
2076 * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
2077 in a shared object if it is not in a CODE section or if it is against
2078 a section symbol. This allows DWARF2 to use pcrel format.
2079
2080 2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
2081
2082 PR ld/4304
2083 * elflink.c (bfd_elf_final_link): Call einfo callback in
2084 bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
2085 warning.
2086
2087 2007-04-05 Alan Modra <amodra@bigpond.net.au>
2088
2089 * elf32-spu.c (spu_elf_output_symbol_hook): New function.
2090 (elf_backend_link_output_symbol_hook): Define.
2091
2092 2007-04-02 Nick Clifton <nickc@redhat.com>
2093
2094 PR binutils/4292
2095 * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
2096 targets as 64-bit values, even if running on a 64-bit host.
2097 * coffgen.c (coff_print_symbol): Likewise.
2098
2099 2007-03-29 Nick Clifton <nickc@redhat.com>
2100
2101 PR binutils/4110
2102 * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
2103 (setup_group): Use it. Report corrupt group section headers.
2104 (bfd_section_from_shdr): Use new macro. Replace constant 4 with
2105 GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
2106 (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
2107
2108 2007-03-29 Alan Modra <amodra@bigpond.net.au>
2109
2110 PR ld/4267
2111 * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
2112 for rel->r_info values.
2113 (bfd_elf_perform_complex_relocation): Likewise.
2114 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
2115 unused entries. Don't clear plt.plist in loop.
2116
2117 2007-03-28 Richard Sandiford <richard@codesourcery.com>
2118
2119 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
2120 * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
2121 Merge into...
2122 (sparc_elf_append_rela): ...this new function.
2123 (SPARC_ELF_APPEND_RELA): Delete.
2124 (_bfd_sparc_elf_link_hash_table_create): Don't initialize
2125 the deleted append_rela field.
2126 (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
2127 instead of SPARC_ELF_APPEND_RELA.
2128 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. Use the
2129 elf_size_info structure to find the size of a RELA entry and
2130 the associated swap-out function.
2131 (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
2132 (sparc_finish_dyn): ...this new function.
2133 (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
2134
2135 2007-03-28 Richard Sandiford <richard@codesourcery.com>
2136 Phil Edwards <phil@codesourcery.com>
2137
2138 * doc/bfd.texinfo: Put the contents after the title page rather
2139 than at the end of the document.
2140
2141 2007-03-27 Andreas Schwab <schwab@suse.de>
2142
2143 * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
2144
2145 2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
2146
2147 * configure: Regenerated.
2148
2149 2007-03-26 Alan Modra <amodra@bigpond.net.au>
2150
2151 * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
2152 (allocate_spuear_stubs): New function.
2153 (spu_elf_size_stubs): Call allocate_spuear_stubs.
2154
2155 2007-03-26 Alan Modra <amodra@bigpond.net.au>
2156
2157 * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
2158 * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
2159 (MY (bfd_reloc_name_lookup)): New function.
2160 * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
2161 * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
2162 (MY_bfd_reloc_name_lookup): Define.
2163 * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
2164 (MY_bfd_reloc_name_lookup): Define.
2165 * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
2166 (NAME (aout, reloc_name_lookup)): New function.
2167 * bout.c (b_out_bfd_reloc_name_lookup): New function.
2168 * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
2169 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
2170 * coff-arm.c (coff_arm_reloc_name_lookup): New function.
2171 (coff_bfd_reloc_name_lookup): Define.
2172 * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
2173 (coff_i386_reloc_name_lookup): New function.
2174 * coff-i860.c (coff_i860_reloc_name_lookup): New function.
2175 (coff_bfd_reloc_name_lookup): Define.
2176 * coff-i960.c (coff_i960_reloc_name_lookup): New function.
2177 (coff_bfd_reloc_name_lookup): Define.
2178 * coff-m68k.c (m68k_reloc_name_lookup): New function.
2179 (coff_bfd_reloc_name_lookup): Define.
2180 * coff-maxq.c (maxq_reloc_name_lookup): New function.
2181 (coff_bfd_reloc_name_lookup): Define.
2182 * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
2183 (coff_bfd_reloc_name_lookup): Define.
2184 * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
2185 (_bfd_ecoff_bfd_reloc_name_lookup): Define.
2186 * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
2187 (coff_bfd_reloc_name_lookup): Define.
2188 * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2189 (_bfd_xcoff_reloc_name_lookup): New function.
2190 (rs6000coff_vec, pmac_xcoff_vec): Init new field.
2191 * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
2192 (sh_coff_reloc_name_lookup): New function.
2193 * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
2194 (coff_bfd_reloc_name_lookup): Define.
2195 * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
2196 (tic30_coff_reloc_name_lookup): New function.
2197 * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
2198 (tic4x_coff_reloc_name_lookup): New function.
2199 * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
2200 (tic54x_coff_reloc_name_lookup): New function.
2201 * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
2202 (coff_amd64_reloc_name_lookup): New function.
2203 * coff-z80.c (coff_z80_reloc_name_lookup): New function.
2204 (coff_bfd_reloc_name_lookup): Define.
2205 * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
2206 (coff_bfd_reloc_name_lookup): Define.
2207 * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2208 (xcoff64_reloc_name_lookup): New function.
2209 (rs6000coff64_vec, aix5coff64_vec): Init new field.
2210 * coffcode.h (coff_bfd_reloc_name_lookup): Define.
2211 * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
2212 * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2213 * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2214 * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2215 * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
2216 (bfd_elf32_bfd_reloc_name_lookup): Define.
2217 * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2218 * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
2219 (bfd_elf32_bfd_reloc_name_lookup): Define.
2220 * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
2221 (bfd_elf32_bfd_reloc_name_lookup): Define.
2222 * elf32-cris.c (cris_reloc_name_lookup): New function.
2223 (bfd_elf32_bfd_reloc_name_lookup): Define.
2224 * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
2225 (bfd_elf32_bfd_reloc_name_lookup): Define.
2226 * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2227 * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2228 * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
2229 (bfd_elf32_bfd_reloc_name_lookup): Define.
2230 * elf32-fr30.c (fr30_reloc_name_lookup): New function.
2231 (bfd_elf32_bfd_reloc_name_lookup): Define.
2232 * elf32-frv.c (frv_reloc_name_lookup): New function.
2233 (bfd_elf32_bfd_reloc_name_lookup): Define.
2234 * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2235 * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
2236 (bfd_elf32_bfd_reloc_name_lookup): Define.
2237 * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2238 * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
2239 (bfd_elf32_bfd_reloc_name_lookup): Define.
2240 * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
2241 (bfd_elf32_bfd_reloc_name_lookup): Define.
2242 * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
2243 (bfd_elf32_bfd_reloc_name_lookup): Define.
2244 * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
2245 (bfd_elf32_bfd_reloc_name_lookup): Define.
2246 * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
2247 (bfd_elf32_bfd_reloc_name_lookup): Define.
2248 * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
2249 (bfd_elf32_bfd_reloc_name_lookup): Define.
2250 * elf32-m32c.c (m32c_reloc_name_lookup): New function.
2251 (bfd_elf32_bfd_reloc_name_lookup): Define.
2252 * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2253 * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2254 * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2255 * elf32-m68k.c (reloc_name_lookup): New function.
2256 (bfd_elf32_bfd_reloc_name_lookup): Define.
2257 * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2258 * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
2259 (bfd_elf32_bfd_reloc_name_lookup): Define.
2260 * elf32-mep.c (mep_reloc_name_lookup): New function.
2261 (bfd_elf32_bfd_reloc_name_lookup): Define.
2262 * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2263 (mips_vxworks_bfd_reloc_name_lookup): Likewise.
2264 (bfd_elf32_bfd_reloc_name_lookup): Define.
2265 * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2266 * elf32-mt.c (mt_reloc_name_lookup): New function.
2267 (bfd_elf32_bfd_reloc_name_lookup): Define.
2268 * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
2269 (bfd_elf32_bfd_reloc_name_lookup): Define.
2270 * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2271 * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
2272 (bfd_elf32_bfd_reloc_name_lookup): Define.
2273 * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
2274 (bfd_elf32_bfd_reloc_name_lookup): Define.
2275 * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
2276 (bfd_elf32_bfd_reloc_name_lookup): Define.
2277 * elf32-score.c (elf32_score_reloc_name_lookup): New function.
2278 (bfd_elf32_bfd_reloc_name_lookup): Define.
2279 * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
2280 (bfd_elf32_bfd_reloc_name_lookup): Define.
2281 * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2282 * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
2283 (bfd_elf32_bfd_reloc_name_lookup): Define.
2284 * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
2285 (bfd_elf32_bfd_reloc_name_lookup): Define.
2286 * elf32-vax.c (reloc_name_lookup): New function.
2287 (bfd_elf32_bfd_reloc_name_lookup): Define.
2288 * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
2289 (bfd_elf32_bfd_reloc_name_lookup): Define.
2290 * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
2291 (bfd_elf32_bfd_reloc_name_lookup): Define.
2292 * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
2293 (bfd_elf32_bfd_reloc_name_lookup): Define.
2294 * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
2295 (bfd_elf64_bfd_reloc_name_lookup): Define.
2296 * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2297 * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2298 * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2299 * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2300 * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
2301 (bfd_elf64_bfd_reloc_name_lookup): Define.
2302 * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
2303 (bfd_elf64_bfd_reloc_name_lookup): Define.
2304 * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
2305 (bfd_elf64_bfd_reloc_name_lookup): Define.
2306 * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2307 * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
2308 (bfd_elf64_bfd_reloc_name_lookup): Define.
2309 * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2310 * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
2311 (bfd_elfNN_bfd_reloc_name_lookup): Define.
2312 * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
2313 * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
2314 * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
2315 * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
2316 * ieee.c (ieee_bfd_reloc_name_lookup): Define.
2317 * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
2318 * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
2319 * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
2320 (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
2321 (MY(reloc_name_lookup)): New function.
2322 * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
2323 * oasys.c (oasys_bfd_reloc_name_lookup): Define.
2324 * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
2325 * pe-mips.c (coff_mips_reloc_name_lookup): New function.
2326 (coff_bfd_reloc_name_lookup): Define.
2327 * reloc.c (bfd_reloc_name_lookup): New function.
2328 * riscix.c (riscix_reloc_name_lookup): New function.
2329 (MY_bfd_reloc_name_lookup): Define.
2330 * som.c (som_bfd_reloc_name_lookup): New function.
2331 * targets.c (struct bfd_target): Add reloc_name_lookup.
2332 (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
2333 * versados.c (versados_bfd_reloc_name_lookup): Define.
2334 * vms.c (vms_bfd_reloc_name_lookup): New function.
2335 * bfd-in2.h: Regenerate.
2336 * libbfd.h: Regenerate.
2337
2338 2007-03-26 Thiemo Seufer <ths@mips.com>
2339
2340 PR ld/4208
2341 * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
2342 matching relocation is found.
2343 (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
2344
2345 2007-03-23 H.J. Lu <hongjiu.lu@intel.com>
2346
2347 * configure: Regenerated.
2348
2349 2007-03-23 Joseph Myers <joseph@codesourcery.com>
2350
2351 * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
2352 * configure: Regenerate.
2353
2354 2007-03-23 Alan Modra <amodra@bigpond.net.au>
2355
2356 * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
2357 Remove input_sec param. Adjust all calls.
2358 (write_one_stub): Adjust stub symbol.
2359 (needs_ovl_stub): New function, extracted from..
2360 (spu_elf_size_stubs): ..here.
2361 (spu_elf_relocate_section): Use needs_ovl_stub.
2362
2363 2007-03-22 Joseph Myers <joseph@codesourcery.com>
2364
2365 * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
2366 if nonempty.
2367 * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
2368 * Makefile.in, configure, doc/Makefile.in: Regenerate.
2369
2370 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
2371
2372 PR ld/4210
2373 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
2374 address and virtual size of the last section for the image
2375 size.
2376
2377 2007-03-22 H.J. Lu <hongjiu.lu@intel.com>
2378
2379 PR ld/4007
2380 * elf.c (assign_file_positions_for_load_sections): Check if
2381 all sections are in the segment.
2382
2383 2007-03-20 H.J. Lu <hongjiu.lu@intel.com>
2384
2385 PR ld/4208
2386 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
2387 matching LO16 relocation for HI16 relocation.
2388
2389 2007-03-20 Paul Brook <paul@codesourcery.com>
2390
2391 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2392 * bfd-in2.h: Regenerate.
2393 * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
2394 (record_arm_to_thumb_glue): Use globals->pic_veneer.
2395 (elf32_arm_create_thumb_stub): Ditto.
2396 (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
2397
2398 2007-03-18 Mark Shinwell <shinwell@codesourcery.com>
2399
2400 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
2401 argument and extra last argument.
2402 * bfd-in2.h: Regenerate.
2403 * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
2404 member.
2405 (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
2406 extra last argument. Set no_enum_size_warning appropriately.
2407 (elf32_arm_merge_eabi_attributes): Improve enum sizes
2408 diagnostic, suppressing it when no_enum_size_warning dictates.
2409
2410 2007-03-20 Nick Clifton <nickc@redhat.com>
2411
2412 PR binutils/3535
2413 * elf.c (copy_private_bfd_data): Widen the scope of Solaris
2414 specific conditions that need the program headers to be
2415 rewritten.
2416
2417 2007-03-19 H.J. Lu <hongjiu.lu@intel.com>
2418
2419 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
2420 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2421 SizeOfInitializedData, SizeOfUninitializedData,
2422 AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
2423 extra PE a.out header.
2424 (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
2425 (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
2426 defined.
2427 (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
2428 defined.
2429 (_bfd_XX_print_private_bfd_data_common): Also print Magic,
2430 MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2431 SizeOfInitializedData, SizeOfUninitializedData,
2432 AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
2433 extra PE a.out header.
2434
2435 2007-03-18 H.J. Lu <hongjiu.lu@intel.com>
2436
2437 * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
2438 only if BFD64 is defined.
2439
2440 2007-03-17 Alan Modra <amodra@bigpond.net.au>
2441
2442 * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
2443 on setjmp calls.
2444
2445 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
2446
2447 * doc/Makefile.in: Regenerated.
2448
2449 2007-03-15 H.J. Lu <hongjiu.lu@intel.com>
2450
2451 * Makefile.am (bfdver.h): Substitute report_bugs_to. Also
2452 create doc/bfdver.texi.
2453 * Makefile.in: Regenerated.
2454
2455 * configure.in (--with-bugurl): New option.
2456 * configure: Regenerated.
2457
2458 * version.h (REPORT_BUGS_TO): New.
2459
2460 2007-03-13 H.J. Lu <hongjiu.lu@intel.com>
2461
2462 PR binutils/3826
2463 * elf-bfd.h (elf_backend_data): Add elf_osabi.
2464 (_bfd_elf_set_osabi): New.
2465
2466 * elf.c (_bfd_elf_set_osabi): New.
2467
2468 * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
2469 (elf_backend_post_process_headers): Defined with
2470 _bfd_elf_set_osabi.
2471 (ELF_OSABI): Properly defined for each target.
2472
2473 * elf32-i370.c (i370_elf_post_process_headers): Removed.
2474 (ELF_OSABI): Defined.
2475 (elf_backend_post_process_headers): Defined with
2476 _bfd_elf_set_osabi.
2477
2478 * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2479 freebsd.
2480 (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
2481
2482 * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
2483 (ELF_OSABI): Defined.
2484 (elf_backend_post_process_headers): Defined with
2485 _bfd_elf_set_osabi.
2486
2487 * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2488 freebsd.
2489 (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
2490 elf_osabi.
2491
2492 * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
2493 with elf_osabi.
2494 (ELF_OSABI): Properly defined for each target.
2495 (elf_backend_post_process_headers): Defined with
2496 _bfd_elf_set_osabi for Linux.
2497
2498 * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
2499 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2500 (elf_backend_post_process_headers): Defined with
2501 _bfd_elf_set_osabi.
2502
2503 * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
2504 (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2505 (elf_backend_post_process_headers): Defined with
2506 _bfd_elf_set_osabi.
2507
2508 * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
2509 with any ELF target of the compatible machine for which we do not
2510 have a specific backend.
2511
2512 * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
2513 with elf_osabi.
2514
2515 * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
2516 (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
2517
2518 2007-03-08 Alan Modra <amodra@bigpond.net.au>
2519
2520 * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
2521 V850_OTHER_* bits.
2522
2523 2007-03-08 Alan Modra <amodra@bigpond.net.au>
2524
2525 * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
2526 (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
2527 Run "make dep-am".
2528 * Makefile.in: Regenerate.
2529 * po/SRC-POTFILES.in: Regenerate.
2530
2531 2007-03-07 H.J. Lu <hongjiu.lu@intel.com>
2532
2533 * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
2534 (x86_64-*-kfreebsd*-gnu): Likewise.
2535 (x86_64-*-netbsd*): Likewise.
2536 (x86_64-*-openbsd*): Likewise.
2537 (x86_64-*-linux-*): Likewise.
2538
2539 * configure.in: Support bfd_efi_app_x86_64_vec.
2540 * configure: Regenerated.
2541
2542 * efi-app-x86_64.c: New file.
2543
2544 * targets.c (bfd_efi_app_x86_64_vec): New.
2545 (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
2546
2547 2007-03-07 Kai Tietz <kai.tietz@onevision.com>
2548
2549 * reloc.c (bfd_generic_get_relocated_section_contents): Remove
2550 const for type reloc_howto_type.
2551
2552 2007-03-07 Alan Modra <amodra@bigpond.net.au>
2553
2554 PR 3958
2555 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
2556 (elf_discarded_section): Move..
2557 * bfd-in.h: ..to here.
2558 * bfd-in2.h: Regenerate.
2559 * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
2560 from discarded sections before relocate_section has done its job.
2561 * reloc.c (bfd_generic_get_relocated_section_contents): Handle
2562 relocs against symbols from discarded sections.
2563 * elf-hppa.h (elf_hppa_howto_table): Set size. Set dst_mask on
2564 SECREL32.
2565 (elf_hppa_relocate_section): Handle relocatable link after setting
2566 sec, sym, h etc. for final link. Squash error messages for
2567 relocatable link. Clear section contents for relocs against
2568 symbols in discarded sections, and zero reloc. Remove existing
2569 zero r_symndx code.
2570 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
2571 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2572 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
2573 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2574 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2575 (bfin_relocate_section): Likewise.
2576 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
2577 * elf32-cris.c (cris_elf_relocate_section): Likewise.
2578 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
2579 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2580 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2581 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2582 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2583 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2584 * elf32-i370.c (i370_elf_relocate_section): Likewise.
2585 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2586 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2587 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2588 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
2589 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2590 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2591 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
2592 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2593 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2594 * elf32-mep.c (mep_elf_relocate_section): Likewise.
2595 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2596 * elf32-mt.c (mt_elf_relocate_section): Likewise.
2597 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2598 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2599 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2600 * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
2601 * elf32-sh.c (sh_elf_relocate_section): Likewise.
2602 * elf32-spu.c (spu_elf_relocate_section): Likewise.
2603 * elf32-v850.c (v850_elf_relocate_section): Likewise.
2604 * elf32-vax.c (elf_vax_relocate_section): Likewise.
2605 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
2606 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2607 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
2608 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
2609 (elf64_alpha_relocate_section): Likewise.
2610 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2611 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2612 * elf64-s390.c (elf_s390_relocate_section): Likewise.
2613 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2614 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2615 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2616 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
2617 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2618
2619 * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
2620 symbols for relocatable link. Don't use always-zero st_value.
2621 (elf_backend_rela_normal): Don't define.
2622 * elf32-bfin.c (bfinfdpic_relocate_section): Use
2623 RELOC_FOR_GLOBAL_SYMBOL.
2624 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2625 * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2626 section symbol adjustments with same for relocatable link.
2627 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2628 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2629 (elf32_m68hc11_check_relocs): ..to here.
2630 * elf32-score.c (score_elf_final_link_relocate): Remove zero
2631 r_symndx code.
2632 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2633
2634 2007-03-07 Alan Modra <amodra@bigpond.net.au>
2635
2636 PR 4144
2637 * elf.c (assign_file_positions_for_load_sections): Don't
2638 adjust p_memsz for !SEC_LOAD section vma modulo page size.
2639 Instead, use the same lma based adjustment for SEC_LOAD
2640 sections.
2641
2642 2007-03-01 Bob Wilson <bob.wilson@acm.org>
2643
2644 * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2645 (find_relaxable_sections): Do not increment src_count for unknown
2646 opcodes. Decode only once instead of calling is_l32r_relocation.
2647 (compute_text_actions): Remove unused no_insn_move flag. Assert that
2648 src_next matches src_count in relax_info.
2649
2650 2007-03-01 Joseph Myers <joseph@codesourcery.com>
2651
2652 * Makefile.am (bfdver.h): Use "." not " " between version number
2653 and date.
2654 * Makefile.in: Regenerate.
2655 * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2656 * configure: Regenerate.
2657
2658 2007-02-28 Nathan Sidwell <nathan@codesourcery.com>
2659
2660 * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2661
2662 2007-02-27 Alan Modra <amodra@bigpond.net.au>
2663
2664 * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2665 * elf32-spu.c (ovl_mgr_pread): Add const to casts.
2666
2667 2007-02-23 Carlos O'Donell <carlos@codesourcery.com>
2668
2669 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2670 DWARF even with 64-bit addresses.
2671 (_bfd_dwarf2_find_nearest_line): Likewise.
2672
2673 2007-02-23 Nick Clifton <nickc@redhat.com>
2674
2675 PR binutils/3535
2676 * elf.c (copy_private_bfd_data): Always rewrite the program
2677 headers when a Solaris interpreter segment is involved.
2678
2679 2007-02-22 Paul Brook <paul@codesourcery.com>
2680
2681 * elflink.c (gc_mark_hook_fn): Remove.
2682 (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2683 (bfd_elf_gc_sections): Ditto. Call gc_mark_extra_sections.
2684 * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2685 (elf_backend_data): Add gc_mark_extra_sections.
2686 * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2687 definition.
2688 (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2689 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2690 (elf_backend_gc_mark_extra_sections): Define.
2691
2692 2007-02-21 Nick Clifton <nickc@redhat.com>
2693
2694 * elf.c (_bfd_elf_map_sections_to_segments): If the
2695 override_segment_assignment callback is defined then call it.
2696
2697 2007-02-21 Alan Modra <amodra@bigpond.net.au>
2698
2699 * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2700
2701 2007-02-19 Thiemo Seufer <ths@mips.com>
2702
2703 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2704 translation marker from untranslatable strings.
2705
2706 2007-02-19 Alan Modra <amodra@bigpond.net.au>
2707
2708 * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2709 * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2710 * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2711 (elfNN_bed): Init new field.
2712 * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2713
2714 2007-02-17 Mark Mitchell <mark@codesourcery.com>
2715 Nathan Sidwell <nathan@codesourcery.com>
2716 Vladimir Prus <vladimir@codesourcery.com
2717 Joseph Myers <joseph@codesourcery.com>
2718
2719 * configure.in (--with-pkgversion): New option.
2720 * configure: Regenerate.
2721 * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2722 * Makefile.in: Regenerate.
2723 * version.h (BFD_VERSION_STRING): Define using
2724 @bfd_version_package@.
2725
2726 2007-02-16 Carlos O'Donell <carlos@codesourcery.com>
2727
2728 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2729 Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2730 and EF_MIPS_UCODE.
2731
2732 2007-02-15 Alan Modra <amodra@bigpond.net.au>
2733
2734 * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2735 declare.
2736 (_bfd_norelocs_canonicalize_reloc): Likewise.
2737 * libbfd.h: Regenerate.
2738 * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2739 (_bfd_norelocs_canonicalize_reloc): Likewise.
2740 * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2741 (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2742 (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2743 * ihex.c: Similarly.
2744 * mach-o-target.c: Similarly.
2745 * mach-o.c: Similarly.
2746 * mmo.c: Similarly.
2747 * pef.c: Similarly.
2748 * ppcboot.c: Similarly.
2749 * srec.c: Similarly.
2750 * xsym.c: Similarly.
2751
2752 2007-02-14 H.J. Lu <hongjiu.lu@intel.com>
2753
2754 PR ld/3953
2755 * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2756 when adding default symbol.
2757
2758 2007-02-13 Alan Modra <amodra@bigpond.net.au>
2759
2760 * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2761 for branch lookup table.
2762
2763 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2764
2765 * elf64-ppc.c (create_linkage_sections): Don't create
2766 .rela.rodata.brlt for --emit-relocs.
2767 (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2768 (ppc_size_one_stub): Count them. Simplify test of stub type
2769 when counting stub relocs. Set SEC_RELOC too.
2770 (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2771 (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2772
2773 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2774
2775 * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2776 with a zero symbol index.
2777
2778 2007-02-12 Alan Modra <amodra@bigpond.net.au>
2779
2780 * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2781
2782 2007-02-05 Dave Brolley <brolley@redhat.com>
2783 Stan Cox <scox@redhat.com>
2784
2785 PR ld/3972
2786 * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2787
2788 2007-02-05 Dave Brolley <brolley@redhat.com>
2789 Richard Sandiford <rsandifo@redhat.com>
2790 Stan Cox <scox@redhat.com>
2791 Nick Clifton <nickc@redhat.com>
2792 DJ Delorie <dj@redhat.com>
2793 Frank Ch. Eigler <fche@redhat.com>
2794 Ben Elliston <bje@redhat.com>
2795 Richard Henderson <rth@redhat.com>
2796
2797 * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2798 (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2799 (BFD32_BACKENDS): Add elf32-mep.lo.
2800 (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2801 (cpu-mep.lo,elf32-mep.lo): New targets.
2802 * archures.c (bfd_arch_mep): New enumerator.
2803 (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2804 (bfd_mep_arch): New external variable.
2805 (bfd_archures_list): Add bfd_mep_arch.
2806 * config.bfd: Support mep-*-elf.
2807 * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2808 * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2809 * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2810 declarations.
2811 (_bfd_target_vector): Add bfd_elf32_mep_vec and
2812 bfd_elf32_mep_little_vec.
2813 * mep-relocs.pl: New file.
2814 * cpu-mep.c: New file.
2815 * elf32-mep.c: New file.
2816 * bfd-in2.h: Regenerate.
2817 * po/POTFILES.in: Regenerate.
2818 * libbfd.h: Regenerate.
2819 * Makefile.in: Regenerate.
2820 * configure: Regenerate.
2821
2822 2007-02-05 Dave Brolley <brolley@redhat.com>
2823
2824 * elflink.c (evaluate_complex_relocation_symbols): Check for
2825 STT_SRELC for global symbols.
2826 (perform_complex_relocations): Renamed to
2827 perform_complex_relocation and now examines only one relocation.
2828 (elf_link_input_bfd): Don't call perform_complex_relocations.
2829 * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2830 * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2831 (OD,OS,OU): #undefs corrected to N, S and U repectively.
2832 (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2833 (complex_reloc_installation_howto): Removed.
2834 (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2835 (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2836
2837 2007-02-05 Dave Brolley <brolley@redhat.com>
2838 Richard Sandiford <rsandifo@redhat.com>
2839 DJ Delorie <dj@redhat.com>
2840 Graydon Hoare <graydon@redhat.com>
2841 Nick Clifton <nickc@cambridge.redhat.com>
2842 Jeff Holcomb <jeffh@redhat.com>
2843 Frank Ch. Eigler <fche@redhat.com>
2844
2845 * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2846 * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2847 * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2848 * elflink.c (set_symbolValue): New static function.
2849 (resolve_symbol): Likewise.
2850 (resolve_section): Likewise.
2851 (undefined_reference): Likewise.
2852 (eval_symbol): Likewise.
2853 (evaluate_complex_relocation_symbols): Likewise.
2854 (put_value): Likewise.
2855 (get_value): Likewise.
2856 (decode_complex_addend):
2857 (bfd_elf_perform_complex_relocation): New function.
2858 (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2859 * reloc.c (BFD_RELOC_RELC): New relocation number.
2860 * syms.c (BSF_RELC,BSF_SRELC): New macros.
2861
2862 2007-02-05 Bob Wilson <bob.wilson@acm.org>
2863
2864 * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2865 (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2866 (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2867 (elf_xtensa_allocate_got_size): Replace these with...
2868 (elf_xtensa_allocate_dynrelocs): ...this new function.
2869 (elf_xtensa_size_dynamic_sections): Use it.
2870
2871 2007-02-05 Bob Wilson <bob.wilson@acm.org>
2872
2873 * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2874 <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2875 Set src_mask to zero.
2876 <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise. Also fix dst_mask.
2877 <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2878
2879 2007-02-02 Bob Wilson <bob.wilson@acm.org>
2880
2881 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2882 (elf_xtensa_dynamic_symbol_p): ...this.
2883
2884 2007-02-02 Bob Wilson <bob.wilson@acm.org>
2885
2886 * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2887 (struct elf_xtensa_link_hash_table): New.
2888 (elf_xtensa_hash_table): New.
2889 (elf_xtensa_link_hash_table_create): New.
2890 (elf_xtensa_check_relocs): Update plt_reloc_count references.
2891 Update arguments to add_extra_plt_sections.
2892 (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2893 table. Update for plt_reloc_count and add_extra_plt_sections.
2894 (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2895 argument with link info. Update calls to elf_xtensa_get_plt_section
2896 and elf_xtensa_get_gotplt_section.
2897 (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2898 (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2899 (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2900 (relax_property_section): Get sections from the hash table and update
2901 function calls.
2902 (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2903 dynobj argument with link info. Get sections for first plt chunk from
2904 the hash table.
2905 (bfd_elf32_bfd_link_hash_table_create): Define.
2906
2907 2007-02-02 Jakub Jelinek <jakub@redhat.com>
2908
2909 * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2910 * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2911 (struct elf_symbol): Change first member into union.
2912 (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2913 internal syms. Only compare st_shndx fields.
2914 (elf_create_symbuf): New function.
2915 (bfd_elf_match_symbols_in_sections): Use it. If symbufs are available
2916 for bfds, use a binary search, otherwise don't qsort symbols
2917 unnecessarily only to select which symbols are for the particular
2918 shndx.
2919
2920 2007-02-01 Nick Clifton <nickc@redhat.com>
2921
2922 PR ld/3852
2923 * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2924 in the elf_link_hash_table structure.
2925
2926 2007-02-01 Alan Modra <amodra@bigpond.net.au>
2927
2928 * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2929 * elfxx-target.h (elf_backend_write_core_note): Define and use.
2930 * elf.c (elfcore_write_prpsinfo): Call the above. Add support for
2931 32-bit core note on 64-bit target.
2932 (elfcore_write_prstatus): Likewise.
2933 (elfcore_write_lwpstatus): Make note_name const.
2934 (elfcore_write_prfpreg): Likewise.
2935 (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2936 target.
2937 * elf32-ppc.c (ppc_elf_write_core_note): New function.
2938 (elf_backend_write_core_note): Define.
2939 * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2940 (elf_backend_write_core_note): Define.
2941
2942 2007-01-31 H.J. Lu <hongjiu.lu@intel.com>
2943
2944 * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2945 (elf32_bed): Defined for elf32-us-cris.
2946
2947 * elf64-sh64.c (elf64_bed): Defined for Linux.
2948 (INCLUDED_TARGET_FILE): Removed.
2949
2950 * elfxx-target.h (elfNN_bed): Always define. Don't check
2951 INCLUDED_TARGET_FILE.
2952
2953 2007-01-31 DJ Delorie <dj@redhat.com>
2954
2955 * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2956 message for dangerous relocs, special case the common user error.
2957
2958 2007-01-30 H.J. Lu <hongjiu.lu@intel.com>
2959
2960 * elf.c (copy_elf_program_header): Start from the first section
2961 in a segment and stop when all sections in a segment are
2962 accounted for.
2963
2964 2007-01-29 Julian Brown <julian@codesourcery.com>
2965
2966 * bfd-in2.h: Regenerate.
2967 * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2968 instruction scanning should be done.
2969 (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2970 (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2971 (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2972 prototype.
2973 * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2974 argument.
2975 * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2976 (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2977 (elf32_vfp11_erratum_type): New enum.
2978 (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2979 veneers.
2980 (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2981 (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2982 vfp11_fix and num_vfp11_fixes fields.
2983 (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2984 vfp11_erratum_glue_size, num_vfp11_fixes fields.
2985 (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2986 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2987 glue section.
2988 (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2989 to a section's map.
2990 (record_vfp11_erratum_veneer): Create a single veneer, and its
2991 associated symbols.
2992 (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2993 (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2994 BFDs.
2995 (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2996 required.
2997 (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2998 (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2999 (bfd_arm_vfp11_write_mask): Update write mask according to coded
3000 register number.
3001 (bfd_arm_vfp11_antidependency): New function.
3002 (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
3003 (elf32_arm_compare_mapping): Declare.
3004 (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
3005 BFD for potential erratum-triggering insns. Record results.
3006 (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
3007 and branches to veneers have been placed in virtual memory after
3008 layout.
3009 (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
3010 hash table.
3011 (elf32_arm_output_symbol_hook): Remove.
3012 (elf32_arm_write_section): Output veneers, and branches to veneers.
3013 Use maps from input sections, not output sections, for code
3014 byte-swapping.
3015 * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
3016 * elf32-score.c (_bfd_score_elf_write_section): Likewise.
3017 * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
3018 * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
3019
3020 2007-01-27 H.J. Lu <hongjiu.lu@intel.com>
3021
3022 * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
3023 (INCLUDED_TARGET_FILE): Removed.
3024
3025 2007-01-27 Mike Frysinger <vapier@gentoo.org>
3026
3027 * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
3028 (INCLUDED_TARGET_FILE): Remove.
3029
3030 2007-01-25 DJ Delorie <dj@redhat.com>
3031
3032 * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
3033 R_M32C_16 or R_M32C_24 relocs.
3034
3035 2007-01-25 Nick Clifton <nickc@redhat.com>
3036
3037 PR binutils/3874
3038 * elf32-avr.c (avr_link_hash_table): Check to make sure that the
3039 hash table was created by elf32_avr_link_hash_table_create before
3040 using it.
3041 (elf32_avr_link_hash_newfunc): New function. Just pass the call
3042 through to _bfd_elf_link_hash_newfunc.
3043 (elf32_avr_link_hash_table_create): Use
3044 elf32_avr_link_hash_newfunc instead of
3045 _bfd_elf_link_hash_newfunc.
3046 (elf32_avr_relocate_section): Check for the hash table pointer
3047 being NULL.
3048 (elf32_avr_relax_section, avr_build_one_stub,
3049 elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
3050 elf32_avr_build_stubs): Likewise.
3051
3052 2007-01-16 H.J. Lu <hongjiu.lu@intel.com>
3053
3054 PR ld/3831
3055 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
3056 argument, Elf_Internal_Sym *.
3057
3058 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
3059 symbol dynamic if info->dynamic_data is TRUE.
3060 (bfd_elf_record_link_assignment): Updated call to
3061 bfd_elf_record_link_assignment.
3062 (_bfd_elf_merge_symbol): Likewise. Always call
3063 bfd_elf_link_mark_dynamic_symbol.
3064
3065 2007-01-12 H.J. Lu <hongjiu.lu@intel.com>
3066
3067 * Makefile.am (BFD_LIBS): Removed.
3068 * Makefile.in: Regenerated.
3069
3070 2007-01-11 H.J. Lu <hongjiu.lu@intel.com>
3071
3072 PR binutils/3631
3073 * Makefile.am (OFILES): Add @bfd64_libs@.
3074 (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
3075 * Makefile.in: Regenerated.
3076
3077 * configure.in (bfd_libs): Replaced by ...
3078 (bfd64_libs): This.
3079 * configure: Regenerated.
3080
3081 2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
3082
3083 * elf.c (assign_file_positions_for_load_sections): We can
3084 require fewer phdrs than expected.
3085
3086 2007-01-08 Kazu Hirata <kazu@codesourcery.com>
3087
3088 * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
3089 * bfd-in2.h: Regenerate.
3090 * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
3091 bfd_mach_cpu32_fido.
3092 (m68k_arch_features): Use fido_a instead of cpu32.
3093 (bfd_m68k_compatible): Reject the combination of Fido and
3094 ColdFire. Accept the combination of CPU32 and Fido with a
3095 warning.
3096 * elf32-m68k.c (elf32_m68k_object_p,
3097 elf32_m68k_merge_private_bfd_data,
3098 elf32_m68k_print_private_bfd_data): Treat Fido as an
3099 architecture by itself.
3100
3101 2007-01-08 Kai Tietz <kai.tietz@onevision.com>
3102
3103 * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
3104
3105 2007-01-05 Jakub Jelinek <jakub@redhat.com>
3106
3107 * texhex.c (first_phase): Don't fall through into the default
3108 case.
3109 (pass_over): Replace abort () calls with return FALSE. Fix
3110 buffer overflow.
3111
3112 2007-01-04 Jie Zhang <jie.zhang@analog.com>
3113
3114 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
3115 SEC_EXCLUDE on zero size .eh_frame.
3116
3117 For older changes see ChangeLog-2006
3118 \f
3119 Local Variables:
3120 mode: change-log
3121 left-margin: 8
3122 fill-column: 74
3123 version-control: never
3124 End: