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