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