MIPS/BFD: Enable local R_MIPS_26 overflow detection
[external/binutils.git] / bfd / ChangeLog
1 2016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
2
3         * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
4         <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
5         reloc location from calculation, treat the addend as signed with
6         local non-section symbols and enable overflow detection.
7
8 2016-05-28  Alan Modra  <amodra@gmail.com>
9
10         * aoutx.h: Adjust linker callback calls throughout file,
11         removing dead code.
12         * bout.c: Likewise.
13         * coff-alpha.c: Likewise.
14         * coff-arm.c: Likewise.
15         * coff-h8300.c: Likewise.
16         * coff-h8500.c: Likewise.
17         * coff-i960.c: Likewise.
18         * coff-mcore.c: Likewise.
19         * coff-mips.c: Likewise.
20         * coff-ppc.c: Likewise.
21         * coff-rs6000.c: Likewise.
22         * coff-sh.c: Likewise.
23         * coff-tic80.c: Likewise.
24         * coff-w65.c: Likewise.
25         * coff-z80.c: Likewise.
26         * coff-z8k.c: Likewise.
27         * coff64-rs6000.c: Likewise.
28         * cofflink.c: Likewise.
29         * ecoff.c: Likewise.
30         * elf-bfd.h: Likewise.
31         * elf-m10200.c: Likewise.
32         * elf-m10300.c: Likewise.
33         * elf32-arc.c: Likewise.
34         * elf32-arm.c: Likewise.
35         * elf32-avr.c: Likewise.
36         * elf32-bfin.c: Likewise.
37         * elf32-cr16.c: Likewise.
38         * elf32-cr16c.c: Likewise.
39         * elf32-cris.c: Likewise.
40         * elf32-crx.c: Likewise.
41         * elf32-d10v.c: Likewise.
42         * elf32-epiphany.c: Likewise.
43         * elf32-fr30.c: Likewise.
44         * elf32-frv.c: Likewise.
45         * elf32-ft32.c: Likewise.
46         * elf32-h8300.c: Likewise.
47         * elf32-hppa.c: Likewise.
48         * elf32-i370.c: Likewise.
49         * elf32-i386.c: Likewise.
50         * elf32-i860.c: Likewise.
51         * elf32-ip2k.c: Likewise.
52         * elf32-iq2000.c: Likewise.
53         * elf32-lm32.c: Likewise.
54         * elf32-m32c.c: Likewise.
55         * elf32-m32r.c: Likewise.
56         * elf32-m68hc1x.c: Likewise.
57         * elf32-m68k.c: Likewise.
58         * elf32-mep.c: Likewise.
59         * elf32-metag.c: Likewise.
60         * elf32-microblaze.c: Likewise.
61         * elf32-moxie.c: Likewise.
62         * elf32-msp430.c: Likewise.
63         * elf32-mt.c: Likewise.
64         * elf32-nds32.c: Likewise.
65         * elf32-nios2.c: Likewise.
66         * elf32-or1k.c: Likewise.
67         * elf32-ppc.c: Likewise.
68         * elf32-s390.c: Likewise.
69         * elf32-score.c: Likewise.
70         * elf32-score7.c: Likewise.
71         * elf32-sh.c: Likewise.
72         * elf32-sh64.c: Likewise.
73         * elf32-spu.c: Likewise.
74         * elf32-tic6x.c: Likewise.
75         * elf32-tilepro.c: Likewise.
76         * elf32-v850.c: Likewise.
77         * elf32-vax.c: Likewise.
78         * elf32-visium.c: Likewise.
79         * elf32-xstormy16.c: Likewise.
80         * elf32-xtensa.c: Likewise.
81         * elf64-alpha.c: Likewise.
82         * elf64-hppa.c: Likewise.
83         * elf64-ia64-vms.c: Likewise.
84         * elf64-mmix.c: Likewise.
85         * elf64-ppc.c: Likewise.
86         * elf64-s390.c: Likewise.
87         * elf64-sh64.c: Likewise.
88         * elf64-x86-64.c: Likewise.
89         * elflink.c: Likewise.
90         * elfnn-aarch64.c: Likewise.
91         * elfnn-ia64.c: Likewise.
92         * elfxx-mips.c: Likewise.
93         * elfxx-sparc.c: Likewise.
94         * elfxx-tilegx.c: Likewise.
95         * linker.c: Likewise.
96         * pdp11.c: Likewise.
97         * pe-mips.c: Likewise.
98         * reloc.c: Likewise.
99         * reloc16.c: Likewise.
100         * simple.c: Likewise.
101         * vms-alpha.c: Likewise.
102         * xcofflink.c: Likewise.
103         * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
104         status param.  Adjust calls to these and linker callbacks throughout.
105         * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
106         get_ramstart): Delete status param.  Adjust calls to these and
107         linker callbacks throughout.
108
109 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
110
111         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
112         <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
113         target alignment verification.
114
115 2016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
116
117         * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
118         section name if `bfd_elf_string_from_elf_section' returns an
119         empty string.
120
121 2016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
122
123         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
124         <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
125         for message.  Continue processing rather than returning failure.
126
127 2016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
128
129         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
130         <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
131         Call `bfd_set_error'.
132
133 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
134
135         PR binutils/14625
136         * archive.c (bfd_slurp_armap): Replace
137         bfd_elf64_archive_slurp_armap with
138         _bfd_archive_64_bit_slurp_armap.
139         (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
140         BFD64 is defined and the archive is too big.
141         (coff_write_armap): Likewise.
142         * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
143         (_bfd_archive_64_bit_slurp_armap): This.
144         (bfd_elf64_archive_write_armap): Renamed to ...
145         (_bfd_archive_64_bit_write_armap): This.
146         * configure.ac: Add --enable-64-bit-archive.
147         (want_64_bit_archive): New.  Set to true by default for 64-bit
148         MIPS and s390 ELF targets.
149         (USE_64_BIT_ARCHIVE): New AC_DEFINE.
150         * config.in: Regenerated.
151         * configure: Likewise.
152         * elf64-mips.c (bfd_elf64_archive_functions): Removed.
153         (bfd_elf64_archive_slurp_armap): Likewise.
154         (bfd_elf64_archive_write_armap): Likewise.
155         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
156         (bfd_elf64_archive_construct_extended_name_table): Likewise.
157         (bfd_elf64_archive_truncate_arname): Likewise.
158         (bfd_elf64_archive_read_ar_hdr): Likewise.
159         (bfd_elf64_archive_write_ar_hdr): Likewise.
160         (bfd_elf64_archive_openr_next_archived_file): Likewise.
161         (bfd_elf64_archive_get_elt_at_index): Likewise.
162         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
163         (bfd_elf64_archive_update_armap_timestamp): Likewise.
164         * elf64-s390.c (bfd_elf64_archive_functions): Removed.
165         (bfd_elf64_archive_slurp_armap): Likewise.
166         (bfd_elf64_archive_write_armap): Likewise.
167         (bfd_elf64_archive_slurp_extended_name_table): Likewise.
168         (bfd_elf64_archive_construct_extended_name_table): Likewise.
169         (bfd_elf64_archive_truncate_arname): Likewise.
170         (bfd_elf64_archive_read_ar_hdr): Likewise.
171         (bfd_elf64_archive_write_ar_hdr): Likewise.
172         (bfd_elf64_archive_openr_next_archived_file): Likewise.
173         (bfd_elf64_archive_get_elt_at_index): Likewise.
174         (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
175         (bfd_elf64_archive_update_armap_timestamp): Likewise.
176         * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
177         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
178         bfd_elfNN_archive_functions isn't defined.
179         (TARGET_LITTLE_SYM): Likewise.
180         * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
181         (_bfd_archive_64_bit_write_armap): Likewise.
182         (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
183         (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
184         (_bfd_archive_64_bit_truncate_arname): Likewise.
185         (_bfd_archive_64_bit_read_ar_hdr): Likewise.
186         (_bfd_archive_64_bit_write_ar_hdr): Likewise.
187         (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
188         (_bfd_archive_64_bit_get_elt_at_index): Likewise.
189         (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
190         (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
191         * libbfd.h: Regenerated.
192         * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
193         BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
194
195 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
196
197         PR ld/20103
198         * cofflink.c (coff_link_check_archive_element): Return TRUE if
199         linker add_archive_element callback returns FALSE.
200         * ecoff.c (ecoff_link_check_archive_element): Likewise.
201         * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
202         archive element if linker add_archive_element callback returns
203         FALSE.
204         * elflink.c (elf_link_add_archive_symbols): Likewise.
205         * pdp11.c (aout_link_check_ar_symbols): Likewise.
206         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
207         * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
208         (xcoff_link_check_ar_symbols): Likewise.
209
210 2016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
211
212         * elfxx-mips.c (_bfd_mips_elf_relocate_section)
213         <bfd_reloc_outofrange>: Unify error reporting code.
214
215 2016-05-23  Jim Wilson  <jim.wilson@linaro.org>
216
217         * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
218         R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
219         * relocs.c: Add BFD_RELOC_AARCH64_NULL.
220         * bfd-in2.h: Regenerate.
221         * libbfd.h: Likewise.
222
223 2016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
224
225         * config.bfd: Add entry for arm-phoenix.
226
227 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
228
229         * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
230         (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
231         account for padding for stub section requiring one.
232         (elf32_arm_build_stubs): Add comment to stress the importance of
233         zeroing veneer section content.
234
235 2016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
236
237         * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
238         bfd hook.
239         * bfd-in2.h: Regenerate.
240         * elf32-arm.c (arm_dedicated_stub_output_section_required): New
241         function.
242         (arm_dedicated_stub_output_section_required_alignment): Likewise.
243         (arm_dedicated_stub_output_section_name): Likewise.
244         (arm_dedicated_stub_input_section_ptr): Likewise.
245         (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
246         function description comment. Add support for dedicated output stub
247         section to given stub types.
248         (elf32_arm_add_stub): Add a stub type parameter and pass it down to
249         elf32_arm_create_or_find_stub_sec.
250         (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
251         (elf32_arm_size_stubs): Pass stub type when calling
252         elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
253         (bfd_elf32_arm_keep_private_stub_output_sections): New function.
254
255 2016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
256
257         * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
258         when setting need_convert_load.
259
260 2016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
261
262         * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
263         microMIPS JALX.
264
265 2016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
266
267         PR ld/20117
268         * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
269         R_386_GOT32X.
270         (elf_i386_convert_load): Don't convert R_386_GOT32.
271
272 2016-05-20  Alan Modra  <amodra@gmail.com>
273
274         PR gas/20118
275         * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
276         SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
277
278 2016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
279
280         * elf32-arc.c (arc_elf_final_write_processing): Changed.
281         (debug_arc_reloc): Likewise.
282         (elf_arc_relocate_section): Likewise.
283         (elf_arc_check_relocs): Likewise.
284         (elf_arc_adjust_dynamic_symbol): Likewise.
285         (elf_arc_add_symbol_hook): Likewise.
286
287 2016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
288
289         * config.bfd: Remove `am34-*-linux*' support.
290
291 2016-05-19  Alan Modra  <amodra@gmail.com>
292
293         * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
294         relocs before plt relocs.
295
296 2016-05-19  Alan Modra  <amodra@gmail.com>
297
298         * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
299         before dereferencing.
300
301 2016-05-18  Nick Clifton  <nickc@redhat.com>
302
303         * po/sv.po: Updated Swedish translation.
304
305 2016-05-18  Alan Modra  <amodra@gmail.com>
306
307         * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
308         for each BFD.  Don't goto error_ret_free_local from outside loop.
309
310 2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
311
312         * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
313         STB_GNU_UNIQUE handling.
314         * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
315         * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
316         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
317         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
318         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
319         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
320         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
321         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
322         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
323         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
324         * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
325         (elf_backend_add_symbol_hook): Remove macro.
326         * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
327         for STB_GNU_UNIQUE symbols.
328
329 2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
330
331         * elf32-v850.c (v850_elf_copy_notes): New function, factored out
332         from...
333         (v850_elf_copy_private_bfd_data): ... here.  Call the new
334         function and `_bfd_elf_copy_private_bfd_data'.
335
336 2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
337
338         PR ld/20093
339         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
340         GOTPCREL relocation against large section.
341
342 2016-05-13  Alan Modra  <amodra@gmail.com>
343
344         * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
345         linker dynamic sections in calculating size and address of
346         dynamic tags rather than using output sections.  Remove asserts.
347         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
348         * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
349         * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
350         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
351         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
352         * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
353         * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
354         * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
355         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
356         * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
357         * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
358         * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
359         * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
360         * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
361         * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
362         * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
363         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
364         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
365         * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
366         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
367         * elflink.c (bfd_elf_final_link): Likewise.
368         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
369         * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
370         * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
371         don't set doit.  Look up dynobj section.
372         (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
373         invocation and dynamic tag vma calculation.  Don't test
374         boolean var == TRUE.
375         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
376         DT_JMPREL calc.
377
378 2016-05-13  Alan Modra  <amodra@gmail.com>
379
380         * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
381         octets_per_byte.  Put dynamic .rela.plt last in link orders.
382         Assign output_offset for reloc sections rather than writing
383         sorted relocs from block corresponding to output_offset.
384
385 2016-05-12  Alan Modra  <amodra@gmail.com>
386
387         * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
388
389 2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
390
391         * elfxx-mips.c (print_mips_ases): Add DSPR3.
392
393 2016-05-11  Alan Modra  <amodra@gmail.com>
394
395         * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
396         (elf32_hppa_check_relocs): Don't set dynobj.
397         (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
398         (elf32_hppa_build_stubs): Likewise.
399         * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
400
401 2016-05-11  Alan Modra  <amodra@gmail.com>
402
403         PR 20060
404         * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
405         * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
406
407 2016-05-10  Jiong Wang  <jiong.wang@arm.com>
408
409         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
410         aarch64_tls_transition check.
411
412 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
413
414         * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
415         enumerator.
416         (arm_stub_sym_claimed): New function.
417         (elf32_arm_create_stub): Use veneered symbol name and section if
418         veneer needs to claim its symbol, and keep logic unchanged otherwise.
419         (arm_stub_claim_sym): New function.
420         (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
421         veneered symbol, otherwise create local symbol as before.
422
423 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
424
425         * elf32-arm.c (elf32_arm_size_stubs): Use new macros
426         ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
427         and set branch type of a symbol.
428         (bfd_elf32_arm_process_before_allocation): Likewise.
429         (elf32_arm_relocate_section): Likewise and fix identation along the
430         way.
431         (allocate_dynrelocs_for_symbol): Likewise.
432         (elf32_arm_finish_dynamic_symbol): Likewise.
433         (elf32_arm_swap_symbol_in): Likewise.
434         (elf32_arm_swap_symbol_out): Likewise.
435
436 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
437
438         * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
439         * bfd-in2.h: Regenerated.
440         * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
441         parameter to add_stub_section callback.
442         (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
443         and pass it down to add_stub_section.
444         (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
445         for error message.
446         (elf32_arm_size_stubs): Add output section parameter to
447         add_stub_section function pointer parameter.
448
449 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
450
451         * elf32-arm.c (elf32_arm_create_stub): New function.
452         (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
453
454 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
455
456         * elf32-arm.c (enum elf32_arm_stub_type): Delete
457         arm_stub_a8_veneer_lwm enumerator.
458         (arm_stub_a8_veneer_lwm): New unsigned constant to replace
459         aforementioned enumerator.
460         (struct elf32_arm_stub_hash_entry): Delete target_addend
461         field and add source_value.
462         (struct a8_erratum_fix): Delete addend field and add target_offset.
463         (stub_hash_newfunc): Initialize source_value field amd remove
464         initialization for target_addend.
465         (arm_build_one_stub): Stop special casing Thumb relocations: promote
466         the else to being always executed, moving the
467         arm_stub_a8_veneer_b_cond specific code in it.  Remove
468         stub_entry->target_addend from points_to computation.
469         (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
470         to target symbol from start of section rather than the offset from the
471         stub address.
472         (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
473         fields from struct a8_erratum_fix's offset and target_offset
474         respectively.
475         (make_branch_to_a8_stub): Rename target variable to loc.  Compute
476         veneered_insn_loc and loc using stub_entry's source_value.
477
478 2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
479
480         (elf32_arm_merge_eabi_attributes): Add merging logic for
481         Tag_DSP_extension.
482
483 2016-05-10  Pip Cet  <pipcet@gmail.com>
484
485         PR ld/20059
486         * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
487         Define as _bfd_generic_copy_link_hash_symbol_type when using
488         generic hash table.
489
490 2016-05-09  Nick Clifton  <nickc@redhat.com>
491
492         PR binutils/20063
493         * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
494         field before accessing sections array.
495
496 2016-05-09  Christophe Monat  <christophe.monat@st.com>
497
498         PR ld/20030
499         * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
500         (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
501         to nb_words.
502         (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
503         encoding.
504         (create_instruction_vldmdb): Likewise.
505         (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
506         uses it to re-encode.
507
508 2016-05-09  Nick Clifton  <nickc@redhat.com>
509
510         PR 19938
511         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
512         commit.
513
514 2016-05-09  Alan Modra  <amodra@gmail.com>
515
516         * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
517
518 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
519
520         PR ld/17550
521         * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
522         documenting that indx == -3 if symbol is defined in a discarded
523         section.
524         * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
525         symbol is defined in a discarded section.
526         (elf_link_output_extsym): Strip a global symbol defined in a
527         discarded section.
528
529 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
530
531         * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
532         MCU.
533
534 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
535
536         * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
537         conversion to ...
538         (elf_i386_convert_load_reloc): This.  New function.
539         * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
540         conversion to ...
541         (elf_x86_64_convert_load_reloc): This.  New function.
542
543 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
544
545         * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
546         Don't check if contents == NULL.
547         (elf_i386_tls_transition): Add from_relocate_section.  Check
548         from_relocate_section instead of contents != NULL.  Update
549         elf_i386_check_tls_transition call.
550         (elf_i386_check_relocs): Cache the section contents if
551         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
552         elf_i386_tls_transition.
553         (elf_i386_relocate_section): Pass TRUE as from_relocate_section
554         to elf_i386_tls_transition.
555         (elf_backend_caches_rawsize): New.
556         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
557         if contents == NULL.
558         (elf_x86_64_tls_transition): Add from_relocate_section.  Check
559         from_relocate_section instead of contents != NULL.
560         (elf_x86_64_check_relocs): Cache the section contents if
561         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
562         elf_x86_64_tls_transition.
563         (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
564         to elf_x86_64_tls_transition.
565         (elf_backend_caches_rawsize): New.
566
567 2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
568
569         PR 10549
570         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
571         STB_GNU_UNIQUE.
572
573 2016-05-03  Jiong Wang  <jiong.wang@arm.com>
574
575         * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
576         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
577         * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
578         no_apply_dynamic_relocs.
579         (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
580         dynamic relocations generated.
581
582 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
583
584         * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
585         setting to ...
586         (elf_i386_create_dynamic_sections): Here.
587         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
588         interp setting to ...
589         (elf_x86_64_create_dynamic_sections): Here.
590
591 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
592
593         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
594         and replace (EH)->has_got_reloc with GOT_RELOC.
595         (elf_i386_fixup_symbol): Pass has_got_reloc to
596         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
597         (elf_i386_allocate_dynrelocs): Likewise.
598         (elf_i386_relocate_section): Likewise.
599         (elf_i386_finish_dynamic_symbol): Likewise.
600         (elf_i386_convert_load): Pass TRUE to
601         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
602         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
603         GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
604         (elf_x86_64_fixup_symbol): Pass has_got_reloc to
605         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
606         (elf_x86_64_allocate_dynrelocs): Likewise.
607         (elf_x86_64_relocate_section): Likewise.
608         (elf_x86_64_finish_dynamic_symbol): Likewise.
609         (elf_x86_64_convert_load): Pass TRUE to
610         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
611
612 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
613
614         * elf32-i386.c (check_relocs_failed): New.
615         (elf_i386_check_relocs): Set check_relocs_failed on error.
616         (elf_i386_relocate_section): Skip if check_relocs failed.
617
618 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
619
620         * elf64-x86-64.c (elf_x86_64_check_relocs): Set
621         check_relocs_failed on error.
622
623 2016-04-29  Nick Clifton  <nickc@redhat.com>
624
625         PR 19938
626         * elf-bfd.h (struct elf_backend_data): Rename
627         elf_backend_set_special_section_info_and_link to
628         elf_backend_copy_special_section_fields.
629         * elfxx-target.h: Likewise.
630         * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
631         comparing section flags.
632         (copy_special_section_fields): New function.
633         (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
634         Perform two scans over special sections.  The first one looks for
635         a direct mapping between the output section and an input section.
636         The second scan looks for a possible match based upon section
637         characteristics.
638         * elf32-arm.c (elf32_arm_copy_special_section_fields): New
639         function.  Handle setting the sh_link field of SHT_ARM_EXIDX
640         sections.
641         * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
642         elf32_i386_copy_solaris_special_section_fields.
643         * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
644         Rename to elf32_sparc_copy_solaris_special_section_fields.
645         * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
646         elf64_x86_64_copy_solaris_special_section_fields.
647
648 2016-04-28  Nick Clifton  <nickc@redhat.com>
649
650         * po/zh_CN.po: Updated Chinese (simplified) translation.
651
652 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
653
654         PR ld/20006
655         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
656         when estimating distances between output sections.
657
658 2016-04-27  Alan Modra  <amodra@gmail.com>
659
660         * elflink.c (_bfd_elf_is_start_stop): New function.
661         (_bfd_elf_gc_mark_rsec): Use it.
662         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
663
664 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
665
666         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
667         * mmo.c (mmo_get_section_contents): Likewise.
668         (mmo_set_section_contents): Likewise.
669
670 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
671
672         * elf-bfd.h (elf_link_hash_table): Update comments for
673         dynsymcount.
674         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
675         the unused NULL entry at the head of dynamic symbol table.
676         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
677         checks.
678
679 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
680
681         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
682         created file from dynobj.
683
684 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
685
686         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
687         normal input file if possible.
688
689 2016-04-21  Nick Clifton  <nickc@redhat.com>
690
691         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
692         * aout-target.h: Likewise.
693         * aout-tic30.c: Likewise.
694         * binary.c: Likewise.
695         * bout.c: Likewise.
696         * coff-alpha.c: Likewise.
697         * coff-rs6000.c: Likewise.
698         * coff64-rs6000.c: Likewise.
699         * coffcode.h: Likewise.
700         * i386msdos.c: Likewise.
701         * i386os9k.c: Likewise.
702         * ieee.c: Likewise.
703         * ihex.c: Likewise.
704         * libbfd-in.h: Likewise.
705         * libecoff.h: Likewise.
706         * mach-o-target.c: Likewise.
707         * mmo.c: Likewise.
708         * nlm-target.h: Likewise.
709         * oasys.c: Likewise.
710         * pef.c: Likewise.
711         * plugin.c: Likewise.
712         * ppcboot.c: Likewise.
713         * som.c: Likewise.
714         * srec.c: Likewise.
715         * tekhex.c: Likewise.
716         * versados.c: Likewise.
717         * vms-alpha.c: Likewise.
718         * xsym.c: Likewise.
719         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
720         * linker.c (bfd_link_check_relocs): New function.
721         (_bfd_generic_link_check_relocs): New function.
722         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
723         _bfd_link_check_relocs field.
724         (struct bfd_target)L Add _bfd_link_check_relocs field.
725         * bfd-in2.h: Regenerate.
726         * libbfd.h: Regenerate.
727
728 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
729
730         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
731         (elf_backend_gc_sweep_hook): Likewise.
732         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
733         (elf_backend_gc_sweep_hook): Likewise.
734
735 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
736
737         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
738         in excluded sections
739
740 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
741
742         PR ld/19969
743         * elf64-x86-64.c (check_relocs_failed): New.
744         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
745         Support relocation agaist local symbol.  Set check_relocs_failed.
746         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
747         R_X86_64_32 relocation overflow.
748         (elf_x86_64_relocate_section): Skip if check_relocs failed.
749         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
750
751 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
752
753         * elf32-i386.c (elf_i386_check_relocs): Call
754         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
755         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
756
757 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
758
759         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
760         * elflink.c (_bfd_elf_link_check_relocs): New function.
761         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
762         if check_relocs_after_open_input is FALSE.
763
764 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
765
766         * cache.c: Update old style function definitions.
767         * elf32-m68k.c: Likewise.
768         * elf64-mmix.c: Likewise.
769         * stab-syms.c: Likewise.
770
771 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
772
773         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
774
775 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
776
777         * Makefile.in: Regenerated with automake 1.11.6.
778         * aclocal.m4: Likewise.
779         * doc/Makefile.in: Likewise.
780
781 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
782
783         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
784         * bfd-in2.h: Regenerate.
785         * libbfd.h: Regenerate.
786         * elf32-arc.c: Add 'opcode/arc.h' include.
787         (struct arc_relocation_data): Add symbol_name.
788         (arc_special_overflow_checks): New function.
789         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
790         required, add an extra comment.
791         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
792
793 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
794
795         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
796         entries.
797         (elf_arc_relocate_section): Update enum uses.
798         (elf_arc_check_relocs): Likewise.
799         (elf_arc_finish_dynamic_symbol): Likewise.
800
801 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
802
803         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
804         "sh_link".
805
806 2016-04-14  Nick Clifton  <nickc@redhat.com>
807
808         PR target/19938
809         * elf-bbfd.h (struct elf_backend_data): New field:
810         elf_strtab_flags.
811         New field: elf_backend_set_special_section_info_and_link
812         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
813         defined.
814         (elf_backend_set_special_section_info_and_link): Define if not
815         already defined.
816         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
817         elf_backend_strtab_flags macros to initialise fields in structure.
818         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
819         being set even if SHF_MERGE is not set.
820         (elf_fake_sections): Likewise.
821         (section_match): New function.  Matches two ELF sections based
822         upon fixed characteristics.
823         (find_link): New function.  Locates a section in a BFD that
824         matches a section in a different BFD.
825         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
826         fields of reserved sections.
827         (bfd_elf_compute_section_file_positions): Set the flags for the
828         .shstrtab section based upon the elf_strtab_flags field in the
829         elf_backend_data structure.
830         (swap_out_syms): Likewise for the .strtab section.
831         * elflink.c (bfd_elf_final_link): Set the flags for the
832         .strtab section based upon the elf_strtab_flags field in the
833         elf_backend_data structure.
834         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
835         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
836         targets.
837         (elf_backend_set_special_section_info_and_link): Define for
838         Solaris targets.
839         * elf32-sparc.c: Likewise.
840         * elf64-x86-64.c: Likewise.
841
842 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
843
844         PR ld/19939
845         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
846         to bfd_boolean.
847         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
848         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
849         applies to read-only section.
850         * elf32-i386.c (elf_i386_link_hash_table): Add
851         readonly_dynrelocs_against_ifunc.
852         (elf_i386_allocate_dynrelocs): Updated.
853         (elf_i386_size_dynamic_sections): Issue an error for read-only
854         segment with dynamic IFUNC relocations only if
855         readonly_dynrelocs_against_ifunc is TRUE.
856         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
857         readonly_dynrelocs_against_ifunc.
858         (elf_x86_64_allocate_dynrelocs): Updated.
859         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
860         segment with dynamic IFUNC relocations only if
861         readonly_dynrelocs_against_ifunc is TRUE.
862         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
863         Updated.
864
865 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
866
867         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
868         a fall through from error_ret_free_internal.  Free local_syms in
869         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
870
871 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
872
873         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
874         (relocate_plt_for_entry): Likewise.
875
876 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
877
878         * elf32-arc.c (elf_arc_check_relocs): Changed
879
880 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
881
882         * elf32-arc.c (name_for_global_symbol): Changed assert.
883         (get_replace_function): Created.:
884         (struct arc_relocation_data): Changed to signed types.
885         (defines S, L, P, PDATA): Casted to signed type.
886         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
887         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
888         (arc_do_relocation): Changed.
889
890 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
891
892         * elf32-arc.c (name_for_global_symbol): Added assert to check for
893         symbol index.
894         (elf_arc_relocate_section): Added and changed asserts, validating
895         the synamic symbol index.
896         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
897         relocation if symbol has dynindx set to -1.
898
899 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
900
901         * elflink.c (elf_link_add_object_symbols): Always turn hidden
902         and internal symbols which have a dynamic index into local
903         ones.
904
905 2016-04-04  Nick Clifton  <nickc@redhat.com>
906
907         PR 19872
908         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
909         version number if the version is zero.
910
911 2016-04-01  Alan Modra  <amodra@gmail.com>
912
913         PR 19886
914         * elflink.c (on_needed_list): Recursively check needed status.
915         (elf_link_add_object_symbols): Adjust.
916
917 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
918
919         * elf32-avr.c (avr_elf32_load_records_from_section): Free
920         internal_relocs only if they aren't cached.
921
922 2016-03-29  Nick Clifton  <nickc@redhat.com>
923
924         PR 17334
925         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
926         assertion on the size of the got section to allow it to be bigger
927         than the number of relocs.
928
929 2016-03-29  Toni Spets  <toni.spets@iki.fi>
930
931         PR 19878
932         * coffcode.h (coff_write_object_contents): Revert accidental
933         2014-11-10 change.
934
935 2016-03-22  Alan Modra  <amodra@gmail.com>
936
937         PR 19850
938         * dwarf2.c (read_attribute_value): Skip info_ptr check for
939         DW_FORM_flag_present.
940
941 2016-03-22  Nick Clifton  <nickc@redhat.com>
942
943         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
944         architecture name for backwards compatibility.
945
946         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
947         unbounded stack use.
948
949         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
950         sufficiently recent version of GCC.
951         * configure: Regenerate.
952
953 2016-03-22  Alan Modra  <amodra@gmail.com>
954
955         PR 19851
956         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
957
958 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
959
960         * archures.c (bfd_mach_arc_nps400): Define.
961         * bfd-in2.h: Regenerate.
962         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
963         some existing entries to make space.
964         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
965         (arc_elf_final_write_processing): Likewise.
966
967 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
968
969         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
970         EF_ARC_CPU_GENERIC.
971         (arc_elf_final_write_processing): Don't bother setting cpu field
972         in e_flags, this will have been set elsewhere.
973
974 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
975
976         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
977         EF_ARC_MACH_MSK.
978
979 2016-03-21  Nick Clifton  <nickc@redhat.com>
980
981         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
982         * configure: Regenerate.
983         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
984         alloca with call to xmalloc.
985         * elf32-nds32.c: Likewise.
986         * elf64-hppa.c: Likewise.
987         * elfxx-mips.c: Likewise.
988         * pef.c: Likewise.
989         * pei-x86_64.c: Likewise.
990         * som.c: Likewise.
991         * xsym.c: Likewise.
992
993 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
994
995         PR ld/19827
996         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
997         locally in PIE.
998         (elf_i386_relocate_section): Likewise.
999         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1000         (elf_x86_64_relocate_section): Likewise.
1001
1002 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1003
1004         PR ld/19807
1005         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1006         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1007         relocation overflow check.
1008
1009 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
1010
1011         * bfd-in2.h: Regenerated.
1012
1013 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
1014
1015         PR 19713
1016         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1017         uses bytes not octets.
1018         * elflink.c (resolve_section): Likewise.
1019         Add a bfd parameter.
1020         (eval_section): Pass the input_bfd to resolve_section.
1021         (bfd_elf_perform_complex_relocation): Convert byte offset to
1022         octets before read and writing values.
1023         (elf_link_input_bfd): Add byte to octet conversions.
1024         (elf_reloc_link_order): Likewise.
1025         (elf_fixup_link_order): Likewise.
1026         (bfd_elf_final_link): Likewise.
1027         * reloc.c (_bfd_final_link_relocate): Likewise.
1028         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1029
1030 2016-03-10  Nick Clifton  <nickc@redhat.com>
1031
1032         * config.bfd: Mark the i370 target as obsolete.
1033
1034 2016-03-09  Pedro Alves  <palves@redhat.com>
1035
1036         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1037         gcc ABI)" to printable name.
1038         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1039         of "v850-rh850" as printable name.
1040
1041 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
1042
1043         PR ld/19623
1044         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1045         relocations against absolute symbols.
1046
1047 2016-03-09  Alan Modra  <amodra@gmail.com>
1048
1049         PR binutils/19775
1050         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1051         length elements in the archive.
1052
1053 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1054
1055         PR ld/19789
1056         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1057         for -E/--dynamic-list only when not relocatable.
1058
1059 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1060
1061         PR ld/19784
1062         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1063         count for locally defined local IFUNC symbols in shared object.
1064         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1065
1066 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1067
1068         PR ld/19579
1069         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1070         together.
1071
1072 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1073             Andrew Burgess  <andrew.burgess@embecosm.com>
1074
1075         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1076         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1077         (arc_elf_howto_init): Added assert to validate relocations.
1078         (get_middle_endian_relocation): Delete.
1079         (middle_endian_convert): New function.
1080         (ME): Redefine, now does nothing.
1081         (IS_ME): New define.
1082         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1083         definition to call middle_endian_convert.  Add a new local
1084         variable and make use of this throughout. Added call to
1085         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1086
1087 2016-03-07  Nick Clifton  <nickc@redhat.com>
1088
1089         PR binutils/19775
1090         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1091         length elements in the archive.
1092
1093 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
1094
1095         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1096         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1097
1098 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
1099
1100         PR ld/19579
1101         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1102         executable as definition if the new definition comes from a
1103         shared library.
1104
1105 2016-03-02  Alan Modra  <amodra@gmail.com>
1106
1107         * Makefile.in: Regenerate.
1108         * po/SRC-POTFILES.in: Regenerate.
1109
1110 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
1111
1112         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1113         relocation addend when sections get merged.
1114
1115 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1116
1117         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1118         the flag change.
1119         (elf_arc_relocate_section): Fixes and conditions to support PIE.
1120         Assert for code sections dynamic relocs.
1121
1122 2016-02-26  Renlin Li  <renlin.li@arm.com>
1123
1124         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1125         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1126
1127 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1128
1129         PR ld/19609
1130         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1131         load with locally bound symbols if PIC is false or there is no
1132         base register.  Optimize branch to 0 if PIC is false.
1133         (elf_i386_relocate_section): Don't generate dynamic relocations
1134         against undefined weak symbols if PIC is false.
1135         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1136         if we can't estimate relocation overflow with --no-relax.
1137         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1138         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
1139         (elf_x86_64_relocate_section): Don't generate dynamic relocations
1140         against undefined weak symbols if PIC is false.
1141
1142 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1143
1144         PR ld/19645
1145         * bfd.c (bfd): Change flags to 20 bits.
1146         (BFD_CONVERT_ELF_COMMON): New.
1147         (BFD_USE_ELF_STT_COMMON): Likewise.
1148         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1149         BFD_USE_ELF_STT_COMMON.
1150         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1151         * configure.ac: Remove --enable-elf-stt-common.
1152         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1153         common symbol depending on BFD_CONVERT_ELF_COMMON and
1154         BFD_USE_ELF_STT_COMMON.
1155         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1156         STT_COMMON.
1157         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1158         STT_COMMON.
1159         (elf_link_convert_common_type): New function.
1160         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1161         common symbol depending on BFD_CONVERT_ELF_COMMON and
1162         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
1163         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1164         and BFD_USE_ELF_STT_COMMON to object_flags.
1165         (TARGET_LITTLE_SYM): Likewise.
1166         * syms.c (BSF_KEEP_G): Renamed to ...
1167         (BSF_ELF_COMMON): This.
1168         * bfd-in2.h: Regenerated.
1169         * config.in: Likewise.
1170         * configure: Likewise.
1171
1172 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1173
1174         PR ld/19636
1175         PR ld/19704
1176         PR ld/19719
1177         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1178         (elf_i386_link_hash_entry): Add has_got_reloc and
1179         has_non_got_reloc.
1180         (elf_i386_link_hash_table): Add interp.
1181         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1182         has_non_got_reloc.
1183         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1184         has_non_got_reloc.
1185         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1186         (elf_i386_fixup_symbol): New function.
1187         (elf_i386_pie_finish_undefweak_symbol): Likewise.
1188         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1189         relocations and discard relocations against resolved undefined
1190         weak symbols in executable.  Don't make resolved undefined weak
1191         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
1192         relocation against undefined weak symbols in PIE.
1193         (elf_i386_size_dynamic_sections): Set interp to .interp section.
1194         (elf_i386_relocate_section): Don't generate dynamic relocations
1195         against resolved undefined weak symbols in PIE, except for
1196         R_386_PC32.
1197         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1198         dynamic PLT/GOT relocations for resolved undefined weak symbols.
1199         Don't generate dynamic relocation against resolved undefined weak
1200         symbol in executable.
1201         (elf_i386_finish_dynamic_sections): Call
1202         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1203         (elf_backend_fixup_symbol): New.
1204         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1205         (elf_x86_64_link_hash_entry): Add has_got_reloc and
1206         has_non_got_reloc.
1207         (elf_x86_64_link_hash_table): Add interp.
1208         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1209         has_non_got_reloc.
1210         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1211         has_non_got_reloc.
1212         (elf_x86_64_check_relocs): Set has_got_reloc and
1213         has_non_got_reloc.
1214         (elf_x86_64_fixup_symbol): New function.
1215         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1216         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1217         relocations and discard relocations against resolved undefined
1218         weak symbols in executable.  Don't make resolved undefined weak
1219         symbols in executable dynamic.
1220         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1221         (elf_x86_64_relocate_section): Check relocation overflow for
1222         dynamic relocations against unresolved weak undefined symbols.
1223         Don't generate dynamic relocations against resolved weak
1224         undefined symbols in PIE.
1225         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1226         dynamic PLT/GOT relocations for resolved undefined weak symbols.
1227         Don't generate dynamic relocation against resolved undefined weak
1228         symbol in executable.
1229         (elf_x86_64_finish_dynamic_sections): Call
1230         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1231         (elf_backend_fixup_symbol): New.
1232
1233 2016-02-26  Alan Modra  <amodra@gmail.com>
1234
1235         * elf64-ppc.c (create_linkage_sections): Create sfpr when
1236         save_restore_funcs, rest of sections when not relocatable.
1237         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1238         (sfpr_define): Define all symbols on emitted code.
1239         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1240         when relocatable.  Move sfpr_define loop earlier.
1241
1242 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1243
1244         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1245         (elf_x86_64_relocate_section): Use it.  Replace
1246         x86_64_elf_howto_table[r_type] with howto.
1247
1248 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1249
1250         PR ld/19698
1251         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1252         symbol version is unknown.
1253
1254 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1255
1256         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1257         to (bfd_vma) -1 when setting needs_plt to 0.
1258         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1259
1260 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
1261
1262         * elflink.c (bfd_elf_record_link_assignment): Check for shared
1263         library, instead of PIC, and don't check PDE when making linker
1264         assigned symbol dynamic.
1265
1266 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
1267
1268         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1269         ABIVERSION for non-executable stack.
1270
1271 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
1272
1273         PR target/19516
1274         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1275         Always produce a RELATIVE reloc for a local symbol.
1276
1277 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
1278
1279         Fix test-case ld-elf/pr19617b
1280         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1281         discard unused non-function symbols when --dynamic-list-data.
1282
1283 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1284
1285         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1286         dynsym section, even if it is empty, with dynamic sections.
1287
1288 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1289
1290         * syms.c: Remove BSF_COMMON from comments.
1291         * bfd-in2.h: Regenerated.
1292
1293 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
1294
1295         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1296         for destination.  Remove useless function parameters.
1297         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1298
1299 2016-02-19  Nick Clifton  <nickc@redhat.com>
1300
1301         PR ld/19629
1302         * aoutx.h (aout_link_add_symbols): Check for out of range string
1303         table offsets.
1304
1305         PR ld/19628
1306         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1307         processing if we encounter a reloc without an associated symbol.
1308
1309 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1310
1311         PR ld/19617
1312         * elflink.c (elf_link_add_object_symbols): Always create dynamic
1313         sections for -E/--dynamic-list.
1314
1315 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
1316
1317         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
1318         to bfd_true.
1319
1320 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
1321
1322         * plugin.c (plugin_vec): Set match priority to 255.
1323         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1324         matching against the plugin vector, take priority from there not
1325         from TEMP.
1326
1327 2016-02-15  Nick Clifton  <nickc@redhat.com>
1328
1329         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1330         for length and type fields.  Use a signed value for the
1331         suffix_length field.
1332
1333 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1334
1335         PR ld/19601
1336         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1337         significant bit in GOT offset for R_386_GOT32X.
1338
1339 2016-02-10  Nick Clifton  <nickc@redhat.com>
1340
1341         PR 19405
1342         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1343         immediate values.
1344         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1345         number of messages about FDE encoding preventing .eh_frame_hdr
1346         generation.
1347
1348 2016-02-09  Nick Clifton  <nickc@redhat.com>
1349
1350         * oasys.c (oasys_archive_p): Fix indentation.
1351         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1352         constant for left shifting.
1353
1354         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1355         helpful warning message to explain why certain AArch64 relocs
1356         might overflow.
1357
1358 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
1359
1360         * pe-mips.c (coff_mips_reloc): Fix formatting.
1361
1362 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1363
1364         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1365         to bfd_mach_arc_arc600.
1366
1367 2016-02-04  Alan Modra  <amodra@gmail.com>
1368
1369         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1370         for big-endian.
1371
1372 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1373
1374         PR ld/19542
1375         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
1376         distances in the compressed_size field of the output section.
1377
1378 2016-02-02  Alan Modra  <amodra@gmail.com>
1379
1380         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1381         ELFv2 entry optimization.
1382
1383 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1384
1385         PR binutils/19547
1386         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1387         no relocations in relocatable files.
1388
1389 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1390
1391         PR ld/19553
1392         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1393         if a symbol from a library loaded via DT_NEEDED doesn't match
1394         the symbol referenced by regular object.
1395
1396 2016-02-01  Nathaniel Smith  <njs@pobox.com>
1397
1398         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1399         CODE and DATA.
1400
1401 2016-02-01  Alan Modra  <amodra@gmail.com>
1402
1403         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1404         an out of range reloc_index.
1405         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1406
1407 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
1408
1409         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1410         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1411         * Makefile.in: Regenerated.
1412
1413 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1414
1415         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1416
1417 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
1418
1419         PR ld/19526
1420         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1421         files.
1422         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
1423
1424 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1425
1426         PR ld/19539
1427         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1428         against STT_GNU_IFUNC symbol only with dynamic symbols.
1429         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1430
1431 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
1432
1433         PR binutils/19523
1434         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1435         decompress debug sections.
1436
1437 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
1438
1439         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1440         `dynindx'.
1441
1442 2016-01-25  Nick Clifton  <nickc@redhat.com>
1443
1444         PR target/19435
1445         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
1446         dsym filename buffer.
1447
1448 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
1449
1450         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1451
1452 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
1453
1454         * elfxx-mips.c (BZ16_REG): Correct calculation.
1455
1456 2016-01-21  Nick Clifton  <nickc@redhat.com>
1457
1458         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
1459         changing the type of _loc to be bfd_byte *.
1460         (elf_arc_finish_dynamic_symbol): Likewise.
1461
1462 2016-01-21  Nick Clifton  <nickc@redhat.com>
1463
1464         PR ld/19455
1465         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
1466         class of the linker stub bfd.
1467         (elf32_arm_check_relocs): Skip check for pic format after
1468         processing a vxWorks R_ARM_ABS12 reloc.
1469         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
1470         reporting a class mismatch.
1471
1472 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
1473
1474         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
1475         veneer for sym_sec != input_sec.
1476         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
1477         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
1478         calculation destination.
1479
1480 2016-01-21  Alan Modra  <amodra@gmail.com>
1481
1482         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
1483         (swap_linux_prpsinfo64_out): New function.
1484         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1485         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
1486         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
1487         (elfcore_write_linux_prpsinfo64): Likewise.
1488         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
1489         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1490         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
1491
1492 2016-01-21  Alan Modra  <amodra@gmail.com>
1493
1494         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
1495         * elf.c: Adjust #include.
1496         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
1497         * Makefile.am (SOURCE_HFILES): Update.
1498         * Makefile.in: Regenerate.
1499         * po/SRC-PORFILES.in: Regenerate.
1500
1501 2016-01-21  Alan Modra  <amodra@gmail.com>
1502
1503         * configure.ac: Move corefile selection later in file.  Move
1504         tdefaults code immediately after other target vector code.
1505         * configure: Regenerate.
1506
1507 2016-01-20  Mickael Guene  <mickael.guene@st.com>
1508
1509         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
1510         section using '.text.noread' pattern.
1511
1512 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
1513
1514         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1515
1516 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
1517             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
1518
1519         * arc-plt.def: New file.
1520         * arc-plt.h: Likewise.
1521         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
1522                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
1523                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
1524                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
1525         (name_for_global_symbol): Added.
1526         (ADD_RELA): Helper to create dynamic relocs.
1527         (new_got_entry_to_list): Create a new got entry in linked list.
1528         (symbol_has_entry_of_type): Search for specific type of entry in
1529         list.
1530         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
1531         (is_reloc_for_TLS, arc_elf_set_private_flags)
1532         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
1533         (arc_elf_merge_private_bfd_data): New functions.
1534         (debug_arc_reloc): Cleaned debug info printing.
1535         (PDATA reloc): Changed not to perform address alignment.
1536         (reverse_me): Added. Fix for ARC_32 relocs.
1537         (arc_do_relocation): Return bfd_reloc_of when no relocation should
1538         occur.
1539         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
1540         Changed function to access an array of list of GOT entries instead
1541         of just an array of offsets.
1542         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
1543         (elf_arc_check_relocs): Likewise.
1544         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
1545         (elf_arc_finish_dynamic_sections): Likewise
1546         (arc_create_dynamic_sections): Modified conditions to create
1547         dynamic sections.
1548         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
1549         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
1550         (relocate_plt_for_entry): Changed to support new way to define PLT
1551         related code.
1552         (add_symbol_to_plt): Likewise.
1553         (arc_elf_link_hash_table_create): New function.
1554
1555 2016-01-18  Nick Clifton  <nickc@redhat.com>
1556
1557         PR ld/19440
1558         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
1559         section number into internal section number.
1560         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
1561         * coffswap.h (coff_swap_sym_in): Likewise.
1562         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
1563         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
1564         section number field is big enough to hold the external value.
1565
1566 2016-01-17  Alan Modra  <amodra@gmail.com>
1567
1568         * configure: Regenerate.
1569
1570 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
1571
1572         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
1573         when address in first unwind entry does not match start of
1574         section.
1575
1576 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
1577             Jiong Wang  <jiong.wang@arm.com>
1578
1579         PR ld/19368
1580         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
1581         reloc_class_ifunc.
1582
1583 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
1584
1585         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
1586         place 'R_' before the reloc name returned.
1587         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
1588         the relocation string.
1589
1590 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1591
1592         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1593         factored out from...
1594         (_bfd_mips_elf_merge_private_bfd_data): ... here.
1595
1596 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1597
1598         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1599         attribute check after ELF file header flag check.
1600
1601 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1602
1603         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1604         return status from `_bfd_elf_merge_object_attributes'.
1605
1606 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1607
1608         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1609         factored out from...
1610         (_bfd_mips_elf_merge_private_bfd_data): ... here.
1611
1612 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1613
1614         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1615         handling of input MIPS ABI flags together.
1616
1617 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1618
1619         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1620         attribute checks for null input.
1621
1622 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1623
1624         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1625         pointers to target data.
1626
1627 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1628
1629         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1630         an FP ABI warning.
1631
1632 2016-01-01  Alan Modra  <amodra@gmail.com>
1633
1634         Update year range in copyright notice of all files.
1635
1636 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1637 \f
1638 Copyright (C) 2016 Free Software Foundation, Inc.
1639
1640 Copying and distribution of this file, with or without modification,
1641 are permitted in any medium without royalty provided the copyright
1642 notice and this notice are preserved.
1643
1644 Local Variables:
1645 mode: change-log
1646 left-margin: 8
1647 fill-column: 74
1648 version-control: never
1649 End: