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