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