addr2line: fix missing inlined frames.
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2014-05-28  Tristan Gingold  <gingold@adacore.com>
2
3         * dwarf2.c (lookup_address_in_function_table): Add best_fit_len
4         to keep the length of the best fit range.
5         (lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
6         Likewise.
7
8 2014-05-27  DJ Delorie  <dj@redhat.com>
9
10         * bfd/elf32-rx.c (get_symbol_value_maybe): New.
11         (rx_elf_relocate_section): If we find a reloc against
12         $tableentry$default$<name>, redirect it to the appropriate
13         $tableentry$<n>$.
14         (RX_Table_Info): New.
15         (rx_table_find): New.  Check all tables and SEC_KEEP all sections
16         with table parts in them.
17         (rx_check_directives): New.
18         (rx_table_map_2): New.
19         (rx_table_map): New.
20         (rx_additional_link_map_text): New.  Called to dump tables to the
21         map file.
22         * bfd/elf32-rx.h: New.
23
24 2014-05-20  DJ Delorie  <dj@redhat.com>
25
26         * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
27
28 2014-05-20  Alan Modra  <amodra@gmail.com>
29
30         PR 16952
31         * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
32         Remove redundant setting of htab->elf.dynobj.  Don't align.
33         Define .sdata symbols using _bfd_elf_define_linkage_sym.
34         (ppc_elf_create_glink): Call ppc_elf_create_linker_section.
35         (create_sdata_sym): Delete.
36         (elf_allocate_pointer_linker_section): Rename from
37         elf_create_pointer_linker_section.  Align section.
38         (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
39         directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
40         and _SDA2_BASE_.
41         (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
42         Remove unnecessary tests on _SDA_BASE_ sym.
43         (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
44         (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
45         * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
46         (ppc_elf_maybe_strip_sdata_syms): Declare.
47
48 2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
49
50         * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
51
52 2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
53
54         * peXXigen.c (pe_print_debugdata): Don't interpret debug directory
55         in a section with no contents.
56         (is_vma_in_section, find_section_by_vma): New functions.
57         (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
58         offsets in the debug directory.
59         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
60         Byte-swap GUID from little-endian to big-endian order for
61         consistent and conventional display.
62
63 2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
64
65         * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
66         64-bit doubles objects mix with 32-bit doubles objects.
67         (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
68
69 2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
70
71         * mmo.c: Update URLs in documentation comments.
72
73 2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
74             David Weatherford  <weath@cadence.com>
75             Max Filippov  <jcmvbkbc@gmail.com>
76
77         * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
78         signed.
79
80 2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
81
82         * config.bfd: Add proper arm config for *-*-freebsd*.
83
84 2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
85
86         * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
87         mips32r5 and mips64r5.
88         * archures.c (bfd_architecture): Likewise.
89         * bfd-in2.h (bfd_architecture): Likewise.
90         * cpu-mips.c (arch_info_struct): Likewise.
91         * elfxx-mips.c (mips_set_isa_flags): Likewise.
92
93 2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
94
95         * elfxx-mips.h (elfxx-mips.h): Declare.
96         * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
97         Tag_GNU_MIPS_ABI_FP mismatches.
98         (_bfd_mips_fp_abi_string): New function.
99
100 2014-05-02  Alan Modra  <amodra@gmail.com>
101
102         * targets.c: Sort bfd_target vectors somewhat alphabetically.
103         * configure.in: Likewise.
104         * configure: Regenerate.
105
106 2014-05-02  Alan Modra  <amodra@gmail.com>
107
108         * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
109         * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
110         * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
111         * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
112         * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
113         * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
114         * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
115         * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
116         * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
117         * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
118         * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
119         * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
120         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
121         * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
122         * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
123         * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
124         * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
125         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
126         * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
127         * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
128         * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
129         * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
130         * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
131         * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
132         * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
133         * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
134         * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
135         * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
136         * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
137         * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
138         * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
139         * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
140         * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
141         * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
142         * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
143         * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
144         * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
145         * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
146         * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
147         * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
148         * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
149         * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
150         * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
151         * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
152         * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
153         * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
154         * vms-alpha.c, * vms-lib.c: Rename bfd targets to
155         <cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
156         on aout targets.
157         * configure: Regenerate.
158
159 2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
160
161         * mmo.c (mmo File layout documentation): Add note about low bits
162         of address.
163         (mmo_write_chunk): When handling data remainder, assert that
164         previous remaining data is flushed.
165         (mmo_write_loc_chunk): Only look for trailing and leading zeros
166         when dealing with an aligned VMA and for aligned lengths.  Don't skip
167         the last 32-bit-word of zeros.
168         (mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
169         (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
170         emitting data, not after updating it.
171         <case LOP_LOC>: Call mmo_decide_section with aligned vma.
172
173 2014-04-30  Nick Clifton  <nickc@redhat.com>
174
175         * compress.c (bfd_is_section_compressed): When checking the
176         .debug_str section, also check the fifth byte in the section is
177         not part of a string.
178
179 2014-04-30  Alan Modra  <amodra@gmail.com>
180
181         * elf-eh-frame.c (struct cie.personality): Replace val with sym.
182         (find_merged_cie): Identify personality functions by (bfd_id,index)
183         pair when a local sym is used.
184
185 2014-04-29  Christian Svensson  <blue@cmd.nu>
186
187         * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
188         into .rela.got if it contained TLS relocations as well.
189
190 2014-04-28  Nick Clifton  <nickc@redhat.com>
191
192         PR ld/16821
193         * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
194         time warning.
195
196 2014-04-26  Alan Modra  <amodra@gmail.com>
197
198         * po/SRC-POTFILES.in: Regenerate.
199         * configure: Regenerate.
200
201 2014-04-25  Nick Clifton  <nickc@redhat.com>
202
203         PR ld/16821
204         * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
205         a 342-bit host.  This time for older versions of gcc.
206
207 2014-04-24  Nick Clifton  <nickc@redhat.com>
208
209         * peXXigen.c (rsrc_print_section): Fix compile time warning for
210         32-bit hosts.
211
212 2014-04-24  Alan Modra  <amodra@gmail.com>
213
214         PR 16867
215         * dwarf2.c: Formatting.
216         (struct dwarf2_debug): Make adjusted_section_count signed.
217         (unset_sections): Make i signed.
218         (set_debug_vma): New function.
219         (place_sections): Handle separate debug object file.  Set VMA
220         on debug sections, even if they have an output section.  Also
221         set VMA on zero size sections, and non-load but alloc sections.
222         Set adjusted_section_count to -1 when no section adjustment.
223         Malloc adjusted_sections.  Don't double last_vma.  Transfer
224         alloc section VMAs to separate debug file.
225         (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
226         (_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
227         test on symbols being the same before using old stash.  Read
228         and use separate debug file symbols.  Call place_sections.
229         (find_line): Don't call place_sections here.
230         * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
231         * libbfd.h: Regenerate.
232         * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
233         _bfd_dwarf2_slurp_debug_info call.
234         * simple.c (simple_save_output_info): Clarify comment.
235
236 2014-04-24  Nick Clifton  <nickc@redhat.com>
237
238         PR ld/16807
239         * peXXigen.c (struct rsrc_regions): New structure.
240         (rsrc_print_resource_directory): Use new structure.  Include
241         offset of directory in listing.
242         (rsrc_print_resource_entry): Likewise.
243         (rsrc_print_section): Likewise.
244         (rsrc_count_entries): Do not increment sizeof_strings or
245         sizeof_leaves.
246         (rsrc_count_directory): Do not increment sizeof_tables.
247         (rsrc_compute_region_sizes): New function.
248         (rsrc_write_leaf): Maintain 8-byte alignment for resource data.
249         (rsrc_process_section): Compute size of regions after merging
250         entries.
251
252 2014-04-23  Alan Modra  <amodra@gmail.com>
253
254         PR ld/16787
255         * dwarf2.c (struct dwarf2_debug): Add sec_vma field.
256         (place_sections): Do not modify VMA of sections when called from
257         linker after sections have been placed in output sections.  Short
258         circuit single section case.
259         (save_section_vma, section_vma_same): New functions.
260         (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
261         change.
262         * reloc.c (bfd_perform_relocation): Do not modify reloc addend
263         when non-relocatable.
264
265 2014-04-22  Nick Clifton  <nickc@redhat.com>
266
267         PR ld/16821
268         * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
269
270 2014-04-22  Christian Svensson  <blue@cmd.nu>
271
272         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
273         * archures.c: Likewise.
274         * coffcode.h: Likewise.
275         * config.bfd: Likewise.
276         * configure.in: Likewise.
277         * reloc.c: Likewise.
278         * targets.c: Likewise.
279         * cpu-or1k.c: New file.
280         * elf32-or1k.c: New file.
281         * coff-or32.c: Delete.
282         * cpu-openrisc.c: Delete.
283         * cpu-or32.c: Delete.
284         * elf32-openrisc.c: Delete.
285         * elf32-or32.c: Delete.
286         * Makefile.in: Regenerate.
287         * bfd-in2.h: Regenerate.
288         * configure: Regenerate.
289         * libbfd.h: Regenerate.
290
291 2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
292
293         PR ld/16821
294         * peXXigen.c (abs_finder): Fix for 32-bit host builds.
295
296 2014-04-22  Will Newton  <will.newton@linaro.org>
297
298         * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
299         function.  (elf_backend_section_flags): Remove define.
300
301 2014-04-21  Richard Henderson  <rth@redhat.com>
302
303         * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
304         parameter; honor it and disable got merging when false.
305         (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
306         the first pass of relaxation.
307         (elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
308         the end of the LITERAL+LITUSE chain.
309         (elf64_alpha_relax_section): Only process LITERAL relocs during the
310         second pass of relaxation.
311
312         * configure.ac (use_secureplt): Enable by default.
313         * configure: Rebuild.
314
315 2014-04-18  Tristan Gingold  <gingold@adacore.com>
316
317         * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
318         bind_content, weak_bind_content, lazy_bind_content,
319         export_content.
320         (bfd_mach_o_load_command): Add comments, add next field.
321         (mach_o_data_struct): Replace commands field by first_command
322         and last_command.
323         * mach-o.c (bfd_mach_o_append_command): New function.
324         (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
325         (bfd_mach_o_bfd_copy_private_section_data): Check flavour,
326         copy fields.
327         (bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
328         (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
329         (bfd_mach_o_write_thread): Use macro instead of literal.
330         (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
331         (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
332         functions.
333         (bfd_mach_o_write_symtab_content): New function (extracted
334         from bfd_mach_o_write_symtab).
335         (bfd_mach_o_write_symtab): Split.
336         (bfd_mach_o_count_indirect_symbols): Move
337         (bfd_mach_o_build_dysymtab): Remove layout code.
338         (bfd_mach_o_write_contents): Rewritten to build commands in order.
339         (bfd_mach_o_count_sections_for_seg): Remove.
340         (bfd_mach_o_build_obj_seg_command): New function (extracted from
341         bfd_mach_o_build_seg_command).
342         (bfd_mach_o_build_exec_seg_command): New function.
343         (bfd_mach_o_build_dysymtab_command): Remove.
344         (bfd_mach_o_layout_commands): New function.
345         (bfd_mach_o_init_segment): New function.
346         (bfd_mach_o_build_commands): Major rework to handle non-object
347         files.
348         (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
349         function.
350         (bfd_mach_o_read_dyld_info): Clear content fields.
351         (bfd_mach_o_read_segment): Adjust call.
352         (bfd_mach_o_flatten_sections): Adjust as now load commands are
353         chained.
354         (bfd_mach_o_scan_start_address, bfd_mach_o_scan)
355         (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
356         (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
357         Likewise.
358
359 2014-04-18  Tristan Gingold  <gingold@adacore.com>
360
361         * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
362         Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
363         * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
364         * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
365
366 2014-04-18  Tristan Gingold  <gingold@adacore.com>
367
368         * mach-o.h (bfd_mach_o_dylinker_command)
369         (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
370         name_len field.
371         * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
372         (bfd_mach_o_read_fvmlib): Adjust after name_len removal.
373
374 2014-04-18  Tristan Gingold  <gingold@adacore.com>
375
376         * mach-o.h (bfd_mach_o_backend_data): Add page_size field.
377         * mach-o-target.c: Check TARGET_PAGESIZE is defined.
378         (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
379         * mach-o.c (TARGET_PAGESIZE): Define and undefined for
380         each targets declared.
381         * mach-o-x86-64.c (TARGET_PAGESIZE): Define.
382         * mach-o-i386.c (TARGET_PAGESIZE): Define.
383
384 2014-04-18  Tristan Gingold  <gingold@adacore.com>
385
386         * mach-o.c (bfd_mach_o_write_thread)
387         (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
388         (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
389         (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
390         (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
391         (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
392         (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
393         (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
394         (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
395         (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
396         (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
397         (bfd_mach_o_read_command): Now return a boolean status.
398         Adjust return statements.
399         (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
400         (bfd_mach_o_core_file_failing_command): Remove useless initialization.
401
402 2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
403
404         * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
405         field.  Add assigned_low_gotno and assigned_high_gotno fields.
406         (mips_elf_create_local_got_entry): Update out-of-space condition.
407         Set index of new GOT entry to assigned_low_gotno if required by
408         the current relocation, else set it to assigned_high_gotno.
409         (mips_elf_set_global_gotidx): Replace uses of assigned_gotno
410         with assigned_low_gotno.
411         (mips_elf_multi_got): Initialize assigned_low_gotno and
412         assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
413         in place of assigned_gotno when handling global GOT entries.
414         (mips_elf_lay_out_got): Initialize assigned_low_gotno and
415         assigned_high_gotno.
416         (_bfd_mips_elf_finish_dynamic_sections): Account for a possible
417         gap in the middle of local GOT space.
418
419 2014-04-17  Alan Modra  <amodra@gmail.com>
420
421         PR 16846
422         * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
423         current bfd is a plugin.  Don't always set type_change_ok
424         when old bfd is a plugin.
425
426 2014-04-16  Tristan Gingold  <gingold@adacore.com>
427
428         * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
429         flag.
430
431 2014-04-16  Alan Modra  <amodra@gmail.com>
432
433         * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
434         with "ba 0" rather than zeros.
435
436 2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
437
438         * (elfNN_aarch64_tls_relax): Fix instruction mask.
439
440 2014-04-14  Alan Modra  <amodra@gmail.com>
441
442         * elf32-ppc.c (BA): Define
443         (ppc_elf_link_hash_table_create): Correct default_params.
444         (write_glink_stub): Pad small plt call stub with "ba 0" rather
445         than "nop" for ppc476_workaround.
446         (ppc_elf_finish_dynamic_sections): Likewise for branch table
447         and __glink_PLTresolve.  Ensure plt call stub at end of page
448         doesn't allow fall-thru prefetch.
449
450 2014-04-11  Nick Clifton  <nickc@redhat.com>
451
452         PR ld/16821
453         * peXXigen.c (abs_finder): New function.
454         (_bfd_XXi_swap_sym_out): For absolute symbols with values larger
455         than 1^32 try to convert them into section relative values
456         instead.
457
458 2014-04-11  Nick Clifton  <nickc@redhat.com>
459
460         * bfd-in2.h: Regenerate.
461         * libbfd.h: Regenerate.
462
463 2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
464
465         * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
466         when building function stubs.
467
468 2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
469
470         * elf32-avr.c: Add DIFF relocations for AVR.
471         (avr_final_link_relocate): Handle the DIFF relocs.
472         (bfd_elf_avr_diff_reloc): New.
473         (elf32_avr_is_diff_reloc): New.
474         (elf32_avr_adjust_diff_reloc_value): Reduce difference value.
475         (elf32_avr_relax_delete_bytes): Recompute difference after deleting
476         bytes.
477
478         * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
479
480 2014-04-09  Alan Modra  <amodra@gmail.com>
481
482         * libcoff.h: Regenerate.
483
484 2014-04-09  Alan Modra  <amodra@gmail.com>
485
486         * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
487         of safe ppc476 insns at end of page.  Also remove non-branch insns.
488         Expand comments.
489
490 2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
491
492         * peXXigen.c (pe_print_debugdata): New function: Displays the
493         contents of the debug directory and decodes codeview entries.
494         (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
495         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
496         Add functions for reading and writing debugdir and codeview
497         records.
498         * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
499         (_bfd_XXi_write_codeview_record): Add prototypes and macros.
500         * libcoff-in.h (pe_tdata): Add build-id data.
501         * libcoff.h: Regenerate.
502         * coffcode.h (coff_write_object_contents): Run build_id
503         after_write_object_contents hook.
504
505 2014-04-05  Alan Modra  <amodra@gmail.com>
506
507         * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
508         merging non-default sym.
509
510 2014-04-04  Tristan Gingold  <gingold@adacore.com>
511
512         * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
513         configured for.
514
515 2014-04-04  Tristan Gingold  <gingold@adacore.com>
516
517         * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
518         thinko on names length.
519
520 2014-04-04  Tristan Gingold  <gingold@adacore.com>
521
522         * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
523         of output_section.
524         * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
525
526 2014-04-04  Tristan Gingold  <gingold@adacore.com>
527
528         * bfd.c (bfd_get_arch_size): Default is taken from arch.
529
530 2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
531
532         * peXXigen.c (pe_print_edata): Verify edt.name lies inside
533         section before dereferencing.
534         (pe_print_idata, pe_print_edata, pe_print_reloc)
535         (rsrc_print_section): Don't bother interpreting the contents
536         of sections which have no contents.
537
538 2014-04-03  Maria Guseva  <m.guseva@samsung.com>
539
540         PR ld/16803
541         * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
542         file position.
543
544 2014-04-03  Tristan Gingold  <gingold@adacore.com>
545
546         * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
547         output_section.
548         (bfd_mach_o_build_seg_command): Add comment.  Realign segment.
549         Fix style.
550         (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
551
552 2014-04-03  Alan Modra  <amodra@gmail.com>
553
554         * elf-bfd.h (struct elf_backend_data
555         <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
556         with "bfd_size_type size".
557         (_bfd_elf32_bfd_from_remote_memory): Likewise.
558         (_bfd_elf64_bfd_from_remote_memory): Likewise.
559         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
560         * elfcode.h (bfd_from_remote_memory): Likewise.
561         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
562         * bfd-in2.h: Regenerate.
563
564 2014-04-02  Tristan Gingold  <gingold@adacore.com>
565
566         * mach-o.h (bfd_mach_o_twolevel_hints_command)
567         (bfd_mach_o_prebind_cksum_command): New types.
568         (bfd_mach_o_prebound_dylib_command): Rewrite.
569         (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
570         fields.
571         * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
572         command.
573         (bfd_mach_o_read_prebind_cksum): New function.
574         (bfd_mach_o_read_twolevel_hints): Ditto.
575         (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
576         commands.
577
578 2014-04-02  Alan Modra  <amodra@gmail.com>
579
580         * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
581         Consolidate code handling possible section headers past end of
582         segment.  Don't use p_align for page size guess, instead use
583         minpagesize.  Take note of ld.so clearing section headers when
584         p_memsz > p_filesz.  Handle file header specifying no section
585         headers.  Handle zero p_align throughout.  Default loadbase to
586         zero.  Add comments.  Rename contents_size to high_offset, and
587         make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
588         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
589         * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
590         Likewise.
591         (_bfd_elf32_bfd_from_remote_memory): Likewise.
592         (_bfd_elf64_bfd_from_remote_memory): Likewise.
593         * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
594         * bfd-in2.h: Regnerate.
595
596 2014-04-01  Tristan Gingold  <gingold@adacore.com>
597
598         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
599         when num == 0.
600
601 2014-03-27  Yury Gribov  <y.gribov@samsung.com>
602             Pavel Fedin  <p.fedin@samsung.com>
603
604         * elf32-arm.c: Add support for limited pretty-printing of PLT
605         entries on eabi and nacl targets.
606         (elf32_arm_get_synthetic_symtab): Add new callback.
607         (elf32_arm_nacl_plt_sym_val): Likewise.
608         (elf32_arm_plt0_size): Add helper function.
609         (elf32_arm_plt_size): Likewise.
610
611 2014-03-27  Tristan Gingold  <gingold@adacore.com>
612
613         * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
614         (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
615
616 2014-03-27  Tristan Gingold  <gingold@adacore.com>
617
618         * mach-o.h (bfd_mach_o_get_base_address): New prototype.
619         * mach-o.c (bfd_mach_o_write_symtab)
620         (bfd_mach_o_write_contents)
621         (bfd_mach_o_set_section_flags_from_bfd)
622         (bfd_mach_o_build_seg_command): Fix indentation.
623         (bfd_mach_o_get_base_address): New function.
624
625 2014-03-26  Nick Clifton  <nickc@redhat.com>
626
627         * cofflink.c (_bfd_coff_generic_relocate_section): Skip
628         relocations in discarded sections.
629
630 2014-03-26  Tristan Gingold  <gingold@adacore.com>
631
632         * mach-o.c (bfd_mach_o_convert_architecture): Add
633         BFD_MACH_O_CPU_TYPE_ARM64.
634
635 2014-03-26  Alan Modra  <amodra@gmail.com>
636
637         * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
638         needed plt entries when taking the address of functions for
639         abiversion == 0 (ie. unknown) as well as abiversion == 2.
640         Move opd setup and abiversion checks to..
641         (ppc64_elf_before_check_relocs): ..here.  Renamed from
642         ppc64_elf_process_dot_syms.  Set output abiversion from input and
643         input abiversion from output, if either is not set.
644         (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
645         (elf_backend_check_directives): Update.
646
647 2014-03-25  Will Newton  <will.newton@linaro.org>
648
649          * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
650          Set value of DT_PLTRELSZ and DT_RELASZ based on the size
651          of input sections rather than output sections.
652
653 2014-03-20  Will Newton  <will.newton@linaro.org>
654
655         PR ld/16715
656         * elf32-arm.c (elf32_arm_check_relocs): Set
657         pointer_equality_needed for absolute references within
658         executable links.
659         (elf32_arm_finish_dynamic_symbol): Set st_value to zero
660         unless pointer_equality_needed is set.
661
662 2014-03-19  Nick Clifton  <nickc@redhat.com>
663
664         * peXXigen.c (rsrc_process_section): Add code to scan input
665         sections and record their lengths.  Use these lengths to find the
666         start of each merged .rsrc section.
667
668 2014-03-17  Tristan Gingold  <gingold@adacore.com>
669
670         * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
671         (bfd_mach_o_read_command): Ditto.
672
673 2014-03-14  Meador Inge  <meadori@codesourcery.com>
674
675          * configure.in: Add strnlen to AC_CHECK_DECLS.
676          * config.in: Regenerate.
677          * configure: Regenerate.
678          * sysdep.h (strnlen): Add prototype.
679
680 2014-03-14  Alan Modra  <amodra@gmail.com>
681
682         * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
683         handling for VLE_SDA21 relocs.
684
685 2014-03-13  Tristan Gingold  <gingold@adacore.com>
686
687         * peicode.h (pe_ILF_object_p): Adjust, as the version number
688         has been read.
689         (pe_bfd_object_p): Also read version number to detect ILF.
690         * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
691         (x86_64pe_bigobj_vec): Define
692         * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
693         (bfd_coff_max_nscns): New macro.
694         (coff_compute_section_file_positions): Use unsigned int for
695         target_index.  Compare with bfd_coff_max_nscns.
696         (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
697         Set a value for _bfd_coff_max_nscns.
698         (header_bigobj_classid): New constant.
699         (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
700         (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
701         (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
702         functions.
703         (bigobj_swap_table): New table.
704         * libcoff.h: Regenerate.
705         * coff-sh.c (bfd_coff_small_swap_table): Likewise.
706         * coff-alpha.c (alpha_ecoff_backend_data): Add value for
707         _bfd_coff_max_nscns.
708         * coff-mips.c (mips_ecoff_backend_data): Likewise.
709         * coff-rs6000.c (bfd_xcoff_backend_data)
710         (bfd_pmac_xcoff_backend_data): Likewise.
711         * coff64-rs6000.c (bfd_xcoff_backend_data)
712         (bfd_xcoff_aix5_backend_data): Likewise.
713         * targets.c (x86_64pe_bigobj_vec): Declare.
714         * configure.in (x86_64pe_bigobj_vec): New vector.
715         * configure: Regenerate.
716         * config.bfd: Add bigobj object format for Windows targets.
717
718 2014-03-12  Nick Clifton  <nickc@redhat.com>
719
720         PR ld/16671
721         * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
722         before testing for vxworks.
723
724 2014-03-12  Alan Modra  <amodra@gmail.com>
725
726         * Makefile.in: Regenerate.
727
728 2014-03-12  Alan Modra  <amodra@gmail.com>
729
730         PR 16690
731         * elf.c (copy_elf_program_header): Ignore first section lma if
732         non-alloc.
733
734 2014-03-11  Alan Modra  <amodra@gmail.com>
735
736         PR 16686
737         * coff-rs6000.c: Include stdint.h.
738         * coff64-rs6000.c: Likewise.
739
740 2014-03-10  Tristan Gingold  <gingold@adacore.com>
741
742         * ticoff.h: Removed.
743
744 2014-03-08  Alan Modra  <amodra@gmail.com>
745
746         * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
747         many relocations.  Correct bitsize and rightshift too for a number
748         of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
749         Correct dst_mask on R_PPC_VLE_SDA21_LO.
750         (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
751         (ppc_elf_relocate_section): Modify overflow test for 16-bit
752         fields in instructions to signed/unsigned according to whether
753         the field takes a signed or unsigned value.  Tidy vle split16 code.
754         Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
755
756 2014-03-08  Alan Modra  <amodra@gmail.com>
757
758         * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
759         for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
760         R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
761         R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
762         (ppc64_elf_relocate_section): Modify overflow test for 16-bit
763         fields in instructions to signed/unsigned according to whether
764         the field takes a signed or unsigned value.
765
766 2014-03-07  Pedro Alves  <palves@redhat.com>
767
768         PR gdb/16696
769         * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
770         through ptr_to_uint instead of through long.
771
772 2014-03-06  Nick Clifton  <nickc@redhat.com>
773
774         PR 16664
775         * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
776         attribute section names.
777
778 2014-03-05  Alan Modra  <amodra@gmail.com>
779
780         Update copyright years.
781
782 2014-03-05  Alan Modra  <amodra@gmail.com>
783
784         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
785         (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
786         (ppc64_elf_check_relocs): Likewise.
787         (ppc64_elf_relocate_section): Likewise.
788         * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
789         * bfd-in2.h: Regenerate.
790         * libbfd.h: Regenerate.
791
792 2014-03-04  Heiher  <r@hev.cc>
793
794         * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
795         Loongson-3A.
796         (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
797         extension of bfd_mach_mipsisa64r2.
798
799 2014-03-04  Nick Clifton  <nickc@redhat.com>
800
801         PR ld/16017
802         * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
803         (elf32_thumb2_plt_entry): New array.
804         (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
805         using thumb2 based PLT.
806         (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
807         entries.
808         (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
809         PLT entries.
810         (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
811         based PLT 0-entry.
812         (elf32_arm_output_plt_map_1): Handle creation of local symbols for
813         Thumb2 based PLT 0-entry.
814         (elf32_arm_output_arch_local_syms): Handle creation of local
815         symbols for Thumb2 based PLT entries.
816
817 2014-02-28  Alan Modra  <amodra@gmail.com>
818
819         PR ld/16643
820         * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
821         the same conditions we called check_relocs.
822
823 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
824
825         * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
826         * bfd-in2.h: Regenerate.
827         * elf32-arm.c (elf32_arm_plt_entry_long): New array.
828         (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
829         using long PLT entries.
830         (bfd_elf32_arm_use_long_plt): New function.
831         (elf32_arm_populate_plt_entry): Add support for long PLT entries.
832
833 2014-02-27  Alan Modra  <amodra@gmail.com>
834
835         * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
836         params for targets that don't use ppc32elf.em.
837
838 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
839
840         * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
841         of GOTOFF relocations.
842
843 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
844             H.J. Lu  <hongjiu.lu@intel.com>
845
846         * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
847         (elf_x86_64_legacy_plt_entry): Likewise.
848         (elf_x86_64_bnd_plt_entry): Likewise.
849         (elf_x86_64_legacy_plt2_entry): Likewise.
850         (elf_x86_64_bnd_plt2_entry): Likewise.
851         (elf_x86_64_bnd_arch_bed): Likewise.
852         (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
853         (elf_x86_64_link_hash_table): Add plt_bnd.
854         (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
855         plt_bnd.
856         (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
857         (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
858         in 64-bit mode.
859         (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
860         symbols.  Resolve call to the second PLT if it is created.
861         (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
862         (elf_x86_64_relocate_section): Resolve PLT references to the
863         second PLT if it is created.
864         (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
865         second PLT entry for BND relocation.
866         (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
867         the second PLT is created.
868         (elf_x86_64_get_synthetic_symtab): New.
869         (bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
870
871 2014-02-19  Alan Modra  <amodra@gmail.com>
872
873         * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
874         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
875         provision of out-of-line register save/restore routines.
876
877 2014-02-18  Jack Carter  <jack.carter@imgtec.com>
878
879         * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
880         PT_DYNAMIC segment flags.
881
882 2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
883
884         PR binutils/16595
885         * simple.c (struct saved_offsets): New.
886         (simple_save_output_info): Use it for ptr.
887         (simple_restore_output_info): Use it for ptr.  Check section_count.
888         (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
889
890 2014-02-17  Alan Modra  <amodra@gmail.com>
891
892         * elf64-ppc.h (struct ppc64_elf_params): Define.
893         (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
894         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
895         ppc64_elf_build_stubs): Update prototype.
896         * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
897         fields now in params.  Adjust code throughout file.
898         (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
899         Save params pointer in htab.
900         (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
901         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
902         ppc64_elf_build_stubs): Remove parameters now in "params".
903
904 2014-02-17  Alan Modra  <amodra@gmail.com>
905
906         * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
907         patched for ppc476 workaround.  Reapply branch taken/not taken
908         relocs.
909
910 2014-02-12  Alan Modra  <amodra@gmail.com>
911
912         * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
913         stubs for calls to __tls_get_addr that we know will later be
914         optimised away.
915
916 2014-02-12  Alan Modra  <amodra@gmail.com>
917
918         * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
919         for ld -r, when code sections are sufficiently aligned.
920         * elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
921         pagesize_p2.
922
923 2014-02-12  Alan Modra  <amodra@gmail.com>
924
925         PR gold/15530
926         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
927         --export-dynamic and --dynamic-list marking of symbols.
928         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
929         cheap tests first.
930
931 2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
932
933         PR gold/16530
934         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
935         executables if it matches dynamic_list.
936
937 2014-02-10  Alan Modra  <amodra@gmail.com>
938
939         * po/SRC-POTFILES.in: Regenerate.
940         * po/bfd.pot: Regenerate.
941
942 2014-02-09  Alan Modra  <amodra@gmail.com>
943
944         * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
945         * elfxx-target.h (elf_backend_caches_rawsize): Define.
946         (elfNN_bed): Init new field.
947         * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
948         * elf32-ppc.c (shared_stub_entry): Zero addi offset.
949         (ppc_elf_relax_section): Don't reallocate section here, write
950         stubs, or write out relocs for ld -r here..
951         (ppc_elf_relocate_section): ..instead write stubs here, and use
952         existing code to write out relocs for ld -r.  Fix offset
953         adjustment on reloc for little-endian.
954         (elf_backend_caches_rawsize): Define.
955
956 2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
957
958         PR build/16550
959         * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
960
961 2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
962
963         * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
964         return paths.  Three times.
965         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
966         return paths.
967         (ppc64_elf_tls_optimize): Free TOC_REF in return path.
968         (ppc64_elf_edit_toc): Free USED in return path.
969
970 2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
971
972         * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
973         (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
974         * libbfd.h: Regenerated.
975         * bfd-in2.h: Regenerated.
976         * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
977         (nios2_reloc_map): Likewise.
978         (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
979         Fixed all references.
980         (nios2_elf32_relocate_section): Add new relocations.
981         (nios2_elf32_check_relocs): Likewise.
982         (nios2_elf32_gc_sweep_hook): Likewise.
983
984 2014-02-03  Alan Modra  <amodra@gmail.com>
985
986         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
987         Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
988         (ppc_elf_link_params): New function.
989         (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
990         workaround.
991         (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
992         parameters.  Use htab->params instead.
993         (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
994         (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
995         64 bytes for ppc476 workaround.
996         (struct ppc_elf_relax_info): New.
997         (ppc_elf_relax_section): Exclude linker created sections and
998         those too small to hold one instruction.  Don't add another
999         branch  around trampolines on later relax passes.  Don't
1000         generate trampolines for undefined symbols when !relocatable,
1001         nor for plugin symbols.  Allocate space for ppc476 workaround
1002         patch area.  Free fixups on error return path.
1003         (ppc_elf_relocate_section): Handle ppc476 workaround patching.
1004         * elf32-ppc.h (struct ppc_elf_params): New.
1005         (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
1006         (ppc_elf_link_params): Declare.
1007         * section.c (SEC_INFO_TYPE_TARGET): Define.
1008         * bfd-in2.h: Regenerate.
1009
1010 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
1011
1012         * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
1013         h_gp_got field.
1014         (nios2_elf32_relocate_section): Use got_base to adjust
1015         GOT-pointer-relative relocations relative to _gp_got.
1016         (create_got_section): Create _gp_got symbol.
1017         (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
1018         (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
1019
1020 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
1021
1022         * bfd-in2.h: Update from reloc.c.
1023         * elf32-nios2.c: Include elf32-nios2.h.
1024         (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
1025         (nios2_reloc_map): Likewise.
1026         (enum elf32_nios2_stub_type): Declare.
1027         (struct elf32_nios2_stub_hash_entry): Declare.
1028         (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
1029         (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
1030         (struct elf32_nios2_link_hash_table): Add new fields bstab,
1031         stub_bfd, add_stub_section, layout_sections_again, stub_group,
1032         bfd_count, top_index, input_list, all_local_syms.
1033         (nios2_call26_stub_entry): New.
1034         (nios2_elf32_install_imm16): Move up in file.
1035         (nios2_elf32_install_data): Move up in file.
1036         (hiadj): Move up in file.
1037         (stub_hash_newfunc): New.
1038         (link_hash_newfunc): Initialize hsh_cache field.
1039         (STUB_SUFFIX): New.
1040         (nios2_stub_name): New.
1041         (nios2_get_stub_entry): New.
1042         (nios2_add_stub): New.
1043         (nios2_elf32_setup_section_lists): New.
1044         (nios2_elf32_next_input_section): New.
1045         (CALL26_SEGMENT): New.
1046         (MAX_STUB_SECTION_SIZE): New.
1047         (group_sections): New.
1048         (nios2_type_of_stub): New.
1049         (nios2_build_one_stub): New.
1050         (nios2_size_one_stub): New.
1051         (get_local_syms): New.
1052         (nios2_elf32_size_stubs): New.
1053         (nios2_elf32_build_stubs): New.
1054         (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
1055         (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
1056         trampolines for R_NIOS2_CALL26 stubs.
1057         (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
1058         (nios2_elf32_gc_sweep_hook): Likewise.
1059         (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
1060         (nios2_elf32_link_hash_table_free): New.
1061         (bfd_elf32_bfd_link_hash_table_free): Define.
1062         * elf32-nios2.h: New file.
1063         * libbfd.h: Update from reloc.c.
1064         * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
1065
1066 2014-01-29  Nick Clifton  <nickc@redhat.com>
1067
1068         PR binutils/16318
1069         * elf32-metag.c (elf_metag_post_process_headers): Call
1070         _bfd_elf_post_process_headers.
1071         * elf32-sh64.c (sh64_elf_copy_private_data): Call
1072         _bfd_elf_copy_private_data.
1073         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1074
1075 2014-01-29  Nick Clifton  <nickc@redhat.com>
1076
1077         * bfd-in.h (bfd_set_section_vma): Delete.
1078         (bfd_set_section_alignment): Delete.
1079         (bfd_set_section_userdata): Delete.
1080         (bfd_set_cacheable): Delete.
1081         * bfd.c (bfd_set_cacheable): New static inline function.
1082         * section.c (bfd_set_section_userdata): Likewise.
1083         (bfd_set_section_vma): Likewise.
1084         (bfd_set_section_alignment): Likewise.
1085         * bfd-in2.h: Regenerate.
1086
1087 2014-01-28  Nick Clifton  <nickc@redhat.com>
1088
1089         * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
1090         attributes select the CU containing the abbreviation, which may not
1091         be the current CU.
1092
1093 2014-01-24  Alan Modra  <amodra@gmail.com>
1094
1095         * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
1096         to get_relocs for ELFv2.
1097
1098 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
1099
1100         PR ld/16498
1101         * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
1102         if TLS sections are not adjacent.
1103
1104 2014-01-22  Alan Modra  <amodra@gmail.com>
1105
1106         * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
1107
1108 2014-01-22  Alan Modra  <amodra@gmail.com>
1109
1110         * elf64-ppc.c (STK_LINKER): Comment typo fix.
1111
1112 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1113
1114         PR ld/16467
1115         * elflink.c (_bfd_elf_merge_symbol): When types of the existing
1116         regular default symbol definition and the versioned dynamic
1117         symbol definition mismatch, skip the default symbol definition
1118         if one of them is IFUNC.
1119
1120 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1121
1122         PR ld/2404
1123         * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
1124         info->export_dynamic nor h->ref_dynamic for type mismatch when
1125         adding the default version.
1126
1127 2014-01-16  Alan Modra  <amodra@gmail.com>
1128
1129         * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
1130         mips_elf_traverse_got_arg* rather than mips_got_info*.
1131         Adjust caller.  Alloc on output_bfd rather than symbol section
1132         owner.
1133
1134 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
1135
1136         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
1137         change.
1138         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1139
1140 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
1141
1142         PR ld/16428
1143         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
1144         against __ehdr_start.
1145         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1146
1147 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
1148
1149         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
1150         change.
1151         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1152
1153 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
1154
1155         PR ld/16428
1156         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
1157         count if there are any non pc-relative relocs.
1158         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1159
1160 2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
1161             Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
1162
1163         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
1164         offset while calculating relocation address.
1165         (elfNN_aarch64_create_small_pltn_entry): Likewise.
1166         (elfNN_aarch64_init_small_plt0_entry): Likewise.
1167
1168 2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
1169
1170         PR ld/16202
1171         * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
1172         R_ARM_ABS8 and R_ARM_ABS16.
1173
1174 2014-01-13  Alan Modra  <amodra@gmail.com>
1175
1176         * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
1177         error when shared and force a plt call otherwise.
1178         (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
1179         plt_type == PLT_NEW.
1180         (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
1181         the appropriate call stub.
1182
1183 2014-01-10  Alan Modra  <amodra@gmail.com>
1184
1185         PR ld/14207
1186         PR ld/16322
1187         PR binutils/16323
1188         * elf.c (assign_file_positions_for_load_sections): Revert last change.
1189         (assign_file_positions_for_non_load_sections): When setting up
1190         PT_GNU_RELRO header, don't require a corresponding PT_LOAD
1191         header that completely covers the relro region.
1192
1193 2014-01-09  Tristan Gingold  <gingold@adacore.com>
1194
1195         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
1196         table macros and add macros to initializa the structure.
1197
1198 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
1199
1200         PR ld/14207
1201         PR ld/16322
1202         PR binutils/16323
1203         * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
1204         size for PT_GNU_RELRO segment.
1205         (assign_file_positions_for_load_sections): If PT_LOAD segment
1206         doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
1207
1208 2014-01-07  Tom Tromey  <tromey@redhat.com>
1209
1210         * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
1211         wrappers.
1212
1213 2014-01-03  Nick Clifton  <nickc@redhat.com>
1214
1215         PR binutils/16199
1216         * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
1217         zero.
1218
1219 2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
1220
1221         PR binutils/14289
1222         * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
1223
1224 2014-01-02  Nick Clifton  <nickc@redhat.com>
1225
1226         PR binutils/11983
1227         * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
1228         filename in the bfd's filename field.
1229         * elfcode.h (bfd_from_remote_memory): Likewise.
1230         * ieee.c (ieee_object_p): Likewise.
1231         * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
1232         * oasys.c (oasys_openr_next_archived_file): Likewise.
1233         * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
1234         * opncls.c (bfd_fopen): Likewise.
1235         (bfd_openstreamr): Likewise.
1236         (bfd_openr_iovec): Likewise.
1237         (bfd_openw): Likewise.
1238         (bfd_create): Likewise.
1239         (_bfd_delete_bfd): Free filename.
1240
1241 For older changes see ChangeLog-2013
1242 \f
1243 Copyright (C) 2014 Free Software Foundation, Inc.
1244
1245 Copying and distribution of this file, with or without modification,
1246 are permitted in any medium without royalty provided the copyright
1247 notice and this notice are preserved.
1248
1249 Local Variables:
1250 mode: change-log
1251 left-margin: 8
1252 fill-column: 74
1253 version-control: never
1254 End: