[ARM] FDPIC: Translate R_ARM_TARGET2 relocation into R_ARM_GOT32 relocation for FDPIC...
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
29e9b073
CL
12018-04-25 Christophe Lyon <christophe.lyon@st.com>
2 Mickaël Guêné <mickael.guene@st.com>
3
4 * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
5 for R_ARM_TARGET2.
6
cb10292c
CL
72018-04-25 Christophe Lyon <christophe.lyon@st.com>
8 Mickaël Guêné <mickael.guene@st.com>
9
10 * elf32-arm.c (DEFAULT_STACK_SIZE): New.
11 (elf32_arm_always_size_sections): Create stack segment.
12
5c5a4843
CL
132018-04-25 Christophe Lyon <christophe.lyon@st.com>
14 Mickaël Guêné <mickael.guene@st.com>
15
16 * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
17 (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
18 relocations.
19 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
20 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
21 (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
22 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
23 (struct elf32_arm_link_hash_table): Update comment.
24 (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
25 (IS_ARM_TLS_RELOC): Likewise.
26 (elf32_arm_check_relocs): Likewise.
27 (allocate_dynrelocs_for_symbol): Likewise.
28 (elf32_arm_size_dynamic_sections): Update comment.
29 * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
30 BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
31
7801f98f
CL
322018-04-25 Christophe Lyon <christophe.lyon@st.com>
33 Mickaël Guêné <mickael.guene@st.com>
34
35 * elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
36 (elf32_arm_create_dynamic_sections): Handle FDPIC.
37 (elf32_arm_allocate_plt_entry): Likewise.
38 (elf32_arm_populate_plt_entry): Likewise.
39 (elf32_arm_output_plt_map_1): Likewise.
40
e8b09b87
CL
412018-04-25 Christophe Lyon <christophe.lyon@st.com>
42 Mickaël Guêné <mickael.guene@st.com>
43
44 * elf32-arm.c (struct fdpic_local): New.
45 (elf_arm_obj_tdata): Add local_fdpic_cnts field.
46 (elf32_arm_local_fdpic_cnts): New.
47 (struct fdpic_global): New.
48 (elf32_arm_link_hash_entry): Add fdpic_cnts field.
49 (elf32_arm_link_hash_table): Add srofixup field.
50 (arm_elf_add_rofixup): New.
51 (arm_elf_fill_funcdesc): New.
52 (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
53 (elf32_arm_allocate_local_sym_info): Likewise.
54 (create_got_section): Create .rofixup section.
55 (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
56 (bfd_elf32_arm_set_target_params): Handle FDPIC.
57 (elf32_arm_final_link_relocate): Likewise.
58 (elf32_arm_check_relocs): Likewise.
59 (allocate_dynrelocs_for_symbol): Likewise.
60 (elf32_arm_size_dynamic_sections): Likewise.
61 (elf32_arm_finish_dynamic_sections): Likewise.
62 (elf32_arm_output_arch_local_syms): Likewise.
63 (elf32_arm_fdpic_omit_section_dynsym): New.
64
188fd7ae
CL
652018-04-25 Christophe Lyon <christophe.lyon@st.com>
66 Mickaël Guêné <mickael.guene@st.com>
67
68 * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
69 (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
70 (BFD_RELOC_ARM_FUNCDESC_VALUE): New.
71 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
72 R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
73 (elf32_arm_howto_from_type): Take new members of
74 elf32_arm_howto_table_2 into account.
75 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
76 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
77 BFD_RELOC_ARM_FUNCDESC_VALUE.
78 * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
79 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
80 BFD_RELOC_ARM_FUNCDESC_VALUE.
81
18a20338
CL
822018-04-25 Christophe Lyon <christophe.lyon@st.com>
83 Mickaël Guêné <mickael.guene@st.com>
84
85 * elf32-arm.c (elf32_arm_print_private_bfd_data): Support
86 EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
87 (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
88 (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
89
617a5ada
CL
902018-04-25 Christophe Lyon <christophe.lyon@st.com>
91 Mickaël Guêné <mickael.guene@st.com>
92
93 * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
94 arm_elf32_fdpic_le_vec to targ_selvecs. Accept
95 arm*-*-uclinuxfdpiceabi.
96 * configure.ac: Add support for arm_elf32_fdpic_be_vec and
97 arm_elf32_fdpic_le_vec.
98 * configure: Regenerate.
99 * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
100 (elf32_arm_link_hash_table_create): Initialize fdpic_p.
101 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
102 (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
103 (elf32_arm_fdpic_link_hash_table_create): New.
104 * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
105 arm_elf32_fdpic_le_vec.
106
d99b4b92
AM
1072018-04-25 Alan Modra <amodra@gmail.com>
108
109 * elf-linux-core.h: Disable gcc-8 string truncation warning.
110 * elf.c (elfcore_write_prpsinfo): Likewise.
111
1122018-04-25 Alan Modra <amodra@gmail.com>
2ac93be7
AM
113
114 * Makefile.am: Remove arm-aout and arm-coff support.
115 * config.bfd: Likewise.
116 * configure.ac: Likewise.
117 * targets.c: Likewise.
118 * aout-arm.c: Delete.
119 * armnetbsd.c: Delete.
120 * riscix.c: Delete.
121 * Makefile.in: Regenerate.
122 * configure: Regenerate.
123 * po/SRC-POTFILES.in: Regenerate.
124
aa4a8c2a
NC
1252018-04-24 Nick Clifton <nickc@redhat.com>
126
db0c309f
NC
127 PR 23113
128 * elf.c (ignore_section_sym): Check for the output_section pointer
129 being NULL before dereferencing it.
130
aa4a8c2a
NC
131 PR 23110
132 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
133 a negative PE_DEBUG_DATA size before iterating over the debug data.
134
b9f26d2e
AM
1352018-04-23 Alan Modra <amodra@gmail.com>
136
137 * elf-linux-core.h: Revert last change.
138 * elf.c: Likewise.
139
bf82069d
NC
1402018-04-23 Nick Clifton <nickc@redhat.com>
141
142 PR 23056
143 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
144 the end of the string table, and zero it.
145
5a6312e8
AM
1462018-04-23 Alan Modra <amodra@gmail.com>
147
148 * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
149 gcc-8 string truncation warning.
150 (swap_linux_prpsinfo32_ugid16_out): Likewise.
151 (swap_linux_prpsinfo64_ugid32_out): Likewise.
152 (swap_linux_prpsinfo64_ugid16_out): Likewise.
153 * elf.c (elfcore_write_prpsinfo): Likewise.
154
bf82069d
NC
1552018-04-23 Nick Clifton <nickc@redhat.com>
156
157 PR 23056
158 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
159 the end of the string table, and zero it.
160
4352556b
AM
1612018-04-20 Alan Modra <amodra@gmail.com>
162
163 PR 22978
164 * elf32-hppa.c (got_relocs_needed): Add extra param to special
165 case both dtprel and tprel relocs.
166 (allocate_dynrelocs): Adjust conditions for got relocs.
167 (elf32_hppa_relocate_section): Likewise for local sym got relocs.
168 Emit dynamic relocs on TLS GOT entries for shared libraries,
169 not when pic. Omit dynamic reloc on dtprel entry when local,
170 and on tprel entry when local and executable.
171
f6a8b8c7
AM
1722018-04-19 Alan Modra <amodra@gmail.com>
173
174 PR 22537
175 * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
176 (hppa_type_of_stub): Don't return a long branch stub for
177 symbols other than those defined statically.
178
8e415ce8
AM
1792018-04-19 Alan Modra <amodra@gmail.com>
180
181 * Makefile.am: Revert 2018-04-18 coff-mips changes.
182 * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
183 to selvecs for mips targets change 2018-04-18.
184 * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
185 and mips_ecoff_bele_vec.
186 * targets.c: Likewise.
187 * coff-mips.c: Resurrect.
188 * Makefile.in: Regenerate.
189 * configure: Regenerate.
190 * po/SRC-POTFILES.in: Regenerate.
191
3596d8ce
AM
1922018-04-18 Alan Modra <amodra@gmail.com>
193
194 * Makefile.am: Remove mips aout and coff support.
195 * config.bfd: Likewise.
196 * configure.ac: Likewise.
197 * targets.c: Likewise.
198 * coff-mips.c: Delete
199 * mipsbsd.c: Delete
200 * pe-mips.c: Delete
201 * pei-mips.c: Delete
202 * Makefile.in: Regenerate.
203 * configure: Regenerate.
204 * po/SRC-POTFILES.in: Regenerate.
205
d9dd2045
L
2062018-04-17 H.J. Lu <hongjiu.lu@intel.com>
207
208 * elf32-i386.c (elf32_bed): Define before including
209 "elf32-target.h".
210 * elf64-x86-64.c (elf64_bed): Define before including
211 "elf64-target.h".
212 (elf32_bed): Define before including "elf32-target.h".
213
e4e6a73d
L
2142018-04-17 H.J. Lu <hongjiu.lu@intel.com>
215
216 PR ld/23055
217 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
218 normal input file with compatible relocation.
219
c65c21e1
AM
2202018-04-18 Alan Modra <amodra@gmail.com>
221
222 * Makefile.am: Remove support for assorted i386 aout and coff targets.
223 * config.bfd: Likewise.
224 * configure.ac: Likewise.
225 * doc/bfdint.texi: Likewise.
226 * targets.c: Likewise.
227 * freebsd.h: Delete.
228 * i386dynix.c: Delete.
229 * i386freebsd.c: Delete.
230 * i386linux.c: Delete.
231 * i386mach3.c: Delete.
232 * i386netbsd.c: Delete.
233 * i386os9k.c: Delete.
234 * Makefile.in: Regenerate.
235 * configure: Regenerate.
236 * po/SRC-POTFILES.in: Regenerate.
237
884d4d8a 2382018-04-17 Andrew Sadek <andrew.sadek.se@gmail.com>
3f0a5f17
ME
239
240 Microblaze Target: PIC data text relative
241
242 * bfd/reloc.c (2 new BFD relocations):
243 BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
244 BFD_RELOC_MICROBLAZE_64_TEXTPCREL
245 * bfd/bfd-in2.h: Regenerate
246 * bfd/libbfd.h: Regenerate
247 * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
248 new relocs and handle them in both relocate and relax functions.
249 (microblaze_elf_reloc_type_lookup): add mapping between for new
250 bfd relocs.
251 (microblaze_elf_relocate_section): Handle new relocs in case of
252 elf relocation.
253 (microblaze_elf_relax_section): Handle new relocs for elf relaxation.
254
6327533b
NC
2552018-04-17 Nick Clifton <nickc@redhat.com>
256
808346fc
NC
257 PR 23055
258 * aoutx.h (find_nearest_line): Check that the symbol name exists
259 and is long enough, before attempting to see if it is for a .o
260 file.
261 * hash.c (bfd_hash_hash): Add an assertion that the string is not
262 NULL.
263 * linker.c (bfd_link_hash_lookup): Fail if the table or string are
264 NULL.
265 (_bfd_generic_link_add_archive_symbols): Fail if an archive entry
266 has no name.
267
6327533b
NC
268 PR 23065
269 * dwarf2.c (concat_filename): Check for a NULL table pointer.
270
e9af4700
NC
2712018-04-16 Nick Clifton <nickc@redhat.com>
272
273 PR 23061
274 * coffgen.c (coff_pointerize_aux): Check for an out of range
275 fixup.
276
ddb00039
AM
2772018-04-16 Alan Modra <amodra@gmail.com>
278
279 * Makefile.am: Remove arm-epoc-pe support.
280 * coff-arm.c: Likewise.
281 * config.bfd: Likewise.
282 * configure.ac: Likewise.
283 * targets.c: Likewise.
284 * epoc-pe-arm.c: Delete.
285 * epoc-pei-arm.c: Delete.
286 * Makefile.in: Regenerate.
287 * configure: Regenerate.
288 * po/SRC-POTFILES.in: Regenerate.
289
c9098af4
AM
2902018-04-16 Alan Modra <amodra@gmail.com>
291
292 * Makefile.am: Remove sparc-aout and sparc-coff support.
293 * config.bfd: Likewise.
294 * configure.ac: Likewise.
295 * targets.c: Likewise.
296 * aout-sparcle.c: Delete.
297 * aoutf1.h: Delete.
298 * cf-sparclynx.c: Delete.
299 * coff-sparc.c: Delete.
300 * demo64.c: Delete.
301 * sparclinux.c: Delete.
302 * sparclynx.c: Delete.
303 * sparcnetbsd.c: Delete.
304 * sunos.c: Delete.
305 * Makefile.in: Regenerate.
306 * configure: Regenerate.
307 * po/SRC-POTFILES.in: Regenerate.
308
dc12032b
AM
3092018-04-16 Alan Modra <amodra@gmail.com>
310
311 * Makefile.am: Remove m68k-aout and m68k-coff support.
312 * aoutf1.h: Likewise.
313 * aoutx.h: Likewise.
314 * archive.c: Likewise.
315 * bfd-in.h: Likewise.
316 * bfd.c: Likewise.
317 * coffcode.h: Likewise.
318 * coffswap.h: Likewise.
319 * config.bfd: Likewise.
320 * configure.ac: Likewise.
321 * configure.host: Likewise.
322 * doc/bfd.texinfo: Likewise.
323 * doc/bfdint.texi: Likewise.
324 * freebsd.h: Likewise.
325 * gen-aout.c: Likewise.
326 * hpux-core.c: Likewise.
327 * libaout.h: Likewise.
328 * libbfd-in.h: Likewise.
329 * pdp11.c: Likewise.
330 * peicode.h: Likewise.
331 * riscix.c: Likewise.
332 * targets.c: Likewise.
333 * aout0.c: Delete.
334 * coff-apollo.c: Delete.
335 * coff-aux.c: Delete.
336 * coff-m68k.c: Delete.
337 * coff-svm68k.c: Delete.
338 * coff-u68k.c: Delete.
339 * hosts/delta68.h: Delete.
340 * hosts/hp300bsd.h: Delete.
341 * hosts/m68kaux.h: Delete.
342 * hosts/news.h: Delete.
343 * hp300bsd.c: Delete.
344 * hp300hpux.c: Delete.
345 * liboasys.h: Delete.
346 * m68k4knetbsd.c: Delete.
347 * m68klinux.c: Delete.
348 * m68knetbsd.c: Delete.
349 * oasys.c: Delete.
350 * versados.c: Delete.
351 * Makefile.in: Regenerate.
352 * bfd-in2.h: Regenerate.
353 * configure: Regenerate.
354 * libbfd.h: Regenerate.
355 * po/SRC-POTFILES.in: Regenerate.
356
211dc24b
AM
3572018-04-16 Alan Modra <amodra@gmail.com>
358
359 * Makefile.am: Remove sh5 and sh64 support.
360 * archures.c: Likewise.
361 * config.bfd: Likewise.
362 * configure.ac: Likewise.
363 * cpu-sh.c: Likewise.
364 * elf32-sh-relocs.h: Likewise.
365 * elf32-sh.c: Likewise.
366 * targets.c: Likewise.
367 * elf32-sh64-com.c: Delete.
368 * elf32-sh64.c: Delete.
369 * elf32-sh64.h: Delete.
370 * elf64-sh64.c: Delete.
371 * Makefile.in: Regenerate.
372 * bfd-in2.h: Regenerate.
373 * configure: Regenerate.
374 * po/SRC-POTFILES.in: Regenerate.
375
4db9937a
AM
3762018-04-16 Alan Modra <amodra@gmail.com>
377
378 * Makefile.am: Remove sh-symbianelf support.
379 * config.bfd: Likewise.
380 * configure.ac: Likewise.
381 * targets.c: Likewise.
382 * elf32-sh-symbian.c: Delete.
383 * Makefile.in: Regenerate.
384 * configure: Regenerate.
385 * po/SRC-POTFILES.in: Regenerate.
386
9f5d1593
AM
3872018-04-16 Alan Modra <amodra@gmail.com>
388
389 * Makefile.am: Remove vax-bsd and vax-ultrix support.
390 * config.bfd: Likewise.
391 * configure.ac: Likewise.
392 * targets.c: Likewise.
393 * vaxbsd.c: Delete.
394 * Makefile.in: Regenerate.
395 * configure: Regenerate.
396 * po/SRC-POTFILES.in: Regenerate.
397
a9a4b302
AM
3982018-04-16 Alan Modra <amodra@gmail.com>
399
400 * Makefile.am: Remove w65 support.
401 * archures.c: Likewise.
402 * coffcode.h: Likewise.
403 * config.bfd: Likewise.
404 * configure.ac: Likewise.
405 * targets.c: Likewise.
406 * coff-w65.c: Delete.
407 * cpu-w65.c: Delete.
408 * Makefile.in: Regenerate.
409 * bfd-in2.h: Regenerate.
410 * configure: Regenerate.
411 * po/SRC-POTFILES.in: Regenerate.
412
04cb01fd
AM
4132018-04-16 Alan Modra <amodra@gmail.com>
414
415 * Makefile.am: Remove we32k support.
416 * archures.c: Likewise.
417 * coffcode.h: Likewise.
418 * config.bfd: Likewise.
419 * configure.ac: Likewise.
420 * targets.c: Likewise.
421 * coff-we32k.c: Delete.
422 * cpu-we32k.c: Delete.
423 * Makefile.in: Regenerate.
424 * bfd-in2.h: Regenerate.
425 * configure: Regenerate.
426 * po/SRC-POTFILES.in: Regenerate.
427
c2bf1eec
AM
4282018-04-16 Alan Modra <amodra@gmail.com>
429
430 * Makefile.am: Remove m88k support.
431 * aoutx.h: Likewise.
432 * archures.c: Likewise.
433 * coffcode.h: Likewise.
434 * coffswap.h: Likewise.
435 * config.bfd: Likewise.
436 * configure.ac: Likewise.
437 * cpu-ns32k.c: Likewise.
438 * elf32-nds32.c: Likewise.
439 * mach-o.c: Likewise.
440 * netbsd-core.c: Likewise.
441 * reloc.c: Likewise.
442 * targets.c: Likewise.
443 * coff-m88k.c: Delete.
444 * cpu-m88k.c: Delete.
445 * elf32-m88k.c: Delete.
446 * hosts/m88kmach3.h: Delete.
447 * m88kmach3.c: Delete.
448 * m88kopenbsd.c: Delete.
449 * Makefile.in: Regenerate.
450 * bfd-in2.h: Regenerate.
451 * configure: Regenerate.
452 * po/SRC-POTFILES.in: Regenerate.
453
6793974d
AM
4542018-04-16 Alan Modra <amodra@gmail.com>
455
456 * Makefile.am: Remove i370 support.
457 * archures.c: Likewise.
458 * config.bfd: Likewise.
459 * configure.ac: Likewise.
460 * targets.c: Likewise.
461 * cpu-i370.c: Delete.
462 * elf32-i370.c: Delete.
463 * Makefile.in: Regenerate.
464 * bfd-in2.h: Regenerate.
465 * configure: Regenerate.
466 * po/SRC-POTFILES.in: Regenerate.
467
e82aa794
AM
4682018-04-16 Alan Modra <amodra@gmail.com>
469
470 * Makefile.am: Remove h8500 support.
471 * archures.c: Likewise.
472 * coffcode.h: Likewise.
473 * config.bfd: Likewise.
474 * configure.ac: Likewise.
475 * targets.c: Likewise.
476 * coff-h8500.c: Delete.
477 * cpu-h8500.c: Delete.
478 * Makefile.in: Regenerate.
479 * bfd-in2.h: Regenerate.
480 * configure: Regenerate.
481 * po/SRC-POTFILES.in: Regenerate.
482
fe0bf0fd
AM
4832018-04-16 Alan Modra <amodra@gmail.com>
484
485 * Makefile.am: Remove h8300-coff support.
486 * coffcode.h: Likewise.
487 * config.bfd: Likewise.
488 * configure.ac: Likewise.
489 * reloc16.c: Likewise.
490 * targets.c: Likewise.
491 * coff-h8300.c: Delete.
492 * Makefile.in: Regenerate.
493 * configure: Regenerate.
494 * po/SRC-POTFILES.in: Regenerate.
495
fdef3943
AM
4962018-04-16 Alan Modra <amodra@gmail.com>
497
498 * Makefile.am: Remove IEEE 695 support.
499 * archures.c: Likewise.
500 * bfd.c: Likewise.
501 * config.bfd: Likewise.
502 * configure.ac: Likewise.
503 * doc/bfd.texinfo: Likewise.
504 * doc/bfdint.texi: Likewise.
505 * doc/bfdsumm.texi: Likewise.
506 * section.c: Likewise.
507 * targets.c: Likewise.
508 * ieee.c: Delete.
509 * libieee.h: Delete.
510 * Makefile.in: Regenerate.
511 * bfd-in2.h: Regenerate.
512 * configure: Regenerate.
513 * po/SRC-POTFILES.in: Regenerate.
514
de96689e
AM
5152018-04-16 Alan Modra <amodra@gmail.com>
516
517 * config.bfd: Remove tandem support.
518
5972ac73
AM
5192018-04-16 Alan Modra <amodra@gmail.com>
520
521 * Makefile.am: Remove newsos3 support.
522 * aoutx.h: Likewise.
523 * config.bfd: Likewise.
524 * configure.ac: Likewise.
525 * targets.c: Likewise.
526 * newsos3.c: Delete.
527 * Makefile.in: Regenerate.
528 * configure: Regenerate.
529 * po/SRC-POTFILES.in: Regenerate.
530
b4b594e3
AM
5312018-04-16 Alan Modra <amodra@gmail.com>
532
533 * Makefile.am: Remove netware support.
534 * bfd-in.h: Likewise.
535 * bfd.c: Likewise.
536 * config.bfd: Likewise.
537 * configure.ac: Likewise.
538 * doc/bfdint.texi: Likewise.
539 * ecoff.c: Likewise.
540 * targets.c: Likewise.
541 * libnlm.h: Delete.
542 * nlm-target.h: Delete.
543 * nlm.c: Delete.
544 * nlm32-alpha.c: Delete.
545 * nlm32-i386.c: Delete.
546 * nlm32-ppc.c: Delete.
547 * nlm32-sparc.c: Delete.
548 * nlm32.c: Delete.
549 * nlm64.c: Delete.
550 * nlmcode.h: Delete.
551 * nlmswap.h: Delete.
552 * Makefile.in: Regenerate.
553 * bfd-in2.h: Regenerate.
554 * configure: Regenerate.
555 * po/SRC-POTFILES.in: Regenerate.
556
fceadf09
AM
5572018-04-16 Alan Modra <amodra@gmail.com>
558
559 * archures.c: Remove tahoe support.
560 * config.bfd: Likewise.
561 * configure.ac: Likewise.
562 * hosts/tahoe.h: Delete.
563 * bfd-in2.h: Regenerate.
564 * configure: Regenerate.
565
702d1671
AM
5662018-04-14 Alan Modra <amodra@gmail.com>
567
568 * elf-bfd.h (struct elf_backend_data): Add relropagesize.
569 * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
570 sanity test.
571 (elfNN_bed): Init relropagesize.
572 * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
573 select relropagesize.
574 * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
575 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
576 (ELF_MINPAGESIZE): Don't define.
577 * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
578 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
579 * bfd-in2.h: Regenerate.
580
03aa9684
AM
5812018-04-14 Alan Modra <amodra@gmail.com>
582
583 * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
584 on __QNXTARGET__ define.
585
24acfe5e
AM
5862018-04-14 Alan Modra <amodra@gmail.com>
587
588 * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
589 to obsolete list.
590
a8eb42a8
AM
5912018-04-11 Alan Modra <amodra@gmail.com>
592
593 * aout-adobe.c: Delete.
594 * bout.c: Delete.
595 * coff-i860.c: Delete.
596 * coff-i960.c: Delete.
597 * cpu-i860.c: Delete.
598 * cpu-i960.c: Delete.
599 * elf32-i860.c: Delete.
600 * elf32-i960.c: Delete.
601 * hosts/i860mach3.h: Delete.
602 * Makefile.am: Remove i860, i960, bout, and adobe support.
603 * archures.c: Remove i860 and i960 support.
604 * coffcode.h: Likewise.
605 * reloc.c: Likewise.
606 * aoutx.h: Comment updates.
607 * archive.c: Remove BOUT and i960 support.
608 * bfd.c: Remove BOUT support.
609 * coffswap.h: Remove i960 support.
610 * config.bfd: Remove i860, i960 and adobe targets.
611 * configure.ac: Remove adode, bout, i860, i960, icoff targets.
612 * targets.c: Likewise.
613 * ieee.c: Remove i960 support.
614 * mach-o.c: Remove i860 support.
615 * Makefile.in: Regenerate.
616 * bfd-in2.h: Regenerate.
617 * configure: Regenerate.
618 * libbfd.h: Regenerate.
619 * po/SRC-POTFILES.in: Regenerate.
620
aec2e0d2
MR
6212018-04-09 Maciej W. Rozycki <macro@mips.com>
622
623 * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
624 in the BFD symbol referred by the relocation.
625 (mips_elf64_write_rela): Likewise.
626
9ccfa98b
MR
6272018-04-09 Maciej W. Rozycki <macro@mips.com>
628
629 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
630 error for out-of-range `r_sym' values.
631
3e04d765
AM
6322018-04-09 Alan Modra <amodra@gmail.com>
633
634 * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
635 (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
636 (ppc64_elf_check_relocs): Set has_pltcall.
637 (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
638 (ppc64_elf_inline_plt): New function.
639 (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
640 * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
641 * elf32-ppc.c (has_pltcall): Define.
642 (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
643 (ppc_elf_check_relocs): Set has_pltcall.
644 (ppc_elf_inline_plt): New function.
645 (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
646 (ppc_elf_size_dynamic_sections): Likewise.
647 * elf32-ppc.h (ppc_elf_inline_plt): Declare.
648
23cedd1d
AM
6492018-04-09 Alan Modra <amodra@gmail.com>
650
651 * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
652 (is_plt_seq_reloc): New function.
653 (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
654 (ppc_elf_tls_optimize): Handle inline plt call sequence.
655 (ppc_elf_relax_section): Handle PLTCALL reloc.
656 (ppc_elf_relocate_section): Nop out inline plt call sequence when
657 resolving locally.
658 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
659 R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE.
660 (has_tls_get_addr_call): Correct comment.
661 (is_branch_reloc): Add PLTCALL.
662 (is_plt_seq_reloc): New function.
663 (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set
664 has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt
665 entry for R_PPC64_PLTCALL.
666 (ppc64_elf_tls_optimize): Handle inline plt call sequence.
667 (ppc_type_of_stub): Handle PLTCALL reloc.
668 (toc_adjusting_stub_needed): Likewise.
669 (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
670 reloc insn. Nop out inline plt call sequence when resolving
671 locally. Handle __tls_get_addr inline plt call optimization.
672
2d7ad24e
AM
6732018-04-09 Alan Modra <amodra@gmail.com>
674
675 * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
676 (struct ppc_stub_hash_entry): Add symtype field.
677 (PLT_KEEP): Define.
678 (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
679 (create_linkage_sections): Create pltlocal and relpltlocal.
680 (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
681 Set PLT_KEEP.
682 (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
683 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
684 (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
685 Keep PLT entries for inline calls against locals.
686 (ppc_build_one_stub): Use pltlocal as appropriate.
687 (ppc_size_one_stub): Likewise.
688 (ppc64_elf_size_stubs): Set symtype.
689 (build_global_entry_stubs_and_plt): Init pltlocal and write
690 relpltlocal for globals.
691 (write_plt_relocs_for_local_syms): Likewise for local syms.
692 (ppc64_elf_relocate_section): Support PLT for local syms.
693 * elf32-ppc.c (PLT_KEEP): Define.
694 (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
695 (ppc_elf_create_glink): Create pltlocal and relpltlocal.
696 (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
697 Set PLT_KEEP. Adjust update_local_sym_info call.
698 (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
699 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
700 (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
701 (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
702 (write_global_sym_plt): Init pltlocal and write relpltlocal.
703 (ppc_finish_symbols): Likewise for locals.
704
49c09209
AM
7052018-04-09 Alan Modra <amodra@gmail.com>
706
707 * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
708 for local symbols to..
709 (write_plt_relocs_for_local_syms): ..here. New function.
710 (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
711 global symbols to..
712 (build_global_entry_stubs_and_plt): ..here. Rename from
713 build_global_entry_stubs.
714 (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
715 Call write_plt_relocs_for_local_syms.
716 * elf32-ppc.c (get_sym_h): New function.
717 (ppc_elf_relax_section): Use get_sym_h.
718 (ppc_elf_relocate_section): Move output of PLT relocs and glink
719 stubs for local symbols to..
720 (ppc_finish_symbols): ..here. New function.
721 (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
722 global syms to..
723 (write_global_sym_plt): ..here. New function.
724 * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
725 (ppc_finish_symbols): Declare.
726
08be3224
AM
7272018-04-09 Alan Modra <amodra@gmail.com>
728
729 * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
730 (ppc_elf_relocate_section): Likewise.
731 * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
732 (ppc64_elf_relocate_section): Likewise. Correct PLT16
733 resolution to plt entry relative to toc pointer.
734
37da22e5
AM
7352018-04-09 Alan Modra <amodra@gmail.com>
736
737 * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
738 TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout
739 file when other TLS flags are tested in a mask.
740 (TLS_MARK, NON_GOT): Define.
741 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
742 (update_local_sym_info): Don't create got entry when NON_GOT.
743 (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
744 Set TLS_MARK.
745 (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
746 (ppc64_elf_relocate_section): Likewise.
747 (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
748 __tls_get_addr calls lacking a marker reloc.
749 * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
750 TLS_TPRELGD): Renumber. Update comment.
751 (TLS_MARK, NON_GOT): Define.
752 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
753 (update_local_sym_info): Don't create got entry when NON_GOT.
754 (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
755 Set TLS_MARK.
756 (ppc_elf_tls_optimize): Don't attempt to optimize indirect
757 __tls_get_addr calls lacking a marker reloc.
758
a6fd92b0
L
7592018-04-06 H.J. Lu <hongjiu.lu@intel.com>
760
761 * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
762 R_X86_64_converted_reloc_bit.
763
3cba8b6c
L
7642018-04-05 H.J. Lu <hongjiu.lu@intel.com>
765
766 PR gas/22318
767 * configure: Regenerated.
768
0e8452bb
AM
7692018-04-05 Alan Modra <amodra@gmail.com>
770
771 * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
772 (elf_hppa_info_to_howto_rel): Likewise.
773
8ee55178
MR
7742018-04-04 Maciej W. Rozycki <macro@mips.com>
775
776 * elf-hppa.h (elf_hppa_info_to_howto): Also return
777 unsuccessfully for unimplemented relocations.
778 (elf_hppa_info_to_howto_rel): Likewise.
779
5d7c8b80
MR
7802018-04-04 Maciej W. Rozycki <macro@mips.com>
781
782 * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the
783 `bfd_error_bad_value' error and call `_bfd_error_handler' on a
784 howto lookup failure.
785 (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
786 accordingly.
787 (elf32_i860_info_to_howto_rela): Likewise.
788 (elf32_i860_relocate_splitn): Likewise.
789 (elf32_i860_relocate_pc16): Likewise.
790 (elf32_i860_relocate_pc26): Likewise.
791 (elf32_i860_relocate_section): Likewise.
792
707bad1b
MR
7932018-04-04 Maciej W. Rozycki <macro@mips.com>
794
795 * elf32-visium.c (visium_info_to_howto_rela): Correct the range
796 check for `visium_elf_howto_table' table access.
797
0cc919dc
MR
7982018-04-04 Maciej W. Rozycki <macro@mips.com>
799
800 * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
801 check for `iq2000_elf_howto_table' table access.
802
f428698e
MR
8032018-04-04 Maciej W. Rozycki <macro@mips.com>
804
805 * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
806 for `elf32_frv_howto_table' table access.
807
7ed6f92a
MR
8082018-04-04 Maciej W. Rozycki <macro@mips.com>
809
810 * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
811 unsuccessfully for placeholder howtos.
812 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
813 * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
814
75def2ab
MR
8152018-03-29 Maciej W. Rozycki <macro@mips.com>
816
817 * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
818 `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
819
8b6a949a
MR
8202018-03-28 Maciej W. Rozycki <macro@mips.com>
821
822 * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
823 ATTRIBUTE_UNUSED from `abfd'.
824
d81270c3
MR
8252018-03-28 Maciej W. Rozycki <macro@mips.com>
826
827 * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
828 `_bfd_error_handler' call formatting.
829
60dceb8d 8302018-03-28 Maciej W. Rozycki <macro@mips.com>
8205a328
MR
831
832 * elf32-mips.c (mips_info_to_howto_rel): Call
833 `mips_elf32_rtype_to_howto' directly rather than via
834 `->elf_backend_mips_rtype_to_howto'.
835
e04ef022
RL
8362018-03-28 Renlin Li <renlin.li@arm.com>
837
838 PR ld/22970
839 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
840 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
841 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
842 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
843 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
844 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
845 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
846 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
847 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
848 (elfNN_aarch64_final_link_relocate): Support new relocations.
849 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
850 relocations.
851 (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
852
84f1b9fb
RL
8532018-03-28 Renlin Li <renlin.li@arm.com>
854
855 PR ld/22970
856 * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
857 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
858 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
859 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
860 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
861 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
862 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
863 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
864 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
865 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
866 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
867 TLSLE_LDST16_TPREL_LO12,
868 TLSLE_LDST16_TPREL_LO12_NC,
869 TLSLE_LDST32_TPREL_LO12,
870 TLSLE_LDST32_TPREL_LO12_NC,
871 TLSLE_LDST64_TPREL_LO12,
872 TLSLE_LDST64_TPREL_LO12_NC,
873 TLSLE_LDST8_TPREL_LO12,
874 TLSLE_LDST8_TPREL_LO12_NC.
875 * bfd-in2.h: Regenerated.
876 * libbfd.h: Regenerated.
877
f8745e1c
EB
8782018-03-28 Eric Botcazou <ebotcazou@adacore.com>
879
880 PR ld/22972
881 * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
882 has_old_style_got_reloc.
883 (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
884 relocations. Fix a couple of long lines.
885 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
886 a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
887 GOT relocations.
888
bf54968b
L
8892018-03-25 H.J. Lu <hongjiu.lu@intel.com>
890
891 PR ld/23000
892 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
893 ENDBR64 to the TLSDESC PLT entry.
894
0ccf57bd
AM
8952018-03-21 Alan Modra <amodra@gmail.com>
896
897 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
898 symbols. Use size_t counts. Delete redundant opd test.
899
4bad6366
AM
9002018-03-21 Alan Modra <amodra@gmail.com>
901
902 * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
903
bac3c8c5
AM
9042018-03-21 Alan Modra <amodra@gmail.com>
905
906 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
907 field unsigned.
908 (update_local_sym_info): Likewise for local_got_tls_masks.
909 (ppc_elf_tls_optimize): Likewise for lgot_masks.
910
6a3858a6
AM
9112018-03-21 Alan Modra <amodra@gmail.com>
912
913 * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
914 (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
915 do in size_dynamic_sections.
916
675e2809
AM
9172018-03-21 Alan Modra <amodra@gmail.com>
918
919 * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
920 without first checking array bounds.
921 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
922
416c34d6
L
9232018-03-20 H.J. Lu <hongjiu.lu@intel.com>
924
925 PR ld/22983
926 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
927 non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
928
315aa1cf
NC
9292018-03-19 Nick Clifton <nickc@redhat.com>
930
931 * po/es.po: Updated Spanish translation.
932
0854d504
MF
9332018-03-15 Max Filippov <jcmvbkbc@gmail.com>
934
935 * elf32-xtensa.c (xlate_map_entry): Change types of address
936 fields from 'unsigned' to 'bfd_vma'.
937 (xlate_offset_with_removed_text): Use struct xlate_map_entry as
938 the key argument to bsearch. Allow offsets past the end of a
939 section, use the last map entry for translation of such offsets.
940
f9671640
KLC
9412018-03-15 Kuan-Lin Chen <kuanlinchentw@gmail.com>
942
943 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
944 Not support the target feature.
945 (nds32_elf_ex9_itb_base): Likewise.
946 (nds32_elf_ex9_import_table): Likewise.
947 (nds32_elf_ex9_finish): Likewise.
948 (nds32_elf_ex9_reloc_jmp): Likewise.
949 (nds32_elf_get_insn_with_reg): Likewise.
950 (nds32_get_local_syms): Likewise.
951 (nds32_elf_ex9_replace_instruction): Likewise.
952 (nds32_elf_ifc_calc): Likewise.
953 (nds32_elf_ifc_finish): Likewise.
954 (nds32_elf_ifc_replace): Likewise.
955 (nds32_elf_ifc_reloc): Likewise.
956
7dda8d3c
AM
9572018-03-14 Alan Modra <amodra@gmail.com>
958
959 * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
960 sfpr size added before defining alias symbols.
961 (ppc64_elf_build_stubs): Add stub section padding before
962 copying sfpr contents and defining save/restore alias symbols.
963
9e223787
L
9642018-03-14 H.J. Lu <hongjiu.lu@intel.com>
965
966 PR ld/20882
967 * elflink.c (elf_gc_mark_debug_section): Also check the local
968 debug definition section.
969
3e33b239
NC
9702018-03-13 Nick Clifton <nickc@redhat.com>
971
972 PR 22113
973 * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
974 function. Add an end address parameter. Check access of the data
975 pointer to make sure that they do not extend beyond the end
976 address. Return FALSE if any check fails. Add the end address
977 pointer to the ui structure.
978 (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
979 codes to make sure that they do not extend beyond the end address
980 pointer. Print an error message and return immediately if any
981 check fails.
982
f657f8c4
NC
9832018-03-09 Nick Clifton <nickc@redhat.com>
984
985 * elf64-s390.c (elf_s390_relocate_section): Move check for
986 relocations against non-allocated sections to before the code that
987 handles ifunc relocations.
988 * elf32-s390.c (elf_s390_relocate_section): Likewise.
989 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
990 relocs against IFUNC symbols in non-allocated sections as relocs
991 against FUNC symbols.
992 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
993
347a8774
L
9942018-03-08 H.J. Lu <hongjiu.lu@intel.com>
995
996 PR ld/22929
997 * elf32-i386.c (elf_i386_relocate_section): Treat relocation
998 against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
999 relocation against FUNC symbol.
1000 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1001
0c1ded8d
RL
10022018-03-07 Renlin Li <renlin.li@arm.com>
1003
1004 PR ld/20402
1005 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
1006 symbol, and don't emit relocation in specific case.
1007
0118219e
AM
10082018-03-07 Alan Modra <amodra@gmail.com>
1009
1010 * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
1011 (mips_elf64_slurp_one_reloc_table): Pass on error.
1012
dfb93f11
JC
10132018-03-03 James Cowgill <james.cowgill@mips.com>
1014 Maciej W. Rozycki <macro@mips.com>
1015
1016 PR ld/21900
1017 * elfxx-mips.c (mips_elf_calculate_relocation): Only return
1018 after calling `undefined_symbol' hook if this is an error
1019 condition. Assume the value of 0 for the symbol requested
1020 otherwise.
1021
9a2ebffd
JW
10222018-03-02 Jim Wilson <jimw@sifive.com>
1023
1024 PR 22903
1025 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
1026 and nop instead of 4.
1027 (elfNN_arch64_build_stubs): Add nop after branch. Increase size by
1028 8 instead of 4.
1029
788af978
JW
10302018-03-01 Jim Wilson <jimw@sifive.com>
1031
1032 PR 22756
1033 * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
1034 else if instead of if.
1035
5224fa03
AM
10362018-03-01 Alan Modra <amodra@gmail.com>
1037
1038 * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
1039
116acb2c
AM
10402018-02-28 Alan Modra <amodra@gmail.com>
1041
1042 PR 22887
1043 * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
1044
eef10466
NC
10452018-02-28 Nick Clifton <nickc@redhat.com>
1046
12c96342
NC
1047 PR 22895
1048 PR 22893
1049 * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
1050 pointer. Drop unused abfd parameter. Check the size of the block
1051 before initialising the data field. Return the end pointer if the
1052 size is invalid.
1053 (read_attribute_value): Adjust invocations of read_n_bytes.
1054
eef10466
NC
1055 PR 22894
1056 * dwarf1.c (parse_die): Check the length of form blocks before
1057 advancing the data pointer.
1058
0d329c0a
AM
10592018-02-28 Alan Modra <amodra@gmail.com>
1060
1061 PR 22887
1062 * aoutx.h (translate_symbol_table): Print an error message and set
1063 bfd_error on finding an invalid name string offset.
1064
f6aec96d
L
10652018-02-27 H.J. Lu <hongjiu.lu@intel.com>
1066
1067 * config.in: Regenerated.
1068 * configure: Likewise.
1069 * configure.ac: Add --enable-separate-code.
1070 (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default
1071 to 1 for Linux/x86 targets,
1072 * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
1073 DEFAULT_LD_Z_SEPARATE_CODE is 1.
1074
f3185997
NC
10752018-02-27 Nick Clifton <nickc@redhat.com>
1076
e8f5af78
NC
1077 * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
1078 message.
1079 * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
1080 * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
1081 * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
1082 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
1083 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
1084 * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
1085 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
1086 * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
1087 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1088
f3185997
NC
1089 PR 22875
1090 * elf-bfd.h (struct elf_backend_data): Change the return type of
1091 the elf_info_to_howto and elf_info_to_howto_rel function pointers
1092 to bfd_boolean.
1093 * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
1094 value from the info_to_howto function and fail if that function
1095 failed.
1096 * elf32-h8300.c (elf32_h8_relocate_section): Check return value
1097 from the info_to_howto function.
1098 (elf32_h8_relax_section): Likewise.
1099 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1100 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1101 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1102 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1103 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1104 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
1105 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
1106 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
1107 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1108 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
1109 (riscv_elf_relocate_section): Likewise.
1110 * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
1111 bfd_boolean. Issue an error message, set an error value and
1112 return FALSE if the reloc is not recognized.
1113 (elf_hppa_info_to_howto_rel): Likewise.
1114 * elf-m10200.c (mn10200_info_to_howto): Likewise.
1115 * elf-m10300.c (mn10300_info_to_howto): Likewise.
1116 * elf.c (_bfd_elf_no_info_to_howto): Likewise.
1117 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1118 * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
1119 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1120 * elf32-bfin.c (bfin_info_to_howto): Likewise.
1121 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1122 * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
1123 * elf32-cris.c (elf_cr16c_info_to_howto_rel)
1124 (cris_info_to_howto_rela): Likewise.
1125 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1126 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1127 * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
1128 Likewise.
1129 * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
1130 (elf32_dlx_info_to_howto_rel): Likewise.
1131 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1132 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1133 * elf32-frv.c (frv_info_to_howto_rela)
1134 (frvfdpic_info_to_howto_rel): Likewise.
1135 * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
1136 * elf32-gen.c (elf_generic_info_to_howto)
1137 (elf_generic_info_to_howto_rel): Likewise.
1138 * elf32-h8300.c (elf32_h8_info_to_howto)
1139 (elf32_h8_info_to_howto_rel): Likewise.
1140 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1141 * elf32-i386.c (elf_i386_reloc_type_lookup)
1142 (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
1143 * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
1144 Likewise.
1145 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1146 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1147 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1148 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1149 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1150 * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
1151 Likewise.
1152 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1153 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1154 * elf32-m68k.c (rtype_to_howto): Likewise.
1155 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1156 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1157 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1158 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1159 * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
1160 Likewise.
1161 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1162 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1163 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1164 * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
1165 Likewise.
1166 * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
1167 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1168 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1169 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1170 * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
1171 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1172 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1173 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
1174 * elf32-score.c (s3_bfd_score_info_to_howto)
1175 (_bfd_score_info_to_howto): Likewise.
1176 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
1177 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1178 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1179 * elf32-tic6x.c (elf32_tic6x_info_to_howto)
1180 (elf32_tic6x_info_to_howto_rel): Likewise.
1181 * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
1182 * elf32-v850.c (v850_elf_info_to_howto_rel)
1183 (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
1184 * elf32-vax.c (rtype_to_howto): Likewise.
1185 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1186 * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
1187 (elf32_wasm32_info_to_howto_rela): Likewise.
1188 * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
1189 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1190 * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
1191 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1192 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1193 * elf64-gen.c (elf_generic_info_to_howto)
1194 (elf_generic_info_to_howto_rel): Likewise.
1195 * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
1196 * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
1197 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1198 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
1199 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
1200 * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
1201 Likewise.
1202 * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
1203 * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
1204 Likewise.
1205 * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
1206 * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
1207 * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
1208 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
1209 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
1210 * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
1211 * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
1212 * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
1213 * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
1214 * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
1215 Default to NULL.
1216
1f4bace8
JW
12172018-02-26 Jim Wilson <jimw@sifive.com>
1218 Stephan Schreiber <info@fs-driver.org>
1219
1220 PR 15904
1221 * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
1222 call, set changed_contents and changed_relocs. Likewise after
1223 successful ia64_elf_relax_br call.
1224
6838f2be
AM
12252018-02-26 Alan Modra <amodra@gmail.com>
1226
1227 * elf.c (assign_file_positions_except_relocs): Don't segfault
1228 when actual number of phdrs is less than allocated. Delete
1229 outdated comment. Formatting.
1230
38f14ab8
AM
12312018-02-26 Alan Modra <amodra@gmail.com>
1232
1233 * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
1234 * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
1235 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
1236 * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
1237 * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
1238 * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
1239 * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
1240 * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
1241 * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
1242 * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
1243 error/warning messages.
1244
6e05870c
AM
12452018-02-26 Alan Modra <amodra@gmail.com>
1246
1247 * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
1248 * syms.c: Standardize error/warning messages.
1249
59d08d6c
AM
12502018-02-26 Alan Modra <amodra@gmail.com>
1251
1252 * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
1253 * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
1254 * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
1255 * peXXigen.c, * peicode.h: Standardize error/warning messages.
1256
90b6238f
AM
12572018-02-26 Alan Modra <amodra@gmail.com>
1258
1259 * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
1260
2c1c9679
AM
12612018-02-26 Alan Modra <amodra@gmail.com>
1262
1263 * elfxx-mips.c: Standardize error/warning messages.
1264
9793eb77
AM
12652018-02-26 Alan Modra <amodra@gmail.com>
1266
1267 * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
1268 * elflink.c: Standardize error/warning messages. Replace use of
1269 linker callback einfo with _bfd_error_handler when possible.
1270
0aa13fee
AM
12712018-02-26 Alan Modra <amodra@gmail.com>
1272
1273 * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
1274 * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
1275 * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
1276 * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
1277 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
1278 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
1279 * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
1280 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
1281 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
1282 * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
1283 * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
1284 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
1285 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
1286 * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
1287 * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
1288 * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
1289 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
1290 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
1291 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
1292 * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
1293 * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
1294 unrecognized/unsupported reloc message.
1295
cf97bcb0
AM
12962018-02-26 Alan Modra <amodra@gmail.com>
1297
1298 * elf32-ppc.c: Standardize error/warning messages. Use
1299 _bfd_error_handler rather than einfo when einfo features not used.
1300 * elf64-ppc.c: Likewise.
1301
01f7e10c
AM
13022018-02-23 Alan Modra <amodra@gmail.com>
1303
1304 PR 22881
1305 * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
1306 segment if no matching LOAD segment.
1307
e859f655
KLC
13082018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1309
1310 * elf32-nds32.h: Define mask for ict_model.
1311
6e8d06db
JD
13122018-02-20 Jason Duerstock <jason.duerstock@gmail.com>
1313
1314 * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
1315
b248d650
MR
13162018-02-19 Maciej W. Rozycki <macro@mips.com>
1317
1318 Revert
1319 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
1320
1321 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
1322 .reginfo section has wrong size.
1323
6798f8bf
MR
13242018-02-19 Maciej W. Rozycki <macro@mips.com>
1325
1326 * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
1327 SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
1328 `.MIPS.abiflags' sections.
1329 (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
1330 section's end.
1331
8772de11
MR
13322018-02-19 Maciej W. Rozycki <macro@mips.com>
1333
1334 * section.c (SEC_FIXED_SIZE): New macro.
1335 * bfd-in2.h: Regenerate.
1336
4f7fd351
MR
13372018-02-19 Maciej W. Rozycki <macro@mips.com>
1338
1339 * section.c (SEC_HAS_GOT_REF): Remove macro.
1340 * bfd-in2.h: Regenerate.
1341
f2b740ac
AM
13422018-02-19 Alan Modra <amodra@gmail.com>
1343
1344 * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
1345 arguments.
1346 * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
1347 * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
1348 (_bfd_riscv_relax_pc): Likewise and fix typos.
1349 * libbfd-in.h (_bfd_error_handler): Add attribute printf.
1350 * libbfd.h: Regenerate.
1351
8979927a
AM
13522018-02-19 Alan Modra <amodra@gmail.com>
1353
1354 * dwarf2.c (read_section): Don't use 'll' format modifier.
1355 (find_abstract_instance): Likewise.
1356 * elfcore.h (elf_core_file_p): Likewise.
1357
2dcf00ce
AM
13582018-02-19 Alan Modra <amodra@gmail.com>
1359
1360 * bfd-in.h: Include inttypes.h or if not available define
1361 PRId64, PRIu64 and PRIx64.
1362 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
1363 modifier to print bfd_vma.
1364 * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
1365 * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
1366 * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
1367 * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
1368 * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
1369 * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
1370 * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
1371 * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
1372 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
1373 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
1374 * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
1375 * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
1376 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
1377 * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
1378 * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
1379 and cast input to uint64_t, and similarly for Ld and Lu.
1380 * bfd-in2.h: Regenerate.
1381
c1c8c1ef
AM
13822018-02-19 Alan Modra <amodra@gmail.com>
1383
1384 * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
1385 * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
1386 * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
1387 * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
1388 * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
1389 * reloc.c: Replace use of %R and %T in format strings passed to
1390 einfo and friends by %pR and %pT.
1391
871b3ab2
AM
13922018-02-19 Alan Modra <amodra@gmail.com>
1393
1394 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
1395 of %A and %B.
1396 * aout-adobe.c: Update all messages using %A and %B.
1397 * aout-cris.c: Likewise.
1398 * aoutx.h: Likewise.
1399 * archive.c: Likewise.
1400 * binary.c: Likewise.
1401 * cache.c: Likewise.
1402 * coff-alpha.c: Likewise.
1403 * coff-arm.c: Likewise.
1404 * coff-i860.c: Likewise.
1405 * coff-mcore.c: Likewise.
1406 * coff-ppc.c: Likewise.
1407 * coff-rs6000.c: Likewise.
1408 * coff-sh.c: Likewise.
1409 * coff-tic4x.c: Likewise.
1410 * coff-tic54x.c: Likewise.
1411 * coff-tic80.c: Likewise.
1412 * coff64-rs6000.c: Likewise.
1413 * coffcode.h: Likewise.
1414 * coffgen.c: Likewise.
1415 * cofflink.c: Likewise.
1416 * coffswap.h: Likewise.
1417 * compress.c: Likewise.
1418 * cpu-arm.c: Likewise.
1419 * ecoff.c: Likewise.
1420 * elf-attrs.c: Likewise.
1421 * elf-eh-frame.c: Likewise.
1422 * elf-ifunc.c: Likewise.
1423 * elf-m10300.c: Likewise.
1424 * elf-properties.c: Likewise.
1425 * elf-s390-common.c: Likewise.
1426 * elf.c: Likewise.
1427 * elf32-arc.c: Likewise.
1428 * elf32-arm.c: Likewise.
1429 * elf32-avr.c: Likewise.
1430 * elf32-bfin.c: Likewise.
1431 * elf32-cr16.c: Likewise.
1432 * elf32-cr16c.c: Likewise.
1433 * elf32-cris.c: Likewise.
1434 * elf32-crx.c: Likewise.
1435 * elf32-d10v.c: Likewise.
1436 * elf32-d30v.c: Likewise.
1437 * elf32-epiphany.c: Likewise.
1438 * elf32-fr30.c: Likewise.
1439 * elf32-frv.c: Likewise.
1440 * elf32-gen.c: Likewise.
1441 * elf32-hppa.c: Likewise.
1442 * elf32-i370.c: Likewise.
1443 * elf32-i386.c: Likewise.
1444 * elf32-i960.c: Likewise.
1445 * elf32-ip2k.c: Likewise.
1446 * elf32-iq2000.c: Likewise.
1447 * elf32-lm32.c: Likewise.
1448 * elf32-m32c.c: Likewise.
1449 * elf32-m32r.c: Likewise.
1450 * elf32-m68hc11.c: Likewise.
1451 * elf32-m68hc12.c: Likewise.
1452 * elf32-m68hc1x.c: Likewise.
1453 * elf32-m68k.c: Likewise.
1454 * elf32-mcore.c: Likewise.
1455 * elf32-mep.c: Likewise.
1456 * elf32-metag.c: Likewise.
1457 * elf32-microblaze.c: Likewise.
1458 * elf32-moxie.c: Likewise.
1459 * elf32-msp430.c: Likewise.
1460 * elf32-mt.c: Likewise.
1461 * elf32-nds32.c: Likewise.
1462 * elf32-nios2.c: Likewise.
1463 * elf32-or1k.c: Likewise.
1464 * elf32-pj.c: Likewise.
1465 * elf32-ppc.c: Likewise.
1466 * elf32-rl78.c: Likewise.
1467 * elf32-rx.c: Likewise.
1468 * elf32-s390.c: Likewise.
1469 * elf32-score.c: Likewise.
1470 * elf32-score7.c: Likewise.
1471 * elf32-sh-symbian.c: Likewise.
1472 * elf32-sh.c: Likewise.
1473 * elf32-sh64.c: Likewise.
1474 * elf32-sparc.c: Likewise.
1475 * elf32-spu.c: Likewise.
1476 * elf32-tic6x.c: Likewise.
1477 * elf32-tilepro.c: Likewise.
1478 * elf32-v850.c: Likewise.
1479 * elf32-vax.c: Likewise.
1480 * elf32-visium.c: Likewise.
1481 * elf32-wasm32.c: Likewise.
1482 * elf32-xgate.c: Likewise.
1483 * elf32-xtensa.c: Likewise.
1484 * elf64-alpha.c: Likewise.
1485 * elf64-gen.c: Likewise.
1486 * elf64-hppa.c: Likewise.
1487 * elf64-ia64-vms.c: Likewise.
1488 * elf64-mmix.c: Likewise.
1489 * elf64-ppc.c: Likewise.
1490 * elf64-s390.c: Likewise.
1491 * elf64-sh64.c: Likewise.
1492 * elf64-sparc.c: Likewise.
1493 * elf64-x86-64.c: Likewise.
1494 * elfcode.h: Likewise.
1495 * elfcore.h: Likewise.
1496 * elflink.c: Likewise.
1497 * elfnn-aarch64.c: Likewise.
1498 * elfnn-ia64.c: Likewise.
1499 * elfnn-riscv.c: Likewise.
1500 * elfxx-mips.c: Likewise.
1501 * elfxx-sparc.c: Likewise.
1502 * elfxx-tilegx.c: Likewise.
1503 * elfxx-x86.c: Likewise.
1504 * hpux-core.c: Likewise.
1505 * ieee.c: Likewise.
1506 * ihex.c: Likewise.
1507 * libbfd.c: Likewise.
1508 * linker.c: Likewise.
1509 * mach-o.c: Likewise.
1510 * merge.c: Likewise.
1511 * mmo.c: Likewise.
1512 * oasys.c: Likewise.
1513 * pdp11.c: Likewise.
1514 * pe-mips.c: Likewise.
1515 * peXXigen.c: Likewise.
1516 * peicode.h: Likewise.
1517 * reloc.c: Likewise.
1518 * rs6000-core.c: Likewise.
1519 * srec.c: Likewise.
1520 * stabs.c: Likewise.
1521 * vms-alpha.c: Likewise.
1522 * xcofflink.c: Likewise.
1523
dbc88fc1
AM
15242018-02-19 Alan Modra <amodra@gmail.com>
1525
1526 PR 22845
1527 * elf.c (IS_TBSS): Define.
1528 (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
1529 (assign_file_positions_for_non_load_sections): Revert last change.
1530 Properly calculate load segment limits to compare against relro limits.
1531
325ba6fb
AM
15322018-02-17 Alan Modra <amodra@gmail.com>
1533
1534 PR 22845
1535 * elf.c (assign_file_positions_for_non_load_sections): Ignore
1536 degenerate zero size PT_LOAD segments when finding one overlapping
1537 the PT_GNU_RELRO segment.
1538
d00dd7dc
AM
15392018-02-16 Alan Modra <amodra@gmail.com>
1540
1541 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
1542 (_bfd_bool_bfd_true): Rename from bfd_true.
1543 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
1544 (_bfd_int_bfd_0): Rename from bfd_0.
1545 (_bfd_uint_bfd_0): Rename from bfd_0u.
1546 (_bfd_long_bfd_0): Rename from bfd_0l.
1547 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
1548 (_bfd_void_bfd): Rename from bfd_void.
1549 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
1550 (_bfd_bool_bfd_link_false_error),
1551 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
1552 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
1553 (_bfd_bool_bfd_asection_bfd_asection_true),
1554 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
1555 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
1556 * archive.c (_bfd_noarchive_get_elt_at_index),
1557 (_bfd_noarchive_openr_next_archived_file),
1558 (_bfd_noarchive_construct_extended_name_table),
1559 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
1560 (_bfd_noarchive_write_armap): New functions.
1561 * archures.c (_bfd_nowrite_set_arch_mach): New function.
1562 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
1563 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
1564 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
1565 (alpha_ecoff_swap_coff_lineno_out),
1566 (alpha_ecoff_swap_coff_reloc_out): New functions.
1567 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
1568 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
1569 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
1570 (mips_ecoff_swap_coff_lineno_out),
1571 (mips_ecoff_swap_coff_reloc_out): New functions.
1572 * coffcode.h (coff_set_alignment_hook): Replace define with
1573 new function.
1574 (symname_in_debug_hook): Likewise.
1575 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
1576 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
1577 * elf.c (assign_file_positions_except_relocs): Test
1578 elf_backend_allow_non_load_phdr for NULL.
1579 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
1580 _bfd_elf_link_omit_section_dynsym. Update uses.
1581 (_bfd_elf_omit_section_dynsym_all): New function.
1582 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
1583 (_bfd_elf_omit_section_dynsym_default): Declare.
1584 (_bfd_elf_omit_section_dynsym_all): Declare.
1585 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
1586 (_bfd_nolink_bfd_get_relocated_section_contents),
1587 (_bfd_nolink_bfd_lookup_section_flags),
1588 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
1589 (_bfd_nolink_bfd_link_hash_table_create),
1590 (_bfd_nolink_bfd_link_just_syms),
1591 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
1592 (_bfd_nolink_bfd_link_split_section),
1593 (_bfd_nolink_section_already_linked),
1594 (_bfd_nolink_bfd_define_common_symbol),
1595 (_bfd_nolink_bfd_define_start_stop): New functions.
1596 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
1597 (_bfd_norelocs_bfd_reloc_name_lookup),
1598 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
1599 * section.c (_bfd_nowrite_set_section_contents): New function.
1600 * syms.c (_bfd_nosymbols_canonicalize_symtab),
1601 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
1602 (_bfd_nosymbols_get_symbol_version_string),
1603 (_bfd_nosymbols_bfd_is_local_label_name),
1604 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
1605 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
1606 (_bfd_nosymbols_bfd_make_debug_symbol),
1607 ( _bfd_nosymbols_read_minisymbols),
1608 ( _bfd_nosymbols_minisymbol_to_symbol),
1609 (_bfd_nodynamic_get_synthetic_symtab): New functions.
1610 * libbfd-in.h: Declare new functions. Update existing defines,
1611 removing casts.
1612 * aix386-core.c: Update to use new hooks. Formatting.
1613 * aout-adobe.c: Likewise.
1614 * aout-arm.c: Likewise.
1615 * aout-target.h: Likewise.
1616 * aout-tic30.c: Likewise.
1617 * aoutf1.h: Likewise.
1618 * binary.c: Likewise.
1619 * bout.c: Likewise.
1620 * cisco-core.c: Likewise.
1621 * coff-alpha.c: Likewise.
1622 * coff-i386.c: Likewise.
1623 * coff-i860.c: Likewise.
1624 * coff-i960.c: Likewise.
1625 * coff-ia64.c: Likewise.
1626 * coff-mips.c: Likewise.
1627 * coff-ppc.c: Likewise.
1628 * coff-rs6000.c: Likewise.
1629 * coff-sh.c: Likewise.
1630 * coff-tic30.c: Likewise.
1631 * coff-tic54x.c: Likewise.
1632 * coff-x86_64.c: Likewise.
1633 * coff64-rs6000.c: Likewise.
1634 * coffcode.h: Likewise.
1635 * elf-m10300.c: Likewise.
1636 * elf32-cr16.c: Likewise.
1637 * elf32-lm32.c: Likewise.
1638 * elf32-m32r.c: Likewise.
1639 * elf32-metag.c: Likewise.
1640 * elf32-score.c: Likewise.
1641 * elf32-score7.c: Likewise.
1642 * elf32-tilepro.c: Likewise.
1643 * elf32-xstormy16.c: Likewise.
1644 * elf32-xtensa.c: Likewise.
1645 * elf64-alpha.c: Likewise.
1646 * elf64-hppa.c: Likewise.
1647 * elf64-ia64-vms.c: Likewise.
1648 * elf64-mmix.c: Likewise.
1649 * elf64-sh64.c: Likewise.
1650 * elfnn-ia64.c: Likewise.
1651 * elfxx-sparc.c: Likewise.
1652 * elfxx-target.h: Likewise.
1653 * elfxx-tilegx.c: Likewise.
1654 * elfxx-x86.h: Likewise.
1655 * hp300hpux.c: Likewise.
1656 * hppabsd-core.c: Likewise.
1657 * hpux-core.c: Likewise.
1658 * i386msdos.c: Likewise.
1659 * i386os9k.c: Likewise.
1660 * ieee.c: Likewise.
1661 * ihex.c: Likewise.
1662 * irix-core.c: Likewise.
1663 * libaout.h: Likewise.
1664 * libecoff.h: Likewise.
1665 * mach-o-target.c: Likewise.
1666 * mach-o.c: Likewise.
1667 * mipsbsd.c: Likewise.
1668 * mmo.c: Likewise.
1669 * netbsd-core.c: Likewise.
1670 * nlm-target.h: Likewise.
1671 * oasys.c: Likewise.
1672 * osf-core.c: Likewise.
1673 * pdp11.c: Likewise.
1674 * pe-mips.c: Likewise.
1675 * pe-x86_64.c: Likewise.
1676 * pef.c: Likewise.
1677 * plugin.c: Likewise.
1678 * ppcboot.c: Likewise.
1679 * ptrace-core.c: Likewise.
1680 * sco5-core.c: Likewise.
1681 * som.c: Likewise.
1682 * sparclynx.c: Likewise.
1683 * srec.c: Likewise.
1684 * tekhex.c: Likewise.
1685 * trad-core.c: Likewise.
1686 * verilog.c: Likewise.
1687 * versados.c: Likewise.
1688 * vms-alpha.c: Likewise.
1689 * vms-lib.c: Likewise.
1690 * wasm-module.c: Likewise.
1691 * xsym.c: Likewise.
1692 * libbfd.h: Regenerate.
1693
2a0d9853
JW
16942018-02-15 Jim Wilson <jimw@sifive.com>
1695
09ca4b9d
JW
1696 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
1697 symbols whose section address is zero.
1698
2a0d9853
JW
1699 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
1700 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
1701 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
1702 Add %X%P to error messages.
1703
e513bd38
EB
17042018-02-15 Eric Botcazou <ebotcazou@adacore.com>
1705
1706 PR ld/22832
1707 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
1708 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
1709 and assert that the result of the call is not NULL.
1710
12ef3f5a
NC
17112018-02-14 Nick Clifton <nickc@redhat.com>
1712
1713 PR 22823
1714 Revert previous delta. Add extra casts to avoid compile time
1715 warnings instead.
1716 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
1717 cast to avoid warning from gcc v8 compiler.
1718 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1719 (_bfd_generic_bfd_set_private_flags): Likewise.
1720 (_bfd_generic_bfd_copy_private_section_data): Likewise.
1721 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
1722 (_bfd_generic_bfd_copy_private_header_data): Likewise.
1723 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
1724 (_bfd_noarchive_construct_extended_name_table): Likewise.
1725 (_bfd_noarchive_truncate_arname): Likewise.
1726 (_bfd_noarchive_write_ar_hdr): Likewise.
1727 (_bfd_noarchive_get_elt_at_index): Likewise.
1728 (_bfd_nosymbols_canonicalize_symtab): Likewise.
1729 (_bfd_nosymbols_print_symbol): Likewise.
1730 (_bfd_nosymbols_get_symbol_info): Likewise.
1731 (_bfd_nosymbols_get_symbol_version_string): Likewise.
1732 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
1733 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
1734 (_bfd_nosymbols_get_lineno): Likewise.
1735 (_bfd_nosymbols_find_nearest_line): Likewise.
1736 (_bfd_nosymbols_find_line): Likewise.
1737 (_bfd_nosymbols_find_inliner_info): Likewise.
1738 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
1739 (_bfd_nosymbols_read_minisymbols): Likewise.
1740 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
1741 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
1742 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
1743 (_bfd_nowrite_set_arch_mach): Likewise.
1744 (_bfd_nowrite_set_section_contents): Likewise.
1745 (_bfd_nolink_sizeof_headers): Likewise.
1746 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
1747 (_bfd_nolink_bfd_relax_section): Likewise.
1748 (_bfd_nolink_bfd_gc_sections): Likewise.
1749 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
1750 (_bfd_nolink_bfd_merge_sections): Likewise.
1751 (_bfd_nolink_bfd_is_group_section): Likewise.
1752 (_bfd_nolink_bfd_discard_group): Likewise.
1753 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
1754 (_bfd_nolink_bfd_link_add_symbols): Likewise.
1755 (_bfd_nolink_bfd_link_just_syms): Likewise.
1756 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
1757 (_bfd_nolink_bfd_final_link): Likewise.
1758 (_bfd_nolink_bfd_link_split_section): Likewise.
1759 (_bfd_nolink_section_already_linked): Likewise.
1760 (_bfd_nolink_bfd_define_common_symbol): Likewise.
1761 (_bfd_nolink_bfd_define_start_stop): Likewise.
1762 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
1763 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
1764 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
1765 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
1766 * libbfd.c (bfd_false_any): Delete.
1767 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
1768 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
1769 * libbfd.h (extern): Regenerate
1770 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
1771 cast to avoid warning from gcc v8 compiler.
1772 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
1773 * binary.c (binary_get_symbol_info): Likewise.
1774 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1775 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1776 * coffcode.h (coff_set_alignment_hook): Likewise.
1777 (symname_in_debug_hook): Likewise.
1778 (bfd_coff_backend_data bigobj_swap_table): Likewise.
1779 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
1780 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
1781 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
1782 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
1783 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
1784 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
1785 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
1786 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
1787 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
1788 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
1789 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
1790 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
1791 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
1792 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
1793 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
1794 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
1795 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
1796 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1797 (bfd_elfNN_bfd_set_private_flags): Likewise.
1798 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
1799 (elf_backend_init_index_section): Likewise.
1800 (elf_backend_allow_non_load_phdr): Likewise.
1801 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
1802 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
1803 * ieee.c (ieee_construct_extended_name_table): Likewise.
1804 (ieee_write_armap): Likewise.
1805 (ieee_write_ar_hdr): Likewise.
1806 (ieee_bfd_is_target_special_symbol): Likewise.
1807 * ihex.c (ihex_canonicalize_symtab): Likewise.
1808 (ihex_bfd_is_target_special_symbol): Likewise.
1809 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
1810 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
1811 (_bfd_ecoff_set_alignment_hook): Likewise.
1812 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
1813 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
1814 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
1815 * oasys.c (oasys_construct_extended_name_table): Likewise.
1816 (oasys_write_armap): Likewise.
1817 (oasys_write_ar_hdr): Likewise.
1818 (oasys_bfd_is_target_special_symbol): Likewise.
1819 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
1820 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
1821 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
1822 * som.c (som_bfd_is_target_special_symbol): Likewise.
1823 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
1824 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
1825 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
1826 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
1827 (versados_bfd_reloc_name_lookup): Likewise.
1828 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
1829 (vms_bfd_define_start_stop): Likewise.
1830 (alpha_vms_bfd_is_target_special_symbol): Likewise.
1831 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
1832 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
1833
451875b4
L
18342018-02-14 H.J. Lu <hongjiu.lu@intel.com>
1835
1836 PR ld/22842
1837 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
1838 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
1839 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
1840 R_X86_64_PC32 reloc against dynamic function in data section.
1841 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
1842 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
1843 against dynamic function in data section.
1844 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
1845 function address only if pcrel_plt is true.
1846 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
1847 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
1848 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
1849 PC-relative relocation against a function definition in data
1850 secton in PIE. Remove the obsolete comments.
1851 (elf_x86_link_hash_table): Add pcrel_plt.
1852
1031c264
L
18532018-02-13 H.J. Lu <hongjiu.lu@intel.com>
1854
1855 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
1856 instead of bfd_link_pic, for building shared library.
1857
bd7ab16b
L
18582018-02-13 H.J. Lu <hongjiu.lu@intel.com>
1859
1860 PR gas/22791
1861 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
1862 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
1863 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
1864 against protected function in shared object.
1865
80c96350
ST
18662018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
1867
1868 PR 22828
1869 * po/ru.po: Fix typo in Russian translation.
1870
87993319
MR
18712018-02-13 Maciej W. Rozycki <macro@mips.com>
1872
1873 * wasm-module.c (wasm_scan_name_function_section): Rename
1874 `index' local variable to `idx'.
1875
68d20676
NC
18762018-02-13 Nick Clifton <nickc@redhat.com>
1877
1878 PR 22823
1879 Fix compile time warnings generated by gcc version 8.
1880 * libbfd-in.h: Remove extraneous text from prototypes.
1881 Add prototypes for bfd_false_any, bfd_true_any,
1882 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
1883 bfd_n1_any, bfd_void_any.
1884 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
1885 function.
1886 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1887 (_bfd_generic_bfd_set_private_flags): Likewise.
1888 (_bfd_generic_bfd_copy_private_section_data): Likewise.
1889 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
1890 (_bfd_generic_bfd_copy_private_header_data): Likewise.
1891 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
1892 (_bfd_noarchive_construct_extended_name_table): Likewise.
1893 (_bfd_noarchive_truncate_arname): Likewise.
1894 (_bfd_noarchive_write_ar_hdr): Likewise.
1895 (_bfd_noarchive_get_elt_at_index): Likewise.
1896 (_bfd_nosymbols_canonicalize_symtab): Likewise.
1897 (_bfd_nosymbols_print_symbol): Likewise.
1898 (_bfd_nosymbols_get_symbol_info): Likewise.
1899 (_bfd_nosymbols_get_symbol_version_string): Likewise.
1900 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
1901 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
1902 (_bfd_nosymbols_get_lineno): Likewise.
1903 (_bfd_nosymbols_find_nearest_line): Likewise.
1904 (_bfd_nosymbols_find_line): Likewise.
1905 (_bfd_nosymbols_find_inliner_info): Likewise.
1906 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
1907 (_bfd_nosymbols_read_minisymbols): Likewise.
1908 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
1909 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
1910 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
1911 (_bfd_nowrite_set_arch_mach): Likewise.
1912 (_bfd_nowrite_set_section_contents): Likewise.
1913 (_bfd_nolink_sizeof_headers): Likewise.
1914 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
1915 (_bfd_nolink_bfd_relax_section): Likewise.
1916 (_bfd_nolink_bfd_gc_sections): Likewise.
1917 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
1918 (_bfd_nolink_bfd_merge_sections): Likewise.
1919 (_bfd_nolink_bfd_is_group_section): Likewise.
1920 (_bfd_nolink_bfd_discard_group): Likewise.
1921 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
1922 (_bfd_nolink_bfd_link_add_symbols): Likewise.
1923 (_bfd_nolink_bfd_link_just_syms): Likewise.
1924 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
1925 (_bfd_nolink_bfd_final_link): Likewise.
1926 (_bfd_nolink_bfd_link_split_section): Likewise.
1927 (_bfd_nolink_section_already_linked): Likewise.
1928 (_bfd_nolink_bfd_define_common_symbol): Likewise.
1929 (_bfd_nolink_bfd_define_start_stop): Likewise.
1930 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
1931 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
1932 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
1933 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
1934 * libbfd.c (bfd_false_any): New function. Like bfd_false but
1935 accepts one or more arguments.
1936 (bfd_true_any): Likewise.
1937 (bfd_nullvoidptr_any): Likewise.
1938 (bfd_0_any): Likewise.
1939 (bfd_0u_any): Likewise.
1940 (bfd_0l_any): Likewise.
1941 (_bfd_n1_any): Likewise.
1942 (bfd_void_any): Likewise.
1943 * libbfd.h (extern): Regenerate
1944 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
1945 based dummy function.
1946 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
1947 * binary.c (binary_get_symbol_info): Likewise.
1948 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
1949 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1950 * coffcode.h (coff_set_alignment_hook): Likewise.
1951 (symname_in_debug_hook): Likewise.
1952 (bfd_coff_backend_data bigobj_swap_table): Likewise.
1953 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
1954 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
1955 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
1956 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
1957 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
1958 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
1959 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
1960 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
1961 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
1962 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
1963 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
1964 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
1965 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
1966 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
1967 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
1968 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
1969 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
1970 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1971 (bfd_elfNN_bfd_set_private_flags): Likewise.
1972 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
1973 (elf_backend_init_index_section): Likewise.
1974 (elf_backend_allow_non_load_phdr): Likewise.
1975 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
1976 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
1977 * ieee.c (ieee_construct_extended_name_table): Likewise.
1978 (ieee_write_armap): Likewise.
1979 (ieee_write_ar_hdr): Likewise.
1980 (ieee_bfd_is_target_special_symbol): Likewise.
1981 * ihex.c (ihex_canonicalize_symtab): Likewise.
1982 (ihex_bfd_is_target_special_symbol): Likewise.
1983 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
1984 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
1985 (_bfd_ecoff_set_alignment_hook): Likewise.
1986 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
1987 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
1988 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
1989 * oasys.c (oasys_construct_extended_name_table): Likewise.
1990 (oasys_write_armap): Likewise.
1991 (oasys_write_ar_hdr): Likewise.
1992 (oasys_bfd_is_target_special_symbol): Likewise.
1993 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
1994 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
1995 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
1996 * som.c (som_bfd_is_target_special_symbol): Likewise.
1997 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
1998 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
1999 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
2000 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
2001 (versados_bfd_reloc_name_lookup): Likewise.
2002 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
2003 (vms_bfd_define_start_stop): Likewise.
2004 (alpha_vms_bfd_is_target_special_symbol): Likewise.
2005 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
2006 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
2007 * elf32-arc.c (get_replace_function): Assign replacement function
2008 to func pointer.
2009 * elf32-i370.c (i370_noop): Update prototype.
2010
6e5e9d58
AM
20112018-02-13 Alan Modra <amodra@gmail.com>
2012
2013 PR 22836
2014 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
2015 relocation sections. If size reduces to just the flag word,
2016 remove that too and mark with SEC_EXCLUDE.
2017 * elflink.c (bfd_elf_final_link): Strip empty group sections.
2018
f2731e0c
AM
20192018-02-13 Alan Modra <amodra@gmail.com>
2020
2021 PR 22829
2022 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
2023 PT_GNU_RELRO setup.
2024
830db048
ZF
20252018-02-12 Zebediah Figura <z.figura12@gmail.com>
2026
2027 * i386msdos.c (msdos_mkobject); New function.
2028 (msdos_object_p): New function.
2029 (i386_msdos_vec): Use msdos_object_p as the check_format
2030 function.
2031 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
2032 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
2033 IMAGE_NT_SIGNATURE.
2034 * peXXigen.c: Likewise.
2035 * coff-ia64.c: Likewise.
2036
94fe5757
NC
20372018-02-12 Nick Clifton <nickc@redhat.com>
2038
2039 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
2040 assignment.
0b8683b7 2041 * elf32-arc.c (elf_arc_relocate_section): Likewise.
94fe5757 2042
d805612e 20432018-02-09 Eric Botcazou <ebotcazou@adacore.com>
a8735c82
EB
2044
2045 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
2046 (sparc_elf_append_rela): Assert that there is enough room in section.
2047 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
2048 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
2049 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
2050 For a symbol subject to a GOT relocation, reserve a slot in the
2051 relocation section if the symbol isn't dynamic and we are in PIC mode.
2052 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
2053 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
2054 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
2055 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
2056 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
2057 resolved_to_zero. Do not generate a dynamic GOT relocation for an
2058 undefined weak symbol with non-default visibility. Remove superfluous
2059 'else' and fix formatting.
2060
3b4c3844
L
20612018-02-09 H.J. Lu <hongjiu.lu@intel.com>
2062
2063 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
2064 is_solaris.
2065 (i386_elf32_sol2_vec): Don't declare.
2066 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
2067 Don't set need_global_offset_table.
2068 (elf_i386_solaris_arch_bed): New.
2069 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
2070 Solaris.
2071 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
2072 target_os != is_nacl instead of target_os == is_normal.
2073 (x86_64_elf64_sol2_vec): Don't declare.
2074 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
2075 is_nacl instead of target_os == is_normal. Don't set
2076 need_global_offset_table.
2077 (elf_x86_64_solaris_arch_bed): New.
2078 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
2079 Solaris.
2080 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
2081 _GLOBAL_OFFSET_TABLE_ for Solaris.
2082 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
2083 need_global_offset_table.
2084 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
2085 (elf_x86_link_hash_table): Remove need_global_offset_table.
2086 (elf_x86_init_table): Likewise.
2087
15b23f36
L
20882018-02-08 H.J. Lu <hongjiu.lu@intel.com>
2089
2090 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
2091 Remove prototype.
2092 (i386_elf32_sol2_vec): Declared.
2093 (elf_i386_link_setup_gnu_properties): Set
2094 need_global_offset_table with info->output_bfd->xvec.
2095 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
2096 Remove prototype.
2097 (x86_64_elf64_sol2_vec): Declared.
2098 (elf_x86_64_link_setup_gnu_properties): Set
2099 need_global_offset_table with info->output_bfd->xvec.
2100
dc11dea2
L
21012018-02-08 H.J. Lu <hongjiu.lu@intel.com>
2102
2103 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
2104 New prototype.
2105 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
2106 for Solaris.
2107 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
2108 New prototype.
2109 (elf_x86_64_link_setup_gnu_properties): Set
2110 need_global_offset_table for Solaris.
2111 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
2112 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
2113 (_bfd_x86_elf_link_setup_gnu_properties): Copy
2114 need_global_offset_table.
2115 * elfxx-x86.h (elf_x86_link_hash_table): Add
2116 need_global_offset_table.
2117 (elf_x86_init_table): Likewise.
2118
3f48fe4a
JW
21192018-02-08 Jim Wilson <jimw@sifive.com>
2120
2121 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
2122 change.
2123
ef135d43
NC
21242018-02-08 Nick Clifton <nickc@redhat.com>
2125
2126 PR 22788
2127 * elf.c (elf_parse_notes): Reject notes with excessuively large
2128 alignments.
2129
407aa07c
AM
21302018-02-07 Alan Modra <amodra@gmail.com>
2131
2132 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
2133 * elf32-ppc.c: Remove speculation barrier support.
2134 * elf32-ppc.h: Likewise.
2135 * elf64-ppc.c: Likewise.
2136 * elf64-ppc.h: Likewise.
2137
ed01220c
JW
21382018-02-06 Jim Wilson <jimw@sifive.com>
2139
2140 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
2141 callback to report an error.
2142
c20c30f6
EB
21432018-02-06 Eric Botcazou <ebotcazou@adacore.com>
2144
2145 PR ld/22263
2146 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
2147 into call to !bfd_link_executable and tidy up.
2148 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
2149 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
2150 !bfd_link_executable.
2151 <R_SPARC_TLS_IE_HI22>: Likewise.
2152 <GOT relocations>: Remove useless code, tidy and merge related blocks.
2153 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
2154 !bfd_link_executable.
2155 <R_SPARC_WPLT30>: Tidy up.
2156 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
2157 !bfd_link_executable.
2158 (allocate_dynrelocs): Likewise.
2159 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
2160 <R_SPARC_TLS_GD_HI22>: Merge into...
2161 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
2162 sparc_elf_tls_transition and remove redundant code.
2163 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
2164 !bfd_link_executable.
2165 <R_SPARC_TLS_LDO_HIX22>: Likewise.
2166 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
2167 <R_SPARC_TLS_LDM_CALL>: Likewise.
2168 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
2169 <R_SPARC_TLS_GD_ADD>: Likewise.
2170 <R_SPARC_TLS_LDM_ADD>: Likewise.
2171 <R_SPARC_TLS_LDO_ADD>: Likewise.
2172 <R_SPARC_TLS_IE_LD>: Likewise.
2173
46d09186
NC
21742018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
2175
2176 PR 22789
2177 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
2178 functions failed to find the function name, try the generic elf
2179 find function instead.
2180
8278e7ce
SDJ
21812018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
2182
2183 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
2184 'memcpy' instead of 'strncpy' when writing the magic number.
2185
64e234d4
NC
21862018-02-06 Nick Clifton <nickc@redhat.com>
2187
2188 PR 22794
2189 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
2190 section before attempting to read it in.
2191 (bfd_get_alt_debug_link_info): Likewise.
2192
422f3d3d
PC
21932018-02-06 Paul Carroll <pcarroll@codesourcery.com>
2194
2195 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
2196 line information in addition to name, if they can be found.
2197
279b2f94
RL
21982018-02-05 Renlin Li <renlin.li@arm.com>
2199
2200 PR ld/22764
2201 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
2202 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
2203 check for writeable section as well.
2204
cd048363
L
22052018-02-05 H.J. Lu <hongjiu.lu@intel.com>
2206
2207 PR ld/22782
2208 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
2209 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
2210 undefined weak symbol to 0.
2211 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
2212 if _GLOBAL_OFFSET_TABLE_ is referenced.
2213 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
2214 got_referenced instead of ref_regular_nonweak. Remove the
2215 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
2216 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
2217
e65b1a78
MR
22182018-02-05 Maciej W. Rozycki <macro@mips.com>
2219
2220 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
2221 initialize `hi_reloc'.
2222
2d6dda71
MR
22232018-02-05 Maciej W. Rozycki <macro@mips.com>
2224
2225 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
2226 SHT_MIPS_REGINFO sections don't assert the correct size and
2227 report an error instead.
2228
75506100
MR
22292018-02-05 Maciej W. Rozycki <macro@mips.com>
2230
2231 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
2232 status from `->elf_backend_section_processing'.
2233
7f02625e
JW
22342018-02-02 Jim Wilson <jimw@sifive.com>
2235
2236 PR ld/22756
2237 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
2238 If link_info->wrap_hash, check for a duplicate symbol and ignore.
2239 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
2240 Pass new argument to riscv_relax_delete_bytes.
2241 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
2242 ATTRIBUTE_UNUSED from link_info parameter.
2243
d830549d
AM
22442018-02-02 Alan Modra <amodra@gmail.com>
2245
2246 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
2247 emitted for toc sequence optimization. Set and use "howto" later.
2248
e99955cd
SM
22492018-02-01 Simon Marchi <simon.marchi@ericsson.com>
2250
2251 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
2252 arithmetic on NULL pointer.
2253 * elflink.c (_bfd_elf_archive_symbol_lookup,
2254 elf_link_add_archive_symbols): Likewise.
2255
bf3077a6
MM
22562018-01-31 Michael Matz <matz@suse.de>
2257
2258 * elflink.c (bfd_elf_define_start_stop): Fix check of
2259 def_dynamic.
2260
823143c6
L
22612018-01-31 H.J. Lu <hongjiu.lu@intel.com>
2262
2263 PR ld/21964
2264 * elflink.c (bfd_elf_define_start_stop): Check if __start and
2265 __stop symbols are referenced by shared objects.
2266
76cb3a89
AM
22672018-01-30 Alan Modra <amodra@gmail.com>
2268
2269 PR 22758
2270 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
2271 segment when demand paged with lma on the same page. Test this
2272 before load/non-load, executable/non-executable,
2273 writable/non-writable tests and simplify. Delete bogus relro
2274 condition in writable/non-writable test. Delete outdated
2275 comment. Formatting.
2276
36b8fda5
AM
22772018-01-30 Alan Modra <amodra@gmail.com>
2278
2279 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
2280 symbols dynamic.
2281
eb77f6a4
AM
22822018-01-29 Alan Modra <amodra@gmail.com>
2283
2284 PR 22741
2285 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
2286 range before converting to a symbol table pointer.
2287
7d73b4c8
NC
22882018-01-27 Nick Clifton <nickc@redhat.com>
2289
2290 * po/ru.po: Updated Russian translation.
2291
32253bb7
AM
22922018-01-26 Alan Modra <amodra@gmail.com>
2293
2294 * elflink.c (bfd_elf_define_start_stop): Override symbols when
2295 they are defined dynamically.
2296
ba21f564
AM
22972018-01-26 Alan Modra <amodra@gmail.com>
2298
2299 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
2300 .branch_lt changes size.
2301
38e64b0e
AM
23022018-01-25 Alan Modra <amodra@gmail.com>
2303
2304 PR 22746
2305 * elfcode.h (elf_object_p): Avoid integer overflow.
2306
bb363086
EB
23072018-01-25 Eric Botcazou <ebotcazou@adacore.com>
2308
2309 PR ld/22727
2310 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
2311 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
2312
2313 Revert
2314 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
2315
2316 PR ld/22263
2317 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
2318 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
2319 bfd_link_executable for TLS check.
2320 (_bfd_sparc_elf_check_relocs): Likewise.
2321 (allocate_dynrelocs): Likewise.
2322 (_bfd_sparc_elf_relocate_section): Likewise.
2323
1daf502a
RL
23242018-01-24 Renlin Li <renlin.li@arm.com>
2325
2326 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
2327 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
2328 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
2329 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
2330 BFD_RELOC_AARCH64_MOVW_PREL_G3.
2331 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
2332 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2333
32247401
RL
23342018-01-24 Renlin Li <renlin.li@arm.com>
2335
2336 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
2337 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
2338 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
2339 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
2340 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
2341 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
2342 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
2343 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
2344 BFD_RELOC_AARCH64_MOVW_PREL_G3.
2345 * bfd-in2.h: Regenerate.
2346 * libbfd.h: Regenerate.
2347
1c5e4ee9
MR
23482018-01-23 Maciej W. Rozycki <macro@mips.com>
2349
2350 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
2351 `mips_elf32_section_processing' comment reference.
2352
8a1b824a
L
23532018-01-20 H.J. Lu <hongjiu.lu@intel.com>
2354
2355 PR ld/22721
2356 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
2357 versioned __tls_get_addr symbol.
2358
ee3fbc1e
NC
23592018-01-19 Nick Clifton <nickc@redhat.com>
2360
2361 * po/fr.po: Updated French translation.
2362
691d2e9a
AM
23632018-01-18 Alan Modra <amodra@gmail.com>
2364
2365 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
2366 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
2367 (ppc64_elf_build_stubs): Likewise.
2368
4bfce128
NC
23692018-01-17 Nick Clifton <nickc@redhat.com>
2370
2371 * po/ru.po: Updated Russian translation.
2372 * po/uk/po: Updated Ukranian translation.
2373
c75bc4f7
AM
23742018-01-17 Alan Modra <amodra@gmail.com>
2375
2376 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
2377
1be5d8d3
AM
23782018-01-17 Alan Modra <amodra@gmail.com>
2379
2380 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
2381 (CRSETEQ, BEQCTRM): Define.
2382 (is_nonpic_glink_stub): Don't check bctr.
2383 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
2384 (ppc_elf_relax_section): Size speculation barrier.
2385 (output_bctr): New function.
2386 (write_glink_stub): Use output_bctr.
2387 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
2388 (ppc_elf_finish_dynamic_symbol): Likewise.
2389 (ppc_elf_finish_dynamic_sections): Use output_bctr.
2390 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
2391 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
2392 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
2393 (size_global_entry_stubs): Handle speculation barrier sizing.
2394 (plt_stub_size): Likewise.
2395 (output_bctr): New function.
2396 (build_plt_stub, build_tls_get_addr_stub): Output speculation
2397 barrier.
2398 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
2399 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
2400 (build_global_entry_stubs): Output speculation barrier.
2401 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
2402 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
2403
9e390558
AM
24042018-01-17 Alan Modra <amodra@gmail.com>
2405
2406 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
2407 __tls_get_addr_opt, and alignment sizing.
2408 (TLS_GET_ADDR_GLINK_SIZE): Delete.
2409 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
2410 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
2411 or 8 insns.
2412 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
2413 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
2414 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
2415 by PLT reloc count.
2416 (write_glink_stub): Handle __tls_get_addr_opt stub.
2417 Pad out to size given by GLINK_ENTRY_SIZE.
2418 (ppc_elf_relocate_section): Adjust write_glink_stub call.
2419 (ppc_elf_finish_dynamic_symbol): Likewise.
2420 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
2421 insn array since so many need rewriting.
2422 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
2423 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
2424 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
2425 nops. Adjust all uses.
2426 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
2427 in glink_vma calculation.
2428 (struct ppc_link_hash_table): Add global_entry section pointer.
2429 (create_linkage_sections): Create separate section for global
2430 entry stubs.
2431 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
2432 (size_global_entry_stubs): Handle sizing for aligned stubs.
2433 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
2434 and don't stash end of glink branch table in rawsize.
2435 (ppc_build_one_stub): Rewrite stub size calculations.
2436 (build_global_entry_stubs): Use new section.
2437 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
2438 Build lazy link stubs out to end of section. Build global entry
2439 stubs in new section.
2440
616dcb87
NC
24412018-01-15 Nick Clifton <nickc@redhat.com>
2442
2443 * po/uk.po: Updated Ukranian translation.
2444
3957a496
NC
24452018-01-13 Nick Clifton <nickc@redhat.com>
2446
2447 * po/bfd.pot: Regenerated.
2448
769c7ea5
NC
24492018-01-13 Nick Clifton <nickc@redhat.com>
2450
2451 * version.m4: Bump version to 2.30.51
2452 * configure: Regenerate.
2453
faf766e3
NC
24542018-01-13 Nick Clifton <nickc@redhat.com>
2455
2456 2.30 branch created.
2457
564e11c9
JW
24582018-01-12 Jens Widell <jl@opera.com>
2459
2460 * elf.c (setup_group): Optimize search for group by remembering
2461 last found group and restarting search at that index.
2462 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
2463
a78eea16
AM
24642018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
2465
2466 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
2467 bfd_link_common_skip_none in switch.
2468
87e79a65
AM
24692018-01-12 Alan Modra <amodra@gmail.com>
2470
2471 PR ld/22649
2472 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
2473 references on forced local symbols.
2474
58807c48
VI
24752018-01-12 Vlad Ivanov <vlad@ivanov.email>
2476
2477 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
2478 .reginfo section has wrong size.
2479
2888249f
L
24802018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2481
2482 PR ld/22393
2483 * elf.c (_bfd_elf_map_sections_to_segments): When generating
2484 separate code and read-only data LOAD segments, create a new
2485 LOAD segment if the previous section contains text and the
2486 current section doesn't or vice versa. Don't put a writable
2487 section in a read-only segment if there is a RELRO segment.
2488
d664fd41
L
24892018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2490
2491 PR ld/22649
2492 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
2493 references on forced local symbols.
2494
8b6f4cd3
L
24952018-01-11 H.J. Lu <hongjiu.lu@intel.com>
2496
2497 PR ld/22677
2498 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
2499 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
2500
9c70c522 25012018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com>
6cef73f9
KLC
2502
2503 PR 22662
2504 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
2505
ddb2bbcf
JB
25062018-01-03 John Baldwin <jhb@FreeBSD.org>
2507
2508 * elf.c (elfcore_grok_freebsd_note): Handle
2509 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
2510 NT_FREEBSD_PROCSTAT_VMMAP.
2511
219d1afa
AM
25122018-01-03 Alan Modra <amodra@gmail.com>
2513
2514 Update year range in copyright notice of all files.
2515
1e563868 2516For older changes see ChangeLog-2017
3499769a 2517\f
1e563868 2518Copyright (C) 2018 Free Software Foundation, Inc.
3499769a
AM
2519
2520Copying and distribution of this file, with or without modification,
2521are permitted in any medium without royalty provided the copyright
2522notice and this notice are preserved.
2523
2524Local Variables:
2525mode: change-log
2526left-margin: 8
2527fill-column: 74
2528version-control: never
2529End:
This page took 0.249883 seconds and 4 git commands to generate.