Fix seg fault objdumping a corrupt binary with an invalid sh_link field.
[external/binutils.git] / bfd / ChangeLog
1 2016-05-09  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/20063
4         * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
5         field before accessing sections array.
6
7 2016-05-09  Christophe Monat  <christophe.monat@st.com>
8
9         PR ld/20030
10         * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
11         (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
12         to nb_words.
13         (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
14         encoding.
15         (create_instruction_vldmdb): Likewise.
16         (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
17         uses it to re-encode.
18
19 2016-05-09  Nick Clifton  <nickc@redhat.com>
20
21         PR 19938
22         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
23         commit.
24
25 2016-05-09  Alan Modra  <amodra@gmail.com>
26
27         * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
28
29 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
30
31         PR ld/17550
32         * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
33         documenting that indx == -3 if symbol is defined in a discarded
34         section.
35         * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
36         symbol is defined in a discarded section.
37         (elf_link_output_extsym): Strip a global symbol defined in a
38         discarded section.
39
40 2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
41
42         * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
43         MCU.
44
45 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
46
47         * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
48         conversion to ...
49         (elf_i386_convert_load_reloc): This.  New function.
50         * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
51         conversion to ...
52         (elf_x86_64_convert_load_reloc): This.  New function.
53
54 2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
55
56         * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
57         Don't check if contents == NULL.
58         (elf_i386_tls_transition): Add from_relocate_section.  Check
59         from_relocate_section instead of contents != NULL.  Update
60         elf_i386_check_tls_transition call.
61         (elf_i386_check_relocs): Cache the section contents if
62         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
63         elf_i386_tls_transition.
64         (elf_i386_relocate_section): Pass TRUE as from_relocate_section
65         to elf_i386_tls_transition.
66         (elf_backend_caches_rawsize): New.
67         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
68         if contents == NULL.
69         (elf_x86_64_tls_transition): Add from_relocate_section.  Check
70         from_relocate_section instead of contents != NULL.
71         (elf_x86_64_check_relocs): Cache the section contents if
72         keep_memory is FALSE.  Pass FALSE as from_relocate_section to
73         elf_x86_64_tls_transition.
74         (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
75         to elf_x86_64_tls_transition.
76         (elf_backend_caches_rawsize): New.
77
78 2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
79
80         PR 10549
81         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
82         STB_GNU_UNIQUE.
83
84 2016-05-03  Jiong Wang  <jiong.wang@arm.com>
85
86         * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
87         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
88         * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
89         no_apply_dynamic_relocs.
90         (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
91         dynamic relocations generated.
92
93 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
94
95         * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
96         setting to ...
97         (elf_i386_create_dynamic_sections): Here.
98         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
99         interp setting to ...
100         (elf_x86_64_create_dynamic_sections): Here.
101
102 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
103
104         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
105         and replace (EH)->has_got_reloc with GOT_RELOC.
106         (elf_i386_fixup_symbol): Pass has_got_reloc to
107         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
108         (elf_i386_allocate_dynrelocs): Likewise.
109         (elf_i386_relocate_section): Likewise.
110         (elf_i386_finish_dynamic_symbol): Likewise.
111         (elf_i386_convert_load): Pass TRUE to
112         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
113         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
114         GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
115         (elf_x86_64_fixup_symbol): Pass has_got_reloc to
116         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
117         (elf_x86_64_allocate_dynrelocs): Likewise.
118         (elf_x86_64_relocate_section): Likewise.
119         (elf_x86_64_finish_dynamic_symbol): Likewise.
120         (elf_x86_64_convert_load): Pass TRUE to
121         UNDEFINED_WEAK_RESOLVED_TO_ZERO.
122
123 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
124
125         * elf32-i386.c (check_relocs_failed): New.
126         (elf_i386_check_relocs): Set check_relocs_failed on error.
127         (elf_i386_relocate_section): Skip if check_relocs failed.
128
129 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
130
131         * elf64-x86-64.c (elf_x86_64_check_relocs): Set
132         check_relocs_failed on error.
133
134 2016-04-29  Nick Clifton  <nickc@redhat.com>
135
136         PR 19938
137         * elf-bfd.h (struct elf_backend_data): Rename
138         elf_backend_set_special_section_info_and_link to
139         elf_backend_copy_special_section_fields.
140         * elfxx-target.h: Likewise.
141         * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
142         comparing section flags.
143         (copy_special_section_fields): New function.
144         (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
145         Perform two scans over special sections.  The first one looks for
146         a direct mapping between the output section and an input section.
147         The second scan looks for a possible match based upon section
148         characteristics.
149         * elf32-arm.c (elf32_arm_copy_special_section_fields): New
150         function.  Handle setting the sh_link field of SHT_ARM_EXIDX
151         sections.
152         * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
153         elf32_i386_copy_solaris_special_section_fields.
154         * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
155         Rename to elf32_sparc_copy_solaris_special_section_fields.
156         * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
157         elf64_x86_64_copy_solaris_special_section_fields.
158
159 2016-04-28  Nick Clifton  <nickc@redhat.com>
160
161         * po/zh_CN.po: Updated Chinese (simplified) translation.
162
163 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
164
165         PR ld/20006
166         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
167         when estimating distances between output sections.
168
169 2016-04-27  Alan Modra  <amodra@gmail.com>
170
171         * elflink.c (_bfd_elf_is_start_stop): New function.
172         (_bfd_elf_gc_mark_rsec): Use it.
173         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
174
175 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
176
177         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
178         * mmo.c (mmo_get_section_contents): Likewise.
179         (mmo_set_section_contents): Likewise.
180
181 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
182
183         * elf-bfd.h (elf_link_hash_table): Update comments for
184         dynsymcount.
185         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
186         the unused NULL entry at the head of dynamic symbol table.
187         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
188         checks.
189
190 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
191
192         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
193         created file from dynobj.
194
195 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
196
197         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
198         normal input file if possible.
199
200 2016-04-21  Nick Clifton  <nickc@redhat.com>
201
202         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
203         * aout-target.h: Likewise.
204         * aout-tic30.c: Likewise.
205         * binary.c: Likewise.
206         * bout.c: Likewise.
207         * coff-alpha.c: Likewise.
208         * coff-rs6000.c: Likewise.
209         * coff64-rs6000.c: Likewise.
210         * coffcode.h: Likewise.
211         * i386msdos.c: Likewise.
212         * i386os9k.c: Likewise.
213         * ieee.c: Likewise.
214         * ihex.c: Likewise.
215         * libbfd-in.h: Likewise.
216         * libecoff.h: Likewise.
217         * mach-o-target.c: Likewise.
218         * mmo.c: Likewise.
219         * nlm-target.h: Likewise.
220         * oasys.c: Likewise.
221         * pef.c: Likewise.
222         * plugin.c: Likewise.
223         * ppcboot.c: Likewise.
224         * som.c: Likewise.
225         * srec.c: Likewise.
226         * tekhex.c: Likewise.
227         * versados.c: Likewise.
228         * vms-alpha.c: Likewise.
229         * xsym.c: Likewise.
230         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
231         * linker.c (bfd_link_check_relocs): New function.
232         (_bfd_generic_link_check_relocs): New function.
233         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
234         _bfd_link_check_relocs field.
235         (struct bfd_target)L Add _bfd_link_check_relocs field.
236         * bfd-in2.h: Regenerate.
237         * libbfd.h: Regenerate.
238
239 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
240
241         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
242         (elf_backend_gc_sweep_hook): Likewise.
243         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
244         (elf_backend_gc_sweep_hook): Likewise.
245
246 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
247
248         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
249         in excluded sections
250
251 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
252
253         PR ld/19969
254         * elf64-x86-64.c (check_relocs_failed): New.
255         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
256         Support relocation agaist local symbol.  Set check_relocs_failed.
257         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
258         R_X86_64_32 relocation overflow.
259         (elf_x86_64_relocate_section): Skip if check_relocs failed.
260         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
261
262 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
263
264         * elf32-i386.c (elf_i386_check_relocs): Call
265         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
266         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
267
268 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
269
270         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
271         * elflink.c (_bfd_elf_link_check_relocs): New function.
272         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
273         if check_relocs_after_open_input is FALSE.
274
275 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
276
277         * cache.c: Update old style function definitions.
278         * elf32-m68k.c: Likewise.
279         * elf64-mmix.c: Likewise.
280         * stab-syms.c: Likewise.
281
282 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
283
284         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
285
286 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
287
288         * Makefile.in: Regenerated with automake 1.11.6.
289         * aclocal.m4: Likewise.
290         * doc/Makefile.in: Likewise.
291
292 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
293
294         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
295         * bfd-in2.h: Regenerate.
296         * libbfd.h: Regenerate.
297         * elf32-arc.c: Add 'opcode/arc.h' include.
298         (struct arc_relocation_data): Add symbol_name.
299         (arc_special_overflow_checks): New function.
300         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
301         required, add an extra comment.
302         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
303
304 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
305
306         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
307         entries.
308         (elf_arc_relocate_section): Update enum uses.
309         (elf_arc_check_relocs): Likewise.
310         (elf_arc_finish_dynamic_symbol): Likewise.
311
312 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
313
314         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
315         "sh_link".
316
317 2016-04-14  Nick Clifton  <nickc@redhat.com>
318
319         PR target/19938
320         * elf-bbfd.h (struct elf_backend_data): New field:
321         elf_strtab_flags.
322         New field: elf_backend_set_special_section_info_and_link
323         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
324         defined.
325         (elf_backend_set_special_section_info_and_link): Define if not
326         already defined.
327         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
328         elf_backend_strtab_flags macros to initialise fields in structure.
329         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
330         being set even if SHF_MERGE is not set.
331         (elf_fake_sections): Likewise.
332         (section_match): New function.  Matches two ELF sections based
333         upon fixed characteristics.
334         (find_link): New function.  Locates a section in a BFD that
335         matches a section in a different BFD.
336         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
337         fields of reserved sections.
338         (bfd_elf_compute_section_file_positions): Set the flags for the
339         .shstrtab section based upon the elf_strtab_flags field in the
340         elf_backend_data structure.
341         (swap_out_syms): Likewise for the .strtab section.
342         * elflink.c (bfd_elf_final_link): Set the flags for the
343         .strtab section based upon the elf_strtab_flags field in the
344         elf_backend_data structure.
345         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
346         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
347         targets.
348         (elf_backend_set_special_section_info_and_link): Define for
349         Solaris targets.
350         * elf32-sparc.c: Likewise.
351         * elf64-x86-64.c: Likewise.
352
353 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
354
355         PR ld/19939
356         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
357         to bfd_boolean.
358         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
359         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
360         applies to read-only section.
361         * elf32-i386.c (elf_i386_link_hash_table): Add
362         readonly_dynrelocs_against_ifunc.
363         (elf_i386_allocate_dynrelocs): Updated.
364         (elf_i386_size_dynamic_sections): Issue an error for read-only
365         segment with dynamic IFUNC relocations only if
366         readonly_dynrelocs_against_ifunc is TRUE.
367         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
368         readonly_dynrelocs_against_ifunc.
369         (elf_x86_64_allocate_dynrelocs): Updated.
370         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
371         segment with dynamic IFUNC relocations only if
372         readonly_dynrelocs_against_ifunc is TRUE.
373         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
374         Updated.
375
376 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
377
378         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
379         a fall through from error_ret_free_internal.  Free local_syms in
380         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
381
382 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
383
384         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
385         (relocate_plt_for_entry): Likewise.
386
387 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
388
389         * elf32-arc.c (elf_arc_check_relocs): Changed
390
391 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
392
393         * elf32-arc.c (name_for_global_symbol): Changed assert.
394         (get_replace_function): Created.:
395         (struct arc_relocation_data): Changed to signed types.
396         (defines S, L, P, PDATA): Casted to signed type.
397         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
398         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
399         (arc_do_relocation): Changed.
400
401 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
402
403         * elf32-arc.c (name_for_global_symbol): Added assert to check for
404         symbol index.
405         (elf_arc_relocate_section): Added and changed asserts, validating
406         the synamic symbol index.
407         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
408         relocation if symbol has dynindx set to -1.
409
410 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
411
412         * elflink.c (elf_link_add_object_symbols): Always turn hidden
413         and internal symbols which have a dynamic index into local
414         ones.
415
416 2016-04-04  Nick Clifton  <nickc@redhat.com>
417
418         PR 19872
419         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
420         version number if the version is zero.
421
422 2016-04-01  Alan Modra  <amodra@gmail.com>
423
424         PR 19886
425         * elflink.c (on_needed_list): Recursively check needed status.
426         (elf_link_add_object_symbols): Adjust.
427
428 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
429
430         * elf32-avr.c (avr_elf32_load_records_from_section): Free
431         internal_relocs only if they aren't cached.
432
433 2016-03-29  Nick Clifton  <nickc@redhat.com>
434
435         PR 17334
436         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
437         assertion on the size of the got section to allow it to be bigger
438         than the number of relocs.
439
440 2016-03-29  Toni Spets  <toni.spets@iki.fi>
441
442         PR 19878
443         * coffcode.h (coff_write_object_contents): Revert accidental
444         2014-11-10 change.
445
446 2016-03-22  Alan Modra  <amodra@gmail.com>
447
448         PR 19850
449         * dwarf2.c (read_attribute_value): Skip info_ptr check for
450         DW_FORM_flag_present.
451
452 2016-03-22  Nick Clifton  <nickc@redhat.com>
453
454         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
455         architecture name for backwards compatibility.
456
457         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
458         unbounded stack use.
459
460         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
461         sufficiently recent version of GCC.
462         * configure: Regenerate.
463
464 2016-03-22  Alan Modra  <amodra@gmail.com>
465
466         PR 19851
467         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
468
469 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
470
471         * archures.c (bfd_mach_arc_nps400): Define.
472         * bfd-in2.h: Regenerate.
473         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
474         some existing entries to make space.
475         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
476         (arc_elf_final_write_processing): Likewise.
477
478 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
479
480         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
481         EF_ARC_CPU_GENERIC.
482         (arc_elf_final_write_processing): Don't bother setting cpu field
483         in e_flags, this will have been set elsewhere.
484
485 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
486
487         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
488         EF_ARC_MACH_MSK.
489
490 2016-03-21  Nick Clifton  <nickc@redhat.com>
491
492         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
493         * configure: Regenerate.
494         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
495         alloca with call to xmalloc.
496         * elf32-nds32.c: Likewise.
497         * elf64-hppa.c: Likewise.
498         * elfxx-mips.c: Likewise.
499         * pef.c: Likewise.
500         * pei-x86_64.c: Likewise.
501         * som.c: Likewise.
502         * xsym.c: Likewise.
503
504 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
505
506         PR ld/19827
507         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
508         locally in PIE.
509         (elf_i386_relocate_section): Likewise.
510         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
511         (elf_x86_64_relocate_section): Likewise.
512
513 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
514
515         PR ld/19807
516         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
517         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
518         relocation overflow check.
519
520 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
521
522         * bfd-in2.h: Regenerated.
523
524 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
525
526         PR 19713
527         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
528         uses bytes not octets.
529         * elflink.c (resolve_section): Likewise.
530         Add a bfd parameter.
531         (eval_section): Pass the input_bfd to resolve_section.
532         (bfd_elf_perform_complex_relocation): Convert byte offset to
533         octets before read and writing values.
534         (elf_link_input_bfd): Add byte to octet conversions.
535         (elf_reloc_link_order): Likewise.
536         (elf_fixup_link_order): Likewise.
537         (bfd_elf_final_link): Likewise.
538         * reloc.c (_bfd_final_link_relocate): Likewise.
539         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
540
541 2016-03-10  Nick Clifton  <nickc@redhat.com>
542
543         * config.bfd: Mark the i370 target as obsolete.
544
545 2016-03-09  Pedro Alves  <palves@redhat.com>
546
547         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
548         gcc ABI)" to printable name.
549         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
550         of "v850-rh850" as printable name.
551
552 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
553
554         PR ld/19623
555         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
556         relocations against absolute symbols.
557
558 2016-03-09  Alan Modra  <amodra@gmail.com>
559
560         PR binutils/19775
561         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
562         length elements in the archive.
563
564 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
565
566         PR ld/19789
567         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
568         for -E/--dynamic-list only when not relocatable.
569
570 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
571
572         PR ld/19784
573         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
574         count for locally defined local IFUNC symbols in shared object.
575         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
576
577 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
578
579         PR ld/19579
580         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
581         together.
582
583 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
584             Andrew Burgess  <andrew.burgess@embecosm.com>
585
586         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
587         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
588         (arc_elf_howto_init): Added assert to validate relocations.
589         (get_middle_endian_relocation): Delete.
590         (middle_endian_convert): New function.
591         (ME): Redefine, now does nothing.
592         (IS_ME): New define.
593         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
594         definition to call middle_endian_convert.  Add a new local
595         variable and make use of this throughout. Added call to
596         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
597
598 2016-03-07  Nick Clifton  <nickc@redhat.com>
599
600         PR binutils/19775
601         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
602         length elements in the archive.
603
604 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
605
606         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
607         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
608
609 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
610
611         PR ld/19579
612         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
613         executable as definition if the new definition comes from a
614         shared library.
615
616 2016-03-02  Alan Modra  <amodra@gmail.com>
617
618         * Makefile.in: Regenerate.
619         * po/SRC-POTFILES.in: Regenerate.
620
621 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
622
623         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
624         relocation addend when sections get merged.
625
626 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
627
628         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
629         the flag change.
630         (elf_arc_relocate_section): Fixes and conditions to support PIE.
631         Assert for code sections dynamic relocs.
632
633 2016-02-26  Renlin Li  <renlin.li@arm.com>
634
635         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
636         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
637
638 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
639
640         PR ld/19609
641         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
642         load with locally bound symbols if PIC is false or there is no
643         base register.  Optimize branch to 0 if PIC is false.
644         (elf_i386_relocate_section): Don't generate dynamic relocations
645         against undefined weak symbols if PIC is false.
646         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
647         if we can't estimate relocation overflow with --no-relax.
648         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
649         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
650         (elf_x86_64_relocate_section): Don't generate dynamic relocations
651         against undefined weak symbols if PIC is false.
652
653 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
654
655         PR ld/19645
656         * bfd.c (bfd): Change flags to 20 bits.
657         (BFD_CONVERT_ELF_COMMON): New.
658         (BFD_USE_ELF_STT_COMMON): Likewise.
659         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
660         BFD_USE_ELF_STT_COMMON.
661         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
662         * configure.ac: Remove --enable-elf-stt-common.
663         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
664         common symbol depending on BFD_CONVERT_ELF_COMMON and
665         BFD_USE_ELF_STT_COMMON.
666         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
667         STT_COMMON.
668         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
669         STT_COMMON.
670         (elf_link_convert_common_type): New function.
671         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
672         common symbol depending on BFD_CONVERT_ELF_COMMON and
673         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
674         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
675         and BFD_USE_ELF_STT_COMMON to object_flags.
676         (TARGET_LITTLE_SYM): Likewise.
677         * syms.c (BSF_KEEP_G): Renamed to ...
678         (BSF_ELF_COMMON): This.
679         * bfd-in2.h: Regenerated.
680         * config.in: Likewise.
681         * configure: Likewise.
682
683 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
684
685         PR ld/19636
686         PR ld/19704
687         PR ld/19719
688         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
689         (elf_i386_link_hash_entry): Add has_got_reloc and
690         has_non_got_reloc.
691         (elf_i386_link_hash_table): Add interp.
692         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
693         has_non_got_reloc.
694         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
695         has_non_got_reloc.
696         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
697         (elf_i386_fixup_symbol): New function.
698         (elf_i386_pie_finish_undefweak_symbol): Likewise.
699         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
700         relocations and discard relocations against resolved undefined
701         weak symbols in executable.  Don't make resolved undefined weak
702         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
703         relocation against undefined weak symbols in PIE.
704         (elf_i386_size_dynamic_sections): Set interp to .interp section.
705         (elf_i386_relocate_section): Don't generate dynamic relocations
706         against resolved undefined weak symbols in PIE, except for
707         R_386_PC32.
708         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
709         dynamic PLT/GOT relocations for resolved undefined weak symbols.
710         Don't generate dynamic relocation against resolved undefined weak
711         symbol in executable.
712         (elf_i386_finish_dynamic_sections): Call
713         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
714         (elf_backend_fixup_symbol): New.
715         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
716         (elf_x86_64_link_hash_entry): Add has_got_reloc and
717         has_non_got_reloc.
718         (elf_x86_64_link_hash_table): Add interp.
719         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
720         has_non_got_reloc.
721         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
722         has_non_got_reloc.
723         (elf_x86_64_check_relocs): Set has_got_reloc and
724         has_non_got_reloc.
725         (elf_x86_64_fixup_symbol): New function.
726         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
727         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
728         relocations and discard relocations against resolved undefined
729         weak symbols in executable.  Don't make resolved undefined weak
730         symbols in executable dynamic.
731         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
732         (elf_x86_64_relocate_section): Check relocation overflow for
733         dynamic relocations against unresolved weak undefined symbols.
734         Don't generate dynamic relocations against resolved weak
735         undefined symbols in PIE.
736         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
737         dynamic PLT/GOT relocations for resolved undefined weak symbols.
738         Don't generate dynamic relocation against resolved undefined weak
739         symbol in executable.
740         (elf_x86_64_finish_dynamic_sections): Call
741         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
742         (elf_backend_fixup_symbol): New.
743
744 2016-02-26  Alan Modra  <amodra@gmail.com>
745
746         * elf64-ppc.c (create_linkage_sections): Create sfpr when
747         save_restore_funcs, rest of sections when not relocatable.
748         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
749         (sfpr_define): Define all symbols on emitted code.
750         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
751         when relocatable.  Move sfpr_define loop earlier.
752
753 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
754
755         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
756         (elf_x86_64_relocate_section): Use it.  Replace
757         x86_64_elf_howto_table[r_type] with howto.
758
759 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
760
761         PR ld/19698
762         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
763         symbol version is unknown.
764
765 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
766
767         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
768         to (bfd_vma) -1 when setting needs_plt to 0.
769         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
770
771 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
772
773         * elflink.c (bfd_elf_record_link_assignment): Check for shared
774         library, instead of PIC, and don't check PDE when making linker
775         assigned symbol dynamic.
776
777 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
778
779         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
780         ABIVERSION for non-executable stack.
781
782 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
783
784         PR target/19516
785         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
786         Always produce a RELATIVE reloc for a local symbol.
787
788 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
789
790         Fix test-case ld-elf/pr19617b
791         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
792         discard unused non-function symbols when --dynamic-list-data.
793
794 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
795
796         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
797         dynsym section, even if it is empty, with dynamic sections.
798
799 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
800
801         * syms.c: Remove BSF_COMMON from comments.
802         * bfd-in2.h: Regenerated.
803
804 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
805
806         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
807         for destination.  Remove useless function parameters.
808         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
809
810 2016-02-19  Nick Clifton  <nickc@redhat.com>
811
812         PR ld/19629
813         * aoutx.h (aout_link_add_symbols): Check for out of range string
814         table offsets.
815
816         PR ld/19628
817         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
818         processing if we encounter a reloc without an associated symbol.
819
820 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
821
822         PR ld/19617
823         * elflink.c (elf_link_add_object_symbols): Always create dynamic
824         sections for -E/--dynamic-list.
825
826 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
827
828         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
829         to bfd_true.
830
831 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
832
833         * plugin.c (plugin_vec): Set match priority to 255.
834         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
835         matching against the plugin vector, take priority from there not
836         from TEMP.
837
838 2016-02-15  Nick Clifton  <nickc@redhat.com>
839
840         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
841         for length and type fields.  Use a signed value for the
842         suffix_length field.
843
844 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
845
846         PR ld/19601
847         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
848         significant bit in GOT offset for R_386_GOT32X.
849
850 2016-02-10  Nick Clifton  <nickc@redhat.com>
851
852         PR 19405
853         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
854         immediate values.
855         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
856         number of messages about FDE encoding preventing .eh_frame_hdr
857         generation.
858
859 2016-02-09  Nick Clifton  <nickc@redhat.com>
860
861         * oasys.c (oasys_archive_p): Fix indentation.
862         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
863         constant for left shifting.
864
865         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
866         helpful warning message to explain why certain AArch64 relocs
867         might overflow.
868
869 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
870
871         * pe-mips.c (coff_mips_reloc): Fix formatting.
872
873 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
874
875         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
876         to bfd_mach_arc_arc600.
877
878 2016-02-04  Alan Modra  <amodra@gmail.com>
879
880         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
881         for big-endian.
882
883 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
884
885         PR ld/19542
886         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
887         distances in the compressed_size field of the output section.
888
889 2016-02-02  Alan Modra  <amodra@gmail.com>
890
891         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
892         ELFv2 entry optimization.
893
894 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
895
896         PR binutils/19547
897         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
898         no relocations in relocatable files.
899
900 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
901
902         PR ld/19553
903         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
904         if a symbol from a library loaded via DT_NEEDED doesn't match
905         the symbol referenced by regular object.
906
907 2016-02-01  Nathaniel Smith  <njs@pobox.com>
908
909         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
910         CODE and DATA.
911
912 2016-02-01  Alan Modra  <amodra@gmail.com>
913
914         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
915         an out of range reloc_index.
916         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
917
918 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
919
920         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
921         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
922         * Makefile.in: Regenerated.
923
924 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
925
926         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
927
928 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
929
930         PR ld/19526
931         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
932         files.
933         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
934
935 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
936
937         PR ld/19539
938         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
939         against STT_GNU_IFUNC symbol only with dynamic symbols.
940         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
941
942 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
943
944         PR binutils/19523
945         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
946         decompress debug sections.
947
948 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
949
950         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
951         `dynindx'.
952
953 2016-01-25  Nick Clifton  <nickc@redhat.com>
954
955         PR target/19435
956         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
957         dsym filename buffer.
958
959 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
960
961         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
962
963 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
964
965         * elfxx-mips.c (BZ16_REG): Correct calculation.
966
967 2016-01-21  Nick Clifton  <nickc@redhat.com>
968
969         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
970         changing the type of _loc to be bfd_byte *.
971         (elf_arc_finish_dynamic_symbol): Likewise.
972
973 2016-01-21  Nick Clifton  <nickc@redhat.com>
974
975         PR ld/19455
976         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
977         class of the linker stub bfd.
978         (elf32_arm_check_relocs): Skip check for pic format after
979         processing a vxWorks R_ARM_ABS12 reloc.
980         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
981         reporting a class mismatch.
982
983 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
984
985         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
986         veneer for sym_sec != input_sec.
987         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
988         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
989         calculation destination.
990
991 2016-01-21  Alan Modra  <amodra@gmail.com>
992
993         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
994         (swap_linux_prpsinfo64_out): New function.
995         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
996         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
997         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
998         (elfcore_write_linux_prpsinfo64): Likewise.
999         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
1000         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1001         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
1002
1003 2016-01-21  Alan Modra  <amodra@gmail.com>
1004
1005         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
1006         * elf.c: Adjust #include.
1007         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
1008         * Makefile.am (SOURCE_HFILES): Update.
1009         * Makefile.in: Regenerate.
1010         * po/SRC-PORFILES.in: Regenerate.
1011
1012 2016-01-21  Alan Modra  <amodra@gmail.com>
1013
1014         * configure.ac: Move corefile selection later in file.  Move
1015         tdefaults code immediately after other target vector code.
1016         * configure: Regenerate.
1017
1018 2016-01-20  Mickael Guene  <mickael.guene@st.com>
1019
1020         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
1021         section using '.text.noread' pattern.
1022
1023 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
1024
1025         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1026
1027 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
1028             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
1029
1030         * arc-plt.def: New file.
1031         * arc-plt.h: Likewise.
1032         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
1033                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
1034                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
1035                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
1036         (name_for_global_symbol): Added.
1037         (ADD_RELA): Helper to create dynamic relocs.
1038         (new_got_entry_to_list): Create a new got entry in linked list.
1039         (symbol_has_entry_of_type): Search for specific type of entry in
1040         list.
1041         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
1042         (is_reloc_for_TLS, arc_elf_set_private_flags)
1043         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
1044         (arc_elf_merge_private_bfd_data): New functions.
1045         (debug_arc_reloc): Cleaned debug info printing.
1046         (PDATA reloc): Changed not to perform address alignment.
1047         (reverse_me): Added. Fix for ARC_32 relocs.
1048         (arc_do_relocation): Return bfd_reloc_of when no relocation should
1049         occur.
1050         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
1051         Changed function to access an array of list of GOT entries instead
1052         of just an array of offsets.
1053         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
1054         (elf_arc_check_relocs): Likewise.
1055         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
1056         (elf_arc_finish_dynamic_sections): Likewise
1057         (arc_create_dynamic_sections): Modified conditions to create
1058         dynamic sections.
1059         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
1060         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
1061         (relocate_plt_for_entry): Changed to support new way to define PLT
1062         related code.
1063         (add_symbol_to_plt): Likewise.
1064         (arc_elf_link_hash_table_create): New function.
1065
1066 2016-01-18  Nick Clifton  <nickc@redhat.com>
1067
1068         PR ld/19440
1069         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
1070         section number into internal section number.
1071         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
1072         * coffswap.h (coff_swap_sym_in): Likewise.
1073         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
1074         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
1075         section number field is big enough to hold the external value.
1076
1077 2016-01-17  Alan Modra  <amodra@gmail.com>
1078
1079         * configure: Regenerate.
1080
1081 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
1082
1083         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
1084         when address in first unwind entry does not match start of
1085         section.
1086
1087 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
1088             Jiong Wang  <jiong.wang@arm.com>
1089
1090         PR ld/19368
1091         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
1092         reloc_class_ifunc.
1093
1094 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
1095
1096         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
1097         place 'R_' before the reloc name returned.
1098         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
1099         the relocation string.
1100
1101 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1102
1103         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1104         factored out from...
1105         (_bfd_mips_elf_merge_private_bfd_data): ... here.
1106
1107 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1108
1109         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1110         attribute check after ELF file header flag check.
1111
1112 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1113
1114         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1115         return status from `_bfd_elf_merge_object_attributes'.
1116
1117 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1118
1119         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1120         factored out from...
1121         (_bfd_mips_elf_merge_private_bfd_data): ... here.
1122
1123 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1124
1125         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1126         handling of input MIPS ABI flags together.
1127
1128 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1129
1130         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1131         attribute checks for null input.
1132
1133 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1134
1135         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1136         pointers to target data.
1137
1138 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
1139
1140         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1141         an FP ABI warning.
1142
1143 2016-01-01  Alan Modra  <amodra@gmail.com>
1144
1145         Update year range in copyright notice of all files.
1146
1147 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1148 \f
1149 Copyright (C) 2016 Free Software Foundation, Inc.
1150
1151 Copying and distribution of this file, with or without modification,
1152 are permitted in any medium without royalty provided the copyright
1153 notice and this notice are preserved.
1154
1155 Local Variables:
1156 mode: change-log
1157 left-margin: 8
1158 fill-column: 74
1159 version-control: never
1160 End: