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