Automatic date update in version.in
[binutils-gdb.git] / bfd / ChangeLog-2010
blob4dd4cb1ab9ae6d3c889016989cf669b63ce956c1
1 2010-12-31  Robert Millan  <rmh@gnu.org>
3         * config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
4         * configure.host: Likewise.
5         * configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
6         `bfd_elf32_ntradlittlemips_freebsd_vec',
7         `bfd_elf32_tradbigmips_freebsd_vec',
8         `bfd_elf32_tradlittlemips_freebsd_vec',
9         `bfd_elf64_tradbigmips_freebsd_vec' and
10         `bfd_elf64_tradlittlemips_freebsd_vec'.
11         * configure: Regenerate.
12         * elf32-mips.c: New target for FreeBSD support
13         (same as traditional MIPS but overrides ELF_OSABI
14         with ELFOSABI_FREEBSD).
15         * elf64-mips.c: Likewise.
16         * elfn32-mips.c: Likewise.
17         * targets.c (_bfd_target_vector): Add
18         `bfd_elf32_ntradbigmips_freebsd_vec',
19         `bfd_elf32_ntradlittlemips_freebsd_vec',
20         `bfd_elf32_tradbigmips_freebsd_vec',
21         `bfd_elf32_tradlittlemips_freebsd_vec',
22         `bfd_elf64_tradbigmips_freebsd_vec' and
23         `bfd_elf64_tradlittlemips_freebsd_vec'.
25 2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
27         * elfcode.h (NAME(elf,r_info)): New.
28         (NAME(elf,r_sym)): Likewise.
30         * elflink.c (elf64_r_info): Removed.
31         (elf32_r_info): Likewise.
32         (elf64_r_sym): Likewise.
33         (elf32_r_sym): Likewise.
35 2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
37         * elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
38         (elf_backend_relocs_compatible): Defined to
39         elf_x86_64_relocs_compatible.
41 2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
43         * archures.c (bfd_mach_x64_32): New.
44         (bfd_mach_x64_32_intel_syntax): Likewise.
45         * bfd-in2.h: Regenerated.
47         * config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for
48         i[3-7]86-*-linux-*.
49         (targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*.
51         * configure.in: Support bfd_elf32_x86_64_vec.
52         * configure: Regenerated.
54         * cpu-i386.c (bfd_x64_32_arch_intel_syntax): New.
55         (bfd_x64_32_arch): Likewise.
57         * elf-bfd.h (elf_append_rela): New prototype.
58         (elf_append_rel): Likewise.
59         (elf64_r_info): Likewise.
60         (elf32_r_info): Likewise.
61         (elf64_r_sym): Likewise.
62         (elf32_r_sym): Likewise.
64         * elf64-x86-64.c (ABI_64_P): New.
65         (elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with
66         ELF32_R_TYPE.  Replace ELF64_ST_TYPE with ELF_ST_TYPE.
67         (elf_x86_64_check_tls_transition):Likewise.
68         (elf_x86_64_check_relocs): Likewise.
69         (elf_x86_64_gc_mark_hook):Likewise.
70         (elf_x86_64_gc_sweep_hook): Likewise.
71         (elf_x86_64_relocate_section): Likewise.
72         (elf_x86_64_reloc_type_class): Likewise.
73         (ELF_DYNAMIC_INTERPRETER): Renamed to ...
74         (ELF64_DYNAMIC_INTERPRETER): This.
75         (ELF32_DYNAMIC_INTERPRETER): New.
76         (elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out,
77         dynamic_interpreter and dynamic_interpreter_size.
78         (elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with
79         htab->r_sym.  Replace ELF64_R_INFO with htab->r_info.
80         (elf_x86_64_get_local_sym_hash): Likewise.
81         (elf_x86_64_check_tls_transition):Likewise.
82         (elf_x86_64_check_relocs): Likewise.
83         (elf_x86_64_gc_mark_hook):Likewise.
84         (elf_x86_64_gc_sweep_hook): Likewise.
85         (elf_x86_64_relocate_section): Likewise.
86         (elf_x86_64_finish_dynamic_symbol): Likewise.
87         (elf_x86_64_finish_local_dynamic_symbol): Likewise.
88         (elf_x86_64_link_hash_table_create): Initialize r_info, r_sym,
89         swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size.
90         (elf_x86_64_check_relocs): Check ABI_64_P when requesting for
91         PIC.
92         (elf_x86_64_relocate_section): Likewise.
93         (elf64_x86_64_adjust_dynamic_symbol): Replace sizeof
94         (Elf64_External_Rela) with bed->s->sizeof_rela.
95         (elf64_x86_64_allocate_dynrelocs): Likewise.
96         (elf64_x86_64_size_dynamic_sections): Likewise.
97         (elf64_x86_64_finish_dynamic_symbol): Likewise.
98         (elf64_x86_64_append_rela): Removed.
99         (elf32_x86_64_elf_object_p): New.
100         Add bfd_elf32_x86_64_vec.
102         * elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ...
103         (elf_x86_64_xxx): This.
105         * elflink.c (bfd_elf_final_link): Check ELF file class on error.
106         (elf_append_rela): New.
107         (elf_append_rel): Likewise.
108         (elf64_r_info): Likewise.
109         (elf32_r_info): Likewise.
110         (elf64_r_sym): Likewise.
111         (elf32_r_sym): Likewise.
113         * targets.c (bfd_elf32_x86_64_vec): New.
114         (_bfd_target_vector): Add bfd_elf32_x86_64_vec.
116 2010-12-24  Alan Modra  <amodra@gmail.com>
118         * compress.c (decompress_contents): Style.
119         (bfd_get_full_section_contents): Do not decompress directly into
120         caller buffer or directly return cached section contents.
121         Check malloc return for compressed_buffer.
123 2010-12-21  Kai Tietz  <kai.tietz@onevision.com>
125         * peXXigen.c (_bfd_XXi_final_link_postscript): Use
126         bfd_get_symbol_leading_char to determine "_tls_used" name.
128 2010-12-21  Pierre Muller  <muller@ics.u-strasbg.fr>
130         * peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
131         for windows 64-bit TLS table size.
133 2010-12-16  DJ Delorie  <dj@redhat.com>
135         * reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
136         (BFD_RELOC_RX_ABS32_REV): Add.
137         * bfd-in2.h: Regenerate.
138         * libbfd.h: Regenerate.
139         * elf32-rx.c (rx_reloc_map): Add them.
141 2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>
143         * elf.c (_bfd_elf_new_section_hook): Special handling for
144         .init_array/.fini_array output sections.
146 2010-12-13  Alan Modra  <amodra@gmail.com>
148         * aoutx.h (aout_link_check_ar_symbols): Formatting.
149         * cofflink.c (coff_link_check_ar_symbols): Likewise.
150         * elflink.c (elf_link_add_archive_symbols): Likewise.
151         * pdp11.c (aout_link_check_ar_symbols): Likewise.
152         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
153         xcoff_link_check_dynamic_ar_symbols): Likewise.
155         * aoutx.h (aout_link_check_archive_element): Simplify code dealing
156         with add_archive_element substitute BFD.
157         * cofflink.c (coff_link_check_archive_element): Likewise.
158         * ecoff.c (ecoff_link_check_archive_element): Likewise.
159         (ecoff_link_add_archive_symbols): Likewise.
160         * linker.c (generic_link_check_archive_element): Likewise.
161         * pdp11.c (aout_link_check_archive_element): Likewise.
162         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
163         * xcofflink.c (xcoff_link_check_archive_element): Likewise.
165         * aoutx.h (aout_link_check_archive_element): Free symbols from old
166         bfd if !keep_memory.
167         * cofflink.c (coff_link_check_archive_element): Likewise.
168         * pdp11.c (aout_link_check_archive_element): Likewise.
169         * xcofflink.c (xcoff_link_check_archive_element): Likewise.
171 2010-12-13  Alan Modra  <amodra@gmail.com>
173         * plugin.c (bfd_plugin_mkobject): Delete.
174         (plugin_vec): Use bfd_false instead.
176 2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>
178         * elflink.c (elf_link_add_archive_symbols): Remove subsbfd.
180 2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>
182         * elf.c (special_sections_g): Add ".gnu.lto_".
184 2010-12-10  Alan Modra  <amodra@gmail.com>
186         * config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*.
187         Add aix5coff64_vec to powerpc ELF entries.
189 2010-12-09  Mike Frysinger  <vapier@gentoo.org>
191         * .gitignore: New file.
193 2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
195         PR ld/12288
196         * plugin.c (message): Add putchar for the trailing `\n'.
198 2010-12-04  Mike Frysinger  <vapier@gentoo.org>
200         * Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing.
201         (PLUGINS/bfdinclude_HEADERS): Append plugin-api.h.
202         * Makefile.in: Regenerated.
204 2010-12-04  Alan Modra  <amodra@gmail.com>
206         PR ld/12277
207         * elflink.c (elf_link_output_extsym): Set bfd_error on symbol
208         and section errors.  Allow better translation of error messages.
210 2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>
212         * elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt,
213         srelgot, splt, srelplt.
214         (create_got_section, elf32_arm_link_hash_table_create): Don't set them.
215         (elf32_arm_create_dynamic_sections): Likewise.  Use htab->root
216         fields instead.
217         (arm_type_of_stub): Use the root fields instead of the removed ones.
218         (cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise.
219         (bfd_elf32_arm_process_before_allocation): Likewise.
220         (elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
221         (elf32_arm_size_dynamic_sections): Likewise.
222         (elf32_arm_output_arch_local_syms): Likewise.
223         (elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the
224         htab fields instead of looking them up by name.  Consistently use
225         these local variables instead of htab fields.
226         (elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel.
227         Use srelbss instead of looking it up by name.
228         (elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt
229         instead of looking up the symbols by name.  Use the root fields
230         instead of the removed ones.
232 2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>
234         * elf32-arm.c (elf32_arm_relocs_copied): Delete.
235         (elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs.
236         (elf32_arm_link_hash_newfunc): Update accordingly.
237         (elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise.
238         (elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
239         (elf32_arm_readonly_dynrelocs): Likewise.
240         (elf32_arm_size_dynamic_sections): Likewise.
242 2010-12-02  Paul Koning  <ni1d@arrl.net>
244         * pdp11.c (aout_link_add_symbols): Ignore debug symbols.
246 2010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>
248         * config.bfd: Add sparc64-rtems.
250 2010-11-25  Alan Modra  <amodra@gmail.com>
252         * po/es.po: Update.
253         * po/fi.po: Update.
254         * po/fr.po: Update.
255         * po/ja.po: Update.
256         * po/zh_CN.po: Update.
258 2010-11-24  Joel Brobecker  <brobecker@adacore.com>
260         * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
261         (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
262         * Makefile.in: Regenerate.
264 2010-11-24  Alan Modra  <amodra@gmail.com>
266         PR ld/12253
267         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
268         DW_EH_PE_datarel handling.  Truncate .eh_frame_hdr address to
269         ptr_size.
271 2010-11-23  Mingming Sun  <mingm.sun@gmail.com>
273         * elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
274         after bfd_mach_mips_sb1.
276 2010-11-17  Tristan Gingold  <gingold@adacore.com>
278         * vms-lib.c (vms_write_index): Add comments.
279         Partially revert previous patch.  Free blocks later.
281 2010-11-17  Nick Clifton  <nickc@redhat.com>
283         PR ld/12161
284         * elf32-avr.c (elf32_avr_check_relocs): Delete.
285         (elf_backend_check_relocs): Delete.
287 2010-11-16  Jie Zhang  <jie.zhang@analog.com>
289         * elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
290         (elf32_bfin_data_in_l1): New variable.
291         (elf32_bfin_final_write_processing): New.
292         (elf_backend_final_write_processing): Define.
294 2010-11-15  Mike Frysinger  <vapier@gentoo.org>
296         PR binutils/12177
297         * elf32-bfin.c (_bfin_create_got_section): Drop unused flags code.
299 2010-11-12  H.J. Lu  <hongjiu.lu@intel.com>
301         * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and
302         BFD_DECOMPRESS.
303         (bfd_openr_next_archived_file): Revert the last change.
305 2010-11-11  Mingming Sun  <mingm.sun@gmail.com>
307         * archures.c (bfd_mach_mips_loongson_3a): Defined.
308         * bfd-in2.h (bfd_mach_mips_loongson_3a): Defined.
309         * cpu-mips.c (I_loongson_3a): New add.
310         (arch_info_struct): Add loongson_3a.
311         * elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a.
312         (mips_set_isa_flags): Add loongson_3a.
313         (mips_mach_extensions): Add loongson_3a in MIPS64 extensions.
315 2010-11-10  Richard Sandiford  <richard.sandiford@linaro.org>
317         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused
318         variables.
320 2010-11-10  Nick Clifton  <nickc@redhat.com>
322         * po/ja.po: Updated Japanese translation.
323         * po/ru.po: Updated Russian translation.
325 2010-11-08  Nick Clifton  <nickc@redhat.com>
327         * po/ja.po: Updated Japanese translation.
329 2010-11-08  Alan Modra  <amodra@gmail.com>
331         * hash.c (bfd_hash_hash): Extract from..
332         (bfd_hash_lookup): ..here.
333         (bfd_hash_rename): New function.
334         * section.c (bfd_rename_section): New function.
335         * bfd-in.h (bfd_hash_rename): Declare.
336         * bfd-in2.h: Regenerate.
337         * elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
338         when compressing or decompressing.  Don't assert name match.
339         * elf64-hppa.c (get_reloc_section): Don't assert name match.
340         * elfxx-ia64.c (get_reloc_section): Likewise.
342 2010-11-05  Joseph Myers  <joseph@codesourcery.com>
344         * elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
345         (elf32_tic6x_merge_attributes): Use
346         _bfd_elf_merge_unknown_attribute_low and
347         _bfd_elf_merge_unknown_attribute_list.
348         (elf_backend_obj_attrs_handle_unknown): Define.
350 2010-11-05  Joseph Myers  <joseph@codesourcery.com>
352         * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
353         _bfd_elf_merge_unknown_attribute_list): Correct test for matching
354         string attributes.
356 2010-11-05  Tristan Gingold  <gingold@adacore.com>
358         * po/bfd.pot: Regenerate
360 2010-11-05  Tristan Gingold  <gingold@adacore.com>
362         * configure.in: Bump version to 2.21.51
363         * configure: Regenerate.
365 2010-11-04  Maciej W. Rozycki  <macro@codesourcery.com>
367         PR ld/10144
368         * elfxx-mips.c (_bfd_mips_elf_check_relocs)
369         [R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from
370         SEC_DEBUGGING sections.
372 2010-11-04  Tristan Gingold  <gingold@adacore.com>
374         * vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
375         Use bfd_zmalloc instead of bfd_malloc.  Fix comment.
377 2010-11-04  Kai Tietz  <kai.tietz@onevision.com>
379         * coffcode.h (GNU_LINKONCE_WT): New.
380         (sec_to_styp_flags): Add handling of new debug
381         section.
382         (styp_to_sec_flags): Likewise.
384 2010-11-04  Tristan Gingold  <gingold@adacore.com>
386         * makefile.vms (CFLAGS): Make badalias warnings informational.
387         * vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer.
389 2010-11-04  Joseph Myers  <joseph@codesourcery.com>
391         * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
392         _bfd_elf_merge_unknown_attribute_list): New.
393         * elf-bfd.h (struct elf_backend_data): Add
394         obj_attrs_handle_unknown.
395         (_bfd_elf_merge_unknown_attribute_low,
396         _bfd_elf_merge_unknown_attribute_list): Declare.
397         * elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New.  Split
398         out from elf32_arm_merge_eabi_attributes.
399         (elf32_arm_merge_eabi_attributes): Use
400         _bfd_elf_merge_unknown_attribute_low and
401         _bfd_elf_merge_unknown_attribute_list.
402         (elf_backend_obj_attrs_handle_unknown): Define.
403         * elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define.
404         (elfNN_bed): Update initializer.
406 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
408         * bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New.
409         * bfd-in2.h: Regenerated.
411 2010-11-02  Joseph Myers  <joseph@codesourcery.com>
413         * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for
414         Tag_ABI_compatibility, treat odd tags as strings and even ones as
415         integers.
416         (elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment,
417         elf32_tic6x_array_alignment_to_tag): New.
418         (elf32_tic6x_merge_attributes): Handle more attributes.  Set type
419         for merged attributes.
420         (elf_backend_obj_attrs_order): Define.
422 2010-10-29  Maciej W. Rozycki  <macro@codesourcery.com>
424         * elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo.
426 2010-10-29  Pawel Sikora  <pluto@pld-linux.org>
428         PR binutils/12075
429         * compress.c (bfd_compress_section_contents): Use uLong on
430         compressed_size.
432 2010-10-29  Joseph Myers  <joseph@codesourcery.com>
434         * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check
435         Tag_ABI_compatibility not Tag_compatibility.
436         (elf32_tic6x_merge_attributes): Update compatibility attribute
437         name in comment.  Return FALSE if merging common attributes fails.
439 2010-10-29  Nick Clifton  <nickc@redhat.com>
441         PR bintils/6962
442         * coffcode.h (handle_COMDAT): Only check the base type when
443         looking for a section symbol.
445 2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>
446             Cary Coutant  <ccoutant@google.com>
448         * archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
449         and BFD_DECOMPRESS.
451         * bfd.c (BFD_COMPRESS): New.
452         (BFD_DECOMPRESS): Likewise.
453         (BFD_FLAGS_SAVED): Likewise.
454         (bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.
456         * compress.c (bfd_uncompress_section_contents): Removed.
457         (get_uncompressed_size): New.
458         (decompress_contents): Likewise.
459         (bfd_compress_section_contents): Likewise.
460         (bfd_get_full_section_contents): Likewise.
461         (bfd_is_section_compressed): Likewise.
462         (bfd_init_section_decompress_status): Likewise.
463         (bfd_init_section_compress_status): Likewise.
465         * dwarf2.c (dwarf_debug_sections): New.
466         (dwarf_debug_section_enum): Likewise.
467         (read_section): Remove section_name and compressed_section_name.
468         Add dwarf_debug_section_enum.  Try compressed debug section.
469         (read_indirect_string): Updated.
470         (read_abbrevs): Likewise.
471         (decode_line_info): Likewise.
472         (read_debug_ranges): Likewise.
473         (find_line): Updated.
475         * ecoff.c (bfd_debug_section): Add compress_status and
476         compressed_size.
478         * elf.c (_bfd_elf_make_section_from_shdr): Call
479         bfd_is_section_compressed to check if a DWARF debug section is
480         compressed.  Call bfd_init_section_compress_status or
481         bfd_init_section_decompress_status if needed.
483         * elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
484         with bfd_get_full_section_contents.
485         * merge.c (_bfd_add_merge_section): Likewise.
486         * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
487         * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
489         * elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
490         BFD_DECOMPRESS.
491         (TARGET_LITTLE_SYM): Likewise.
493         * libbfd-in.h (dwarf_debug_section): New.
494         (dwarf_debug_sections): Likewise.
496         * libbfd.c (_bfd_generic_get_section_contents): Issue an error
497         when getting contents on compressed/decompressed section.
499         * section.c (COMPRESS_SECTION_NONE): New.
500         (COMPRESS_SECTION_DONE): Likewise.
501         (DECOMPRESS_SECTION_SIZED): Likewise.
502         (BFD_FAKE_SECTION): Add compress_status and compressed_size.
503         (bfd_malloc_and_get_section): Replace bfd_get_section_contents
504         with bfd_get_full_section_contents.
506         * bfd-in2.h: Regenerated.
507         * libbfd.h: Likewise.
509 2010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
510             Joseph Myers  <joseph@codesourcery.com>
512         * elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch
513         of DSBT attributes.
515 2010-10-25  Daniel Jacobowitz  <dan@codesourcery.com>
517         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
518         _bfd_clear_contents.  Pass it the input section.
519         * libbfd-in.h (_bfd_clear_contents): Add input_section argument.
520         * libbfd.h: Regenerate.
521         * reloc.c (_bfd_clear_contents): Take input_section argument.
522         Use non-zero for .debug_ranges.
523         (bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents
524         call.
526         * elf32-arm.c (elf32_arm_relocate_section): Use
527         RELOC_AGAINST_DISCARDED_SECTION.
528         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
529         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
530         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
531         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
532         * elf32-bfin.c (bfin_relocate_section): Likewise.
533         (bfinfdpic_relocate_section): Likewise.
534         * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
535         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
536         * elf32-cris.c (cris_elf_relocate_section): Likewise.
537         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
538         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
539         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
540         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
541         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
542         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
543         * elf32-i370.c (i370_elf_relocate_section): Likewise.
544         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
545         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
546         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
547         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
548         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
549         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
550         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
551         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
552         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
553         * elf32-mep.c (mep_elf_relocate_section): Likewise.
554         * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
555         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
556         * elf32-mt.c (mt_elf_relocate_section): Likewise.
557         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
558         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
559         * elf32-rx.c (rx_elf_relocate_section): Likewise.
560         * elf32-s390.c (elf_s390_relocate_section): Likewise.
561         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
562         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
563         * elf32-sh.c (sh_elf_relocate_section): Likewise.
564         * elf32-spu.c (spu_elf_relocate_section): Likewise.
565         * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
566         * elf32-v850.c (v850_elf_relocate_section): Likewise.
567         * elf32-vax.c (elf_vax_relocate_section): Likewise.
568         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
569         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
570         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
571         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
572         (elf64_alpha_relocate_section): Likewise.
573         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
574         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
575         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
576         * elf64-s390.c (elf_s390_relocate_section): Likewise.
577         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
578         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
579         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
580         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
582 2010-10-25  Nathan Sidwell  <nathan@codesourcery.com>
584         * elf32-tic6x.c: Add attribution.
586 2010-10-25  Alan Modra  <amodra@gmail.com>
588         * elf32-arm.c (find_stub_size_and_template): Avoid uninitialized
589         var warning at -O3.
591 2010-10-25  Alan Modra  <amodra@gmail.com>
593         * opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal.
594         * libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here.
595         * libbfd.h: Regenerate
596         * bfd-in2.h: Regenerate.
598 2010-10-25  Alan Modra  <amodra@gmail.com>
600         * opncls.c (_bfd_id_counter): Rename to bfd_id_counter.
601         (bfd_reserved_id_counter, bfd_use_reserved_id): New vars.
602         (_bfd_new_bfd): Use negative id when bfd_use_reserved_id.
603         (bfd_create): Doc fix.
604         * bfd-in2.h: Regenerate.
606 2010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
608         * elfxx-sparc.c (tpoff): Define bed, static_tls_size.
609         Consider static_tls_alignment.
611         * elf32-sparc.c (TARGET_BIG_SYM): Redefine to
612         bfd_elf32_sparc_sol2_vec.
613         (TARGET_BIG_NAME): Redefine to elf32-sparc-sol2.
614         (elf32_bed): Redefine to elf32_sparc_sol2_bed.
615         (elf_backend_static_tls_alignment): Redefine to 8.
616         Include elf32-target.h.
617         (elf_backend_static_tls_alignment): Undef again for VxWorks.
619         * elf64-sparc.c (TARGET_BIG_SYM): Redefine to
620         bfd_elf64_sparc_sol2_vec.
621         (TARGET_BIG_NAME): Redefine to elf64-sparc-sol2.
622         (ELF_OSABI): Undef.
623         (elf64_bed): Redefine to elf64_sparc_sol2_bed.
624         (elf_backend_static_tls_alignment): Redefine to 16.
625         Include elf64-target.h.
627         * config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*.
628         Set targ_defvec to bfd_elf32_sparc_sol2_vec.
629         [BFD64] (sparc-*-solaris2*): Set targ_defvec to
630         bfd_elf32_sparc_sol2_vec.
631         Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in
632         targ_selvecs.
634         * configure.in: Handle bfd_elf32_sparc_sol2_vec,
635         bfd_elf64_sparc_sol2_vec.
636         * configure: Regenerate.
638         * targets.c (bfd_elf32_sparc_sol2_vec): Declare.
639         (bfd_elf64_sparc_sol2_vec): Declare.
640         (_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec,
641         bfd_elf64_sparc_sol2_vec.
643 2010-10-21  Joseph Myers  <joseph@codesourcery.com>
645         * elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for
646         attribute renaming.
647         (elf_backend_obj_attrs_section): Change to ".c6xabi.attributes".
649 2010-10-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
651         * elf-bfd.h (struct elf_backend_data): New member
652         static_tls_alignment.
653         * elfxx-target.h (elf_backend_static_tls_alignment): Provide
654         default.
655         (elfNN_bed): Initialize static_tls_alignment.
656         * elflink.c (bfd_elf_final_link): Don't round end of TLS section
657         if static TLS has special alignment requirements.
658         * elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size.
659         Consider static_tls_alignment.
660         (elf_backend_static_tls_alignment): Redefine for Solaris 2.
661         Undef again for VxWorks.
662         * elf64-x86-64.c (elf64_x86_64_tpoff):  Define bed,
663         static_tls_size.
664         Consider static_tls_alignment.
665         (elf_backend_static_tls_alignment): Redefine for Solaris 2.
666         Undef again for Intel L1OM.
668 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
670         Apply LD plugin patch series (part 6/6).
671         * aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
672         parameter and pass it when invoking add_archive_element callback.
673         (aout_link_check_archive_element): Handle substitute bfd if it
674         was set during add_archive_element callback in the above.
675         * cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
676         parameter and pass it when invoking add_archive_element callback.
677         (coff_link_check_archive_element): Handle substitute bfd if it
678         was set during add_archive_element callback in the above.
679         * ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
680         code factored-out from ecoff_link_check_archive_element.
681         (reread_ext_syms_and_strs): Clear old symbols and call it.
682         (ecoff_link_check_archive_element):  Use the above.  Handle substitute
683         BFD if one is set by add_archive_element callback.
684         (ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
685         * elflink.c (elf_link_add_archive_symbols): Likewise.
686         * linker.c (generic_link_check_archive_element): Likewise.
687         * pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
688         parameter and pass it when invoking add_archive_element callback.
689         (aout_link_check_archive_element): Handle substitute bfd if it was
690         set during add_archive_element callback in the above.
691         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
692         BFD if one is set by add_archive_element callback.
693         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
694         reference parameter and pass it when invoking add_archive_element
695         callback.
696         (xcoff_link_check_ar_symbols): Likewise.
697         (xcoff_link_check_archive_element): Handle bfd substitution if it was
698         set by callback in the above.
700 2010-10-11  Alan Modra  <amodra@gmail.com>
702         * elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
703         (elf32_frvfdpic_finish_dynamic_sections): Don't crash on
704         __ROFIXUP_END__ defined in shared lib.
706 2010-10-11  Thomas Schwinge  <thomas@codesourcery.com>
708         * elf32-arm.c (elf32_arm_final_link_relocate)
709         (elf32_arm_relocate_section): Handle relocations against STN_UNDEF.
711 2010-10-11  Dave Korn  <dave.korn.cygwin@gmail.com>
713         * elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
714         "output_rel_hdr".
716 2010-10-09  John Tytgat  <john@bass-software.com>
718         * reloc.c (BFD_RELOC_ARM_HVC): Add.
719         * libbfd.h: Regenerate.
721 2010-10-08  Kai Tietz  <kai.tietz@onevision.com>
723         * pei-x86_64.c (find_next_xdata_or_end): Removed.
724         (pex64_dump_xdata): Remove arguments stop, onaline,
725         and pdata. New argument endx.  Print term "none"
726         instead of misleading "CFA".
727         (sort_xdata_arr): New function.
728         (pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs
729         instead of searching quadratic.
731 2010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>
732             Alan Modra  <amodra@gmail.com>
734         Fix build with -DDEBUG=7
735         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call
736         to deleted function elf_symbol_flags.  Add typecast to avoid warning.
737         * elf32-rx.c (dump_symbol) : Rename to..
738         (rx_dump_symbol): ..this to avoid link errors.
739         * elflink.c (elf_link_input_bfd): Add typecast to avoid warnings.
740         (bfd_elf_perform_complex_relocation): Likewise.
741         * elf32-xtensa.c (print_action_list): Likewise.
743 2010-10-06  Nathan Sidwell  <nathan@codesourcery.com>
745         * elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic,
746         elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for
747         ip/r12.
748         (arm_type_of_stub): Remove superfluous braces.
750 2010-10-04  Bernd Schmidt  <bernds@codesourcery.com>
752         * elf-bfd.h (struct bfd_elf_section_reloc_data): New structure.
753         (struct bfd_elf_section_data): New members REL and RELA; delete
754         members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX,
755         REL_IDX2, REL_HASHES.
756         (_bfd_elf_init_reloc_shdr): Adjust declaration.
757         (_bfd_elf_single_rel_hdr): Declare.
758         (RELOC_AGAINST_DISCARDED_SECTION): Use it.
759         * elf.c (bfd_section_from_shdr): Adjusted to match changes in
760         data structures.
761         (_bfd_elf_init_reloc_shdr): New arg RELDATA.  Remove arg REL_HDR.
762         All callers changed.  Allocate memory for the Elf_Internal_Shdr
763         structure.
764         (_bfd_elf_single_rel_hdr): New function.
765         (struct fake_section_arg): New structure.
766         (elf_fake_section): Expect to see a pointer to it in the third
767         argument.  If doing a relocatable link, allocate both REL and RELA
768         sections as needed.
769         (assign_section_numbers): Adjusted to match changes in
770         data structures.
771         (_bfd_elf_compute_section_file_positions): Call elf_fake_sections
772         with a struct fake_section_args argument.
773         * elfcode.h (elf_write_relocs): Adjusted to match changes in
774         data structures.
775         (elf_slurp_reloc_table): Likewise.
776         * elflink.c (_bfd_elf_link_read_relocs): Likewise.
777         (_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with
778         RELDATA.  Remove argument O.  All callers changed.  Remove code to
779         discover the right rel_hdr and count.
780         (_bfd_elf_link_output_relocs): Adjusted to match changes in
781         data structures.
782         (elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH;
783         replace with RELDATA.  All callers changed.
784         (elf_link_input_bfd): Correctly generate rel_hash data when both
785         REL and RELA sections are present.
786         (elf_reloc_link_order): Adjusted to match changes in
787         data structures.
788         (bfd_elf_final_link): Simplify code to count relocs.  Free the
789         hashes array for both REL and RELA.
790         (get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr
791         * elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections):
792         Delete.
793         * elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections):
794         Delete.
795         (elf32_tic6x_rel_relocation_p): Adjusted to match changes in
796         data structures.
797         * elf32-microblaze.c (microblaze_elf_check_relocs): Use
798         _bfd_elf_single_rel_hdr.
799         * elf32-ppc.c (ppc_elf_relax_section): Likewise.
800         * elf32-spu.c (spu_elf_relocate_section): Likewise.
801         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
802         * elf64-hppa.c (get_reloc_section): Likewise.
803         * elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match
804         changes in data structures.
805         (mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr.
806         * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
807         (ppc64_elf_edit_toc): Likewise.
808         (get_relocs): Adjusted to match changes in data structures.
809         Allocate an Elf_Internal_Shdr structure if necessary.
810         (ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr.
811         * elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match
812         changes in data structures.
813         * elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr.
814         * elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro.
815         (mips_elf_rel_relocation_p): Adjusted to match changes in data
816         structures.
817         (_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather
818         than MIPS_RELOC_RELOCA_P.
819         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use
820         _bfd_elf_single_rel_hdr.
821         (_bfd_sparc_elf_relocate_section): Likewise.
823 2010-10-01  Thomas Schwinge  <thomas@codesourcery.com>
825         * elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in
826         SHN_UNDEF, SHN_ABS, SHN_COMMON.
828 2010-09-30  H.J. Lu  <hongjiu.lu@intel.com>
830         PR ld/11812
831         * elf32-i386.c (elf_i386_size_dynamic_sections): Don't
832          allocate .got.plt section if there are no GOT nor PLT
833          entries and there is no refeence to _GLOBAL_OFFSET_TABLE_.
834          * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise.
836         * elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf.
838 2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
840         * configure: Regenerate.
842 2010-09-24  Thomas Schwinge  <thomas@codesourcery.com>
844         * elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c,
845         elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c,
846         elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c,
847         elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h,
848         elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to
849         the zero symbol index.
851         * elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index
852         to STN_UNDEF, not SHN_UNDEF.
854 2010-09-23  Bernd Schmidt  <bernds@codesourcery.com>
856         * elf32-tic6x.c (elf32_tic6x_fake_sections): New function.
857         (elf_backend_fake_sections): Define.
859 2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
861         * bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value.
863 2010-09-23  Alan Modra  <amodra@gmail.com>
865         * cpu-d10v.c: Make bits_per_address 18 for all arch_info entries.
867 2010-09-23  Alan Modra  <amodra@gmail.com>
869         * elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC
870         difference between input and output section.
872 2010-09-22  Kai Tietz  <kai.tietz@onevision.com>
874         * coffcode.h (sec_to_styp_flags): Adjust debug
875         sections to be conform to pe-coff specification
876         and avoid marking them as excluded.
877         (styp_to_sec_flags): Doing reverse mapping.
879         * peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for
880         setting IAT directory entry.
882 2010-09-20  Richard Henderson  <rth@redhat.com>
884         * elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc.
886 2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
888         * elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls.
889         (mips_elf_link_hash_newfunc): Initialize it.
890         (mips_elf_record_global_got_symbol): Add a for_call parameter.
891         (mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather
892         than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls.
893         Try to remove .got entries in favour of .got.plt entries on VxWorks.
894         (_bfd_mips_elf_check_relocs): Do not try to avoid allocating
895         a global GOT entry for VxWorks calls.  Update uses of
896         mips_elf_record_global_got_symbol.
897         (allocate_dynrelocs): Set got_only_for_calls to false if the GOT
898         entry is used for dynamic relocations.
900 2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
902         * elfxx-mips.c (mips_got_entry): Adjust commentary.
903         (mips_elf_create_local_got_entry): If given a symbol, check that it
904         has been assigned to the local part of the GOT.
905         (mips_elf_count_got_symbols): Take the bfd_link_info as argument
906         instead of the master GOT.  Put all locally-binding symbols in
907         the local area.
908         (mips_elf_make_got_per_bfd): Use global_got_area to decide whether
909         a symbol lives in the local or global area.
910         (mips_elf_local_relocation_p): Remove check_forced argument and
911         retain only the !check_forced behavior.
912         (mips_elf_calculate_relocation): Adjust call accordingly.
913         Use global_got_area to decide whether an output relocation
914         should be local or global.  Explicitly decay R_MIPS_GOT_PAGE
915         into R_MIPS_GOT_DISP where appropriate.  Fix selection of
916         local vs. global semantics for R_MIPS*_26.  Remove redundant
917         reevaluation of what is stored in was_local_p.
918         (mips_elf_create_dynamic_relocation): Use global_got_area to decide
919         whether the relocation should be against a global or local symbol.
920         (mips_elf_lay_out_got): Update the GOT traversal after the above
921         change to mips_elf_count_got_symbols.
922         (mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p.
923         (_bfd_mips_elf_relocate_section): Likewise.
924         (_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide
925         whether the symbol has a global got entry.
926         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
928 2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
930         * elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols
931         to the global GOT on VxWorks.
933 2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
935         * elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks,
936         exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning
937         about HI/LO relocations in shared objects.
939 2010-09-16  Alan Modra  <amodra@gmail.com>
941         * elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc
942         sections.
943         (spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and
944         set dynobj.
945         (spu_elf_finish_dynamic_sections): New function.
946         (elf_backend_finish_dynamic_sections): Define.
948 2010-09-16  Alan Modra  <amodra@gmail.com>
950         * elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD.
951         * elflink.c (elf_link_input_bfd): Likewise.
953 2010-09-15  Kai Tietz  <kai.tietz@onevision.com>
955         * pei-x86_64.c (pex64_get_unwind_info): Reorgnized.
956         (pex64_get_scope_entry): Removed.
957         (find_next_xdata_or_end): New helper.
958         (pex64_dump_xdata): Reworked.
959         (pex64_bfd_print_pdata): Add checking for
960         valid pdata sorting and values. Reworked
961         output.
963 2010-09-15  H.J. Lu  <hongjiu.lu@intel.com>
965         PR binutils/12004
966         * plugin.c (bfd_plugin_object_p): Handle NULL iostream.
968 2010-09-14  Kai Tietz  <kai.tietz@onevision.com>
970         * pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make
971         .rdata, .data, and .text partial matched section names.
972         * pei-x86_64.c: Likewise.
974         * peXXigen.c (sort_x64_pdata): New helper.
975         (_bfd_XXi_final_link_postscript): Do pdata sorting.
977 2010-09-09  H.J. Lu  <hongjiu.lu@intel.com>
979         PR ld/11998
980         * elf.c (assign_file_positions_for_load_sections): Don't warn
981         zero LMA adjustment.
983 2010-09-09  Bernd Schmidt  <bernds@codesourcery.com>
985         * elflink.c (bfd_elf_final_link): Correct calculation of
986         max_external_reloc_size.
988 2010-09-07  Alan Modra  <amodra@gmail.com>
989             Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>
991         * peXXigen.c: Whitespace.
992         (pe_print_idata): Correct section limit calculations.  Tidy array
993         indexing.
994         (_bfd_XX_print_ce_compressed_pdata): Don't leak memory.
996 2010-09-02  Richard Henderson  <rth@redhat.com>
998         * config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too.
1000 2010-09-01  Pedro Alves  <pedro@codesourcery.com>
1002         * netbsd-core.c (netbsd_core_core_file_pid): Renamed to ...
1003         (netbsd_core_file_pid): ... this.
1005 2010-09-01  Tristan Gingold  <gingold@adacore.com>
1007         * coffcode.h (coff_slurp_line_table): Add a cast.
1008         (coff_slurp_reloc_table): Ditto.
1010 2010-08-30  Gunther Nikl  <gnikl@users.sourceforge.net>
1012         * cisco-core.c (cisco_core_file_pid): Define.
1014 2010-08-30  Alan Modra  <amodra@gmail.com>
1016         PR binutils/11953
1017         * elf.c (copy_elf_program_header): Calculate map->header_size
1018         from lowest_section, not first_section.  Validate program
1019         header p_paddr against section lma.  Find lowest_section in
1020         second loop over headers.
1022 2010-08-28  Alan Modra  <amodra@gmail.com>
1024         * elflink.c (_bfd_elf_dynamic_symbol_p): Rename param.  Make
1025         common syms local.
1026         (_bfd_elf_symbol_refs_local_p): Expand comment.
1027         (elf_link_output_extsym): Fix style nit.
1029 2010-08-26  Nathan Sidwell  <nathan@codesourcery.com>
1031         * elf32-arm.c (elf32_arm_final_link): Process stub sections
1032         exactly once.
1034 2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
1036         PR ld/11939
1037         * elflink.c (elf_link_add_object_symbols): Don't set
1038         unique_global for non-ELF hash link table.
1040 2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
1042         PR ld/11944
1043         * elf-bfd.h (elf_backend_data): Add target_id.
1044         (bfd_elf_make_generic_object): Renamed to ...
1045         (bfd_elf_make_object): This.
1047         * elf.c (bfd_elf_make_generic_object): Removed.
1048         (bfd_elf_make_object): New.
1049         (bfd_elf_mkcorefile): Really treat it as an object file.
1051         * elf-m10300.c (ELF_TARGET_ID): New.
1052         * elf32-arm.c (ELF_TARGET_ID): Likewise.
1053         * elf32-bfin.c (ELF_TARGET_ID): Likewise.
1054         * elf32-cris.c (ELF_TARGET_ID): Likewise.
1055         * elf32-frv.c (ELF_TARGET_ID): Likewise.
1056         * elf32-i386.c (ELF_TARGET_ID): Likewise.
1057         * elf32-lm32.c (ELF_TARGET_ID): Likewise.
1058         * elf32-m32r.c (ELF_TARGET_ID): Likewise.
1059         * elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
1060         * elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
1061         * elf32-m68k.c (ELF_TARGET_ID): Likewise.
1062         * elf32-microblaze.c (ELF_TARGET_ID): Likewise.
1063         * elf32-ppc.c (ELF_TARGET_ID): Likewise.
1064         * elf32-s390.c (ELF_TARGET_ID): Likewise.
1065         * elf32-sh.c (ELF_TARGET_ID): Likewise.
1066         * elf32-sparc.c (ELF_TARGET_ID): Likewise.
1067         * elf32-spu.c (ELF_TARGET_ID): Likewise.
1068         * elf32-tic6x.c (ELF_TARGET_ID): Likewise.
1069         * elf32-xtensa.c (ELF_TARGET_ID): Likewise.
1070         * elf64-alpha.c (ELF_TARGET_ID): Likewise.
1071         * elf64-hppa.c (ELF_TARGET_ID): Likewise.
1072         * elf64-ppc.c (ELF_TARGET_ID): Likewise.
1073         * elf64-s390.c (ELF_TARGET_ID): Likewise.
1074         * elf64-x86-64.c (ELF_TARGET_ID): Likewise.
1075         * elfxx-ia64.c (ELF_TARGET_ID): Likewise.
1077         * elf32-hppa.c (elf32_hppa_mkobject): Removed.
1078         (bfd_elf32_mkobject): Likewise.
1079         (ELF_TARGET_ID): New.
1081         * elf32-mips.c (ELF_TARGET_ID): New.
1082         (bfd_elf32_mkobject): Removed.
1084         * elf64-mips.c (ELF_TARGET_ID): New.
1085         (bfd_elf64_mkobject): Removed.
1087         * elfn32-mips.c (ELF_TARGET_ID): New.
1088         (bfd_elf32_mkobject): Removed.
1090         * elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
1091         * elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.
1093         * elfxx-target.h (bfd_elfNN_mkobject): Default to
1094         bfd_elf_make_object.
1095         (ELF_TARGET_ID): New.  Default to GENERIC_ELF_DATA.
1096         (elfNN_bed): Initialize target_id.
1098 2010-08-25  Julian Brown  <julian@codesourcery.com>
1100         * elf32-arm.c (arm_stub_required_alignment): New.
1101         (arm_build_one_stub): Use above to partition stubs.
1102         (make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not
1103         arm_stub_a8_veneer_b_cond.
1105 2010-08-25  Alan Modra  <amodra@gmail.com>
1107         * aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address.
1108         * aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise.
1109         * aoutx.h (NAME(aout,reloc_type_lookup)): Likewise.
1110         * coff-arm.c (coff_arm_reloc_type_lookup): Likewise.
1111         * elf-hppa.h (elf_hppa_reloc_final_type): Likewise.
1112         * reloc.c (bfd_default_reloc_type_lookup): Likewise.
1113         * riscix.c (riscix_reloc_type_lookup): Likewise.
1115 2010-08-25  Alan Modra  <amodra@gmail.com>
1117         * elf.c (_bfd_elf_map_sections_to_segments): Don't load program
1118         headers if any loaded section wraps the address space.  Simplify
1119         ~(m-1) to -m.  Use lma rather than vma when determining whether
1120         note sections are adjacent.
1122 2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1124         PR ld/11933
1125         * elflink.c (elf_link_add_object_symbols): Don't check relocation
1126         if input ELF object ID doesn't match output.
1128 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1130         * configure: Regenerate.
1132 2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>
1134         * merge.c (sec_merge_emit): Revert the last checkin.
1136 2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
1138         * elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output
1139         BFD.
1141 2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
1143         * elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
1144         options unless an m68k hash table has been found.
1146 2010-08-20  Nick Clifton  <nickc@redhat.com>
1148         * merge.c (sec_merge_emit): Do not zero pad sections that do not
1149         have an alignment.
1151 2010-08-18  Pedro Alves  <pedro@codesourcery.com>
1153         PR corefile/8210
1155         * bfd-in2.h: Regenerate.
1156         * corefile.c (bfd_core_file_pid): New.
1158         * targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
1159         (struct bfd_target) <_core_file_pid>: New.
1161         * libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
1162         * libbfd.c (_bfd_nocore_core_file_pid): New.
1164         * elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
1165         Declare.
1166         * elfcode.h (elf_core_file_pid): New define.
1167         * elfcore.h (elf_core_file_pid): New function.
1169         * elf.c (elfcore_make_pid): Rewrite.
1170         (elfcore_grok_prstatus): Only set core_pid if not set yet.
1171         (elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
1172         getting the lwpid from prstat.pr_pid.
1174         * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
1175         elf_tdata's core_lwpid instead of to core_pid.
1176         (elf64_x86_64_grok_psinfo): Extract the main process's PID,
1177         and store it in elf_tdata's core_pid field.
1178         * elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
1179         elf_tdata's core_lwpid instead of to core_pid.
1180         (elf_i386_grok_psinfo): Extract the main process's PID, and
1181         store it in elf_tdata's core_pid field.
1183         * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
1184         to elf_tdata's core_lwpid instead of to core_pid.
1185         * elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
1186         elf_tdata's core_lwpid instead of to core_pid.
1187         * elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
1188         elf_tdata's core_lwpid instead of to core_pid.
1189         * elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
1190         elf_tdata's core_lwpid instead of to core_pid.
1191         * elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
1192         elf_tdata's core_lwpid instead of to core_pid.
1193         * elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1194         elf_tdata's core_lwpid instead of to core_pid.
1195         * elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
1196         elf_tdata's core_lwpid instead of to core_pid.
1197         * elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
1198         elf_tdata's core_lwpid instead of to core_pid.
1199         * elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
1200         to elf_tdata's core_lwpid instead of to core_pid.
1201         * elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
1202         to elf_tdata's core_lwpid instead of to core_pid.
1203         * elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
1204         elf_tdata's core_lwpid instead of to core_pid.
1205         * elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
1206         elf_tdata's core_lwpid instead of to core_pid.
1207         * elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
1208         elf_tdata's core_lwpid instead of to core_pid.
1209         * elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
1210         elf_tdata's core_lwpid instead of to core_pid.
1211         * elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
1212         elf_tdata's core_lwpid instead of to core_pid.
1213         * elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1214         elf_tdata's core_lwpid instead of to core_pid.
1216         * plugin.c (bfd_plugin_core_file_pid): New function.
1217         * aout-target.h (MY_core_file_pid): Define.
1218         * aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
1219         * coff-rs6000.c (coff_core_file_pid): New define.
1220         (rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
1221         * coff64-rs6000.c (coff_core_file_pid): New define.
1222         (rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
1223         (xcoff64_core_file_pid): New define.
1224         (aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
1225         * mach-o-target.c (bfd_mach_o_core_file_pid): New define.
1226         * aix386-core.c (aix386_core_file_pid): New define.
1227         * hppabsd-core.c (hppabsd_core_core_file_pid): New define.
1228         * hpux-core.c (hpux_core_core_file_pid): New define.
1229         * irix-core.c (irix_core_core_file_pid): New define.
1230         * lynx-core.c (lynx_core_file_pid): New define.
1231         * osf-core.c (osf_core_core_file_pid): New define.
1232         * ptrace-core.c (ptrace_unix_core_file_pid): New define.
1233         * sco5-core.c (sco5_core_file_pid): New define.
1234         * xcoff-target.h (coff_core_file_pid): New define.
1235         * netbsd-core.c (netbsd_core_core_file_pid): New define.
1237 2010-08-13  H.J. Lu  <hongjiu.lu@intel.com>
1239         PR ld/11913
1240         * elf32-i386.c (elf_i386_finish_dynamic_sections): Check if
1241          .got.plt section is discarded.
1242          * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise.
1244 2010-08-13  Nathan Sidwell  <nathan@codesourcery.com>
1246         * elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B
1247         variant.
1249 2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
1251         PR binutils/11909
1252         * Makefile.am (coff-tic4x.lo): New.  Disable -Werror.
1253         (coff-tic54x.lo): Likewise.
1254         * Makefile.in: Regenerated.
1256 2010-08-12  Todd Veldhuizen  <todd.veldhuizen@logicblox.com>
1258         PR ld/11843
1259         * elflink.c (compute_bucket_count): Avoid futile long searches for
1260         the best bucket size.
1262 2010-08-09  Richard Henderson  <rth@redhat.com>
1264         PR ld/11891
1265         * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing
1266         to tlshi/lo until pos0 and pos1 are adjacent.  Use the destination
1267         register from the tldgd insn.
1269 2010-08-09  Catherine Moore  <clm@codesourcery.com>
1271         * elfxx-mips.c (mips_elf_perform_relocation): Improve
1272         interlinking error message.
1274 2010-08-06  Alan Modra  <amodra@gmail.com>
1276         * elf64-ppc.c (ha_reloc_match): Allow matches to other than r2.
1277         (ppc64_elf_relocate_section): Nop out high part insn of large toc
1278         code sequence when the high part of offset is zero.
1280 2010-08-04  Tristan Gingold  <gingold@adacore.com>
1282         * vms-alpha.c (alpha_vms_build_fixups): Write the EICP.
1283         (alpha_vms_bfd_final_link): Explicitly forbid relocatable links.
1284         Clear the SEC_RELOC flag.
1286 2010-08-04  Tristan Gingold  <gingold@adacore.com>
1288         * vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable
1289         sections with relocs.
1290         (alpha_vms_add_fixup_lp): Set SEC_RELOC flag.
1291         (alpha_vms_add_fixup_ca): Ditto.
1292         (alpha_vms_add_fixup_qr): Ditto.
1293         Add comments.
1295 2010-08-04  Tristan Gingold  <gingold@adacore.com>
1297         * vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make
1298         CODE sections writable.
1300 2010-08-04  Tristan Gingold  <gingold@adacore.com>
1302         * vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ...
1303         (alpha_vms_add_fixup_lr): ... this for consistency.
1304         (alpha_vms_add_qw_fixup): Removed.
1305         Fix some comments.
1306         (vms_get_symbol_info): Adjust type for unknown sections.
1308 2010-08-04  Tristan Gingold  <gingold@adacore.com>
1310         * vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute
1311         section for any absolute section.  Remove some debugging code.
1313 2010-08-03  DJ Delorie  <dj@redhat.com>
1315         * elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes.
1317 2010-08-03  Tristan Gingold  <gingold@adacore.com>
1319         * vms-misc.c (vms_convert_to_var): Make it static.
1320         (_bfd_vms_convert_to_var_unix_filename): Make it public.
1322 2010-08-03  Tristan Gingold  <gingold@adacore.com>
1324         * makefile.vms (OBJS): Update list.
1326 2010-08-03  Tristan Gingold  <gingold@adacore.com>
1328         * vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS
1329         nor SEC_RELOC for empty sections.
1331 2010-08-03  Tristan Gingold  <gingold@adacore.com>
1333         * vms-alpha.c (evax_section_flags): Fix flags for absolute
1334         section.  Remove useless parenthesis.
1336 2010-08-03  Tristan Gingold  <gingold@adacore.com>
1338         * vms-lib.c (vms_lib_bread_raw): Change type of BUF argument.
1339         (vms_lib_bread, vms_lib_bopen): Adjust.
1341 2010-08-02  Alan Modra  <amodra@gmail.com>
1343         PR 11866
1344         * elf.c (assign_file_positions_for_load_sections): Use p_vaddr to
1345         calculate off_adjust rather than first section vma.
1347 2010-07-30  H.J. Lu  <hongjiu.lu@intel.com>
1349         * elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info.
1351 2010-07-30  Anthony Green  <green@moxielogic.com>
1353         * config.bfd (targ_cpu): Add moxie-*-rtems support.
1355 2010-07-29  Alan Modra  <amodra@gmail.com>
1357         * elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in
1358         .toc section, even when none are used in relocs.
1360 2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
1362         * elfxx-mips.h: Include "elf/mips.h".
1363         (gprel16_reloc_p): New static inline function.
1364         * elfxx-mips.c (_bfd_mips_elf_check_relocs)
1365         [R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]:
1366         Use got16_reloc_p.
1367         (_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use
1368         gprel16_reloc_p.
1369         * elf32-mips.c (mips_info_to_howto_rel): Likewise.
1370         * elfn32-mips.c (mips_info_to_howto_rel): Likewise.
1372 2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
1374         * elf64-mips.c (mips_elf64_howto_table_rela)
1375         [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace.
1376         [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1377         [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1378         [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise.
1379         [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1380         * elfn32-mips.c (elf_mips_howto_table_rela)
1381         [R_MIPS_TLS_DTPMOD32]: Likewise.
1382         [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1383         [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1384         [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise.
1385         [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1387 2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
1388             Ina Pandit  <ina.pandit@kpitcummins.com>
1390         * archures.c (DESCRIPTION): Define bfd_mach_v850e2 and
1391         bfd_mach_v850e2v3.
1392         * reloc.c (bfd_architecture): Define bfd_mach_v850e2 and
1393         bfd_mach_v850e2v3.
1394         (BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL,
1395         BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23,
1396         BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS,
1397         BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1,
1398         BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET,
1399         BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET,
1400         BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT,
1401         BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL,
1402         BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY,
1403         BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT,
1404         BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF,
1405         BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE,
1406         BFD_RELOC_V850_DATA): New relocations for V850 target.
1407         * config.bfd: Match all v850 targets.
1408         * cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3.
1409         * elf32-v850.c (v850_elf_check_relocs): Check the newly added
1410         relocations.
1411         (v850_elf_perform_relocation ): Update the newly added
1412         relocations.
1413         (v850_elf_howto_t): Update the specifications of added
1414         relocations.
1415         (v850_elf_reloc_map): Update the relocation mappings.
1416         (v850_elf_final_link_relocate): Maps added relocation into the
1417         appropriate howto structure.
1418         (v850_elf_object_p): Add support for V850E2 and V850E2V3.
1419         (v850_elf_final_write_processing): Likewise.
1420         (v850_elf_merge_private_bfd_data): Likewise.
1421         (v850_elf_print_private_bfd_data): Likewise.
1422         * libbfd.h: Regenerate.
1423         * bfd-in2.h: Regenerate.
1425 2010-07-23  Alan Modra  <amodra@gmail.com>
1427         * archive.c (_bfd_archive_bsd44_construct_extended_name_table):
1428         Correct format specifier.
1430 2010-07-22  Alan Modra  <amodra@gmail.com>
1432         * ecoff.c: Don't include aout/ranlib.h.
1433         (_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs.
1434         (_bfd_ecoff_write_armap): Output ar_date and ar_size using
1435         _bfd_ar_spacepad.
1437 2010-07-22  Alan Modra  <amodra@gmail.com>
1439         * aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
1440         relocs.
1442 2010-07-20  Alan Modra  <amodra@gmail.com>
1444         * elf.c (assign_file_positions_for_load_sections): Check that
1445         zero size sections are allocated in segments too.
1446         (assign_file_positions_for_non_load_sections): Warn if zero
1447         size alloc sections are found here.
1448         (copy_elf_program_header): Don't drop zero size sections from
1449         segment map.
1450         (copy_private_bfd_data): Check for changes in zero size sections.
1452 2010-07-17  Alan Modra  <amodra@gmail.com>
1454         * elf.c (_bfd_elf_map_sections_to_segments): Force new segment
1455         for sections with overlapping LMAs.
1456         (assign_file_positions_for_load_sections): Catch overlap for
1457         sections that wrap around the address space.  Replace a
1458         warning that duplicates ld's --check-sections error with a
1459         warning that lma has been adjusted for overlapping sections.
1461 2010-07-14  Cary Coutant  <ccoutant@google.com>
1463         PR ld/11817
1464         * dwarf2.c (read_section): Revert patch for compressed debug sections.
1465         (find_line): Likewise.
1466         (read_and_uncompress_section): Remove.
1468 2010-07-13  H.J. Lu  <hongjiu.lu@intel.com>
1470         PR ld/11812
1471         * elf32-i386.c (elf_i386_size_dynamic_sections): Don't
1472          allocate .got.plt section if there are no GOT nor PLT
1473          entries.
1474          * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
1476 2010-07-13  H.J. Lu  <hongjiu.lu@intel.com>
1478         PR ld/11791
1479         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support
1480         garbage collection against STT_GNU_IFUNC symbols.
1482         * elf32-i386.c (elf_i386_get_local_sym_hash): Don't set
1483         elf.plt.offset/elf.got.offset to -1.
1484         (elf_i386_tls_transition): Skip TLS transition for functions.
1485         (elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1487         * elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set
1488         elf.plt.offset/elf.got.offset to -1.
1489         (elf64_x86_64_tls_transition): Skip TLS transition for functions.
1490         (elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1492 2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>
1494         * elf32-i386.c (elf_i386_check_relocs): Re-indent.
1495         (elf_i386_relocate_section): Likewise.
1497 2010-07-06  H.J. Lu  <hongjiu.lu@intel.com>
1499         * dwarf2.c (add_line_info): Initialize prev_line.
1501 2010-07-06  Alan Modra  <amodra@gmail.com>
1503         * elf32-ppc.c (ppc_elf_relax_section): Insert branch around
1504         trampolines only for .init and .fini sections.
1506 2010-07-05  Alan Modra  <amodra@gmail.com>
1508         * elf32-ppc.c: Formatting.
1509         (ppc_elf_finish_dynamic_sections): Don't make plt_entry var static.
1511 2010-07-03  Cary Coutant  <ccoutant@google.com>
1513         * compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED.
1514         * dwarf2.c (read_and_uncompress_section): New function.
1515         (read_section): Call it.
1516         (find_line): Likewise.
1518 2010-07-01  Alan Modra  <amodra@gmail.com>
1520         * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather
1521         than SYMBOL_REFERENCES_LOCAL.
1522         (ppc64_elf_relocate_section): Likewise.
1524 2010-07-01  Alan Modra  <amodra@gmail.com>
1526         * elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs.
1528 2010-06-29  Alan Modra  <amodra@gmail.com>
1530         * cpu-maxq.c: Delete file.
1531         * coff-maxq.c: Delete file.
1532         * Makefile.am: Remove references to maxq.
1533         * archures.c: Likewise.
1534         * coffcode.h: Likewise.
1535         * configure.in: Likewise.
1536         * targets.c: Likewise.
1537         * config.bfd: Move maxq from obsolete to removed.
1538         * Makefile.in: Regenerate.
1539         * bfd-in2.h: Regenerate.
1540         * configure: Regenerate.
1541         * libbfd.h: Regenerate.
1542         * po/SRC-POTFILES.in: Regenerate.
1544 2010-06-28  Alan Modra  <amodra@gmail.com>
1546         * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED
1547         to silence gcc warning.
1549 2010-06-27  Alan Modra  <amodra@gmail.com>
1551         * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.
1552         (group_sections): Likewise.
1554 2010-06-27  Alan Modra  <amodra@gmail.com>
1556         * bout.c (aligncode): Delete set but unused variables.
1557         * coff-mcore.c (coff_mcore_relocate_section): Likewise.
1558         * coff-ppc.c (ppc_record_toc_entry): Likewise.
1559         (coff_ppc_relocate_section): Likewise.
1560         * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise.
1561         * elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise.
1562         * elf-m10300.c (mn10300_elf_final_link_relocate): Likewise.
1563         (mn10300_elf_relax_section): Likewise.
1564         * elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise.
1565         (record_vfp11_erratum_veneer): Likewise.
1566         (bfd_elf32_arm_vfp11_erratum_scan): Likewise.
1567         (elf32_arm_final_link_relocate): Likewise.
1568         (elf32_arm_check_relocs, arm_map_one_stub): Likewise.
1569         * elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise.
1570         (elf32_avr_relax_section): Likewise.
1571         (avr_mark_stub_not_to_be_necessary): Likewise.
1572         * elf32-bfin.c (_bfin_create_got_section): Likewise.
1573         * elf32-cr16.c (cr16_elf_final_link_relocate): Likewise.
1574         (elf32_cr16_relax_delete_bytes): Likewise.
1575         * elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise.
1576         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
1577         * elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise.
1578         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
1579         (elf32_h8_relax_delete_bytes): Likewise.
1580         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1581         * elf32-i370.c (i370_elf_check_relocs): Likewise.
1582         (elf_relocate_section): Likewise.
1583         * elf32-ip2k.c (adjust_all_relocations): Likewise.
1584         (ip2k_elf_relax_section): Likewise.
1585         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1586         (lm32_elf_check_relocs): Likewise.
1587         (lm32_elf_finish_dynamic_sections): Likewise.
1588         (lm32_elf_finish_dynamic_symbol): Likewise.
1589         * elf32-m32c.c (m32c_offset_for_reloc): Likewise.
1590         (m32c_elf_relax_delete_bytes): Likewise.
1591         * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
1592         (m32r_elf_finish_dynamic_sections): Likewise.
1593         (m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise.
1594         * elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise.
1595         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1596         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
1597         * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1598         (microblaze_elf_check_relocs): Likewise.
1599         (microblaze_elf_finish_dynamic_symbol): Likewise.
1600         * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
1601         * elf32-ppc.c (ppc_elf_tls_optimize): Likewise.
1602         * elf32-rx.c (rx_elf_relocate_section): Likewise.
1603         (elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise.
1604         (elf32_rx_relax_section): Likewise.
1605         * elf32-score.c (score_elf_got_offset_from_index): Likewise.
1606         (score_elf_final_link_relocate): Likewise.
1607         (s3_bfd_score_elf_relocate_section): Likewise.
1608         * elf32-score7.c (score_elf_got_offset_from_index): Likewise.
1609         (s7_bfd_score_elf_relocate_section): Likewise.
1610         * elf32-sh.c (sh_elf_check_relocs): Likewise.
1611         * elf32-spu.c (spu_elf_relocate_section): Likewise.
1612         * elf32-v850.c (v850_elf_check_relocs): Likewise.
1613         (find_remembered_hi16s_reloc): Likewise.
1614         * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
1615         (elf_vax_relocate_section): Likewise.
1616         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1617         * elf32-xtensa.c (xlate_offset_with_removed_text): Likewise.
1618         (move_literal): Likewise.
1619         * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
1620         (elf64_hppa_check_relocs): Likewise.
1621         (elf64_hppa_finish_dynamic_symbol): Likewise.
1622         (elf64_hppa_relocate_section): Likewise.
1623         * elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise.
1624         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1625         (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise.
1626         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
1627         (elfNN_vms_section_from_shdr): Likewise.
1628         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1629         (_bfd_sparc_elf_relocate_section): Likewise.
1630         * hp300hpux.c (slurp_symbol_table): Likewise.
1631         * i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise.
1632         * mach-o.c (bfd_mach_o_write_thread): Likewise.
1633         * mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise.
1634         * nlm32-sparc.c (nlm_sparc_read_reloc): Likewise.
1635         * pdp11.c (pdp11_aout_link_input_section): Likewise.
1636         (aout_link_input_section, aout_link_input_bfd): Likewise.
1637         * pe-mips.c (mips_swap_reloc_out): Likewise.
1638         (coff_pe_mips_relocate_section): Likewise.
1639         * som.c (som_bfd_ar_write_symbol_stuff): Likewise.
1640         * vms-alpha.c (_bfd_vms_slurp_egsd): Likewise.
1641         * xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise.
1643         * coff-i860.c (i860_reloc_processing): Avoid set but unused warning.
1644         * coffcode.h (coff_compute_section_file_positions): Likewise.
1645         (coff_slurp_reloc_table): Likewise.
1646         * cpu-arm.c (arm_check_note): Likewise.
1647         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise.
1648         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1649         * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
1650         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1651         * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1652         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1653         * elf32-sh64.c (_bfd_sh_align_load_span): Likewise.
1654         * ieee.c (parse_expression): Likewise.
1655         (ieee_slurp_external_symbols, drop_int): Likewise.
1656         * peXXigen.c (pe_print_pdata): Likewise.
1657         * versados.c (process_esd): Likewise.
1659 2010-06-25  Tristan Gingold  <gingold@adacore.com>
1661         * vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
1662         its flags.  Create an absolute section if needed.
1664 2010-06-25  Tristan Gingold  <gingold@adacore.com>
1666         * vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of
1667         sections.  Mark .vmsdebug section as SEC_DEBUGGING.  Do not create
1668         dummy psect anymore.  Adjust.
1669         (_bfd_vms_write_eeom): Adjust (use target_index instead of index)
1670         (_bfd_vms_write_etir): Ditto.
1671         (start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of
1672         section name.  Adjust.
1674 2010-06-25  Tristan Gingold  <gingold@adacore.com>
1676         * vms-alpha.c (alpha_vms_write_exec): Set linktime field.
1678 2010-06-25  Alan Modra  <amodra@gmail.com>
1680         * elf64-ppc.c (toc_skip_enum): Define.
1681         (ppc64_elf_edit_toc): Use two low bits of skip array as markers.
1682         Optimize largetoc sequences.
1683         (adjust_toc_syms): Update for skip array change.
1684         (ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT.
1686 2010-06-25  Alan Modra  <amodra@gmail.com>
1688         * elf64-ppc.c (is_static_defined): New function.
1689         (get_tls_mask, ppc_type_of_stub): Use it here.
1690         (ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input.
1691         (ppc64_elf_tls_setup): Typo fix.
1692         (adjust_toc_syms): Correctly handle symbols defined past the end
1693         of the toc.  Move syms on removed entries to next entry rather
1694         than to start of toc.
1695         (ppc64_elf_edit_toc): Likewise.  Ensure we only attempt to
1696         edit ppc64 input.  Allocate one extra word in skip array.
1697         Honour info->keep_memory when reading relocs if we can.
1698         Adjust toc relocs after adjusting symbols.
1700 2010-06-23  Nathan Sidwell  <nathan@codesourcery.com>
1702         * archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun
1703         when scaning map.
1705 2010-06-17  Tristan Gingold  <gingold@adacore.com>
1707         * Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ...
1708         (BFD64_BACKENDS_CFILES): ... here.
1709         (BFD32_BACKENDS): Move vms-alpha.lo to ...
1710         (BFD64_BACKENDS): ... here.
1711         * Makefile.in: Regenerate.
1713 2010-06-15  Joseph Myers  <joseph@codesourcery.com>
1715         * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2.
1716         * elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type,
1717         elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes,
1718         elf32_tic6x_merge_private_bfd_data): New.
1719         (bfd_elf32_bfd_merge_private_bfd_data,
1720         elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section,
1721         elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor):
1722         Define.
1723         * elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare.
1725 2010-06-15  Joseph Myers  <joseph@codesourcery.com>
1727         * elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define.
1728         (struct elf_backend_data): Update comment on obj_attrs_order.
1729         * elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents,
1730         _bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1731         instead of hardcoded 4.
1732         * elf32-arm.c (elf32_arm_obj_attrs_order): Use
1733         LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1
1734         instead of hardcoded 4 and 5.
1735         (elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1736         instead of hardcoded 4.
1738 2010-06-14  Kevin Buettner  <kevinb@redhat.com>
1740         * elf32-h8300.c (elf_symbol_leading_char): Define.
1742 2010-06-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
1744         * vms-alpha.c (_bfd_vms_write_egsd): Make sname const.
1746 2010-06-11  Tristan Gingold  <gingold@adacore.com>
1748         * vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute
1749         sections to 0.
1751 2010-06-11  Tristan Gingold  <gingold@adacore.com>
1753         * vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
1755 2010-06-11  Tristan Gingold  <gingold@adacore.com>
1757         * vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const.
1758         Adjust cast.
1759         (_bfd_vms_output_dump): Make DATA argument const, adjust cast.
1760         * vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust.
1761         * vms-alpha.c (evax_section_flags): Make it const.
1762         (vms_secflag_by_name): Remove unused ABFD argument.
1763         Make SECTION_FLAGS and NAME arguments const. Clarify comment.
1764         (vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const.
1765         (_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name.
1766         (_bfd_vms_write_egsd): Remove useless cast.
1768 2010-06-10  Tristan Gingold  <gingold@adacore.com>
1770         * config.bfd: Remove #if/#endif so that som can be compiled on any
1771         host.
1772         * targets.c (_bfd_target_vector): Remove #if/#endif so that som
1773         can be used on any host.
1775 2010-06-10  Tristan Gingold  <gingold@adacore.com>
1777         * som.c: Can now be compiled on any host.
1778         Include bfd headers instead of system one.
1779         (som_compute_checksum): Parameter is now a pointer to a
1780         som_external_header structure.  Adjust.
1781         (struct section_to_type): Field section is now const.
1782         (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional
1783         definition.
1784         (R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto.
1785         (R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto.
1786         (som_swap_clock_in, som_swap_clock_out): New functions.
1787         (som_swap_header_in, som_swap_header_out): Likewise.
1788         (som_swap_space_dictionary_in): Likewise.
1789         (som_swap_space_dictionary_out): Likewise.
1790         (som_swap_subspace_dictionary_in): Likewise.
1791         (som_swap_subspace_dictionary_record_out): Likewise.
1792         (som_swap_aux_id_in, som_swap_aux_id_out): Likewise.
1793         (som_swap_string_auxhdr_out): Likewise.
1794         (som_swap_compilation_unit_out): Likewise.
1795         (som_swap_exec_auxhdr_in): Likewise.
1796         (som_swap_exec_auxhdr_out): Likewise.
1797         (som_swap_lst_header_in): Likewise.
1798         (som_object_setup): Adjust parameter type using bfd types.
1799         (setup_sections): Likewise.  Ditto for object file types.
1800         Use intermediate variables for external representation and use the
1801         swap functions to convert.
1802         (som_object_p): Ditto.  Remove #ifdef/#endif on always defined
1803         macros.
1804         (som_prep_headers): Likewise.
1805         (som_write_symbol_strings): Likewise.
1806         (som_begin_writing): Likewise.
1807         (som_finish_writing): Likewise.
1808         (som_build_and_write_symbol_table): Likewise.
1809         (bfd_section_from_som_symbol): Likewise.
1810         (som_slurp_symbol_table): Likewise.
1811         (som_bfd_print_private_bfd_data): Likewise.
1812         (bfd_som_attach_aux_hdr): Likewise.  Clear the padding.
1813         (bfd_som_attach_compilation_unit): Likewise.
1814         (som_bfd_count_ar_symbols): Likewise.
1815         (som_bfd_fill_in_ar_symbols): Likewise.
1816         (som_slurp_armap): Likewise.
1817         (som_bfd_ar_write_symbol_stuff): Likewise.
1818         (som_write_armap): Likewise.  Use _bfd_ar_spacepad instead of
1819         sprintf to write header fields.
1820         * som.h: Include bfd headers instead of system one.
1821         (FILE_HDR_SIZE, AUX_HDR_SIZE): Removed.
1822         (struct somdata): Use bfd structures instead of system ones.
1823         (struct som_section_data_struct): Likewise.
1824         (struct som_subspace_dictionary_record): Removed (now in
1825         include/som/internal.h)
1827 2010-06-10  Tristan Gingold  <gingold@adacore.com>
1829         * targets.c (bfd_target_list): Remove hp/ux compiler work-around
1830         as bfd requires an ANSI-C compiler.
1832 2010-06-09 Tristan Gingold  <gingold@adacore.com>
1834         * bfdio.c (bfd_bread): Fix the code to prevent reading past the
1835         end of archive members.
1837 2010-06-08  Tristan Gingold  <gingold@adacore.com>
1839         * som.c (som_bfd_free_cached_info): Do not free relocations as
1840         they were allocated with bfd_zalloc.
1842 2010-06-08  Tristan Gingold  <gingold@adacore.com>
1844         * vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment
1845         for the first block.
1847 2010-06-08  Tristan Gingold  <gingold@adacore.com>
1849         * vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function.
1850         * libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare.
1851         * libbfd.h: Regenerate.
1852         * elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS.
1853         (bfd_elfNN_mkarchive): Ditto.
1855 2010-06-02  Tristan Gingold  <gingold@adacore.com>
1857         * vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
1859 2010-06-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1861         * configure: Regenerate.
1863 2010-06-01  Tristan Gingold  <gingold@adacore.com>
1865         * vms-alpha.c (struct vms_private_data_struct): Add
1866         transfer_address field.  Remove unused dst_info field.
1867         (alpha_vms_write_exec): Use transfer_address.
1868         (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
1869         (alpha_vms_bfd_final_link): Set transfer_address.
1871 2010-05-31  Tristan Gingold  <gingold@adacore.com>
1873         * vms-lib.c (credat_lo, credat_hi): New fields.
1874         (vms_read_block): Adjust comments.
1875         (vms_write_block): New function.
1876         (_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
1877         hard-coded values with constants.  Set credat_lo and credat_hi.
1878         (_bfd_vms_lib_mkarchive): Add argument kind.
1879         Set ver, mhd_size and type according to kind.
1880         (_bfd_vms_lib_alpha_mkarchive): New function.
1881         (struct lib_index): Renamed from struct vms_index
1882         (lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
1883         (get_idxlen): Type of idx argument adjusted.  Add is_elfidx
1884         argument and handle it.
1885         (vms_write_index): Adjust argument idx.  Handle elf indexes.
1886         (_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
1887         (_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
1888         use it.  Handle elf indexes.  Set credat.
1889         * libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
1890         (_bfd_vms_lib_alpha_mkarchive): ... this.
1891         * libbfd.h: Regenerated.
1892         * vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
1894 2010-05-28  Sterling Augustine  <sterling@tensilica.com>
1896         * elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
1897         of code to change the bits in the instructions to match the changes
1898         in the relocations.  Declare dest_addr and sym_sec to help.
1900 2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
1902         Workaround GCC PR middle-end/4210.
1903         * vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
1904         and val[3].
1906 2010-05-27  Tristan Gingold  <gingold@adacore.com>
1908         * vms-misc.c: Define __NEW_STARLET.  Remove trailing spaces.
1909         (VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
1910         (vms_time_to_time_t): Use them instead of local const.
1911         (vms_time_t_to_vms_time): New function.
1912         (vms_get_time): Likewise.
1913         (vms_raw_get_time): Likewise.
1914         * vms.h (vms_time_t_to_vms_time): New declaration.
1915         (vms_get_time): Likewise.
1916         (vms_raw_get_time): Likewise.
1918 2010-05-26  Tristan Gingold  <gingold@adacore.com>
1920         * vms-alpha.c: Update comments.
1921         (alpha_vms_write_exec): Set lnkflags.  Write the GST.
1922         (alpha_vms_link_output_symbol): New function.
1923         (alpha_vms_bfd_final_link): Generate the VMS symbol table.
1924         Set dst_section private field.
1925         (alpha_vms_bfd_final_link): Remove code that set dst_section.
1927 2010-05-26  Tristan Gingold  <gingold@adacore.com>
1929         * bfdio.c: Declare and define _bfd_memory_iovec.
1930         (bfd_bread): Move code for BFD_IN_MEMORY...
1931         (bfd_bwrite): ... Ditto ...
1932         (bfd_tell): ... Ditto ...
1933         (bfd_flush): ... Ditto ...
1934         (bfd_stat): ... Ditto ...
1935         (bfd_seek): ... Ditto ...
1936         (bfd_get_size): ... Ditto ...
1937         (bfd_mmap): ... Ditto ...
1938         (memory_bread): ... to these new functions.
1939         (memory_bwrite): Ditto.
1940         (memory_btell): Ditto.
1941         (memory_bseek): Ditto.
1942         (memory_bflush): Ditto.
1943         (memory_bstat): Ditto.
1944         (memory_bmmap): Ditto.
1945         (memory_bclose): New function.
1946         * peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
1947         * xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
1948         * opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
1949         (bfd_make_writable): Use _bfd_memory_iovec.
1950         * elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
1951         * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
1952         _bfd_memory_iovec.
1953         (alpha_ecoff_openr_next_archived_file): Use proxy_origin
1954         instead of origin.
1955         * libbfd.h: Regenerate.
1957 2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
1958             Joseph Myers  <joseph@codesourcery.com>
1959             Andrew Stubbs  <ams@codesourcery.com>
1961         * config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
1962         bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
1963         * configure.in: Handle FDPIC vectors.
1964         * elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
1965         * elf32-sh.c (DEFAULT_STACK_SIZE): Define.
1966         (SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
1967         SYMBOL_REFERENCES_LOCAL for function descriptors.
1968         (fdpic_object_p): New.
1969         (sh_reloc_map): Add FDPIC and movi20 relocations.
1970         (sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
1971         range.
1972         (struct elf_sh_plt_info): Add got20 and short_plt.  Update all
1973         definitions.
1974         (FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
1975         (fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
1976         (FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
1977         (fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
1978         (fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
1979         New.
1980         (get_plt_info): Handle FDPIC.
1981         (MAX_SHORT_PLT): Define.
1982         (get_plt_index, get_plt_offset): Handle short_plt.
1983         (union gotref): New.
1984         (struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
1985         got_type and adjust all uses.  Add GOT_FUNCDESC.
1986         (struct sh_elf_obj_tdata): Add local_funcdesc.  Rename
1987         local_got_tls_type to local_got_type.
1988         (sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
1989         users changed.
1990         (sh_elf_local_funcdesc): Define.
1991         (struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
1992         and srofixup.
1993         (sh_elf_link_hash_newfunc): Initialize new fields.
1994         (sh_elf_link_hash_table_create): Set fdpic_p.
1995         (sh_elf_omit_section_dynsym): New.
1996         (create_got_section): Create .got.funcdesc, .rela.got.funcdesc
1997         and .rofixup.
1998         (allocate_dynrelocs): Allocate local function descriptors and space
1999         for R_SH_FUNCDESC-related relocations, and for rofixups.
2000         Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
2001         require function descriptors.
2002         (sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
2003         (sh_elf_modify_program_headers): New.
2004         (sh_elf_size_dynamic_sections): Allocate function descriptors for
2005         local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
2006         Handle local GOT entries of type GOT_FUNCDESC.  Create fixups for
2007         local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
2008         entry in the .dynamic section.
2009         (sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
2010         (sh_elf_add_rofixup, sh_elf_osec_to_segment)
2011         (sh_elf_osec_readonly_p, install_movi20_field): New functions.
2012         (sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
2013         R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
2014         and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.  Add rofixup
2015         read-only section warnings.  Handle undefined weak symbols.  Generate
2016         fixups for R_SH_DIR32 and GOT entries.  Check for cross-segment
2017         relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
2018         Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2019         (sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
2020         R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
2021         Handle 20-bit relocations.
2022         (sh_elf_copy_indirect_symbol): Copy function descriptor reference
2023         counts.
2024         (sh_elf_check_relocs): Handle new relocations.  Make symbols
2025         dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
2026         symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
2027         for R_SH_DIR32.
2028         (sh_elf_copy_private_data): Copy PT_GNU_STACK size.
2029         (sh_elf_merge_private_data): Copy initial flags.  Do not clobber
2030         non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
2031         (sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
2032         here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
2033         FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
2034         Use install_movi20_field.  Rename srel to srelgot.  Always generate
2035         R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2036         (sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
2037         Do not fill in reserved GOT entries for FDPIC.  Correct DT_PLTGOT.
2038         Rename sgot to sgotplt.  Assert that the right number of rofixups
2039         and dynamic relocations were allocated.
2040         (sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
2041         (elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
2042         (elf_backend_can_make_relative_eh_frame)
2043         (elf_backend_can_make_lsda_relative_eh_frame)
2044         (elf_backend_encode_eh_address): Define.
2045         (TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
2046         (TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
2047         Redefine for FDPIC vector.
2048         * reloc.c: Add SH FDPIC and movi20 relocations.
2049         * targets.c (_bfd_target_vector): Add FDPIC vectors.
2050         * configure, bfd-in2.h, libbfd.h: Regenerated.
2052 2010-05-25  Jay Krell  <jay.krell@cornell.edu>
2054         PR ld/11624
2055         * archive.c (_bfd_calloc_wrapper): New function.
2056         (_bfd_add_bfd_to_archive_cache): Use it.
2058         * configure.in: Add alpha*-*-*vms* to list of natives.
2059         * configure: Regenerate.
2061         * vms-misc.c: Define globalref if necessary.
2062         (vms_convert_to_var_unix_filename): Rename to
2063         _bfd_vms_convert_to_var_unix_filename and export.
2064         * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
2065         * vms-alpha.c (vms_close_and_cleanup): Update invocation of
2066         vms_convert_to_var_unix_filename.
2068 2010-05-24  Tristan Gingold  <gingold@adacore.com>
2070         * vms-alpha.c (add_symbol_entry): New function extrated from ...
2071         (add_symbol): ... adjusted.
2073 2010-05-24  Tristan Gingold  <gingold@adacore.com>
2075         * vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation.
2076         (alpha_vms_write_exec): Add a comment.
2077         (_bfd_vms_write_egsd): Ditto.
2078         (alpha_vms_convert_symbol): Remove a blank line.
2080 2010-05-21  Tristan Gingold  <gingold@adacore.com>
2082         * vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section
2083         for the GST.
2085 2010-05-21  Tristan Gingold  <gingold@adacore.com>
2087         * vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
2088         SEC_LOAD if isect has data.
2089         (vms_get_symbol_info): Refine the condition for 'T' type.
2091 2010-05-18  Tristan Gingold  <gingold@adacore.com>
2093         * vms-alpha.c (_bfd_vms_write_emh): New function.
2094         (_bfd_vms_write_lmn): New function.
2095         (_bfd_vms_write_eeom): Moved.
2096         (hash_string): Likewise.
2097         (_bfd_vms_length_hash_symbol): Likewise.
2098         (_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh
2099         and _bfd_vms_write_lmn, and call these functions.
2101 2010-05-18  Tristan Gingold  <gingold@adacore.com>
2103         * vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
2104         Add details in the messages.
2105         (evax_bfd_print_image): Change message.
2107 2010-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2109         PR gas/11600
2110         * elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE
2111         (elf_fake_sections): Likewise.
2113         * elf32-i370.c (i370_elf_section_from_shdr): Don't handle
2114         SHF_EXCLUDE here.
2115         * elf32-ppc.c (ppc_elf_fake_sections): Likewise.
2117 2010-05-17  Tristan Gingold  <gingold@adacore.com>
2119         * vms-alpha.c: Include esgps.h and eidc.h.
2120         (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records.
2121         (evax_bfd_print_egsd_flags): New function, extracted from ...
2122         (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags.  Handles
2123         EGSD__C_SPSC and EGSD__C_IDC.
2125 2010-05-14  Tristan Gingold  <gingold@adacore.com>
2127         * vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
2128         (_bfd_vms_get_object_record): Handle align byte only in the
2129         foreign case.
2131 2010-05-14  Tristan Gingold  <gingold@adacore.com>
2133         * vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function.
2134         * libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype.
2135         * libbfd.h: Regenerate.
2136         * configure.in (havevecs): Define HAVE_all_vecs when
2137         --enable-targets=all is set.  Use AC_SUBST on it.
2138         (tdefaults): Do not add havevecs.
2139         (bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo
2140         * configure: Regenerate.
2141         * Makefile.am (HAVEVECS): New variable.
2142         (INCLUDES): Add HAVEVECS.
2143         * Makefile.in: Regenerate.
2144         * elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms
2145         target is selected.  Add #ifdef/#endif around vms specific code.
2146         (bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap,
2147         bfd_elfNN_archive_slurp_extended_name_table,
2148         bfd_elfNN_archive_construct_extended_name_table,
2149         bfd_elfNN_archive_truncate_arname,
2150         bfd_elfNN_archive_write_armap,
2151         bfd_elfNN_archive_read_ar_hdr,
2152         bfd_elfNN_archive_write_ar_hdr,
2153         bfd_elfNN_archive_openr_next_archived_file,
2154         bfd_elfNN_archive_get_elt_at_index,
2155         bfd_elfNN_archive_generic_stat_arch_elt,
2156         bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives.
2158 2010-05-11  Jie Zhang  <jie@codesourcery.com>
2160         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
2161         Tag_ABI_HardFP_use correctly.
2163 2010-05-11  Alan Modra  <amodra@gmail.com>
2165         * coffcode.h (coff_write_object_contents): Enclose all occurrences
2166         of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE.
2168 2010-05-07  Daniel Jacobowitz  <dan@codesourcery.com>
2170         * elf32-arm.c (struct a8_erratum_reloc): Add hash member.  Move
2171         sym_name to improve packing.
2172         (cortex_a8_erratum_scan): Check for PLT entries.
2173         (elf32_arm_size_stubs): Save the target symbol for a8 relocs.
2175 2010-05-07  Tristan Gingold  <gingold@adacore.com>
2177         * Makefile.in: Regenerate with automake 1.11.1.
2178         * aclocal.m4: Ditto.
2180 2010-05-05  Nick Clifton  <nickc@redhat.com>
2182         * po/es.po: Updated Spanish translation.
2184 2010-05-03  Tristan Gingold  <gingold@adacore.com>
2186         * vms-lib.c (vms_lib_bopen): Fix the size threshold to read
2187         selective_search flag.
2188         Add comments.
2189         * vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section
2190         before output_has_begun is set.
2192 2010-05-03  Tristan Gingold  <gingold@adacore.com>
2194         * vms-alpha.c: Add comments.
2195         (struct vms_private_data_struct): Remove image_autoextend field.
2196         (dst_check_allocation): Removed.
2197         (image_write): Remove call to dst_check_allocation.
2198         (vms_slurp_debug): Do not set image_autoextend.  Adjust section
2199         size.
2200         (_bfd_vms_slurp_object_records): Remove useless new_type variable.
2201         (alpha_vms_write_exec): Use dst_section to get the dst section.
2202         Write the dmt section.
2203         (evax_bfd_print_image): Also print the dst size in hexa.  Fix typo.
2204         (alpha_vms_read_sections_content): Do not set image_autoextend.
2205         (alpha_vms_bfd_final_link): Generate the dst.
2207 2010-05-03  Tristan Gingold  <gingold@adacore.com>
2209         * vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty
2210         next array.
2211         (vms_lib_dcx): Adjust for the above change.
2213 2010-04-30  H.J. Lu  <hongjiu.lu@intel.com>
2215         PR ld/11542
2216         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New.
2218         * elf32-i386.c (elf_i386_relocate_section): Use it.
2219         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2221 2010-04-30  Tristan Gingold  <gingold@adacore.com>
2223         * vms-lib.c (vms_read_block): New function.
2224         (vms_traverse_index): Use vms_read_block.  Handle long key names.
2226 2010-04-30  Tristan Gingold  <gingold@adacore.com>
2228         * vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms
2229         and syms removed.
2230         (struct carsym_mem): New structure.
2231         (vms_add_index): New function.
2232         (vms_add_indexes_from_list): New function.
2233         (vms_traverse_index): Parameter carsym changed to carsym_mem.
2234         Code adjusted to handle elfidx.
2235         (vms_lib_read_index): Adjusted for vms_traverse_index changes.
2236         Parameter NBREL is now a pointer.
2237         (_bfd_vms_lib_archive_p): Adjust for above change.  Handle ia64
2238         archives.
2239         (_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata.
2240         (_bfd_vms_lib_find_symbol): Ditto.
2241         (vms_lib_bopen): Fix two typos: return FALSE in case of error,
2242         check MHD id.
2243         (_bfd_vms_lib_get_module): New function.
2244         (_bfd_vms_lib_get_elt_at_index): Rewritten using the above
2245         function.
2246         (_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module.
2247         (_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives.
2248         (vms_write_index): Adjust for structure renamed.
2249         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for
2250         changes of _bfd_vms_lib_find_symbol.
2252 2010-04-28  Kai Tietz  <kai.tietz@onevision.com>
2254         * config.bfd: Correct accidential reverted patch
2255         about vax*-*-*vms*.
2257 2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
2259         * pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent
2260         to USE_MINGW64_LEADING_UNDERSCORES.
2261         * pei-x86_64.c (TARGET_UNDERSCORE): Likewise.
2262         * config.bfd: Change underscoring default for x64 mingw
2263         to false.
2264         * coffcode.h (coff_write_relocs): Add check that dereferenced
2265         sym_ptr_ptr isn't NULL.
2266         * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
2267         * configure: Regenerated.
2268         * configure.in: Add option '--enable-leading-mingw64-underscores'
2269         and define config.in variable USE_MINGW64_LEADING_UNDERSCORES.
2271 2010-04-27  Nick Clifton  <nickc@redhat.com>
2273         PR binutils/11512
2274         * coffgen.c (coff_find_nearest_line): Incldue the section address
2275         of function name symbols in address comparisons.
2277 2010-04-27  Nick Clifton  <nickc@redhat.com>
2279         * po/fr.po: Updated French translation.
2281 2010-04-23  Alan Modra  <amodra@gmail.com>
2283         * elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and
2284         ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT
2285         throughout file.
2286         (assign_file_positions_for_load_sections): Modify section in
2287         segment warning to ignore overlay vmas.
2288         * elf32-spu.c (spu_elf_object_p): Replace use of
2289         ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT.
2291 2010-04-22  Nick Clifton  <nickc@redhat.com>
2293         * po/bfd.pot: Updated by the Translation project.
2294         * po/vi.po: Updated Vietnamese translation.
2296 2010-04-22  Alan Modra  <amodra@gmail.com>
2298         * elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29
2299         change.  Tidy.  Don't error on sections not allocated in segment.
2301 2010-04-15  Andrew Haley  <aph@redhat.com>
2303         * bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag:
2304         merge_exidx_entries.
2305         * bfd-in2.h: Likewise.
2306         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise.  Use it to
2307         control merging of exidx entries.
2309 2010-04-20  Joseph Myers  <joseph@codesourcery.com>
2311         * elf32-tic6x.h: New.
2312         * elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
2313         * elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
2314         elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
2315         elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
2316         elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
2317         bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
2318         (elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
2319         elf32_tic6x_relocate_section): Handle REL relocations.
2320         (elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.
2322 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
2324         * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
2325         DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
2327 2010-04-19  Nick Clifton  <nickc@redhat.com>
2329         * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
2330         arhdrpos variable.
2331         * elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
2332         attribute to warned variable.  Remove unused val, type and type2
2333         variables.
2335 2010-04-16  Andreas Schwab  <schwab@redhat.com>
2337         * vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
2338         strict-aliasing rules.
2340 2010-04-16  Tristan Gingold  <gingold@adacore.com>
2342         * vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
2343         (_bfd_vms_get_object_record): Always assume there is a pad byte
2344         for alignment.
2346         * vms-lib.c: Add a few comments.
2348 2010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2350         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to
2351         attributes in v2.08 of the ABI.
2353 2010-04-15  Alan Modra  <amodra@gmail.com>
2355         * config.bfd (vax*-*-*vms*): Delete.
2357 2010-04-14  Tristan Gingold  <gingold@adacore.com>
2359         * Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
2360         vms-tir.lo, vms.lo and add vms-alpha.lo
2361         (BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
2362         vms-tir.c, vms.c and add vms-alpha.c
2363         * Makefile.in: Regenerate.
2364         * configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
2365         Remove vms_vax_vec.
2366         * configure: Regenerate.
2367         * targets.c (vms_vax_vec): Remove the declaration.
2368         (_bfd_target_vector): Remove vms_vax_vec.
2369         * vms-alpha.c: New file.
2370         * vms-gsd.c: Removed, rewritten in vms-alpha.c
2371         * vms-hdr.c: Ditto.
2372         * vms-tir.c: Ditto.
2373         * vms.c: Ditto.
2374         * vms-misc.c: Fix indentation and comments.  Replace most of
2375         #if VMS_DEBUG/vms_debug with vms_debug2.
2376         (_bfd_vms_hash_newfunc): Moved to vms-alpha.c
2377         (hash_string): Ditto.
2378         (_bfd_vms_length_hash_symbol): Ditto.
2379         (maybe_adjust_record_pointer_for_object): Ditto.
2380         (_bfd_vms_get_object_record): Ditto.
2381         (vms_get_remaining_object_record): Ditto.
2382         (_bfd_vms_push): Ditto.
2383         (_bfd_vms_pop): Ditto.
2384         (_bfd_vms_get_header_values): Removed.
2385         (_bfd_vms_get_first_record): Removed.
2386         (vms_get_remaining_image_record): Removed.
2387         (new_symbol): Removed.
2388         (_bfd_vms_enter_symbol): Removed.
2389         (_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
2390         (_bfd_vms_output_begin): Remove rechead parameter.  Replace bfd
2391         parameter with struct vms_rec_wr.
2392         (_bfd_vms_output_push): Removed and replaced by ...
2393         (_bfd_vms_output_begin_subrec): ... new function.
2394         (_bfd_vms_output_alignment): Replace bfd parameter with
2395         struct vms_rec_wr, and adjust.
2396         (_bfd_vms_output_check): Ditto
2397         (_bfd_vms_output_byte): Ditto.
2398         (_bfd_vms_output_short): Ditto.
2399         (_bfd_vms_output_long): Ditto.
2400         (_bfd_vms_output_quad): Ditto.
2401         (_bfd_vms_output_counted): Ditto.
2402         (_bfd_vms_output_dump): Ditto.
2403         (_bfd_vms_output_fill): Ditto.
2404         (_bfd_vms_output_pop): Removed and replaced by ...
2405         (_bfd_vms_output_end_subrec): ... new function.
2406         (_bfd_vms_output_flush): Removed.
2407         (_bfd_vms_output_align): New function.
2408         (_bfd_vms_output_end): Add recwr parameter.  Adjust for this new
2409         parameter.
2410         (vms_convert_to_var): New function imported from vms.c
2411         (vms_convert_to_var_1): Ditto.
2412         (vms_convert_to_var_unix_filename): Ditto.
2413         (vms_get_module_name): Ditto.
2414         (get_vms_time_string): Ditto.
2415         (vms_time_to_time_t): Ditto.
2416         (vms_rawtime_to_time_t): Ditto.
2417         * vms.h: All macros for the VMS file format are now in include/vms.
2418         Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
2419         have been removed.
2420         (struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
2421         (struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
2422         (struct funcinfo, struct vms_private_data_struct): Ditto.
2423         (struct vms_section_data_struct): Ditto.
2424         (struct vms_rec_rd, stryct vms_rec_wr): New declarations.
2425         (vms_get_module_name, get_vms_time_string): New declarations.
2426         (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2427         (_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
2428         (_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
2429         (_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
2430         (_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
2431         (_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
2432         (_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
2433         (_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
2434         (_bfd_vms_output_fill): Ditto.
2435         (bfd_vms_set_section_flags): Ditto.
2437 2010-04-14  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2439         * elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
2440         exit due to merging the same weak symbol to test that the symbols are
2441         actually weak.
2443 2010-04-13  Alan Modra  <amodra@gmail.com>
2445         * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
2446         when optimizing high got_tlsgd/ld insns.
2448 2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2450         * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
2451         define.
2452         (HAVE_PRSTATUS32_T): Likewise.
2454 2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2456         PR corefiles/11467
2457         * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
2458         for x86_64-*-linux*.
2459         * config.in: Regenerated.
2460         * configure: Likewise.
2462         * elf.c: Include CORE_HEADER if it is defined.
2464 2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2465             Jan Kratochvil  <jan.kratochvil@redhat.com>
2467         * hosts/x86-64linux.h: New.
2469 2010-04-09  Nick Clifton  <nickc@redhat.com>
2471         * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
2472         * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
2473         variables htab and hdr_info and mark info parameter as unused.
2474         * elf.c (prep_headers): Remove unused variable i_phdrp.
2475         (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
2476         * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
2477         as unused.
2478         * peXXigen.c (pe_print_reloc): Remove unused variable datasize.
2479         * verilog.c (verilog_write_section): Remove unused variable
2480         address.
2482 2010-04-07  Alan Modra  <amodra@gmail.com>
2484         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
2485         * configure: Regenerate.
2487 2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>
2489         PR ld/11434
2490         * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
2492 2010-04-06  Tristan Gingold  <gingold@adacore.com>
2494         * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
2496 2010-04-05  Jakub Jelinek  <jakub@redhat.com>
2498         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
2499         provided that it has the expected address size and zero segment
2500         length.
2502         * dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
2503         (struct line_info): Add op_index field, change end_sequence type to
2504         unsigned char.
2505         (new_line_sorts_after): For the same address compare op_index.
2506         (add_line_info): Add op_index argument, store it into the structure.
2507         (decode_line_info): Complain about unknown versions of .debug_line.
2508         Initialize maximum_ops_per_insn.  Add op_index state register and
2509         track it.
2511 2010-04-01  Nathan Sidwell  <nathan@codesourcery.com>
2513         * elf32-ppc.c (apuinfo_set): New static var.
2514         (ppc_elf_begin_write_processing): Set it here, always create an
2515         APUinfo section if there were any in the inputs.
2516         (ppc_elf_write_section): Check apuinfo_set.
2517         (ppc_elf_final_write_processing): Likewise.
2519 2010-04-01  Tristan Gingold  <gingold@adacore.com>
2521         * vms.h: Include time.h. Add prototypes for vms_get_module_name,
2522         vms_time_to_time_t and vms_rawtime_to_time_t.
2523         * vms.c (vms_alpha_vec): Add archives support.
2524         * vms-misc.c: Include safe-ctype.h
2525         (vms_get_module_name): New function.
2526         (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2527         * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
2528         vms_get_module_name function.  Use this function.
2529         * targets.c: Declare vms_lib_txt_vec.  Add it to _bfd_target_vector.
2530         * libbfd-in.h: Add prototype for _bfd_append_relative_path.
2531         Add prototypes for vms-lib.c
2532         * libbfd.h: Regenerate.
2533         * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec.  Add
2534         vms-lib.lo to vms_alpha_vec.
2535         * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
2536         * configure: Regenerate.
2537         * bfd.c: Add selective_search field.
2538         * bfd-in2.h: Regenerate.
2539         * archive.c (append_relative_path): Rename to
2540         _bfd_append_relative_path and make it public.
2541         (_bfd_get_elt_at_filepos): Adjust for above renaming.
2542         * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
2543         (BFD32_BACKENDS_CFILES): Add vms-lib.c
2544         * Makefile.in: Regenerate.
2546 2010-04-01  Jakub Jelinek  <jakub@redhat.com>
2548         * dwarf2.c (read_attribute_value): Handle CU version 4
2549         for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
2550         and DW_FORM_flag_present.  For unknown form value return NULL.
2551         (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
2552         like DW_FORM_block.
2553         (parse_comp_unit): Allow CU version 4.
2555 2010-04-01  Hans-Peter Nilsson  <hp@axis.com>
2557         * elf32-cris.c (cris_elf_relocate_section): Correct first argument
2558         to _bfd_elf_get_dynamic_reloc_section.
2559         (elf_cris_discard_excess_dso_dynamics): Ditto.
2561 2010-03-31  Kai Tietz  <kai.tietz@onevision.com>
2563         * coff-i386.c (in_reloc_p): Check also for R_SECREL32.
2564         * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
2566 2010-03-31  Alan Modra  <amodra@gmail.com>
2568         * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
2569         TPREL16_HI and TPREL16_HA insns.
2571 2010-03-31  Hans-Peter Nilsson  <hp@axis.com>
2573         PR ld/11458
2574         * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
2575         assert of empty pcrel_relocs_copied on the direct symbol.  Instead
2576         of moving the list from the indirect symbol to the direct symbol,
2577         merge into any existing list.
2578         (cris_elf_check_relocs): Store the original section in the
2579         pcrel_relocs_copied list, not the relocation section.
2580         (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
2581         the relocation section, for reducing its size.  Change the
2582         BFD_ASSERT into a check for the section being read-only, and only
2583         emit warnings and TEXTREL marker when there's an entry for a
2584         read-only section.
2586 2010-03-29  Daniel Jacobowitz  <dan@codesourcery.com>
2588         * elf32-arm.c (using_thumb_only): Handle v6-M.
2590 2010-03-26  Alan Modra  <amodra@gmail.com>
2592         * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
2593         * bfd-in.h (elf_discarded_section): Clarify comment.
2594         * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
2595         * bfd-in2.h: Regenerate.
2597 2010-03-26  Matt Rice  <ratmice@gmail.com>
2599         * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
2600         as unique in the armap.
2602 2010-03-26  Alan Modra  <amodra@gmail.com>
2604         PR ld/11375
2605         * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
2606         possible stub on branches.
2608 2010-03-25  Joseph Myers  <joseph@codesourcery.com>
2610         * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
2611         (ALL_MACHINES_CFILES): Add cpu-tic6x.c.
2612         (BFD32_BACKENDS): Add elf32-tic6x.lo.
2613         (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
2614         * Makefile.in: Regenerate.
2615         * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
2616         (bfd_archures_list): Update.
2617         * config.bfd (tic6x-*-elf): New.
2618         * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
2619         New.
2620         * configure: Regenerate.
2621         * cpu-tic6x.c, elf32-tic6x.c: New.
2622         * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
2623         BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
2624         BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
2625         BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
2626         BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
2627         BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
2628         BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
2629         BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
2630         BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
2631         BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
2632         BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
2633         BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
2634         BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
2635         * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
2636         (_bfd_target_vector): Update.
2637         * bfd-in2.h, libbfd.h: Regenerate.
2639 2010-03-24  H.J. Lu  <hongjiu.lu@intel.com>
2641         * aout-target.h: Update copyright year.
2642         * aout-tic30.c: Likewise.
2643         * coff-alpha.c: Likewise.
2644         * coff-rs6000.c: Likewise.
2645         * coff64-rs6000.c: Likewise.
2646         * elf64-mips.c: Likewise.
2647         * ieee.c: Likewise.
2648         * libecoff.h: Likewise.
2649         * mach-o-target.c: Likewise.
2650         * mach-o.c: Likewise.
2651         * oasys.c: Likewise.
2652         * targets.c: Likewise.
2654 2010-03-24  H.J. Lu  <hongjiu.lu@intel.com>
2656         * libbfd-in.h: Update copyright year.
2658 2010-03-21  H.J. Lu  <hongjiu.lu@intel.com>
2660         PR ld/11413
2661         * elflink.c (_bfd_elf_add_default_symbol): Check !executable
2662         instead of shared.
2664 2010-03-19  Jie Zhang  <jie@codesourcery.com>
2666         * elf32-arm.c (struct section_list): Remove.
2667         (section_list): Remove typedef.
2668         (record_section_with_arm_elf_section_data): Remove.
2669         (find_arm_elf_section_entry): Remove.
2670         (get_arm_elf_section_data): Use is_arm_elf.
2671         (unrecord_section_with_arm_elf_section_data): Remove.
2672         (elf32_arm_new_section_hook): Don't call
2673         record_section_with_arm_elf_section_data.
2674         (elf32_arm_write_section): Set mapcount to -1 when
2675         the map has been used. Don't call
2676         unrecord_section_with_arm_elf_section_data.
2677         (unrecord_section_via_map_over_sections): Remove.
2678         (elf32_arm_close_and_cleanup): Remove.
2679         (elf32_arm_bfd_free_cached_info): Remove.
2680         (bfd_elf32_close_and_cleanup): Don't define.
2681         (bfd_elf32_bfd_free_cached_info): Don't define.
2683 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2685         PR binutils/11396
2686         * libcoff-in.h (pe_tdata): Add dont_strip_reloc.
2687         * libcoff.h: Regenerated.
2689         * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
2690         if dont_strip_reloc is set.
2691         (_bfd_XX_bfd_copy_private_bfd_data_common): Set
2692         dont_strip_reloc on output if there is no .reloc and
2693         IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
2695 2010-03-18  Wei Guozhi  <carrot@google.com>
2697         PR gas/11323
2698         * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
2699         R_ARM_GOT_PREL.
2700         * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
2701         * bfd-in2.h: Regenerate.
2702         * libbfd.h: Regenerate.
2704 2010-03-17  H.J. Lu  <hongjiu.lu@intel.com>
2706         * reloc.c (BFD_RELOC_SPU_PIC18): Removed.
2707         (BFD_RELOC_SPU_STUB): Likewise.
2709 2010-03-17  Jie Zhang  <jie@codesourcery.com>
2711         * elf.c (assign_file_positions_for_load_sections): Avoid
2712         overflow.
2714 2010-03-17  Alan Modra  <amodra@gmail.com>
2716         PR binutils/11382
2717         * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
2718         proper type.
2720 2010-03-17  Alan Modra  <amodra@gmail.com>
2722         * elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
2724 2010-03-16  Alan Modra  <amodra@gmail.com>
2726         * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
2727         (ppc64_elf_edit_toc): Set it here.
2728         (ha_reloc_match): New function.
2729         (ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
2731 2010-03-15  Alan Modra  <amodra@gmail.com>
2733         * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
2734         * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
2736 2010-03-14  Alan Modra  <amodra@gmail.com>
2738         PR ld/11378
2739         * elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
2740         * elf64-ppc.c (call_check_done): Define.
2741         (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
2742         (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
2743         (ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
2744         (toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
2745         Simplify return logic.  Iterate over all .init and .fini fragments
2746         by recursion.  Set makes_toc_func_call here..
2747         (ppc64_elf_next_input_section): ..rather than here.
2748         (check_pasted_section, ppc64_elf_check_init_fini): New functions.
2750 2010-03-13  Alan Modra  <amodra@gmail.com>
2752         PR ld/11375
2753         * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
2754         function descriptor symbol if there is one, not just for plt stubs.
2755         (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
2757 2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2759         * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
2760         version twice.
2761         Skip it when constructing def.vd_next.
2763         * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
2764         bfd_elf32_i386_sol2_vec.
2765         (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
2766         (elf32_bed): Redefine to elf32_i386_sol2_bed.
2767         (elf_backend_want_plt_sym): Redefine to 1.
2769         * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
2770         bfd_elf64_x86_64_sol2_vec.
2771         (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
2772         (elf64_bed): Redefine to elf64_x86_64_sol2_bed.
2773         (elf_backend_want_plt_sym): Redefine to 1.
2775         * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
2776         bfd_elf32_i386_sol2_vec.
2777         Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2778         targ64_selvecs.
2779         (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
2780         Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2781         targ_selvecs.
2783         * configure.in: Handle bfd_elf32_i386_sol2_vec,
2784         bfd_elf64_x86_64_sol2_vec.
2785         * configure: Regenerate.
2787         * targets.c (bfd_elf32_i386_sol2_vec): Declare.
2788         (bfd_elf64_x86_64_sol2_vec): Declare.
2789         (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
2790         bfd_elf64_x86_64_sol2_vec.
2792 2010-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
2794         * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
2795         sections.
2797 2010-03-04  Alan Modra  <amodra@gmail.com>
2799         PR 11302
2800         * dwarf2.c (read_abbrevs): Return NULL on alloc failures.
2801         (read_attribute_value, decode_line_info): Likewise.
2802         (add_line_info, read_rangelist): Return FALSE on alloc failures.
2803         (arange_add, sort_line_sequences): Likewise.
2804         (find_abstract_instance_name): Handle failures from called funcs.
2805         (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
2806         (find_line): Realloc to a temp, and handle alloc fail.
2808 2010-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
2810         * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
2811         a mapping symbol to an empty section.
2813 2010-03-02  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2815         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
2816         return value from the call to _bfd_elf_merge_object_attributes.
2818 2010-03-02  Christophe Lyon  <christophe.lyon@st.com>
2819         Alan Modra  <amodra@gmail.com>
2821         * elf32-arm.c (a8_erratum_fix): Add st_type field to record the
2822         destination mode of the a8 stub.
2823         (elf32_arm_link_hash_table): Add top_id field.
2824         (elf32_arm_link_hash_table_create): Initialize top_id.
2825         (arm_type_of_stub): Update prototype, st_type can now be updated
2826         by this function. Actual destination address in case of PLT is
2827         computed here, to help factorizing code.
2828         (elf32_arm_stub_name): Update prototype, use stub_type additional
2829         parameter to build stub name.
2830         (elf32_arm_get_stub_entry): Update prototype, use stub_type
2831         additional parameter to build stub entry.
2832         (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
2833         put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
2834         Call elf32_arm_final_link_relocate to process all in-stub
2835         relocations.
2836         (elf32_arm_setup_section_lists): Update top_id.
2837         (cortex_a8_erratum_scan): Record stub destination mode.
2838         (elf32_arm_size_stubs): Update call to arm_type_of_stub according
2839         to new prototype.
2840         (elf32_arm_final_link_relocate): Enable processing of in-stub
2841         REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
2842         needed, enabling code factorization.
2843         (elf32_arm_final_link): Process stub sections.
2844         (elf32_arm_output_map_sym): Add entry to code/data map.
2846 2010-03-01  David S. Miller  <davem@davemloft.net>
2848         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
2849         h->def_regular, set h->ref_regular.
2850         (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
2851         and dynamic relocations if h->ref_regular.
2853         * elfxx-sparc.c (struct elf_reloc_map): Delete.
2854         (sparc_reloc_map): Delete.
2855         (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
2856         relocation type in switch statements.
2858 2010-02-25  Alan Modra  <amodra@gmail.com>
2860         PR ld/11304
2861         * elf.c (_bfd_elf_init_private_section_data): Rename need_group
2862         to final_link and invert.  For final link allow some flags to
2863         differ.  Don't specially allow flags to be all zero.
2865 2010-02-24  Alan Modra  <amodra@gmail.com>
2867         PR binutils/10858
2868         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise
2869         SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol
2870         table.
2872 2010-02-23  Andrew Zabolotny  <anpaza@mail.ru>
2874         PR binutils/11297
2875         * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8.
2876         (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8.
2878 2010-02-22  Alan Modra  <amodra@gmail.com>
2880         * reloc.c (bfd_check_overflow): When forming addrmask, shift
2881         fieldmask left by rightshift.
2882         (_bfd_relocate_contents): Likewise.  Use rightshift addrmask in all
2883         overflow checks.
2885 2010-02-20  H.J. Lu  <hongjiu.lu@intel.com>
2887         * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check
2888         STT_GNU_IFUNC on large common symbol.
2890 2010-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2892         * elf32-i386.c (elf_i386_add_symbol_hook): Don't set
2893         has_ifunc_symbols if the symbol comes from a shared library.
2894         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2895         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2896         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2897         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2898         * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise.
2900 2010-02-19  Alan Modra  <amodra@gmail.com>
2902         * elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
2903         (_bfd_elf_copy_private_header_data): ..here.
2904         * elflink.c (_bfd_elf_size_group_sections): New function.
2905         (bfd_elf_size_dynamic_sections): Call it.
2906         * elf-bfd.h (_bfd_elf_size_group_sections): Declare.
2907         (_bfd_elf_fixup_group_sections): Declare.
2909 2010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2911         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
2912         merging Tag_DIV_use, Tag_MPextension_use, and
2913         Tag_MPextension_use_legacy tags.
2915 2010-02-18  Alan Modra  <amodra@gmail.com>
2917         * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15
2918         commit.  Don't write zeros for removed group members.
2919         (_bfd_elf_copy_private_header_data): Adjust size of group section
2920         when group members are removed by objcopy.
2922 2010-02-15  Dave Korn  <dave.korn.cygwin@gmail.com>
2924         PR binutils/11280
2925         * configure.host (*-*-solaris2.11):  Add host define to select
2926         valid default code page for windres/windmc on solaris.
2928 2010-02-15  Nick Clifton  <nickc@redhat.com>
2930         * po/vi.po: Updated Vietnamese translation.
2932 2010-02-12  Daniel Gutson  <dgutson@codesourcery.com>
2934         * elf32-arm.c (elf32_arm_output_arch_local_syms): add
2935         missing mapping symbol to data only sections.
2937 2010-02-11  David S. Miller  <davem@davemloft.net>
2939         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
2940         and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
2941         symbols.
2942         (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
2943         these relocs on global symbols.
2944         (gdopoff): New.
2945         (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
2946         local symbol references which are not STT_GNU_IFUNC.  Handle
2947         relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
2948         and deal with negative vs. non-negative values properly.
2950 2010-02-09  Tristan Gingold  <gingold@adacore.com>
2952         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
2953         non-external relocation.
2955 2010-02-09  Alan Modra  <amodra@gmail.com>
2957         * elf64-ppc.c (merge_got_entries): Move earlier in file.
2958         (allocate_dynrelocs): Merge got entries here if not doing multi-toc.
2959         (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
2960         (ppc64_elf_layout_multitoc): Don't resize if we have already
2961         merged got entries.
2963 2010-02-09  Michael Holzheu  <holzheu@de.ibm.com>
2965         * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2966         elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2967         elfcore_write_s390_prefix): New.
2968         * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2969         elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2970         elfcore_write_s390_prefix): New.
2971         (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
2972         NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
2973         (elfcore_write_register_note): Handle .reg-s390-timer,
2974         .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
2975         .reg-s390-prefix section.
2977 2010-02-09  Alan Modra  <amodra@gmail.com>
2979         * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
2980         unsigned char.  Update variables and code using them throughout file.
2981         (struct ppc_link_hash_entry): Likewise for tls_mask.
2983         * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
2985         * elf64-ppc.c (has_small_toc_reloc): Don't define.
2986         (makes_toc_func_call, call_check_in_progress): Shuffle flags.
2987         (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc.  Update
2988         code setting the flag.
2989         (ppc64_elf_next_toc_section): Group big-toc sections in
2990         0x80008000 chunks.
2992 2010-02-08  David S. Miller  <davem@davemloft.net>
2994         * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
2995         srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
2997         * elfxx-sparc.c (create_got_section): Delete.
2998         (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
2999         section creator does that work for us.  Use ->elf.foo instead of
3000         ->foo where applicable.
3001         (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
3002         where applicable.
3003         (allocate_dynrelocs): Likewise.
3004         (_bfd_sparc_elf_size_dynamic_sections): Likewise.
3005         (_bfd_sparc_elf_relocate_section): Likewise.
3006         (sparc_vxworks_build_plt_entry): Likewise.
3007         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3008         (sparc_finish_dyn): Likewise.
3009         (sparc_vxworks_finish_exec_plt): Likewise.
3010         (sparc_vxworks_finish_shared_plt): Likewise.
3011         (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
3013         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
3014         macros for visibilty and locality checks.
3015         (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
3016         (allocate_dynrelocs): Likewise.
3017         (_bfd_sparc_elf_relocate_section): Likewise.
3018         (_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
3020         * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
3021         but never used local var 'dynobj'.
3023         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
3024         nocopyreloc.
3026         * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
3027         (BFD_RELOC_SPARC_IRELATIVE): Likewise.
3028         * bfd-in2.h: Regenerate.
3029         * libbfd.h: Regenerate.
3031         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
3032         and loc_hash_memory.
3033         (_bfd_sparc_elf_link_hash_table_free): Declare.
3034         * elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
3035         (elf_backend_add_symbol_hook, elf_backend_post_process_headers,
3036         bfd_elf32_bfd_link_hash_table_free): Define.
3037         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
3038         has_ifunc_symbols if STT_GNU_IFUNC.
3039         (bfd_elf64_bfd_link_hash_table_free): Define.
3040         (elf_backend_post_process_headers): Define always.
3041         * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
3042         (sparc_reloc_map): Add entries for new IFUNC relocs.
3043         (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
3044         (_bfd_sparc_elf_info_to_howto_ptr): Likewise.
3045         (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
3046         elf_sparc_get_local_sym_hash): New.
3047         (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
3048         from here...
3049         (_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
3050         local hash table.
3051         (_bfd_sparc_elf_link_hash_table_free): New.
3052         (create_ifunc_sections): New.
3053         (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
3054         and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
3055         cons up a fake local hash table entry for it.  Unconditionally add
3056         a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
3057         dyn relocs for ifunc.
3058         (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
3059         (allocate_dynrelocs):  Unconditionally emit a PLT entry when
3060         STT_GNU_IFUNC and h->def_regular.  Count GOT dyn relocs for ifunc.
3061         (allocate_local_dynrelocs): New function.
3062         (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
3063         table.  Emit dynamic relocs to irelplt when not shared.  Treat iplt
3064         like splt.
3065         (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
3066         (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
3067         plt in iplt/irelplt.
3069 2010-02-08  Richard Sandiford  <r.sandiford@uk.ibm.com>
3071         * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
3072         max_contents_size, only consider sections whose contents must
3073         be swapped in.
3075 2010-02-09  Alan Modra  <amodra@gmail.com>
3077         * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
3078         (ppc64_elf_size_dynamic_sections): ..and here..
3079         (merge_got_entries): ..rather than here.
3081 2010-02-09  Alan Modra  <amodra@gmail.com>
3083         * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
3084         (has_small_toc_reloc): Define.
3085         (ppc64_elf_check_relocs): Set the above flags.
3086         (ppc64_elf_edit_opd): Delete obfd param.
3087         (ppc64_elf_tls_optimize): Likewise.
3088         (ppc64_elf_edit_toc): Likewise.
3089         (ppc64_elf_tls_setup): Likewise.  Add no_multi_toc param.
3090         * elf64-ppc.h: Update prototypes.
3092 2010-02-08  Alan Modra  <amodra@gmail.com>
3094         * section.c (struct bfd_section): Delete has_tls_reloc,
3095         has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
3096         Add sec_flg0 thru sec_flg5.
3097         (BFD_FAKE_SECTION): Update for changed flags.
3098         * ecoff.c (bfd_debug_section): Likewise.
3099         * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3100         * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3101         (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
3102         * elf32-xtensa.c (reloc_done): Define.
3103         * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
3104         * bfd-in2.h: Regenerate.
3106 2010-02-08  Tristan Gingold  <gingold@adacore.com>
3108         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
3109         for non-scattered relocations.
3111 2010-02-08  Nathan Sidwell  <nathan@codesourcery.com>
3113         * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
3114         apuinfo sections, only scan input sections once and reuse the
3115         buffer.
3117 2010-02-08  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
3119         * archures.c (bfd_mach_ppc_titan): Define.
3120         * bfd-in2.h: Regenerate.
3121         * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
3123 2010-02-08  Alan Modra  <amodra@gmail.com>
3125         * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
3127 2010-02-05  Sterling Augustine  <sterling@tensilica.com>
3129         * elf.c (assign_file_positions_for_load_sections) Update lma of
3130         section if necessary.  Fixes Bugzilla 11219.
3132 2010-02-05  H.J. Lu  <hongjiu.lu@intel.com>
3134         * elf32-i386.c: Remove trailing white spaces.
3135         * elf64-x86-64.c: Likewise.
3137 2010-02-03  Nick Clifton  <nickc@redhat.com>
3139         * elf-bfd.h (emum elf_object_id): Rename to elf_target_id.  Add
3140         entries for other architectures.
3141         (struct elf_link_hash_table): Add hash_table_id field.
3142         (elf_hash_table_id): New accessor macro.
3143         * elflink.c (_bfd_elf_link_hash_table_init): Add target_id
3144         parameter.
3145         * elf-m10300.c (elf32_mn10300_hash_table): Check table id before
3146         returning cast pointer.
3147         (elf32_mn10300_link_hash_table_create): Identify new table as
3148         containing MN10300 extensions.
3149         (mn10300_elf_relax_section): Check pointer returned by
3150         elf32_mn10300_hash_table.
3151         * elf32-arm.c: Likewise, except using ARM extensions.
3152         * elf32-avr.c: Likewise, except using AVR extensions.
3153         * elf32-bfin.c: Likewise, except using BFIN extensions.
3154         * elf32-cris.c: Likewise, except using CRIS extensions.
3155         * elf32-frv.c: Likewise, except using FRV extensions.
3156         * elf32-hppa.c: Likewise, except using HPPA32 extensions.
3157         * elf32-i386.c: Likewise, except using I386 extensions.
3158         * elf32-lm32.c: Likewise, except using LM32 extensions.
3159         * elf32-m32r.c: Likewise, except using M32RM extensions.
3160         * elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
3161         * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
3162         * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
3163         * elf32-m68k.c: Likewise, except using M68K extensions.
3164         * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
3165         * elf32-ppc.c: Likewise, except using PPC32 extensions.
3166         * elf32-s390.c: Likewise, except using S390 extensions.
3167         * elf32-sh.c: Likewise, except using SH extensions.
3168         * elf32-spu.c: Likewise, except using SPU extensions.
3169         * elf32-xtensa.c: Likewise, except using XTENSA extensions.
3170         * elf64-alpha.c: Likewise, except using ALPHA extensions.
3171         * elf64-hppa.c: Likewise, except using HPPA64 extensions.
3172         * elf64-ppc.c: Likewise, except using PPC64 extensions.
3173         * elf64-s390.c: Likewise, except using S390 extensions.
3174         * elf64-x86-64.c: Likewise, except using X86_64 extensions.
3175         * elfxx-ia64.c: Likewise, except using IA64 extensions.
3176         * elfxx-mips.c: Likewise, except using MIPS extensions.
3177         * elfxx-sparc.c: Likewise, except using SPARC extensions.
3178         * elfxx-sparc.h: Likewise, except using SPARC extensions.
3179         * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
3180         redundant structure.
3181         (elf32_cr16_hash_table): Delete unused macro.
3182         (elf32_cr16_link_hash_traverse): Delete unused macro.
3183         * elf32-score.c: Likewise.
3184         * elf32-score7.c: Likewise.
3185         * elf32-vax.c: Likewise.
3186         * elf64-sh64.c: Likewise.
3188 2010-02-03  Alan Modra  <amodra@gmail.com>
3190         * elf64-ppc.c (struct plt_entry): Move earlier in file.
3191         (struct got_entry): Likewise.  Add is_indirect and got.ent fields.
3192         (struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
3193         Update all uses.
3194         (struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
3195         Remove no_multi_toc.
3196         (update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
3197         when allocating a new struct got_entry.
3198         (allocate_got): New function, extracted from..
3199         (allocate_dynrelocs): ..here.  Abort on got entry in non-ppc64 bfd.
3200         (ppc64_elf_size_dynamic_sections): Track got relocs allocated in
3201         .reliplt by got_reli_size.  Set owner on ppc64_tlsld_got entries.
3202         (ppc64_elf_setup_section_lists): Remove output_bfd param and
3203         no_multi_toc, add add_stub_section and layout_sections_again.  Stash
3204         new params in htab.  Extract some code to..
3205         (ppc64_elf_start_multitoc_partition): ..here.  New function.
3206         (ppc64_elf_next_toc_section): Check for linker script errors.  Handle
3207         second pass toc scan.
3208         (merge_got_entries, merge_global_got, reallocate_got): New functions.
3209         (ppc64_elf_reinit_toc): Rename to..
3210         (ppc64_elf_finish_multitoc_partition): ..this.
3211         (ppc64_elf_layout_multitoc): New function.
3212         (ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
3213         layout_sections_again params.
3214         (ppc64_elf_relocate_section): Handle indirect got entries.
3215         * elf64-ppc.h: Update prototypes.  Declare new functions.
3217 2010-02-02  H.J. Lu  <hongjiu.lu@intel.com>
3219         * elf-bfd.h (elfcore_write_xstatereg): New.
3221         * elf.c (elfcore_grok_xstatereg): New.
3222         (elfcore_write_xstatereg): Likewise.
3223         (elfcore_grok_note): Handle NT_X86_XSTATE.
3224         (elfcore_write_register_note): Handle .reg-xstate section.
3226 2010-02-01  Tristan Gingold  <gingold@adacore.com>
3228         * som.c (som_write_ar_hdr): Define this macro.
3230 2010-01-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3232         * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
3233         R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
3234         linkage table pointer to use the global table pointer if not doing
3235         a shared link.
3237 2010-01-29  Joel Brobecker  <brobecker@adacore.com>
3239         * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
3240         if it has already been set.
3242 2010-01-27  Tristan Gingold  <gingold@adacore.com>
3244         * vms.h: Remove trailing spaces.
3245         (struct hdr_struct): Remove unused hdr_c_cpr field.
3246         (enum file_format_enum): Add comments.
3247         * vms.c (vms_bfd_print_private_bfd_data): New function that
3248         replaces the macro.
3249         Remove trailing spaces.
3250         * vms-misc.c: Improve comments.
3251         (_bfd_vms_get_object_record): Also handle files without pads.
3252         * vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
3253         * vms-gsd.c (struct flagdescstruct): Make name field const.
3254         (gsyflagdesc): Fix typo.
3256 2010-01-27  Alan Modra  <amodra@gmail.com>
3258         PR ld/11217
3259         * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
3260         (ppc64_elf_setup_section_lists): Init them.
3261         (ppc64_elf_next_toc_section): Don't partition multi-toc between .got
3262         and .toc on the same input file.
3263         (ppc64_elf_relocate_section): Correct GOT entry offset.
3265 2010-01-26  Tristan Gingold  <gingold@adacore.com>
3267         * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
3268         (bfd_target): Add _bfd_write_ar_hdr_fn field.
3269         * archive.c (is_bsd44_extended_name): New macro.
3270         (_bfd_generic_read_ar_hdr_mag): Use it.  Add extra_size.
3271         (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
3272         name.
3273         (_bfd_archive_bsd44_construct_extended_name_table): New function.
3274         (_bfd_generic_write_ar_hdr): Ditto.
3275         (_bfd_bsd44_write_ar_hdr): Ditto.
3276         (_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
3277         (bsd_write_armap): Adjust firstreal computation.
3278         * libbfd-in.h (struct areltdata): Add extra_size field.
3279         (_bfd_generic_write_ar_hdr): Add prototype.
3280         (_bfd_bsd44_write_ar_hdr): Ditto.
3281         (_bfd_write_ar_hdr): Define.
3282         (_bfd_noarchive_write_ar_hdr): Ditto.
3283         (_bfd_archive_bsd_write_ar_hdr): Ditto.
3284         (_bfd_archive_coff_write_ar_hdr): Ditto.
3285         (_bfd_archive_bsd44_slurp_armap): Ditto.
3286         (_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
3287         (_bfd_archive_bsd44_construct_extended_name_table): New prototype.
3288         (_bfd_archive_bsd44_truncate_arname): Ditto.
3289         (_bfd_archive_bsd44_write_armap): Ditto.
3290         (_bfd_archive_bsd44_read_ar_hdr): Ditto.
3291         (_bfd_archive_bsd44_write_ar_hdr): Ditto.
3292         (_bfd_archive_bsd44_openr_next_archived_file): Ditto.
3293         (_bfd_archive_bsd44_get_elt_at_index): Ditto.
3294         (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
3295         (_bfd_archive_bsd44_update_armap_timestamp): Ditto.
3296         * libbfd.h: Regenerate.
3297         * oasys.c (oasys_write_ar_hdr): Define.
3298         * libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
3299         * ieee.c (ieee_write_ar_hdr): Define.
3300         * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
3301         * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
3302         (bfd_pmac_xcoff_backend_data): Ditto.
3303         * coff64-rs6000.c (rs6000coff64_vec): Ditto.
3304         (bfd_xcoff_aix5_backend_data): Ditto.
3305         * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
3306         * aout-target.h (MY_write_ar_hdr): Define it if not defined.
3307         * aout-tic30.c (MY_write_ar_hdr): Ditto.
3308         * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
3309         (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3310         (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3311         (bfd_mach_o_construct_extended_name_table)
3312         (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3313         (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3314         (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
3315         * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3316         (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3317         (bfd_mach_o_construct_extended_name_table)
3318         (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3319         (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3320         (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
3321         * bfd-in2.h: Regenerate.
3323 2010-01-26  Alan Modra  <amodra@gmail.com>
3324             H.J. Lu  <hongjiu.lu@intel.com>
3326         PR ld/11218
3327         * elflink.c (elf_link_output_extsym): Do not ignore undefined
3328         symbols with ref_regular set when gc_sections is active.
3330 2010-01-25  Alan Modra  <amodra@gmail.com>
3332         PR ld/11217
3333         * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
3334         with relocations against undefined weak symbols.
3335         (ppc64_elf_relocate_section): Don't optimize calls to undefined
3336         weak functions if the symbol is dynamic.
3337         (ppc64_elf_relocate_section): Edit tprel tls sequences.
3338         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3339         (_bfd_elf_ppc_at_tprel_transform): New function.
3340         * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
3341         * bfd-in2.h: Regenerate.
3343 2010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>
3345         * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
3346         (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
3347         * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
3348         bitsize to 1.
3349         (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
3351 2010-01-21  Nick Clifton  <nickc@redhat.com>
3353         * elflink.c (elf_link_add_object_symbols): Look up name of
3354         undefined symbol both before and after versioning has been
3355         applied.  Do not bother with symbols that are weakly undefined.
3357 2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3359         * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
3360         (bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
3362 2010-01-19  Cary Coutant  <ccoutant@google.com>
3364         * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
3366 2010-01-19  Daisuke Hatayama  <d.hatayama@jp.fujitsu.com>
3367             Alan Modra <amodra@gmail.com>
3369         * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
3370         (elf_object_p): Read e_phnum extension.
3371         (elf_write_shdrs_and_ehdr): Write e_phnum extension.
3372         * elfcore.h (elf_core_file_p): Read e_phnum extension.  Sanity check
3373         that we can read last program header.
3375 2010-01-19  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
3377         * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
3378         R_ARM_THM_CALL entry.
3379         (elf32_arm_final_link_relocate): Correct calculation of
3380         reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
3381         or R_ARM_THM_JUMP24 relocation.
3383 2010-01-18  Alan Modra  <amodra@gmail.com>
3385         PR 11168
3386         * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
3387         block past vars in COFF_IMAGE_WITH_PE block.  Report error on more
3388         than 32k sections.
3390 2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
3392         Fix compilation warning on gcc-3.4.
3393         * vms-tir.c (start_etir_record, sto_imm): Rename the prototype
3394         parameter index to sec_index according to the function definition.
3396 2010-01-13  Chao-ying Fu  <fu@mips.com>
3398         * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
3399         It is true for all CPUs.
3400         (jal_reloc_p): New function.
3401         (mips_elf_calculate_relocation): Rename require_jalxp to
3402         cross_mode_jump_p.
3403         Update comment for CROSS_MODE_JUMP_P.
3404         Set up cross_mode_jump_p based on the mode change.
3405         (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
3406         Update comment for CROSS_MODE_JUMP_P.
3407         Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
3408         Use !cross_mode_jump_p to guard conversion.
3409         Convert "jr t9" to "b", if possible.
3410         (_bfd_mips_elf_relocate_section): Rename require_jalx to
3411         cross_mode_jump_p.
3412         Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
3413         Pass cross_mode_jump_p to call mips_elf_perform_relocation.
3415 2010-01-13  Nick Clifton  <nickc@redhat.com>
3417         * cpu-m32c.c (m32c_scan): New function.  Ensures that a scan for
3418         "m32c" returns the m32c arch_info_struct and not the m16c
3419         arch_info_struct.
3420         (arch_info_struct): Use the new scan function.
3421         (bfd_m32c_arch): Likewise.
3423 2010-01-13  Tristan Gingold  <gingold@adacore.com>
3425         * config.bfd: Remove duplicated target vector for i386-*-darwin.
3426         Appends new arch instead of overriding.
3427         Use mach_o_x86_64_vec for x86_64-*-darwin.
3428         * configure.in: Add mach_o_x86_64_vec.
3429         * configure: Regenerate.
3430         * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
3431         * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
3432         (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
3433         * Makefile.in: Regenerate.
3434         * mach-o-x86-64.c: New file.
3436 2010-01-13  Tristan Gingold  <gingold@adacore.com>
3438         * reloc.c: Add MACH_O_X86_64 relocations.
3439         * bfd-in2.h: Regenerate.
3440         * libbfd.h: Regenerate.
3442 2010-01-13  Tristan Gingold  <gingold@adacore.com>
3444         * archive.c (normalize): Use lbasename.
3445         (bfd_bsd_truncate_arname): Ditto.
3446         (bfd_gnu_truncate_arname): Ditto.
3448 2010-01-12  Tristan Gingold  <gingold@adacore.com>
3450         * makefile.vms (CFLAGS): Turns warnings into informational messages.
3452 2010-01-11  Tristan Gingold  <gingold@adacore.com>
3454         * mach-o.h: Add x86-64 relocation types.
3456 2010-01-11  Tristan Gingold  <gingold@adacore.com>
3458         * mach-o.h (bfd_mach_o_backend_data): Add arch field.
3459         (bfd_mach_o_set_arch_mach): New prototype.
3460         * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
3461         (bfd_mach_o_set_arch_mach): New function.
3462         (bfd_mach_o_gen_mkobject): New function.
3463         Set TARGET_ARCHITECTURE for the generic back-ends.
3464         * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
3465         Check that TARGET_ARCHITECTURE is defined.
3466         Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
3467         * mach-o-i386.c (TARGET_ARCHITECTURE): Define.
3469 2010-01-11  Tristan Gingold  <gingold@adacore.com>
3471         * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
3473 2010-01-11  Nick Clifton  <nickc@redhat.com>
3475         * elf32-v850.c (v850_elf_perform_relocation): Fix overflow
3476         handling of R_V850_HI16_S relocation.
3478 2010-01-11  Alan Modra  <amodra@gmail.com>
3480         PR 11103
3481         * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
3483 2010-01-11  Alan Modra  <amodra@gmail.com>
3485         PR 6832
3486         * dwarf2.c (struct comp_unit): Add sec_info_ptr.
3487         (find_abstract_instance_name): Use it.
3488         (parse_comp_unit): Set it.
3490 2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3492         * Makefile.in: Regenerate.
3493         * configure: Regenerate.
3495 2010-01-08  Tristan Gingold  <gingold@adacore.com>
3497         * archive.c: Remove bfd_special_undocumented_glue.
3499 2010-01-08  Alan Modra  <amodra@gmail.com>
3501         PR ld/11133
3502         * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
3503         * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
3504         * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
3506 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3508         PR ld/11138
3509         * elflink.c (elf_link_check_versioned_symbol): Don't abort if
3510         a symbol referenced by DSO is is defined in a non-shared object
3511         and forced local.
3513 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3515         PR ld/11133
3516         * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
3517         undefined __start_XXX/__stop_XXX in all input files and set
3518         SEC_KEEP.
3520 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3522         PR ld/11143
3523         * elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
3525 2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>
3527         * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
3528         before including procfs.h.
3529         (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
3530         * configure.in: Added autoconf probe for the pr_fpreg member.
3531         * configure: Regenerated.
3532         * config.in: Regenerated.
3533         * elf.c: Define _STRUCTURE_PROC before including procfs.h.
3535 2010-01-04  Joel Brobecker  <brobecker@adacore.com>
3537         Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
3538         * dwarf2.c (concat_filename): Rename dirname with dir_name
3539         to void shadowing the dirname function.
3540         Rename subdirname with subdir_name to stay consistent with
3541         the new dir_name variable name.
3543 2010-01-04  Edmar Wienskoski  <edmar@freescale.com>
3545         * archures.c: Add bfd_mach_ppc_e500mc64.
3546         * bfd-in2.h: Regenerate.
3547         * cpu-powerpc.c (bfd_powerpc_archs): Add entry for
3548         bfd_mach_ppc_e500mc64.
3550 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
3552         Fix -Wshadow warnings (seen on ppc-aix)
3553         * xcofflink.c: Replace finfo by flinfo throughout.
3555 For older changes see ChangeLog-2009
3557 Copyright (C) 2010 Free Software Foundation, Inc.
3559 Copying and distribution of this file, with or without modification,
3560 are permitted in any medium without royalty provided the copyright
3561 notice and this notice are preserved.
3563 Local Variables:
3564 mode: change-log
3565 left-margin: 8
3566 fill-column: 74
3567 version-control: never
3568 End: