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