Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
325ba6fb
AM
12018-02-17 Alan Modra <amodra@gmail.com>
2
3 PR 22845
4 * elf.c (assign_file_positions_for_non_load_sections): Ignore
5 degenerate zero size PT_LOAD segments when finding one overlapping
6 the PT_GNU_RELRO segment.
7
d00dd7dc
AM
82018-02-16 Alan Modra <amodra@gmail.com>
9
10 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
11 (_bfd_bool_bfd_true): Rename from bfd_true.
12 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
13 (_bfd_int_bfd_0): Rename from bfd_0.
14 (_bfd_uint_bfd_0): Rename from bfd_0u.
15 (_bfd_long_bfd_0): Rename from bfd_0l.
16 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
17 (_bfd_void_bfd): Rename from bfd_void.
18 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
19 (_bfd_bool_bfd_link_false_error),
20 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
21 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
22 (_bfd_bool_bfd_asection_bfd_asection_true),
23 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
24 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
25 * archive.c (_bfd_noarchive_get_elt_at_index),
26 (_bfd_noarchive_openr_next_archived_file),
27 (_bfd_noarchive_construct_extended_name_table),
28 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
29 (_bfd_noarchive_write_armap): New functions.
30 * archures.c (_bfd_nowrite_set_arch_mach): New function.
31 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
32 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
33 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
34 (alpha_ecoff_swap_coff_lineno_out),
35 (alpha_ecoff_swap_coff_reloc_out): New functions.
36 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
37 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
38 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
39 (mips_ecoff_swap_coff_lineno_out),
40 (mips_ecoff_swap_coff_reloc_out): New functions.
41 * coffcode.h (coff_set_alignment_hook): Replace define with
42 new function.
43 (symname_in_debug_hook): Likewise.
44 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
45 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
46 * elf.c (assign_file_positions_except_relocs): Test
47 elf_backend_allow_non_load_phdr for NULL.
48 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
49 _bfd_elf_link_omit_section_dynsym. Update uses.
50 (_bfd_elf_omit_section_dynsym_all): New function.
51 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
52 (_bfd_elf_omit_section_dynsym_default): Declare.
53 (_bfd_elf_omit_section_dynsym_all): Declare.
54 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
55 (_bfd_nolink_bfd_get_relocated_section_contents),
56 (_bfd_nolink_bfd_lookup_section_flags),
57 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
58 (_bfd_nolink_bfd_link_hash_table_create),
59 (_bfd_nolink_bfd_link_just_syms),
60 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
61 (_bfd_nolink_bfd_link_split_section),
62 (_bfd_nolink_section_already_linked),
63 (_bfd_nolink_bfd_define_common_symbol),
64 (_bfd_nolink_bfd_define_start_stop): New functions.
65 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
66 (_bfd_norelocs_bfd_reloc_name_lookup),
67 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
68 * section.c (_bfd_nowrite_set_section_contents): New function.
69 * syms.c (_bfd_nosymbols_canonicalize_symtab),
70 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
71 (_bfd_nosymbols_get_symbol_version_string),
72 (_bfd_nosymbols_bfd_is_local_label_name),
73 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
74 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
75 (_bfd_nosymbols_bfd_make_debug_symbol),
76 ( _bfd_nosymbols_read_minisymbols),
77 ( _bfd_nosymbols_minisymbol_to_symbol),
78 (_bfd_nodynamic_get_synthetic_symtab): New functions.
79 * libbfd-in.h: Declare new functions. Update existing defines,
80 removing casts.
81 * aix386-core.c: Update to use new hooks. Formatting.
82 * aout-adobe.c: Likewise.
83 * aout-arm.c: Likewise.
84 * aout-target.h: Likewise.
85 * aout-tic30.c: Likewise.
86 * aoutf1.h: Likewise.
87 * binary.c: Likewise.
88 * bout.c: Likewise.
89 * cisco-core.c: Likewise.
90 * coff-alpha.c: Likewise.
91 * coff-i386.c: Likewise.
92 * coff-i860.c: Likewise.
93 * coff-i960.c: Likewise.
94 * coff-ia64.c: Likewise.
95 * coff-mips.c: Likewise.
96 * coff-ppc.c: Likewise.
97 * coff-rs6000.c: Likewise.
98 * coff-sh.c: Likewise.
99 * coff-tic30.c: Likewise.
100 * coff-tic54x.c: Likewise.
101 * coff-x86_64.c: Likewise.
102 * coff64-rs6000.c: Likewise.
103 * coffcode.h: Likewise.
104 * elf-m10300.c: Likewise.
105 * elf32-cr16.c: Likewise.
106 * elf32-lm32.c: Likewise.
107 * elf32-m32r.c: Likewise.
108 * elf32-metag.c: Likewise.
109 * elf32-score.c: Likewise.
110 * elf32-score7.c: Likewise.
111 * elf32-tilepro.c: Likewise.
112 * elf32-xstormy16.c: Likewise.
113 * elf32-xtensa.c: Likewise.
114 * elf64-alpha.c: Likewise.
115 * elf64-hppa.c: Likewise.
116 * elf64-ia64-vms.c: Likewise.
117 * elf64-mmix.c: Likewise.
118 * elf64-sh64.c: Likewise.
119 * elfnn-ia64.c: Likewise.
120 * elfxx-sparc.c: Likewise.
121 * elfxx-target.h: Likewise.
122 * elfxx-tilegx.c: Likewise.
123 * elfxx-x86.h: Likewise.
124 * hp300hpux.c: Likewise.
125 * hppabsd-core.c: Likewise.
126 * hpux-core.c: Likewise.
127 * i386msdos.c: Likewise.
128 * i386os9k.c: Likewise.
129 * ieee.c: Likewise.
130 * ihex.c: Likewise.
131 * irix-core.c: Likewise.
132 * libaout.h: Likewise.
133 * libecoff.h: Likewise.
134 * mach-o-target.c: Likewise.
135 * mach-o.c: Likewise.
136 * mipsbsd.c: Likewise.
137 * mmo.c: Likewise.
138 * netbsd-core.c: Likewise.
139 * nlm-target.h: Likewise.
140 * oasys.c: Likewise.
141 * osf-core.c: Likewise.
142 * pdp11.c: Likewise.
143 * pe-mips.c: Likewise.
144 * pe-x86_64.c: Likewise.
145 * pef.c: Likewise.
146 * plugin.c: Likewise.
147 * ppcboot.c: Likewise.
148 * ptrace-core.c: Likewise.
149 * sco5-core.c: Likewise.
150 * som.c: Likewise.
151 * sparclynx.c: Likewise.
152 * srec.c: Likewise.
153 * tekhex.c: Likewise.
154 * trad-core.c: Likewise.
155 * verilog.c: Likewise.
156 * versados.c: Likewise.
157 * vms-alpha.c: Likewise.
158 * vms-lib.c: Likewise.
159 * wasm-module.c: Likewise.
160 * xsym.c: Likewise.
161 * libbfd.h: Regenerate.
162
2a0d9853
JW
1632018-02-15 Jim Wilson <jimw@sifive.com>
164
09ca4b9d
JW
165 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
166 symbols whose section address is zero.
167
2a0d9853
JW
168 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
169 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
170 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
171 Add %X%P to error messages.
172
e513bd38
EB
1732018-02-15 Eric Botcazou <ebotcazou@adacore.com>
174
175 PR ld/22832
176 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
177 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
178 and assert that the result of the call is not NULL.
179
12ef3f5a
NC
1802018-02-14 Nick Clifton <nickc@redhat.com>
181
182 PR 22823
183 Revert previous delta. Add extra casts to avoid compile time
184 warnings instead.
185 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
186 cast to avoid warning from gcc v8 compiler.
187 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
188 (_bfd_generic_bfd_set_private_flags): Likewise.
189 (_bfd_generic_bfd_copy_private_section_data): Likewise.
190 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
191 (_bfd_generic_bfd_copy_private_header_data): Likewise.
192 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
193 (_bfd_noarchive_construct_extended_name_table): Likewise.
194 (_bfd_noarchive_truncate_arname): Likewise.
195 (_bfd_noarchive_write_ar_hdr): Likewise.
196 (_bfd_noarchive_get_elt_at_index): Likewise.
197 (_bfd_nosymbols_canonicalize_symtab): Likewise.
198 (_bfd_nosymbols_print_symbol): Likewise.
199 (_bfd_nosymbols_get_symbol_info): Likewise.
200 (_bfd_nosymbols_get_symbol_version_string): Likewise.
201 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
202 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
203 (_bfd_nosymbols_get_lineno): Likewise.
204 (_bfd_nosymbols_find_nearest_line): Likewise.
205 (_bfd_nosymbols_find_line): Likewise.
206 (_bfd_nosymbols_find_inliner_info): Likewise.
207 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
208 (_bfd_nosymbols_read_minisymbols): Likewise.
209 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
210 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
211 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
212 (_bfd_nowrite_set_arch_mach): Likewise.
213 (_bfd_nowrite_set_section_contents): Likewise.
214 (_bfd_nolink_sizeof_headers): Likewise.
215 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
216 (_bfd_nolink_bfd_relax_section): Likewise.
217 (_bfd_nolink_bfd_gc_sections): Likewise.
218 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
219 (_bfd_nolink_bfd_merge_sections): Likewise.
220 (_bfd_nolink_bfd_is_group_section): Likewise.
221 (_bfd_nolink_bfd_discard_group): Likewise.
222 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
223 (_bfd_nolink_bfd_link_add_symbols): Likewise.
224 (_bfd_nolink_bfd_link_just_syms): Likewise.
225 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
226 (_bfd_nolink_bfd_final_link): Likewise.
227 (_bfd_nolink_bfd_link_split_section): Likewise.
228 (_bfd_nolink_section_already_linked): Likewise.
229 (_bfd_nolink_bfd_define_common_symbol): Likewise.
230 (_bfd_nolink_bfd_define_start_stop): Likewise.
231 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
232 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
233 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
234 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
235 * libbfd.c (bfd_false_any): Delete.
236 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
237 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
238 * libbfd.h (extern): Regenerate
239 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
240 cast to avoid warning from gcc v8 compiler.
241 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
242 * binary.c (binary_get_symbol_info): Likewise.
243 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
244 * coff-mips.c (mips_ecoff_backend_data): Likewise.
245 * coffcode.h (coff_set_alignment_hook): Likewise.
246 (symname_in_debug_hook): Likewise.
247 (bfd_coff_backend_data bigobj_swap_table): Likewise.
248 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
249 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
250 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
251 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
252 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
253 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
254 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
255 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
256 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
257 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
258 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
259 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
260 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
261 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
262 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
263 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
264 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
265 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
266 (bfd_elfNN_bfd_set_private_flags): Likewise.
267 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
268 (elf_backend_init_index_section): Likewise.
269 (elf_backend_allow_non_load_phdr): Likewise.
270 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
271 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
272 * ieee.c (ieee_construct_extended_name_table): Likewise.
273 (ieee_write_armap): Likewise.
274 (ieee_write_ar_hdr): Likewise.
275 (ieee_bfd_is_target_special_symbol): Likewise.
276 * ihex.c (ihex_canonicalize_symtab): Likewise.
277 (ihex_bfd_is_target_special_symbol): Likewise.
278 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
279 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
280 (_bfd_ecoff_set_alignment_hook): Likewise.
281 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
282 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
283 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
284 * oasys.c (oasys_construct_extended_name_table): Likewise.
285 (oasys_write_armap): Likewise.
286 (oasys_write_ar_hdr): Likewise.
287 (oasys_bfd_is_target_special_symbol): Likewise.
288 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
289 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
290 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
291 * som.c (som_bfd_is_target_special_symbol): Likewise.
292 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
293 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
294 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
295 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
296 (versados_bfd_reloc_name_lookup): Likewise.
297 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
298 (vms_bfd_define_start_stop): Likewise.
299 (alpha_vms_bfd_is_target_special_symbol): Likewise.
300 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
301 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
302
451875b4
L
3032018-02-14 H.J. Lu <hongjiu.lu@intel.com>
304
305 PR ld/22842
306 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
307 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
308 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
309 R_X86_64_PC32 reloc against dynamic function in data section.
310 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
311 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
312 against dynamic function in data section.
313 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
314 function address only if pcrel_plt is true.
315 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
316 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
317 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
318 PC-relative relocation against a function definition in data
319 secton in PIE. Remove the obsolete comments.
320 (elf_x86_link_hash_table): Add pcrel_plt.
321
1031c264
L
3222018-02-13 H.J. Lu <hongjiu.lu@intel.com>
323
324 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
325 instead of bfd_link_pic, for building shared library.
326
bd7ab16b
L
3272018-02-13 H.J. Lu <hongjiu.lu@intel.com>
328
329 PR gas/22791
330 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
331 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
332 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
333 against protected function in shared object.
334
80c96350
ST
3352018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
336
337 PR 22828
338 * po/ru.po: Fix typo in Russian translation.
339
87993319
MR
3402018-02-13 Maciej W. Rozycki <macro@mips.com>
341
342 * wasm-module.c (wasm_scan_name_function_section): Rename
343 `index' local variable to `idx'.
344
68d20676
NC
3452018-02-13 Nick Clifton <nickc@redhat.com>
346
347 PR 22823
348 Fix compile time warnings generated by gcc version 8.
349 * libbfd-in.h: Remove extraneous text from prototypes.
350 Add prototypes for bfd_false_any, bfd_true_any,
351 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
352 bfd_n1_any, bfd_void_any.
353 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
354 function.
355 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
356 (_bfd_generic_bfd_set_private_flags): Likewise.
357 (_bfd_generic_bfd_copy_private_section_data): Likewise.
358 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
359 (_bfd_generic_bfd_copy_private_header_data): Likewise.
360 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
361 (_bfd_noarchive_construct_extended_name_table): Likewise.
362 (_bfd_noarchive_truncate_arname): Likewise.
363 (_bfd_noarchive_write_ar_hdr): Likewise.
364 (_bfd_noarchive_get_elt_at_index): Likewise.
365 (_bfd_nosymbols_canonicalize_symtab): Likewise.
366 (_bfd_nosymbols_print_symbol): Likewise.
367 (_bfd_nosymbols_get_symbol_info): Likewise.
368 (_bfd_nosymbols_get_symbol_version_string): Likewise.
369 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
370 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
371 (_bfd_nosymbols_get_lineno): Likewise.
372 (_bfd_nosymbols_find_nearest_line): Likewise.
373 (_bfd_nosymbols_find_line): Likewise.
374 (_bfd_nosymbols_find_inliner_info): Likewise.
375 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
376 (_bfd_nosymbols_read_minisymbols): Likewise.
377 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
378 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
379 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
380 (_bfd_nowrite_set_arch_mach): Likewise.
381 (_bfd_nowrite_set_section_contents): Likewise.
382 (_bfd_nolink_sizeof_headers): Likewise.
383 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
384 (_bfd_nolink_bfd_relax_section): Likewise.
385 (_bfd_nolink_bfd_gc_sections): Likewise.
386 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
387 (_bfd_nolink_bfd_merge_sections): Likewise.
388 (_bfd_nolink_bfd_is_group_section): Likewise.
389 (_bfd_nolink_bfd_discard_group): Likewise.
390 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
391 (_bfd_nolink_bfd_link_add_symbols): Likewise.
392 (_bfd_nolink_bfd_link_just_syms): Likewise.
393 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
394 (_bfd_nolink_bfd_final_link): Likewise.
395 (_bfd_nolink_bfd_link_split_section): Likewise.
396 (_bfd_nolink_section_already_linked): Likewise.
397 (_bfd_nolink_bfd_define_common_symbol): Likewise.
398 (_bfd_nolink_bfd_define_start_stop): Likewise.
399 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
400 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
401 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
402 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
403 * libbfd.c (bfd_false_any): New function. Like bfd_false but
404 accepts one or more arguments.
405 (bfd_true_any): Likewise.
406 (bfd_nullvoidptr_any): Likewise.
407 (bfd_0_any): Likewise.
408 (bfd_0u_any): Likewise.
409 (bfd_0l_any): Likewise.
410 (_bfd_n1_any): Likewise.
411 (bfd_void_any): Likewise.
412 * libbfd.h (extern): Regenerate
413 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
414 based dummy function.
415 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
416 * binary.c (binary_get_symbol_info): Likewise.
417 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
418 * coff-mips.c (mips_ecoff_backend_data): Likewise.
419 * coffcode.h (coff_set_alignment_hook): Likewise.
420 (symname_in_debug_hook): Likewise.
421 (bfd_coff_backend_data bigobj_swap_table): Likewise.
422 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
423 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
424 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
425 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
426 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
427 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
428 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
429 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
430 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
431 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
432 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
433 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
434 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
435 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
436 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
437 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
438 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
439 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
440 (bfd_elfNN_bfd_set_private_flags): Likewise.
441 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
442 (elf_backend_init_index_section): Likewise.
443 (elf_backend_allow_non_load_phdr): Likewise.
444 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
445 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
446 * ieee.c (ieee_construct_extended_name_table): Likewise.
447 (ieee_write_armap): Likewise.
448 (ieee_write_ar_hdr): Likewise.
449 (ieee_bfd_is_target_special_symbol): Likewise.
450 * ihex.c (ihex_canonicalize_symtab): Likewise.
451 (ihex_bfd_is_target_special_symbol): Likewise.
452 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
453 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
454 (_bfd_ecoff_set_alignment_hook): Likewise.
455 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
456 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
457 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
458 * oasys.c (oasys_construct_extended_name_table): Likewise.
459 (oasys_write_armap): Likewise.
460 (oasys_write_ar_hdr): Likewise.
461 (oasys_bfd_is_target_special_symbol): Likewise.
462 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
463 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
464 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
465 * som.c (som_bfd_is_target_special_symbol): Likewise.
466 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
467 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
468 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
469 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
470 (versados_bfd_reloc_name_lookup): Likewise.
471 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
472 (vms_bfd_define_start_stop): Likewise.
473 (alpha_vms_bfd_is_target_special_symbol): Likewise.
474 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
475 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
476 * elf32-arc.c (get_replace_function): Assign replacement function
477 to func pointer.
478 * elf32-i370.c (i370_noop): Update prototype.
479
6e5e9d58
AM
4802018-02-13 Alan Modra <amodra@gmail.com>
481
482 PR 22836
483 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
484 relocation sections. If size reduces to just the flag word,
485 remove that too and mark with SEC_EXCLUDE.
486 * elflink.c (bfd_elf_final_link): Strip empty group sections.
487
f2731e0c
AM
4882018-02-13 Alan Modra <amodra@gmail.com>
489
490 PR 22829
491 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
492 PT_GNU_RELRO setup.
493
830db048
ZF
4942018-02-12 Zebediah Figura <z.figura12@gmail.com>
495
496 * i386msdos.c (msdos_mkobject); New function.
497 (msdos_object_p): New function.
498 (i386_msdos_vec): Use msdos_object_p as the check_format
499 function.
500 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
501 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
502 IMAGE_NT_SIGNATURE.
503 * peXXigen.c: Likewise.
504 * coff-ia64.c: Likewise.
505
94fe5757
NC
5062018-02-12 Nick Clifton <nickc@redhat.com>
507
508 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
509 assignment.
0b8683b7 510 * elf32-arc.c (elf_arc_relocate_section): Likewise.
94fe5757 511
d805612e 5122018-02-09 Eric Botcazou <ebotcazou@adacore.com>
a8735c82
EB
513
514 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
515 (sparc_elf_append_rela): Assert that there is enough room in section.
516 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
517 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
518 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
519 For a symbol subject to a GOT relocation, reserve a slot in the
520 relocation section if the symbol isn't dynamic and we are in PIC mode.
521 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
522 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
523 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
524 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
525 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
526 resolved_to_zero. Do not generate a dynamic GOT relocation for an
527 undefined weak symbol with non-default visibility. Remove superfluous
528 'else' and fix formatting.
529
3b4c3844
L
5302018-02-09 H.J. Lu <hongjiu.lu@intel.com>
531
532 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
533 is_solaris.
534 (i386_elf32_sol2_vec): Don't declare.
535 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
536 Don't set need_global_offset_table.
537 (elf_i386_solaris_arch_bed): New.
538 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
539 Solaris.
540 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
541 target_os != is_nacl instead of target_os == is_normal.
542 (x86_64_elf64_sol2_vec): Don't declare.
543 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
544 is_nacl instead of target_os == is_normal. Don't set
545 need_global_offset_table.
546 (elf_x86_64_solaris_arch_bed): New.
547 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
548 Solaris.
549 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
550 _GLOBAL_OFFSET_TABLE_ for Solaris.
551 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
552 need_global_offset_table.
553 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
554 (elf_x86_link_hash_table): Remove need_global_offset_table.
555 (elf_x86_init_table): Likewise.
556
15b23f36
L
5572018-02-08 H.J. Lu <hongjiu.lu@intel.com>
558
559 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
560 Remove prototype.
561 (i386_elf32_sol2_vec): Declared.
562 (elf_i386_link_setup_gnu_properties): Set
563 need_global_offset_table with info->output_bfd->xvec.
564 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
565 Remove prototype.
566 (x86_64_elf64_sol2_vec): Declared.
567 (elf_x86_64_link_setup_gnu_properties): Set
568 need_global_offset_table with info->output_bfd->xvec.
569
dc11dea2
L
5702018-02-08 H.J. Lu <hongjiu.lu@intel.com>
571
572 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
573 New prototype.
574 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
575 for Solaris.
576 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
577 New prototype.
578 (elf_x86_64_link_setup_gnu_properties): Set
579 need_global_offset_table for Solaris.
580 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
581 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
582 (_bfd_x86_elf_link_setup_gnu_properties): Copy
583 need_global_offset_table.
584 * elfxx-x86.h (elf_x86_link_hash_table): Add
585 need_global_offset_table.
586 (elf_x86_init_table): Likewise.
587
3f48fe4a
JW
5882018-02-08 Jim Wilson <jimw@sifive.com>
589
590 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
591 change.
592
ef135d43
NC
5932018-02-08 Nick Clifton <nickc@redhat.com>
594
595 PR 22788
596 * elf.c (elf_parse_notes): Reject notes with excessuively large
597 alignments.
598
407aa07c
AM
5992018-02-07 Alan Modra <amodra@gmail.com>
600
601 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
602 * elf32-ppc.c: Remove speculation barrier support.
603 * elf32-ppc.h: Likewise.
604 * elf64-ppc.c: Likewise.
605 * elf64-ppc.h: Likewise.
606
ed01220c
JW
6072018-02-06 Jim Wilson <jimw@sifive.com>
608
609 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
610 callback to report an error.
611
c20c30f6
EB
6122018-02-06 Eric Botcazou <ebotcazou@adacore.com>
613
614 PR ld/22263
615 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
616 into call to !bfd_link_executable and tidy up.
617 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
618 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
619 !bfd_link_executable.
620 <R_SPARC_TLS_IE_HI22>: Likewise.
621 <GOT relocations>: Remove useless code, tidy and merge related blocks.
622 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
623 !bfd_link_executable.
624 <R_SPARC_WPLT30>: Tidy up.
625 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
626 !bfd_link_executable.
627 (allocate_dynrelocs): Likewise.
628 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
629 <R_SPARC_TLS_GD_HI22>: Merge into...
630 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
631 sparc_elf_tls_transition and remove redundant code.
632 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
633 !bfd_link_executable.
634 <R_SPARC_TLS_LDO_HIX22>: Likewise.
635 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
636 <R_SPARC_TLS_LDM_CALL>: Likewise.
637 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
638 <R_SPARC_TLS_GD_ADD>: Likewise.
639 <R_SPARC_TLS_LDM_ADD>: Likewise.
640 <R_SPARC_TLS_LDO_ADD>: Likewise.
641 <R_SPARC_TLS_IE_LD>: Likewise.
642
46d09186
NC
6432018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
644
645 PR 22789
646 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
647 functions failed to find the function name, try the generic elf
648 find function instead.
649
8278e7ce
SDJ
6502018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
651
652 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
653 'memcpy' instead of 'strncpy' when writing the magic number.
654
64e234d4
NC
6552018-02-06 Nick Clifton <nickc@redhat.com>
656
657 PR 22794
658 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
659 section before attempting to read it in.
660 (bfd_get_alt_debug_link_info): Likewise.
661
422f3d3d
PC
6622018-02-06 Paul Carroll <pcarroll@codesourcery.com>
663
664 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
665 line information in addition to name, if they can be found.
666
279b2f94
RL
6672018-02-05 Renlin Li <renlin.li@arm.com>
668
669 PR ld/22764
670 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
671 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
672 check for writeable section as well.
673
cd048363
L
6742018-02-05 H.J. Lu <hongjiu.lu@intel.com>
675
676 PR ld/22782
677 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
678 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
679 undefined weak symbol to 0.
680 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
681 if _GLOBAL_OFFSET_TABLE_ is referenced.
682 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
683 got_referenced instead of ref_regular_nonweak. Remove the
684 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
685 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
686
e65b1a78
MR
6872018-02-05 Maciej W. Rozycki <macro@mips.com>
688
689 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
690 initialize `hi_reloc'.
691
2d6dda71
MR
6922018-02-05 Maciej W. Rozycki <macro@mips.com>
693
694 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
695 SHT_MIPS_REGINFO sections don't assert the correct size and
696 report an error instead.
697
75506100
MR
6982018-02-05 Maciej W. Rozycki <macro@mips.com>
699
700 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
701 status from `->elf_backend_section_processing'.
702
7f02625e
JW
7032018-02-02 Jim Wilson <jimw@sifive.com>
704
705 PR ld/22756
706 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
707 If link_info->wrap_hash, check for a duplicate symbol and ignore.
708 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
709 Pass new argument to riscv_relax_delete_bytes.
710 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
711 ATTRIBUTE_UNUSED from link_info parameter.
712
d830549d
AM
7132018-02-02 Alan Modra <amodra@gmail.com>
714
715 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
716 emitted for toc sequence optimization. Set and use "howto" later.
717
e99955cd
SM
7182018-02-01 Simon Marchi <simon.marchi@ericsson.com>
719
720 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
721 arithmetic on NULL pointer.
722 * elflink.c (_bfd_elf_archive_symbol_lookup,
723 elf_link_add_archive_symbols): Likewise.
724
bf3077a6
MM
7252018-01-31 Michael Matz <matz@suse.de>
726
727 * elflink.c (bfd_elf_define_start_stop): Fix check of
728 def_dynamic.
729
823143c6
L
7302018-01-31 H.J. Lu <hongjiu.lu@intel.com>
731
732 PR ld/21964
733 * elflink.c (bfd_elf_define_start_stop): Check if __start and
734 __stop symbols are referenced by shared objects.
735
76cb3a89
AM
7362018-01-30 Alan Modra <amodra@gmail.com>
737
738 PR 22758
739 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
740 segment when demand paged with lma on the same page. Test this
741 before load/non-load, executable/non-executable,
742 writable/non-writable tests and simplify. Delete bogus relro
743 condition in writable/non-writable test. Delete outdated
744 comment. Formatting.
745
36b8fda5
AM
7462018-01-30 Alan Modra <amodra@gmail.com>
747
748 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
749 symbols dynamic.
750
eb77f6a4
AM
7512018-01-29 Alan Modra <amodra@gmail.com>
752
753 PR 22741
754 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
755 range before converting to a symbol table pointer.
756
7d73b4c8
NC
7572018-01-27 Nick Clifton <nickc@redhat.com>
758
759 * po/ru.po: Updated Russian translation.
760
32253bb7
AM
7612018-01-26 Alan Modra <amodra@gmail.com>
762
763 * elflink.c (bfd_elf_define_start_stop): Override symbols when
764 they are defined dynamically.
765
ba21f564
AM
7662018-01-26 Alan Modra <amodra@gmail.com>
767
768 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
769 .branch_lt changes size.
770
38e64b0e
AM
7712018-01-25 Alan Modra <amodra@gmail.com>
772
773 PR 22746
774 * elfcode.h (elf_object_p): Avoid integer overflow.
775
bb363086
EB
7762018-01-25 Eric Botcazou <ebotcazou@adacore.com>
777
778 PR ld/22727
779 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
780 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
781
782 Revert
783 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
784
785 PR ld/22263
786 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
787 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
788 bfd_link_executable for TLS check.
789 (_bfd_sparc_elf_check_relocs): Likewise.
790 (allocate_dynrelocs): Likewise.
791 (_bfd_sparc_elf_relocate_section): Likewise.
792
1daf502a
RL
7932018-01-24 Renlin Li <renlin.li@arm.com>
794
795 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
796 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
797 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
798 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
799 BFD_RELOC_AARCH64_MOVW_PREL_G3.
800 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
801 (_bfd_aarch64_elf_resolve_relocation): Likewise.
802
32247401
RL
8032018-01-24 Renlin Li <renlin.li@arm.com>
804
805 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
806 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
807 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
808 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
809 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
810 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
811 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
812 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
813 BFD_RELOC_AARCH64_MOVW_PREL_G3.
814 * bfd-in2.h: Regenerate.
815 * libbfd.h: Regenerate.
816
1c5e4ee9
MR
8172018-01-23 Maciej W. Rozycki <macro@mips.com>
818
819 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
820 `mips_elf32_section_processing' comment reference.
821
8a1b824a
L
8222018-01-20 H.J. Lu <hongjiu.lu@intel.com>
823
824 PR ld/22721
825 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
826 versioned __tls_get_addr symbol.
827
ee3fbc1e
NC
8282018-01-19 Nick Clifton <nickc@redhat.com>
829
830 * po/fr.po: Updated French translation.
831
691d2e9a
AM
8322018-01-18 Alan Modra <amodra@gmail.com>
833
834 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
835 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
836 (ppc64_elf_build_stubs): Likewise.
837
4bfce128
NC
8382018-01-17 Nick Clifton <nickc@redhat.com>
839
840 * po/ru.po: Updated Russian translation.
841 * po/uk/po: Updated Ukranian translation.
842
c75bc4f7
AM
8432018-01-17 Alan Modra <amodra@gmail.com>
844
845 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
846
1be5d8d3
AM
8472018-01-17 Alan Modra <amodra@gmail.com>
848
849 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
850 (CRSETEQ, BEQCTRM): Define.
851 (is_nonpic_glink_stub): Don't check bctr.
852 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
853 (ppc_elf_relax_section): Size speculation barrier.
854 (output_bctr): New function.
855 (write_glink_stub): Use output_bctr.
856 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
857 (ppc_elf_finish_dynamic_symbol): Likewise.
858 (ppc_elf_finish_dynamic_sections): Use output_bctr.
859 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
860 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
861 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
862 (size_global_entry_stubs): Handle speculation barrier sizing.
863 (plt_stub_size): Likewise.
864 (output_bctr): New function.
865 (build_plt_stub, build_tls_get_addr_stub): Output speculation
866 barrier.
867 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
868 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
869 (build_global_entry_stubs): Output speculation barrier.
870 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
871 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
872
9e390558
AM
8732018-01-17 Alan Modra <amodra@gmail.com>
874
875 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
876 __tls_get_addr_opt, and alignment sizing.
877 (TLS_GET_ADDR_GLINK_SIZE): Delete.
878 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
879 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
880 or 8 insns.
881 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
882 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
883 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
884 by PLT reloc count.
885 (write_glink_stub): Handle __tls_get_addr_opt stub.
886 Pad out to size given by GLINK_ENTRY_SIZE.
887 (ppc_elf_relocate_section): Adjust write_glink_stub call.
888 (ppc_elf_finish_dynamic_symbol): Likewise.
889 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
890 insn array since so many need rewriting.
891 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
892 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
893 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
894 nops. Adjust all uses.
895 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
896 in glink_vma calculation.
897 (struct ppc_link_hash_table): Add global_entry section pointer.
898 (create_linkage_sections): Create separate section for global
899 entry stubs.
900 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
901 (size_global_entry_stubs): Handle sizing for aligned stubs.
902 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
903 and don't stash end of glink branch table in rawsize.
904 (ppc_build_one_stub): Rewrite stub size calculations.
905 (build_global_entry_stubs): Use new section.
906 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
907 Build lazy link stubs out to end of section. Build global entry
908 stubs in new section.
909
616dcb87
NC
9102018-01-15 Nick Clifton <nickc@redhat.com>
911
912 * po/uk.po: Updated Ukranian translation.
913
3957a496
NC
9142018-01-13 Nick Clifton <nickc@redhat.com>
915
916 * po/bfd.pot: Regenerated.
917
769c7ea5
NC
9182018-01-13 Nick Clifton <nickc@redhat.com>
919
920 * version.m4: Bump version to 2.30.51
921 * configure: Regenerate.
922
faf766e3
NC
9232018-01-13 Nick Clifton <nickc@redhat.com>
924
925 2.30 branch created.
926
564e11c9
JW
9272018-01-12 Jens Widell <jl@opera.com>
928
929 * elf.c (setup_group): Optimize search for group by remembering
930 last found group and restarting search at that index.
931 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
932
a78eea16
AM
9332018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
934
935 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
936 bfd_link_common_skip_none in switch.
937
87e79a65
AM
9382018-01-12 Alan Modra <amodra@gmail.com>
939
940 PR ld/22649
941 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
942 references on forced local symbols.
943
58807c48
VI
9442018-01-12 Vlad Ivanov <vlad@ivanov.email>
945
946 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
947 .reginfo section has wrong size.
948
2888249f
L
9492018-01-11 H.J. Lu <hongjiu.lu@intel.com>
950
951 PR ld/22393
952 * elf.c (_bfd_elf_map_sections_to_segments): When generating
953 separate code and read-only data LOAD segments, create a new
954 LOAD segment if the previous section contains text and the
955 current section doesn't or vice versa. Don't put a writable
956 section in a read-only segment if there is a RELRO segment.
957
d664fd41
L
9582018-01-11 H.J. Lu <hongjiu.lu@intel.com>
959
960 PR ld/22649
961 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
962 references on forced local symbols.
963
8b6f4cd3
L
9642018-01-11 H.J. Lu <hongjiu.lu@intel.com>
965
966 PR ld/22677
967 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
968 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
969
6cef73f9
KLC
9702017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
971
972 PR 22662
973 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
974
ddb2bbcf
JB
9752018-01-03 John Baldwin <jhb@FreeBSD.org>
976
977 * elf.c (elfcore_grok_freebsd_note): Handle
978 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
979 NT_FREEBSD_PROCSTAT_VMMAP.
980
219d1afa
AM
9812018-01-03 Alan Modra <amodra@gmail.com>
982
983 Update year range in copyright notice of all files.
984
1e563868 985For older changes see ChangeLog-2017
3499769a 986\f
1e563868 987Copyright (C) 2018 Free Software Foundation, Inc.
3499769a
AM
988
989Copying and distribution of this file, with or without modification,
990are permitted in any medium without royalty provided the copyright
991notice and this notice are preserved.
992
993Local Variables:
994mode: change-log
995left-margin: 8
996fill-column: 74
997version-control: never
998End:
This page took 0.180524 seconds and 4 git commands to generate.