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