Re-indent elf_x86_64_relocate_section
[external/binutils.git] / bfd / ChangeLog
1 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2
3         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
4
5 2019-03-14  Nick Clifton  <nickc@redhat.com>
6
7         PR 24334
8         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
9         (save_section_vma): Initialise field to the number of entries in
10         the sec_vma table.
11         (section_vma_same): Check that the number of entries in the
12         sec_vma table matches the number of sections in the bfd.
13
14 2019-03-14  Nick Clifton  <nickc@redhat.com>
15
16         PR 24333
17         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
18         section owner pointer when adding the default symbol.
19
20 2019-03-14  Nick Clifton  <nickc@redhat.com>
21
22         PR 24332
23         * elflink.c (elf_link_add_object_symbols): Add new local variable
24         extversym_end.  Initialise it to point to the end of the version
25         symbol table, if present.  Check it when initialising and updating
26         the ever pointer.
27
28 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
29
30         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
31         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
32         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
33         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
34         and PLT_PAC_PLT.
35         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
36         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
37         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
38
39 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
40             Szabolcs Nagy  <szabolcs.nagy@arm.com>
41
42         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
43         (aarch64_bti_pac_info): New.
44         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
45         (bfd_elf32_aarch64_set_options): Likewise.
46         * bfd-in2.h: Regenerate
47         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
48         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
49         (elfNN_aarch64_small_plt0_bti_entry): New.
50         (elfNN_aarch64_small_plt_bti_entry): New.
51         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
52         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
53         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
54         tlsdesc_plt_entry_size fields.
55         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
56         (setup_plt_values): New helper function.
57         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
58         bti enable type.
59         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
60         fixed macros.
61         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
62         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
63         to plt stubs instead of fixed ones and update filling them according
64         to the need for bti.
65         (elfNN_aarch64_init_small_plt0_entry): Likewise.
66         (elfNN_aarch64_finish_dynamic_sections): Likewise.
67         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
68         (elfNN_aarch64_plt_sym_val): Update size accordingly.
69         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
70         is set.
71         (bfd_elfNN_get_synthetic_symtab): Define.
72         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
73         and mising BTI NOTE SECTION.
74
75
76 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
77
78         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
79         linker created inputs from merge.
80         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
81         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
82         (elfNN_aarch64_link_setup_gnu_properties): New.
83         (elfNN_aarch64_merge_gnu_properties): New.
84         (elf_backend_setup_gnu_properties): Define for AArch64.
85         (elf_backend_merge_gnu_properties): Likewise.
86         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
87         (_bfd_aarch64_elf_parse_gnu_properties): Define.
88         (_bfd_aarch64_elf_merge_gnu_properties): Define.
89         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
90         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
91         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
92         (elf_backend_parse_gnu_properties): Define for AArch64.
93
94 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
95
96         PR ld/24322
97         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
98         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
99
100 2019-03-12  Alan Modra  <amodra@gmail.com>
101
102         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
103         nmemb parameter.  Use bfd_alloc2.
104         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
105         Delete assertion.
106         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
107         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
108         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
109         doesn't overflow.
110         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
111         (assign_section_numbers): Style fix.
112         (swap_out_syms): Use bfd_malloc2.
113         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
114         overflow.
115         (_bfd_elf_make_empty_symbol): Style fix.
116         (elfobj_grok_stapsdt_note_1): Formatting.
117         * elfcode.h (elf_object_p): Use bfd_alloc2.
118         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
119         (elf_slurp_symbol_table): Use bfd_zalloc2.
120         (elf_slurp_reloc_table): Use bfd_alloc2.
121         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
122         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
123         size calculation doesn't overflow.
124         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
125         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
126         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
127
128 2019-03-08  Alan Modra  <amodra@gmail.com>
129
130         PR 24311
131         * merge.c (merge_strings): Return secinfo.  Don't pad section
132         to alignment here.
133         (_bfd_merge_sections): Pad section to alignment here, if input
134         sections contributing to merged output all pad to alignment.
135         Formatting.
136
137 2019-03-06  Nick Clifton  <nickc@redhat.com>
138
139         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
140         table pointer.
141         * coffgen.c (coff_find_nearest_line_with_names): Do not call
142         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
143
144 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
145
146         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
147         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
148
149         PR 20113
150         * elf32-s390.c (allocate_dynrelocs): Update comment.
151
152 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
153
154         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
155
156 2019-02-28  Nick Clifton  <nickc@redhat.com>
157
158         PR 24273
159         * elf.c (bfd_elf_string_from_elf_section): Check for a string
160         section that is not NUL terminated.
161
162 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
163
164         PR ld/24276
165         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
166         by linker when checking copy reloc on protected symbol.
167
168 2019-02-24  Alan Modra  <amodra@gmail.com>
169
170         PR 24144
171         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
172
173 2019-02-20  Eric Tsai  <erictsai@cadence.com>
174
175         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
176         sections between the call site and call destination and adjust
177         call distance by the largest alignment.
178
179 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
180
181         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
182         * elf.c (elfcore_grok_aarch_pauth): New function.
183         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
184         (elfcore_write_aarch_pauth): New function.
185         (elfcore_write_register_note): Check for AArch64 pauth section.
186
187 2019-02-20  Alan Modra  <amodra@gmail.com>
188
189         PR 24225
190         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
191         return value.
192
193 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
194
195         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
196         Darwin hosts, not just or1k.
197         * configure: Regenerate.
198
199 2019-02-20  Alan Modra  <amodra@gmail.com>
200
201         PR 24236
202         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
203         sentinel NUL to string buffer nearer to loop where it is used.
204         Don't go past sentinel when scanning strings, and don't write
205         NUL again.
206         * archive.c (do_slurp_coff_armap): Simplify string handling to
207         archive64.c style.
208
209 2019-02-19  Alan Modra  <amodra@gmail.com>
210
211         PR 24235
212         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
213         attempting to prevent read past end of section.
214
215 2019-02-18  Alan Modra  <amodra@gmail.com>
216
217         PR 24225
218         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
219         PRIx64 to generate warning messages.  Print local sym names too.
220
221 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
222
223         * elf32-arc (INIT_SYM_STRING): Delete.
224         (FINI_SYM_STRING): Likewise.
225         (init_str): Likewise.
226         (fini_str): Likewise.
227
228 2019-02-08  Alan Modra  <amodra@gmail.com>
229
230         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
231         for bss-plt" warning to make it an error.
232
233 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
234
235         PR ld/18841
236         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
237         reloc_class_ifunc for ifunc symbols.
238         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
239
240 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
241
242         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
243         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
244
245 2019-02-07  Nick Clifton  <nickc@redhat.com>
246
247         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
248         into the definitely obsolete list.
249
250 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
251
252         PR ld/24151
253         * elf64-x86-64.c (elf_x86_64_need_pic): Check
254         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
255         (elf_x86_64_relocate_section): Move PIC check for PC-relative
256         relocations to ...
257         (elf_x86_64_check_relocs): Here.
258         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
259         to check if a symbol is defined in a non-shared object.
260         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
261
262 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
263
264         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
265         of 'labs' (and fix GCC warning).
266
267 2019-01-25  Nick Clifton  <nickc@redhat.com>
268
269         * po/ru.po: Updated Russian translation.
270
271 2019-01-23  Nick Clifton  <nickc@redhat.com>
272
273         * po/fr.po: Updated French translation.
274
275 2019-01-21  Nick Clifton  <nickc@redhat.com>
276
277         * po/pt.po: Updated Portuguese translation.
278         * po/uk.po: Updated Ukranian translation.
279
280 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
281
282         PR 24108
283         * elf32-nds32.c (nds32_relocate_section): Add space between words
284         in error message.
285         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
286         error message.
287         (riscv_i_or_e_p): Likewise.
288         (riscv_merge_arch_attr_info): Likewise.
289
290 2019-01-19  Nick Clifton  <nickc@redhat.com>
291
292         * version.m4: Reset to 2.32.51
293         * configure: Regenerate.
294         * po/bfd.pot: Regenerate.
295
296 2018-06-24  Nick Clifton  <nickc@redhat.com>
297
298         2.32 branch created.
299
300 2019-01-16  Kito Cheng  <kito@andestech.com>
301
302         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
303         for OBJ_ATTR_PROC.
304
305 2019-01-16  Kito Cheng  <kito@andestech.com>
306             Nelson Chu  <nelson@andestech.com>
307
308         * elfnn-riscv.c (in_subsets): New.
309         (out_subsets): Likewise.
310         (merged_subsets): Likewise.
311         (riscv_std_ext_p): Likewise.
312         (riscv_non_std_ext_p): Likewise.
313         (riscv_std_sv_ext_p): Likewise.
314         (riscv_non_std_sv_ext_p): Likewise.
315         (riscv_version_mismatch): Likewise.
316         (riscv_i_or_e_p): Likewise.
317         (riscv_merge_std_ext): Likewise.
318         (riscv_merge_non_std_and_sv_ext): Likewise.
319         (riscv_merge_arch_attr_info): Likewise.
320         (riscv_merge_attributes): Likewise.
321         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
322
323         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
324         (elf_backend_obj_attrs_vendor): Define.
325         (elf_backend_obj_attrs_section_type): Likewise.
326         (elf_backend_obj_attrs_section): Likewise.
327         (elf_backend_obj_attrs_arg_type): Define as
328         riscv_elf_obj_attrs_arg_type.
329         * elfxx-riscv.c (riscv_estimate_digit): New.
330         (riscv_estimate_arch_strlen1): Likewise.
331         (riscv_estimate_arch_strlen): Likewise.
332         (riscv_arch_str1): Likewise.
333         (riscv_arch_str): Likewise.
334         * elfxx-riscv.h (riscv_arch_str): Declare.
335
336 2019-01-14  John Darrington <john@darrington.wattle.id.au>
337
338         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
339         * libbfd.h: regen.
340         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
341         source field.  (md_apply_fix): Apply final fix
342         to BFD_RELOC_S12Z_OPR.
343         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
344
345 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
346
347         PR 20113
348         * elf32-s390.c (allocate_dynrelocs): Update comment.
349
350 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
351
352         * warning.m4: Adjust egrep pattern for non-GNU compilers.
353         * configure: Regenerate.
354
355 2019-01-08  Alan Modra  <amodra@gmail.com>
356
357         PR 23699
358         PR 24065
359         * ihex.c (ihex_write_object_contents): Properly check 32-bit
360         address range.
361
362 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
363
364         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
365         * bfd/bfd-in2.h: Regenerate.
366         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
367         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
368
369 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
370
371         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
372         default target, little endian target is more suitable.
373
374 2019-01-04  Alan Modra  <amodra@gmail.com>
375
376         PR 24061
377         PR 21786
378         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
379         adjust all callers.
380         (EQ_VALUE_IN_FIELD): Likewise.
381         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
382
383 2019-01-01  Alan Modra  <amodra@gmail.com>
384
385         Update year range in copyright notice of all files.
386
387 For older changes see ChangeLog-2018
388 \f
389 Copyright (C) 2019 Free Software Foundation, Inc.
390
391 Copying and distribution of this file, with or without modification,
392 are permitted in any medium without royalty provided the copyright
393 notice and this notice are preserved.
394
395 Local Variables:
396 mode: change-log
397 left-margin: 8
398 fill-column: 74
399 version-control: never
400 End: