Add -z noreloc-overflow option to x86-64 ld
[external/binutils.git] / bfd / ChangeLog
1 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR ld/19807
4         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
5         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
6         relocation overflow check.
7
8 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
9
10         * bfd-in2.h: Regenerated.
11
12 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
13
14         PR 19713
15         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
16         uses bytes not octets.
17         * elflink.c (resolve_section): Likewise.
18         Add a bfd parameter.
19         (eval_section): Pass the input_bfd to resolve_section.
20         (bfd_elf_perform_complex_relocation): Convert byte offset to
21         octets before read and writing values.
22         (elf_link_input_bfd): Add byte to octet conversions.
23         (elf_reloc_link_order): Likewise.
24         (elf_fixup_link_order): Likewise.
25         (bfd_elf_final_link): Likewise.
26         * reloc.c (_bfd_final_link_relocate): Likewise.
27         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
28
29 2016-03-10  Nick Clifton  <nickc@redhat.com>
30
31         * config.bfd: Mark the i370 target as obsolete.
32
33 2016-03-09  Pedro Alves  <palves@redhat.com>
34
35         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
36         gcc ABI)" to printable name.
37         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
38         of "v850-rh850" as printable name.
39
40 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
41
42         PR ld/19623
43         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
44         relocations against absolute symbols.
45
46 2016-03-09  Alan Modra  <amodra@gmail.com>
47
48         PR binutils/19775
49         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
50         length elements in the archive.
51
52 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
53
54         PR ld/19789
55         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
56         for -E/--dynamic-list only when not relocatable.
57
58 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
59
60         PR ld/19784
61         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
62         count for locally defined local IFUNC symbols in shared object.
63         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
64
65 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
66
67         PR ld/19579
68         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
69         together.
70
71 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
72             Andrew Burgess  <andrew.burgess@embecosm.com>
73
74         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
75         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
76         (arc_elf_howto_init): Added assert to validate relocations.
77         (get_middle_endian_relocation): Delete.
78         (middle_endian_convert): New function.
79         (ME): Redefine, now does nothing.
80         (IS_ME): New define.
81         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
82         definition to call middle_endian_convert.  Add a new local
83         variable and make use of this throughout. Added call to
84         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
85
86 2016-03-07  Nick Clifton  <nickc@redhat.com>
87
88         PR binutils/19775
89         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
90         length elements in the archive.
91
92 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
93
94         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
95         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
96
97 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
98
99         PR ld/19579
100         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
101         executable as definition if the new definition comes from a
102         shared library.
103
104 2016-03-02  Alan Modra  <amodra@gmail.com>
105
106         * Makefile.in: Regenerate.
107         * po/SRC-POTFILES.in: Regenerate.
108
109 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
110
111         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
112         relocation addend when sections get merged.
113
114 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
115
116         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
117         the flag change.
118         (elf_arc_relocate_section): Fixes and conditions to support PIE.
119         Assert for code sections dynamic relocs.
120
121 2016-02-26  Renlin Li  <renlin.li@arm.com>
122
123         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
124         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
125
126 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
127
128         PR ld/19609
129         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
130         load with locally bound symbols if PIC is false or there is no
131         base register.  Optimize branch to 0 if PIC is false.
132         (elf_i386_relocate_section): Don't generate dynamic relocations
133         against undefined weak symbols if PIC is false.
134         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
135         if we can't estimate relocation overflow with --no-relax.
136         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
137         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
138         (elf_x86_64_relocate_section): Don't generate dynamic relocations
139         against undefined weak symbols if PIC is false.
140
141 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
142
143         PR ld/19645
144         * bfd.c (bfd): Change flags to 20 bits.
145         (BFD_CONVERT_ELF_COMMON): New.
146         (BFD_USE_ELF_STT_COMMON): Likewise.
147         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
148         BFD_USE_ELF_STT_COMMON.
149         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
150         * configure.ac: Remove --enable-elf-stt-common.
151         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
152         common symbol depending on BFD_CONVERT_ELF_COMMON and
153         BFD_USE_ELF_STT_COMMON.
154         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
155         STT_COMMON.
156         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
157         STT_COMMON.
158         (elf_link_convert_common_type): New function.
159         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
160         common symbol depending on BFD_CONVERT_ELF_COMMON and
161         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
162         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
163         and BFD_USE_ELF_STT_COMMON to object_flags.
164         (TARGET_LITTLE_SYM): Likewise.
165         * syms.c (BSF_KEEP_G): Renamed to ...
166         (BSF_ELF_COMMON): This.
167         * bfd-in2.h: Regenerated.
168         * config.in: Likewise.
169         * configure: Likewise.
170
171 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
172
173         PR ld/19636
174         PR ld/19704
175         PR ld/19719
176         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
177         (elf_i386_link_hash_entry): Add has_got_reloc and
178         has_non_got_reloc.
179         (elf_i386_link_hash_table): Add interp.
180         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
181         has_non_got_reloc.
182         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
183         has_non_got_reloc.
184         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
185         (elf_i386_fixup_symbol): New function.
186         (elf_i386_pie_finish_undefweak_symbol): Likewise.
187         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
188         relocations and discard relocations against resolved undefined
189         weak symbols in executable.  Don't make resolved undefined weak
190         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
191         relocation against undefined weak symbols in PIE.
192         (elf_i386_size_dynamic_sections): Set interp to .interp section.
193         (elf_i386_relocate_section): Don't generate dynamic relocations
194         against resolved undefined weak symbols in PIE, except for
195         R_386_PC32.
196         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
197         dynamic PLT/GOT relocations for resolved undefined weak symbols.
198         Don't generate dynamic relocation against resolved undefined weak
199         symbol in executable.
200         (elf_i386_finish_dynamic_sections): Call
201         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
202         (elf_backend_fixup_symbol): New.
203         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
204         (elf_x86_64_link_hash_entry): Add has_got_reloc and
205         has_non_got_reloc.
206         (elf_x86_64_link_hash_table): Add interp.
207         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
208         has_non_got_reloc.
209         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
210         has_non_got_reloc.
211         (elf_x86_64_check_relocs): Set has_got_reloc and
212         has_non_got_reloc.
213         (elf_x86_64_fixup_symbol): New function.
214         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
215         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
216         relocations and discard relocations against resolved undefined
217         weak symbols in executable.  Don't make resolved undefined weak
218         symbols in executable dynamic.
219         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
220         (elf_x86_64_relocate_section): Check relocation overflow for
221         dynamic relocations against unresolved weak undefined symbols.
222         Don't generate dynamic relocations against resolved weak
223         undefined symbols in PIE.
224         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
225         dynamic PLT/GOT relocations for resolved undefined weak symbols.
226         Don't generate dynamic relocation against resolved undefined weak
227         symbol in executable.
228         (elf_x86_64_finish_dynamic_sections): Call
229         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
230         (elf_backend_fixup_symbol): New.
231
232 2016-02-26  Alan Modra  <amodra@gmail.com>
233
234         * elf64-ppc.c (create_linkage_sections): Create sfpr when
235         save_restore_funcs, rest of sections when not relocatable.
236         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
237         (sfpr_define): Define all symbols on emitted code.
238         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
239         when relocatable.  Move sfpr_define loop earlier.
240
241 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
242
243         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
244         (elf_x86_64_relocate_section): Use it.  Replace
245         x86_64_elf_howto_table[r_type] with howto.
246
247 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
248
249         PR ld/19698
250         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
251         symbol version is unknown.
252
253 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
254
255         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
256         to (bfd_vma) -1 when setting needs_plt to 0.
257         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
258
259 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
260
261         * elflink.c (bfd_elf_record_link_assignment): Check for shared
262         library, instead of PIC, and don't check PDE when making linker
263         assigned symbol dynamic.
264
265 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
266
267         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
268         ABIVERSION for non-executable stack.
269
270 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
271
272         PR target/19516
273         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
274         Always produce a RELATIVE reloc for a local symbol.
275
276 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
277
278         Fix test-case ld-elf/pr19617b
279         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
280         discard unused non-function symbols when --dynamic-list-data.
281
282 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
283
284         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
285         dynsym section, even if it is empty, with dynamic sections.
286
287 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
288
289         * syms.c: Remove BSF_COMMON from comments.
290         * bfd-in2.h: Regenerated.
291
292 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
293
294         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
295         for destination.  Remove useless function parameters.
296         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
297
298 2016-02-19  Nick Clifton  <nickc@redhat.com>
299
300         PR ld/19629
301         * aoutx.h (aout_link_add_symbols): Check for out of range string
302         table offsets.
303
304         PR ld/19628
305         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
306         processing if we encounter a reloc without an associated symbol.
307
308 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
309
310         PR ld/19617
311         * elflink.c (elf_link_add_object_symbols): Always create dynamic
312         sections for -E/--dynamic-list.
313
314 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
315
316         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
317         to bfd_true.
318
319 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
320
321         * plugin.c (plugin_vec): Set match priority to 255.
322         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
323         matching against the plugin vector, take priority from there not
324         from TEMP.
325
326 2016-02-15  Nick Clifton  <nickc@redhat.com>
327
328         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
329         for length and type fields.  Use a signed value for the
330         suffix_length field.
331
332 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
333
334         PR ld/19601
335         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
336         significant bit in GOT offset for R_386_GOT32X.
337
338 2016-02-10  Nick Clifton  <nickc@redhat.com>
339
340         PR 19405
341         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
342         immediate values.
343         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
344         number of messages about FDE encoding preventing .eh_frame_hdr
345         generation.
346
347 2016-02-09  Nick Clifton  <nickc@redhat.com>
348
349         * oasys.c (oasys_archive_p): Fix indentation.
350         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
351         constant for left shifting.
352
353         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
354         helpful warning message to explain why certain AArch64 relocs
355         might overflow.
356
357 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
358
359         * pe-mips.c (coff_mips_reloc): Fix formatting.
360
361 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
362
363         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
364         to bfd_mach_arc_arc600.
365
366 2016-02-04  Alan Modra  <amodra@gmail.com>
367
368         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
369         for big-endian.
370
371 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
372
373         PR ld/19542
374         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
375         distances in the compressed_size field of the output section.
376
377 2016-02-02  Alan Modra  <amodra@gmail.com>
378
379         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
380         ELFv2 entry optimization.
381
382 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
383
384         PR binutils/19547
385         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
386         no relocations in relocatable files.
387
388 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
389
390         PR ld/19553
391         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
392         if a symbol from a library loaded via DT_NEEDED doesn't match
393         the symbol referenced by regular object.
394
395 2016-02-01  Nathaniel Smith  <njs@pobox.com>
396
397         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
398         CODE and DATA.
399
400 2016-02-01  Alan Modra  <amodra@gmail.com>
401
402         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
403         an out of range reloc_index.
404         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
405
406 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
407
408         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
409         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
410         * Makefile.in: Regenerated.
411
412 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
413
414         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
415
416 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
417
418         PR ld/19526
419         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
420         files.
421         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
422
423 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
424
425         PR ld/19539
426         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
427         against STT_GNU_IFUNC symbol only with dynamic symbols.
428         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
429
430 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
431
432         PR binutils/19523
433         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
434         decompress debug sections.
435
436 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
437
438         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
439         `dynindx'.
440
441 2016-01-25  Nick Clifton  <nickc@redhat.com>
442
443         PR target/19435
444         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
445         dsym filename buffer.
446
447 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
448
449         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
450
451 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
452
453         * elfxx-mips.c (BZ16_REG): Correct calculation.
454
455 2016-01-21  Nick Clifton  <nickc@redhat.com>
456
457         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
458         changing the type of _loc to be bfd_byte *.
459         (elf_arc_finish_dynamic_symbol): Likewise.
460
461 2016-01-21  Nick Clifton  <nickc@redhat.com>
462
463         PR ld/19455
464         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
465         class of the linker stub bfd.
466         (elf32_arm_check_relocs): Skip check for pic format after
467         processing a vxWorks R_ARM_ABS12 reloc.
468         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
469         reporting a class mismatch.
470
471 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
472
473         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
474         veneer for sym_sec != input_sec.
475         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
476         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
477         calculation destination.
478
479 2016-01-21  Alan Modra  <amodra@gmail.com>
480
481         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
482         (swap_linux_prpsinfo64_out): New function.
483         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
484         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
485         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
486         (elfcore_write_linux_prpsinfo64): Likewise.
487         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
488         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
489         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
490
491 2016-01-21  Alan Modra  <amodra@gmail.com>
492
493         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
494         * elf.c: Adjust #include.
495         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
496         * Makefile.am (SOURCE_HFILES): Update.
497         * Makefile.in: Regenerate.
498         * po/SRC-PORFILES.in: Regenerate.
499
500 2016-01-21  Alan Modra  <amodra@gmail.com>
501
502         * configure.ac: Move corefile selection later in file.  Move
503         tdefaults code immediately after other target vector code.
504         * configure: Regenerate.
505
506 2016-01-20  Mickael Guene  <mickael.guene@st.com>
507
508         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
509         section using '.text.noread' pattern.
510
511 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
512
513         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
514
515 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
516             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
517
518         * arc-plt.def: New file.
519         * arc-plt.h: Likewise.
520         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
521                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
522                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
523                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
524         (name_for_global_symbol): Added.
525         (ADD_RELA): Helper to create dynamic relocs.
526         (new_got_entry_to_list): Create a new got entry in linked list.
527         (symbol_has_entry_of_type): Search for specific type of entry in
528         list.
529         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
530         (is_reloc_for_TLS, arc_elf_set_private_flags)
531         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
532         (arc_elf_merge_private_bfd_data): New functions.
533         (debug_arc_reloc): Cleaned debug info printing.
534         (PDATA reloc): Changed not to perform address alignment.
535         (reverse_me): Added. Fix for ARC_32 relocs.
536         (arc_do_relocation): Return bfd_reloc_of when no relocation should
537         occur.
538         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
539         Changed function to access an array of list of GOT entries instead
540         of just an array of offsets.
541         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
542         (elf_arc_check_relocs): Likewise.
543         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
544         (elf_arc_finish_dynamic_sections): Likewise
545         (arc_create_dynamic_sections): Modified conditions to create
546         dynamic sections.
547         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
548         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
549         (relocate_plt_for_entry): Changed to support new way to define PLT
550         related code.
551         (add_symbol_to_plt): Likewise.
552         (arc_elf_link_hash_table_create): New function.
553
554 2016-01-18  Nick Clifton  <nickc@redhat.com>
555
556         PR ld/19440
557         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
558         section number into internal section number.
559         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
560         * coffswap.h (coff_swap_sym_in): Likewise.
561         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
562         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
563         section number field is big enough to hold the external value.
564
565 2016-01-17  Alan Modra  <amodra@gmail.com>
566
567         * configure: Regenerate.
568
569 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
570
571         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
572         when address in first unwind entry does not match start of
573         section.
574
575 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
576             Jiong Wang  <jiong.wang@arm.com>
577
578         PR ld/19368
579         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
580         reloc_class_ifunc.
581
582 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
583
584         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
585         place 'R_' before the reloc name returned.
586         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
587         the relocation string.
588
589 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
590
591         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
592         factored out from...
593         (_bfd_mips_elf_merge_private_bfd_data): ... here.
594
595 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
596
597         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
598         attribute check after ELF file header flag check.
599
600 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
601
602         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
603         return status from `_bfd_elf_merge_object_attributes'.
604
605 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
606
607         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
608         factored out from...
609         (_bfd_mips_elf_merge_private_bfd_data): ... here.
610
611 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
612
613         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
614         handling of input MIPS ABI flags together.
615
616 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
617
618         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
619         attribute checks for null input.
620
621 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
622
623         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
624         pointers to target data.
625
626 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
627
628         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
629         an FP ABI warning.
630
631 2016-01-01  Alan Modra  <amodra@gmail.com>
632
633         Update year range in copyright notice of all files.
634
635 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
636 \f
637 Copyright (C) 2016 Free Software Foundation, Inc.
638
639 Copying and distribution of this file, with or without modification,
640 are permitted in any medium without royalty provided the copyright
641 notice and this notice are preserved.
642
643 Local Variables:
644 mode: change-log
645 left-margin: 8
646 fill-column: 74
647 version-control: never
648 End: