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