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