PowerPC64 GOT indirect to GOT relative optimisation
[external/binutils.git] / bfd / ChangeLog
1 2019-04-30  Alan Modra  <amodra@gmail.com>
2
3         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
4         (struct _ppc64_elf_section_data): Likewise.
5         (ppc64_elf_check_relocs): Set above fields.
6         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
7         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
8         when possible.
9
10 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
11
12         PR ld/24486
13         * elflink.c (elf_link_output_extsym): Don't complain undefined
14         weak dynamic reference.
15
16 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
17
18         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
19         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
20         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
21         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
22         (elfNN_aarch64_small_plt0_pac_entry): Remove.
23         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
24         (elfNN_aarch64_small_plt0_bti_entry): Update.
25         (elfNN_aarch64_small_plt_bti_entry): Update.
26         (elfNN_aarch64_small_plt_pac_entry): Update.
27         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
28         (setup_plt_values): Setup new entries.
29         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
30         (elfNN_aarch64_plt_sym_val): Likewise.
31
32 2019-04-22  Jim Wilson  <jimw@sifive.com>
33
34         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
35
36 2019-04-19  Alan Modra  <amodra@gmail.com>
37
38         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
39
40 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
41
42         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
43         building shared object.
44         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
45
46 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
47
48         PR ld/24458
49         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
50         linker_def.
51
52 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
53
54         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
55         relocation.
56         * bfd-in2.h: Regenerate.
57         * libbfd.h: Likewise.
58
59 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
60
61         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
62         * bfd-in2.h: Regenerated.
63         * libbfd.h: Regenerated.
64
65 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
66
67         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
68         * bfd-in2.h: Regenerated.
69         * libbfd.h: Likewise.
70
71 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
72
73         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
74         * bfd-in2.h: Regenerated.
75         * libbfd.h: Regenerated.
76         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
77         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
78         and R_ARM_THM_BF12 together.
79         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
80
81 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
82
83         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
84         * libbfd.h: Regenerated.
85         * bfd-in2.h: Regenerated.
86         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
87         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
88         and R_ARM_THM_BF18 together.
89         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
90
91 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
92
93         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
94         * bfd-in2.h: Regenerated.
95         * libbfd.h: Regenerated.
96         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
97         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
98         and R_ARM_THM_BF16 together.
99         (get_value_helper): New reloc helper.
100         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
101
102 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
103
104         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
105         * bfd-in2.h: Regenerate.
106         * libbfd.h: Regenerate.
107
108 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
109
110         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
111         * bfd-in2.h: Regenerate.
112         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
113         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
114         and update assert.
115         (using_thumb2): Likewise.
116         (using_thumb2_bl): Update assert.
117         (arch_has_arm_nop): Likewise.
118         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
119         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
120
121 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
122
123         * elf-linker-x86.h (elf_x86_cet_report): New.
124         (elf_linker_x86_params): Add cet_report.
125         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
126         missing IBT and SHSTK properties if needed.
127
128 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
129
130         PR ld/24436
131         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
132         "h != NULL".  Don't check "h != NULL" before calling.
133         bfd_elf_gc_record_vtentry.
134         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
135         * elf32-bfin.c (bfin_check_relocs): Likewise.
136         * elf32-cris.c (cris_elf_check_relocs): Likewise.
137         * elf32-csky.c (csky_elf_check_relocs): Likewise.
138         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
139         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
140         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
141         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
142         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
143         * elf32-i386.c (elf_i386_check_relocs): Likewise.
144         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
145         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
146         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
147         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
148         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
149         * elf32-metag.c (elf_metag_check_relocs): Likewise.
150         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
151         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
152         * elf32-s390.c (elf_s390_check_relocs): Likewise.
153         * elf32-sh.c (sh_elf_check_relocs): Likewise.
154         * elf32-v850.c (v850_elf_check_relocs): Likewise.
155         * elf32-vax.c (elf_vax_check_relocs): Likewise.
156         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
157         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
158         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
159         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
160         * elf64-s390.c (elf_s390_check_relocs): Likewise.
161         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
162         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
163         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
164         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
165         VTENTRY entry.
166
167 2019-04-11  Alan Modra  <amodra@gmail.com>
168
169         PR 24435
170         * elflink.c (elf_link_add_object_symbols): Don't read partial
171         dynamic entries from fuzzed objects.
172
173 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
174
175         PR ld/24302
176         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
177         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
178         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
179
180 2019-04-10  Michael Forney  <mforney@mforney.org>
181
182         PR 24427
183         * doc/chew.c (free_words): Correctly free "push_text" strings.
184
185 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
186
187         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
188
189 2019-04-08  Alan Modra  <amodra@gmail.com>
190
191         * configure.ac (elfxx_x86): Define and use.
192         * configure: Regenerate.
193
194 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
195
196         * elf-linker-x86.h: New file.
197         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
198         to get x86-specific linker options.
199         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
200         (elf_x86_64_check_relocs): Likewise.
201         (elf_x86_64_relocate_section): Likewise.
202         (elf_x86_64_link_setup_gnu_properties): Likewise.
203         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
204         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
205         (_bfd_elf_linker_x86_set_options): New function.
206         * elfxx-x86.h: Include "elf-linker-x86.h".
207         (elf_x86_link_hash_table): Add params.
208
209 2019-04-03  Alan Modra  <amodra@gmail.com>
210
211         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
212         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
213         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
214         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
215         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
216         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
217
218 2019-04-02  Jim Wilson  <jimw@sifive.com>
219
220         PR 24389
221         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
222         ELF header flags to after check for ELF object file.  Loop through
223         sections looking for code sections, if none, then skip ABI checks.
224
225 2019-03-30  Andrew Waterman  <andrew@sifive.com>
226
227         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
228         rd == X_RA case.
229
230 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
231
232         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
233         info->export_dynamic to the conditional.
234
235 2019-03-28  Alan Modra  <amodra@gmail.com>
236
237         PR 24392
238         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
239         * configure: Regenerate.
240         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
241         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
242         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
243         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
244         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
245
246 2019-03-21  Jim Wilson  <jimw@sifive.com>
247
248         PR 24365
249         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
250         verify sym non-NULL before using.  Add identical check using h.
251
252 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
253
254         * elf-bfd.h (struct elf_backend_data): Add argument to
255         merge_gnu_properties.
256         * elf-properties.c (elf_merge_gnu_properties): Add argument to
257         itself and while calling bed->merge_gnu_properties.
258         (elf_merge_gnu_property_list): Update the calls for
259         elf_merge_gnu_properties.
260         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
261         of --force-bti warning and add argument.
262         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
263         warning.
264         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
265         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
266         declaration.
267
268 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
269
270         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
271         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
272         (elf_backend_fixup_gnu_properties): Define for AArch64.
273
274 2019-03-18  Alan Modra  <amodra@gmail.com>
275
276         PR 24355
277         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
278         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
279         attempt at writing glink stubs only once.
280
281 2019-03-16  Alan Modra  <amodra@gmail.com>
282
283         PR 24337
284         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
285         (_bfd_elf_rel_local_sym): Likewise.
286         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
287         section of symbols with unrecognized shndx.
288
289 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
290
291         PR ld/24267
292         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
293         section.
294         * cofflink.c (coff_link_add_symbols): Check for symbols defined
295         in discarded section.
296
297 2019-03-15  Alan Modra  <amodra@gmail.com>
298
299         PR 24339
300         * elflink.c (elf_link_add_object_symbols): Bail out on a local
301         symbol after globals if elf_bad_symtab is not set.
302
303 2019-03-15  Alan Modra  <amodra@gmail.com>
304
305         PR 24337
306         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
307         (_bfd_elf_rel_local_sym): Likewise.
308
309 2019-03-15  Alan Modra  <amodra@gmail.com>
310
311         PR 24336
312         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
313         object files with sh_size not a multiple of sh_entsize.
314
315 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
316
317         PR ld/24338
318         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
319         input with bad relocation.
320
321 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
322
323         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
324
325 2019-03-14  Nick Clifton  <nickc@redhat.com>
326
327         PR 24334
328         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
329         (save_section_vma): Initialise field to the number of entries in
330         the sec_vma table.
331         (section_vma_same): Check that the number of entries in the
332         sec_vma table matches the number of sections in the bfd.
333
334 2019-03-14  Nick Clifton  <nickc@redhat.com>
335
336         PR 24333
337         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
338         section owner pointer when adding the default symbol.
339
340 2019-03-14  Nick Clifton  <nickc@redhat.com>
341
342         PR 24332
343         * elflink.c (elf_link_add_object_symbols): Add new local variable
344         extversym_end.  Initialise it to point to the end of the version
345         symbol table, if present.  Check it when initialising and updating
346         the ever pointer.
347
348 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
349
350         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
351         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
352         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
353         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
354         and PLT_PAC_PLT.
355         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
356         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
357         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
358
359 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
360             Szabolcs Nagy  <szabolcs.nagy@arm.com>
361
362         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
363         (aarch64_bti_pac_info): New.
364         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
365         (bfd_elf32_aarch64_set_options): Likewise.
366         * bfd-in2.h: Regenerate
367         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
368         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
369         (elfNN_aarch64_small_plt0_bti_entry): New.
370         (elfNN_aarch64_small_plt_bti_entry): New.
371         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
372         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
373         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
374         tlsdesc_plt_entry_size fields.
375         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
376         (setup_plt_values): New helper function.
377         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
378         bti enable type.
379         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
380         fixed macros.
381         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
382         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
383         to plt stubs instead of fixed ones and update filling them according
384         to the need for bti.
385         (elfNN_aarch64_init_small_plt0_entry): Likewise.
386         (elfNN_aarch64_finish_dynamic_sections): Likewise.
387         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
388         (elfNN_aarch64_plt_sym_val): Update size accordingly.
389         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
390         is set.
391         (bfd_elfNN_get_synthetic_symtab): Define.
392         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
393         and mising BTI NOTE SECTION.
394
395
396 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
397
398         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
399         linker created inputs from merge.
400         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
401         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
402         (elfNN_aarch64_link_setup_gnu_properties): New.
403         (elfNN_aarch64_merge_gnu_properties): New.
404         (elf_backend_setup_gnu_properties): Define for AArch64.
405         (elf_backend_merge_gnu_properties): Likewise.
406         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
407         (_bfd_aarch64_elf_parse_gnu_properties): Define.
408         (_bfd_aarch64_elf_merge_gnu_properties): Define.
409         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
410         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
411         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
412         (elf_backend_parse_gnu_properties): Define for AArch64.
413
414 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
415
416         PR ld/24322
417         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
418         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
419
420 2019-03-12  Alan Modra  <amodra@gmail.com>
421
422         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
423         nmemb parameter.  Use bfd_alloc2.
424         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
425         Delete assertion.
426         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
427         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
428         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
429         doesn't overflow.
430         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
431         (assign_section_numbers): Style fix.
432         (swap_out_syms): Use bfd_malloc2.
433         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
434         overflow.
435         (_bfd_elf_make_empty_symbol): Style fix.
436         (elfobj_grok_stapsdt_note_1): Formatting.
437         * elfcode.h (elf_object_p): Use bfd_alloc2.
438         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
439         (elf_slurp_symbol_table): Use bfd_zalloc2.
440         (elf_slurp_reloc_table): Use bfd_alloc2.
441         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
442         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
443         size calculation doesn't overflow.
444         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
445         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
446         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
447
448 2019-03-08  Alan Modra  <amodra@gmail.com>
449
450         PR 24311
451         * merge.c (merge_strings): Return secinfo.  Don't pad section
452         to alignment here.
453         (_bfd_merge_sections): Pad section to alignment here, if input
454         sections contributing to merged output all pad to alignment.
455         Formatting.
456
457 2019-03-06  Nick Clifton  <nickc@redhat.com>
458
459         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
460         table pointer.
461         * coffgen.c (coff_find_nearest_line_with_names): Do not call
462         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
463
464 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
465
466         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
467         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
468
469         PR 20113
470         * elf32-s390.c (allocate_dynrelocs): Update comment.
471
472 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
473
474         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
475
476 2019-02-28  Nick Clifton  <nickc@redhat.com>
477
478         PR 24273
479         * elf.c (bfd_elf_string_from_elf_section): Check for a string
480         section that is not NUL terminated.
481
482 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
483
484         PR ld/24276
485         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
486         by linker when checking copy reloc on protected symbol.
487
488 2019-02-24  Alan Modra  <amodra@gmail.com>
489
490         PR 24144
491         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
492
493 2019-02-20  Eric Tsai  <erictsai@cadence.com>
494
495         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
496         sections between the call site and call destination and adjust
497         call distance by the largest alignment.
498
499 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
500
501         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
502         * elf.c (elfcore_grok_aarch_pauth): New function.
503         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
504         (elfcore_write_aarch_pauth): New function.
505         (elfcore_write_register_note): Check for AArch64 pauth section.
506
507 2019-02-20  Alan Modra  <amodra@gmail.com>
508
509         PR 24225
510         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
511         return value.
512
513 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
514
515         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
516         Darwin hosts, not just or1k.
517         * configure: Regenerate.
518
519 2019-02-20  Alan Modra  <amodra@gmail.com>
520
521         PR 24236
522         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
523         sentinel NUL to string buffer nearer to loop where it is used.
524         Don't go past sentinel when scanning strings, and don't write
525         NUL again.
526         * archive.c (do_slurp_coff_armap): Simplify string handling to
527         archive64.c style.
528
529 2019-02-19  Alan Modra  <amodra@gmail.com>
530
531         PR 24235
532         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
533         attempting to prevent read past end of section.
534
535 2019-02-18  Alan Modra  <amodra@gmail.com>
536
537         PR 24225
538         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
539         PRIx64 to generate warning messages.  Print local sym names too.
540
541 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
542
543         * elf32-arc (INIT_SYM_STRING): Delete.
544         (FINI_SYM_STRING): Likewise.
545         (init_str): Likewise.
546         (fini_str): Likewise.
547
548 2019-02-08  Alan Modra  <amodra@gmail.com>
549
550         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
551         for bss-plt" warning to make it an error.
552
553 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
554
555         PR ld/18841
556         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
557         reloc_class_ifunc for ifunc symbols.
558         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
559
560 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
561
562         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
563         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
564
565 2019-02-07  Nick Clifton  <nickc@redhat.com>
566
567         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
568         into the definitely obsolete list.
569
570 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
571
572         PR ld/24151
573         * elf64-x86-64.c (elf_x86_64_need_pic): Check
574         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
575         (elf_x86_64_relocate_section): Move PIC check for PC-relative
576         relocations to ...
577         (elf_x86_64_check_relocs): Here.
578         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
579         to check if a symbol is defined in a non-shared object.
580         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
581
582 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
583
584         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
585         of 'labs' (and fix GCC warning).
586
587 2019-01-25  Nick Clifton  <nickc@redhat.com>
588
589         * po/ru.po: Updated Russian translation.
590
591 2019-01-23  Nick Clifton  <nickc@redhat.com>
592
593         * po/fr.po: Updated French translation.
594
595 2019-01-21  Nick Clifton  <nickc@redhat.com>
596
597         * po/pt.po: Updated Portuguese translation.
598         * po/uk.po: Updated Ukranian translation.
599
600 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
601
602         PR 24108
603         * elf32-nds32.c (nds32_relocate_section): Add space between words
604         in error message.
605         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
606         error message.
607         (riscv_i_or_e_p): Likewise.
608         (riscv_merge_arch_attr_info): Likewise.
609
610 2019-01-19  Nick Clifton  <nickc@redhat.com>
611
612         * version.m4: Reset to 2.32.51
613         * configure: Regenerate.
614         * po/bfd.pot: Regenerate.
615
616 2018-06-24  Nick Clifton  <nickc@redhat.com>
617
618         2.32 branch created.
619
620 2019-01-16  Kito Cheng  <kito@andestech.com>
621
622         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
623         for OBJ_ATTR_PROC.
624
625 2019-01-16  Kito Cheng  <kito@andestech.com>
626             Nelson Chu  <nelson@andestech.com>
627
628         * elfnn-riscv.c (in_subsets): New.
629         (out_subsets): Likewise.
630         (merged_subsets): Likewise.
631         (riscv_std_ext_p): Likewise.
632         (riscv_non_std_ext_p): Likewise.
633         (riscv_std_sv_ext_p): Likewise.
634         (riscv_non_std_sv_ext_p): Likewise.
635         (riscv_version_mismatch): Likewise.
636         (riscv_i_or_e_p): Likewise.
637         (riscv_merge_std_ext): Likewise.
638         (riscv_merge_non_std_and_sv_ext): Likewise.
639         (riscv_merge_arch_attr_info): Likewise.
640         (riscv_merge_attributes): Likewise.
641         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
642
643         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
644         (elf_backend_obj_attrs_vendor): Define.
645         (elf_backend_obj_attrs_section_type): Likewise.
646         (elf_backend_obj_attrs_section): Likewise.
647         (elf_backend_obj_attrs_arg_type): Define as
648         riscv_elf_obj_attrs_arg_type.
649         * elfxx-riscv.c (riscv_estimate_digit): New.
650         (riscv_estimate_arch_strlen1): Likewise.
651         (riscv_estimate_arch_strlen): Likewise.
652         (riscv_arch_str1): Likewise.
653         (riscv_arch_str): Likewise.
654         * elfxx-riscv.h (riscv_arch_str): Declare.
655
656 2019-01-14  John Darrington <john@darrington.wattle.id.au>
657
658         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
659         * libbfd.h: regen.
660         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
661         source field.  (md_apply_fix): Apply final fix
662         to BFD_RELOC_S12Z_OPR.
663         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
664
665 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
666
667         PR 20113
668         * elf32-s390.c (allocate_dynrelocs): Update comment.
669
670 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
671
672         * warning.m4: Adjust egrep pattern for non-GNU compilers.
673         * configure: Regenerate.
674
675 2019-01-08  Alan Modra  <amodra@gmail.com>
676
677         PR 23699
678         PR 24065
679         * ihex.c (ihex_write_object_contents): Properly check 32-bit
680         address range.
681
682 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
683
684         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
685         * bfd/bfd-in2.h: Regenerate.
686         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
687         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
688
689 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
690
691         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
692         default target, little endian target is more suitable.
693
694 2019-01-04  Alan Modra  <amodra@gmail.com>
695
696         PR 24061
697         PR 21786
698         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
699         adjust all callers.
700         (EQ_VALUE_IN_FIELD): Likewise.
701         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
702
703 2019-01-01  Alan Modra  <amodra@gmail.com>
704
705         Update year range in copyright notice of all files.
706
707 For older changes see ChangeLog-2018
708 \f
709 Copyright (C) 2019 Free Software Foundation, Inc.
710
711 Copying and distribution of this file, with or without modification,
712 are permitted in any medium without royalty provided the copyright
713 notice and this notice are preserved.
714
715 Local Variables:
716 mode: change-log
717 left-margin: 8
718 fill-column: 74
719 version-control: never
720 End: