Fix remaining targets using wrong .interp conditions
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
f5233a16
AM
12017-10-12 Alan Modra <amodra@gmail.com>
2
3 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Set .interp
4 when executable rather than non-PIC.
5 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
6 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
7
3c9a7b0d
MR
82017-10-11 Maciej W. Rozycki <macro@imgtec.com>
9
10 * elf-bfd.h (elf_backend_data): Add `linux_prpsinfo64_ugid16'
11 member.
12 * elf-linux-core.h (elf_external_linux_prpsinfo64): Rename to...
13 (elf_external_linux_prpsinfo64_ugid32): ... this.
14 (swap_linux_prpsinfo32_out): Rename to...
15 (swap_linux_prpsinfo32_ugid32_out): ... this.
16 (elf_external_linux_prpsinfo64_ugid16): New structure.
17 (swap_linux_prpsinfo64_ugid16_out): New function.
18 * elfxx-target.h [!elf_backend_linux_prpsinfo64_ugid16]
19 (elf_backend_linux_prpsinfo64_ugid16): Define.
20 (elfNN_bed): Initialize `linux_prpsinfo64_ugid16' member.
21 * elf.c (elfcore_write_linux_prpsinfo64): Handle both variants
22 of the 64-bit Linux core PRPSINFO note.
23 * elf64-sh64.c (elf_backend_linux_prpsinfo64_ugid16): Define.
24
a2f63b2e
MR
252017-10-11 Maciej W. Rozycki <macro@imgtec.com>
26
27 * elf-bfd.h (elf_backend_data): Add `linux_prpsinfo32_ugid16'
28 member.
29 (elfcore_write_ppc_linux_prpsinfo32): Remove prototype.
30 * elf32-ppc.c (elfcore_write_ppc_linux_prpsinfo32): Remove.
31 (elf_external_ppc_linux_prpsinfo32)
32 (swap_ppc_linux_prpsinfo32_out): Move to...
33 * elf-linux-core.h (elf_external_linux_prpsinfo32_ugid32)
34 (swap_linux_prpsinfo32_ugid32_out): ... these.
35 (elf_external_linux_prpsinfo32): Rename to...
36 (elf_external_linux_prpsinfo32_ugid16): ... this.
37 (swap_linux_prpsinfo32_out): Rename to...
38 (swap_linux_prpsinfo32_ugid16_out): ... this.
39 * elfxx-target.h [!elf_backend_linux_prpsinfo32_ugid16]
40 (elf_backend_linux_prpsinfo32_ugid16): Define.
41 (elfNN_bed): Initialize `linux_prpsinfo32_ugid16' member.
42 * elf.c (elfcore_write_linux_prpsinfo32): Handle both variants
43 of the 32-bit Linux core PRPSINFO note.
44 * elf32-am33lin.c (elf_backend_linux_prpsinfo32_ugid16): Define.
45 * elf32-arm.c (elf_backend_linux_prpsinfo32_ugid16): Define.
46 * elf32-cris.c (elf_backend_linux_prpsinfo32_ugid16): Define.
47 * elf32-frv.c (elf_backend_linux_prpsinfo32_ugid16): Define.
48 * elf32-i386.c (elf_backend_linux_prpsinfo32_ugid16): Define.
49 * elf32-m32r.c (elf_backend_linux_prpsinfo32_ugid16): Define.
50 * elf32-m68k.c (elf_backend_linux_prpsinfo32_ugid16): Define.
51 * elf32-s390.c (elf_backend_linux_prpsinfo32_ugid16): Define.
52 * elf32-sh.c (elf_backend_linux_prpsinfo32_ugid16): Define.
53 * elf32-sparc.c (elf_backend_linux_prpsinfo32_ugid16): Define.
54
72bc1bb9
MR
552017-10-11 Maciej W. Rozycki <macro@imgtec.com>
56
57 * elf-linux-core.h (elf_external_linux_prpsinfo64): Move the
58 `gap' member ahead of `pr_flag'.
59
8f314ad5
PA
602017-10-11 Pedro Alves <palves@redhat.com>
61
62 * bfd.c (_doprnt): Rename to ...
63 (_bfd_doprnt): ... this.
64 (error_handler_internal): Adjust.
65
0f09b4d8
L
662017-10-10 H.J. Lu <hongjiu.lu@intel.com>
67
68 * elf32-i386.c (elf_i386_check_relocs): Set GOT refcount to 1
69 instead of incrementing it.
70 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
71
6c699715
RL
722017-10-10 Renlin Li <renlin.li@arm.com>
73
74 PR ld/21402
75 * elf32-arm.c (allocate_dynrelocs_for_symbol): Only make undefined weak
76 symbols into dynamic.
77
fc3c5343
L
782017-10-09 H.J. Lu <hongjiu.lu@intel.com>
79
80 PR ld/22274
81 * elfnn-riscv.c (riscv_elf_link_hash_table): Add max_alignment.
82 (riscv_elf_link_hash_table_create): Initialize max_alignment to
83 (bfd_vma) -1.
84 (_bfd_riscv_relax_section): Cache the max alignment of output
85 sections if possible.
86
b9399fcf
AM
872017-10-10 Alan Modra <amodra@gmail.com>
88
89 * elf64-ppc.c (ppc64_elf_before_check_relocs): Set sec_type for
90 .opd whenever .opd is present and non-zero size. Move code
91 setting abiversion to/from output file earlier. Only set
92 u.opd.func_sec when --gc-sections. Read relocs and set up
93 u.opd.func_sec values here..
94 (ppc64_elf_check_relocs): ..rather than here. Simplify opd
95 section tests.
96 (ppc64_elf_edit_opd): Don't set sec_type for .opd here.
97
478c006f
L
982017-10-09 H.J. Lu <hongjiu.lu@intel.com>
99
100 * elf-m10300.c (mn10300_elf_check_relocs): Don't free cached
101 isymbuf.
102
9d45a7de
L
1032017-10-09 H.J. Lu <hongjiu.lu@intel.com>
104
105 * elf32-bfin.c (bfin_size_dynamic_sections): Don't create the
106 .interp section with "ld --no-dynamic-linker".
107
b55ec8b6
AM
1082017-10-09 Alan Modra <amodra@gmail.com>
109
110 PR 22212
111 * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free
112 funcinfo_hash_table and varinfo_hash_table.
113
a72f95f7
L
1142017-10-08 H.J. Lu <hongjiu.lu@intel.com>
115
116 * elf32-sh.c (readonly_dynrelocs): Dump dynamic relocation
117 in read-only section with minfo.
118 (sh_elf_size_dynamic_sections): Likewise.
119
f9799aae
L
1202017-10-08 H.J. Lu <hongjiu.lu@intel.com>
121
122 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Remove
123 a strayed comment.
124
4c7236d3
L
1252017-10-08 H.J. Lu <hongjiu.lu@intel.com>
126
127 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_sections): Set
128 this_hdr.sh_entsize only if section size > 0.
129
70090aa5
L
1302017-10-08 H.J. Lu <hongjiu.lu@intel.com>
131
132 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Reformat.
133
f0f07ad1
L
1342017-10-07 H.J. Lu <hongjiu.lu@intel.com>
135
136 * elfxx-sparc.c (readonly_dynrelocs): Dump dynamic relocation
137 in read-only section with minfo.
138 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
139
99180bcc
L
1402017-10-06 H.J. Lu <hongjiu.lu@intel.com>
141
142 * elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Update
143 comments.
144
544c67cd
JB
1452017-10-06 John Baldwin <jhb@FreeBSD.org>
146
147 * elf-bfd.h (struct elf_backend_data): Add
148 `elf_backend_grok_freebsd_prstatus'.
149 * elf.c (elfcore_grok_freebsd_note): Call
150 `elf_backend_grok_freebsd_prstatus' to handle NT_PRSTATUS if
151 present.
152 * elfn32-mips.c (elf_n32_mips_grok_freebsd_prstatus): New
153 function.
154 (elf_backend_grok_freebsd_prstatus): Define.
155 * elfxx-target.h (elf_backend_grok_freebsd_prstatus): Define.
156 (elfNN_bed): Initialize `elf_backend_grok_freebsd_prstatus'.
157
98b273dc
L
1582017-10-06 H.J. Lu <hongjiu.lu@intel.com>
159
160 * elf32-i386.c (elf_i386_check_relocs): Replace has_got_reloc
161 and has_non_got_reloc with zero_undefweak.
162 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
163 * elfxx-x86.c (_bfd_x86_elf_link_hash_newfunc): Initialize
164 zero_undefweak to 1.
165 (_bfd_x86_elf_copy_indirect_symbol): Replace has_got_reloc and
166 has_non_got_reloc with zero_undefweak.
167 * elfxx-x86.h (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace
168 has_got_reloc and has_non_got_reloc with zero_undefweak.
169 (elf_x86_link_hash_entry): Likewise.
170
e0d8f431
L
1712017-10-06 H.J. Lu <hongjiu.lu@intel.com>
172
173 * elfxx-x86.h (COPY_INPUT_RELOC_P): Add "do/while(0);".
174 (VERIFY_COPY_RELOC): Likewise.
175
ff38b4cc
L
1762017-10-06 H.J. Lu <hongjiu.lu@intel.com>
177
178 * elfxx-x86.h (VERIFY_COPY_RELOC): New.
179 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it.
180 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
181
f3180fa9
L
1822017-10-06 H.J. Lu <hongjiu.lu@intel.com>
183
184 * elfxx-x86.h (VERIFY_PLT_ENTRY): New.
185 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use it.
186 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
187
e74399c4
L
1882017-10-06 H.J. Lu <hongjiu.lu@intel.com>
189
190 * elfxx-x86.h (COPY_INPUT_RELOC_P): New.
191 * elf32-i386.c (elf_i386_relocate_section): Use it.
192 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
193
aebcc8ff
L
1942017-10-06 H.J. Lu <hongjiu.lu@intel.com>
195
196 * elf32-i386.c (X86_SIZE_TYPE_P): New.
197 (elf_i386_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P.
198 * elf64-x86-64.c (X86_SIZE_TYPE_P): New.
199 (elf_x86_64_relocate_section): Use GENERATE_DYNAMIC_RELOCATION_P.
200 * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): New.
201
cf1070f1
L
2022017-10-06 H.J. Lu <hongjiu.lu@intel.com>
203
204 * elfxx-x86.h (POINTER_LOCAL_IFUNC_P): New.
205 (PLT_LOCAL_IFUNC_P): Likewise.
206 * elf32-i386.c (elf_i386_relocate_section): Use them.
207 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
208
f70656b2
L
2092017-10-06 H.J. Lu <hongjiu.lu@intel.com>
210
211 * elfxx-x86.h (GENERATE_RELATIVE_RELOC_P): New.
212 * elf32-i386.c (elf_i386_relocate_section): Use it.
213 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
214
1f92404c
L
2152017-10-06 H.J. Lu <hongjiu.lu@intel.com>
216
217 * elfxx-x86.h (RESOLVED_LOCALLY_P): New.
218 * elf32-i386.c (elf_i386_relocate_section): Use it.
219 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
220
daf1c414
L
2212017-10-06 H.J. Lu <hongjiu.lu@intel.com>
222
223 * elf32-i386.c (X86_PCREL_TYPE_P): New.
224 (elf_i386_check_relocs): Use NEED_DYNAMIC_RELOCATION_P.
225 * elf64-x86-64.c (IS_X86_64_PCREL_TYPE): Renamed to ...
226 (X86_PCREL_TYPE_P): This.
227 (elf_x86_64_check_relocs): Use NEED_DYNAMIC_RELOCATION_P.
228 Replace IS_X86_64_PCREL_TYPE with X86_PCREL_TYPE_P.
229 (elf_x86_64_relocate_section): Replace IS_X86_64_PCREL_TYPE with
230 X86_PCREL_TYPE_P.
231 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): New.
232
51537393
L
2332017-10-06 H.J. Lu <hongjiu.lu@intel.com>
234
235 * elfxx-x86.h (TLS_TRANSITION_IE_TO_LE_P): New.
236 * elf32-i386.c (elf_i386_tls_transition): Use it.
237 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
238
0caf6c82
L
2392017-10-05 H.J. Lu <hongjiu.lu@intel.com>
240
241 * elf32-ppc.c (readonly_dynrelocs): Add a link_info argument.
242 Dump dynamic relocation in read-only section with minfo if
243 needed.
244 (ppc_elf_adjust_dynamic_symbol): Pass NULL to readonly_dynrelocs.
245 (maybe_set_textrel): Likewise.
246 (ppc_elf_size_dynamic_sections): Dump dynamic relocation in
247 read-only section with minfo.
248
6d5be5d6
JB
2492017-10-05 John Baldwin <jhb@FreeBSD.org>
250
251 * elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_VFP.
252
007873f5
L
2532017-10-05 H.J. Lu <hongjiu.lu@intel.com>
254
255 * elf32-tilepro.c (readonly_dynrelocs): Dump dynamic relocation
256 in read-only section with minfo.
257 (tilepro_elf_size_dynamic_sections): Likewise.
258 * elfxx-tilegx.c (readonly_dynrelocs): Likewise.
259 (tilegx_elf_size_dynamic_sections): Likewise.
260
2ca7de37
PA
2612017-10-05 Pedro Alves <palves@redhat.com>
262
263 PR 22245
264 * bfd.c (bfd_set_error): Revert 2017-10-04 change. Remove
265 ellipsis parameter. Split out bfd_error_on_input code to..
266 (bfd_set_input_error): .. New function.
267 * archive.c (_bfd_write_archive_contents): Use bfd_set_input_error.
268 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Likewise.
269 * bfd-in2.h: Regenerate.
270
8c6716e5
AM
2712017-10-05 Alan Modra <amodra@gmail.com>
272
273 * elflink.c (elf_link_input_bfd): Correct ctor/dtor in init_array/
274 fini_array error value.
275
db4677b8
AM
2762017-10-05 Alan Modra <amodra@gmail.com>
277
278 PR 21167
279 * elf.c (_bfd_elf_setup_sections): Don't trim reloc sections from
280 groups.
281 (_bfd_elf_init_reloc_shdr): Pass sec_hdr, use it to copy SHF_GROUP
282 flag from section.
283 (elf_fake_sections): Adjust calls. Exit immediately on failure.
284 (bfd_elf_set_group_contents): Add associated reloc section indices
285 to group contents.
286
a5259595
AM
2872017-10-04 Alan Modra <amodra@gmail.com>
288
289 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't sort or
290 classify symbols for ELFv2.
291
9ba5f27c
PK
2922017-10-04 Pavel I. Kryukov <kryukov@frtk.ru>
293
294 PR 22245
295 * bfd.c (bfd_set_error): Avoid UB on passing arg to va_start that
296 undergoes default promotion.
297 * bfd-in2.h: Regenerate.
298
dcd2b8a0
AM
2992017-10-02 Alan Modra <amodra@gmail.com>
300
301 * elf32-ppc.c (ppc_elf_relocate_section): Fix comment typo.
302 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
303
20230942
AM
3042017-10-01 Alan Modra <amodra@gmail.com>
305
306 PR 21957
307 * dwarf2.c (new_line_sorts_after): Remove end_sequence comparison.
308 (add_line_info): Always put end_sequence last.
309
4b04bba2
AM
3102017-10-01 Alan Modra <amodra@gmail.com>
311
312 PR 22047
313 * dwarf2.c (read_section): Allocate buffer with extra byte for
314 bfd_simple_get_relocated_section_contents rather than copying
315 afterwards.
316
f6ac8c52
AM
3172017-09-29 Alan Modra <amodra@gmail.com>
318
319 * merge.c (merge_strings): Return FALSE on malloc failure.
320 (_bfd_merge_sections): Return failures from record_section and
321 merge_strings.
322
1a3b5c34
AM
3232017-09-28 Alan Modra <amodra@gmail.com>
324
325 PR 22220
326 * elflink.c (_bfd_elf_merge_symbol): Set non_ir_ref_dynamic in
327 a case where plugin_notice isn't called.
328
cd28e7aa
KLC
3292017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
330
331 * elf32-nds32.c (nds32_elf_relax_section): Fix a tautological
332 comparison.
333
ac69a0d7
L
3342017-09-26 H.J. Lu <hongjiu.lu@intel.com>
335
336 PR ld/22199
337 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't pass
338 output_bfd to info->callbacks->minfo.
339
262c0a87
NC
3402017-09-26 Nick Clifton <nickc@redhat.com>
341
342 PR 22172
343 * elf64-x86-64.c (elf_x86_64_info_to_howto): Do not trigger an
344 assertion failure if elf_x86_64_rtype_to_howto has already issued
345 an error message.
346
33e0a9a0
AM
3472017-09-26 Alan Modra <amodra@gmail.com>
348
349 PR 22210
350 * dwarf2.c (read_formatted_entries): Use read_attribute_value to
351 read data.
352
30d0157a
NC
3532017-09-26 Nick Clifton <nickc@redhat.com>
354
355 PR 22210
356 * dwarf2.c (read_formatted_entries): Fail early if we know that
357 the loop parsing data entries will overflow the end of the
358 section.
359
1b86808a
AM
3602017-09-26 Alan Modra <amodra@gmail.com>
361
362 PR 22209
363 * dwarf2.c (struct comp_unit): Delete sec_info_ptr field.
364 (find_abstract_instance_name): Calculate DW_FORM_ref_addr relative
365 to stash->info_ptr_memory, and check die_ref is within that memory.
366 Set info_ptr_end correctly when another CU is refd. Check die_ref
367 for DW_FORM_ref4 etc. is within CU.
368
a54018b7
AM
3692017-09-26 Alan Modra <amodra@gmail.com>
370
371 PR 22205
372 * dwarf2.c (concat_filename): Return "<unknown>" on NULL filename.
373 (read_formatted_entries): Init "fe".
374 (decode_line_info <DW_LNE_define_file>): Use line_info_add_file_name.
375
e338894d
AM
3762017-09-26 Alan Modra <amodra@gmail.com>
377
378 PR 22204
379 * dwarf2.c (decode_line_info): Ensure line_ptr stays within
380 bounds in inner loop.
381
1da5c9a4
AM
3822017-09-25 Alan Modra <amodra@gmail.com>
383
384 PR 22202
385 * dwarf1.c (parse_die): Sanity check pointer against section limit
386 before dereferencing.
387 (parse_line_table): Likewise.
388
11855d8a
AM
3892017-09-25 Alan Modra <amodra@gmail.com>
390
391 PR 22201
392 * dwarf2.c (scan_unit_for_symbols): Ignore DW_AT_name unless it
393 has string form.
394 (parse_comp_unit): Likewise.
395
c361faae
AM
3962017-09-25 Alan Modra <amodra@gmail.com>
397
398 PR 22200
399 * dwarf2.c (read_formatted_entries): Error on format_count zero.
400
52b36c51
AM
4012017-09-24 Alan Modra <amodra@gmail.com>
402
403 PR 22197
404 * opncls.c (bfd_get_debug_link_info_1): Properly check that crc is
405 within section bounds.
406
a26a013f
AM
4072017-09-24 Alan Modra <amodra@gmail.com>
408
409 PR 22191
410 * dwarf2.c (decode_line_info): Properly free line sequences on error.
411
52a93b95
AM
4122017-09-24 Alan Modra <amodra@gmail.com>
413
414 PR 22187
415 * dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
416 pname param. Return status. Make name const. Don't abort,
417 return an error. Formatting. Exit if current info_ptr matches
418 orig_info_ptr. Update callers.
419 (scan_unit_for_symbols): Start at nesting_level of zero. Make
420 nested_funcs an array of structs for extensibility. Formatting.
421
d8010d3e
AM
4222017-09-24 Alan Modra <amodra@gmail.com>
423
424 PR 22186
425 * dwarf2.c (decode_line_info): Fail on lh.line_range of zero
426 rather than dividing by zero.
427
515f23e6
AM
4282017-09-24 Alan Modra <amodra@gmail.com>
429
430 PR 22169
431 * dwarf2.c (decode_line_info): Correct .debug_line unit_length check.
432
0d76029f
AM
4332017-09-24 Alan Modra <amodra@gmail.com>
434
435 PR 22167
436 * dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.
437
bd61e135
AM
4382017-09-24 Alan Modra <amodra@gmail.com>
439
440 PR 22166
441 * elf.c (_bfd_elf_slurp_version_tables): Test sh_info on
442 SHT_GNU_verneed section for sanity. Don't zalloc memory for
443 verref.
444
61e3bf5f
L
4452017-09-22 H.J. Lu <hongjiu.lu@intel.com>
446
447 PR binutils/22170
448 * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Guard against
449 corrupted PLT.
450
b69e9267
L
4512017-09-22 H.J. Lu <hongjiu.lu@intel.com>
452
59ca4c1b 453 PR binutils/22163
b69e9267
L
454 * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Also return
455 -1 if bfd_canonicalize_dynamic_reloc returns 0.
456
b877d21f
PA
4572017-09-22 Pedro Alves <palves@redhat.com>
458 Alan Modra <amodra@gmail.com>
459
460 * version.h: Add comment.
461
8fe09d74
AA
4622017-09-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
463
464 * elf.c (elfcore_grok_note): For the cases NT_S390_GS_CB and
465 NT_S390_GS_BC, correct the previously swapped invocations of
466 elfcore_grok_s390_gs_bc and elfcore_grok_s390_gs_cb.
467
25516cc5
AM
4682017-09-19 Alan Modra <amodra@gmail.com>
469
470 PR 21441
471 * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame
472 size.
473
3d13f3e9
AM
4742017-09-19 Alan Modra <amodra@gmail.com>
475
476 PR 22150
477 * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
478 symbols before calculating verrefs. Don't renumber dynsyms
479 after gc. Exclude .gnu.version when zero or one dynsym.
480 Localize some vars and reindent.
481
94670f6c
L
4822017-09-18 H.J. Lu <hongjiu.lu@intel.com>
483
484 PR ld/22148
485 * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Check error
486 return from bfd_canonicalize_dynamic_reloc.
487
21d0a606
AM
4882017-09-15 Alan Modra <amodra@gmail.com>
489
490 PR 22116
491 * archive.c (bfd_ar_hdr_from_filesystem): Detect when status.st_size
492 overflows bfd_size_type.
493
5e5e02ae
L
4942017-09-14 H.J. Lu <hongjiu.lu@intel.com>
495
496 PR ld/22135
497 * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument
498 to indicate if conversion is performed.
499 (elf_i386_check_relocs): Cache section contents and relocations
500 if conversion is performed.
501 * elf64-x86-64.c (elf_x86_64_check_relocs): Cache section
502 contents and relocations if conversion is performed.
503
4d465c68
NC
5042017-09-14 Nick Clifton <nickc@redhat.com>
505
506 PR binutils/22113
507 * peXXigen.c (pe_print_idata): Extend check for HintName vector
508 entries.
509
f47432d4
L
5102017-09-13 H.J. Lu <hongjiu.lu@intel.com>
511
512 * elfxx-x86.h: Fix a typo in comments.
513
4ec521f2
KLC
5142017-09-09 Kamil Rytarowski <n54@gmx.com>
515
516 * elf32-nds32.c: Rename __BIT() to N32_BIT().
517
2420fff6
AM
5182017-09-09 Alan Modra <amodra@gmail.com>
519
520 * elf64-ppp.c (plt_stub_pad): Handle positive and negative
521 plt_stub_align.
522
c5bce5c6
L
5232017-09-09 H.J. Lu <hongjiu.lu@intel.com>
524
525 * elf32-i386.c (elf_i386_relocate_section): Update usage of
526 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
527 (elf_i386_finish_dynamic_symbol): Likewise.
528 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
529 (elf_x86_64_finish_dynamic_symbol): Likewise.
530 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
531 (_bfd_x86_elf_fixup_symbol): Likewise.
532
8fbf0ba1
L
5332017-09-09 H.J. Lu <hongjiu.lu@intel.com>
534
535 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
536 check has_non_got_reloc.
537
0a27fed7
L
5382017-09-09 H.J. Lu <hongjiu.lu@intel.com>
539
540 PR ld/22115
541 * elf32-i386.c (elf_i386_convert_load_reloc): Check linker_def.
542 Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
543 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Check
544 linker_def. Don't use UNDEFINED_WEAK_RESOLVED_TO_ZERO.
545 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Set local_ref
546 and linker_def on __ehdr_start if it is referenced and not
547 defined.
548 (_bfd_x86_elf_link_symbol_references_local): Also set local_ref
549 and return TRUE when building executable, if a symbol has
550 non-GOT/non-PLT relocations in text section or there is no
551 dynamic linker.
552 * elfxx-x86.h (elf_x86_link_hash_entry): Add linker_def.
553
c7df954f
L
5542017-09-08 H.J. Lu <hongjiu.lu@intel.com>
555
556 * elfxx-x86.h: Update comments.
557
1de031c8
L
5582017-09-08 H.J. Lu <hongjiu.lu@intel.com>
559
560 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Replace
561 elf_x86_plt_layout_table with elf_x86_init_table.
562 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
563 Likewise.
564 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties):
565 Likewise.
566 * elfxx-x86.h (elf_x86_plt_layout_table): Renamed to ...
567 (elf_x86_init_table): This.
568 (_bfd_x86_elf_link_setup_gnu_properties): Replace
569 elf_x86_plt_layout_table with elf_x86_init_table.
570
7a382c1c
L
5712017-09-07 H.J. Lu <hongjiu.lu@intel.com>
572
573 * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor
574 elf64.lo together with elfxx-x86.lo for 64-bit BFD.
575 * configure: Regenerated.
576 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info
577 and r_sym fields of plt_layout.
578 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties):
579 Likewise.
580 * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check.
581 (_bfd_x86_elf_link_hash_table_create): Likewise. Don't set
582 r_info nor r_sym fields.
583 (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym
584 fields of htab.
585 * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.
586
9eb7b0ac
PD
5872017-09-07 Palmer Dabbelt <palmer@dabbelt.com>
588
589 * (_bfd_riscv_relax_align): Call bfd_set_error and
590 print an error message when unable to relax a .align directive.
591
b1308d2c
PD
5922017-09-07 Palmer Dabbelt <palmer@dabbelt.com>
593
594 * elfnn-riscv.c (riscv_zero_pcrel_hi_reloc): New function.
595 (riscv_record_pcrel_hi_reloc): Add absolute argument.
596 (riscv_elf_relocate_section): Call riscv_zero_pcrel_hi_reloc for
597 R_RISCV_PCREL_HI20 relocs, and pass the result to
598 riscv_record_pcrel_hi_reloc.
599
6999821f
L
6002017-09-07 H.J. Lu <hongjiu.lu@intel.com>
601
602 * elf32-i386.c (elf_i386_convert_load_reloc): Add an argument,
603 r_type_p. Remove the converted argument. Replace
604 SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P. Return
605 the new relocation type via r_type_p.
606 (elf_i386_relocate_section): Likewise.
607 (elf_i386_finish_dynamic_symbol): Likewise.
608 (need_convert_load): Removed.
609 (check_relocs_failed): Updated.
610 (elf_i386_check_relocs): Call elf_i386_convert_load_reloc,
611 instead of setting need_convert_load.
612 (_bfd_i386_elf_convert_load): Removed.
613 * elf64-x86-64.c (need_convert_load): Removed.
614 (check_relocs_failed): Updated.
615 (elf_x86_64_convert_load_reloc): Add an argument, r_type_p.
616 Replace SYMBOL_REFERENCES_LOCAL with SYMBOL_REFERENCES_LOCAL_P.
617 Return the new relocation type via r_type_p.
618 (elf_x86_64_check_relocs): Call elf_x86_64_convert_load_reloc,
619 instead of setting need_convert_load.
620 (elf_x86_64_check_relocs): Don't check PIC if relocation has
621 been converted.
622 (_bfd_x86_64_elf_convert_load): Removed.
623 (elf_x86_64_relocate_section): Replace SYMBOL_REFERENCES_LOCAL
624 with SYMBOL_REFERENCES_LOCAL_P.
625 (elf_x86_64_finish_dynamic_symbol): Likewise.
626 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Don't
627 set convert_load.
628 (_bfd_x86_elf_size_dynamic_sections): Don't call convert_load.
629 (_bfd_x86_elf_link_symbol_references_local): New function.
630 * elfxx-x86.h (SYMBOL_REFERENCES_LOCAL_P): New.
631 (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Replace elf.forced_local with
632 SYMBOL_REFERENCES_LOCAL_P.
633 (elf_x86_link_hash_entry): Add local_ref.
634 (elf_x86_link_hash_table): Remove convert_load.
635 (_bfd_i386_elf_convert_load): Removed.
636 (_bfd_x86_64_elf_convert_load): Likewise.
637 (_bfd_x86_elf_link_symbol_references_local): New.
638
78984959
L
6392017-09-06 H.J. Lu <hongjiu.lu@intel.com>
640
641 * elf64-x86-64.c (R_X86_64_converted_reloc_bit): New.
642 (elf_x86_64_info_to_howto): Get the real relocation type by
643 masking out R_X86_64_converted_reloc_bit.
644 (elf_x86_64_check_tls_transition): Get the real relocation type
645 by masking out R_X86_64_converted_reloc_bit.
646 (elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit
647 instead of setting converted_reloc.
648 (elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit
649 instead of converted_reloc. Get the real relocation type by
650 masking out R_X86_64_converted_reloc_bit.
651 (elf_x86_64_link_setup_gnu_properties): Verify that the value of
652 R_X86_64_converted_reloc_bit is valid.
653 * elfxx-x86.h (converted_reloc): Removed.
654
419414ea
L
6552017-09-06 H.J. Lu <hongjiu.lu@intel.com>
656
657 * elf32-i386.c (elf_i386_relocate_section): Don't change r_type
658 when calling elf_i386_tls_transition. Don't use ELF32_R_TYPE
659 to get the relocation type again.
660 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't change
661 r_type when calling elf_x86_64_tls_transition. Don't use
662 ELF32_R_TYPE to get the relocation type again.
663
dc089072
L
6642017-09-05 H.J. Lu <hongjiu.lu@intel.com>
665
666 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Properly set
667 converted_reloc.
668
8b43e456
L
6692017-09-05 H.J. Lu <hongjiu.lu@intel.com>
670
671 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Remove the sec
672 argument. Don't check relocation overflow. Avoid relocation
673 overflow if --no-relax is used. Set converted_reloc on symbol
674 if a GOTPCREL relocation is converted.
675 (elf_x86_64_relocate_section): Issue a fatal error and suggest
676 --no-relax if GOTPCREL relocation conversion leads to relocation
677 overflow.
678 * elfxx-x86.h (elf_x86_link_hash_entry): Add converted_reloc.
679
83eef883
AFB
6802017-09-05 Alexander Fedotov <alexander.fedotov@nxp.com>
681 Edmar Wienskoski <edmar.wienskoski@nxp.com
682
683 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_VLE_ADDR20.
684 (ppc_elf_check_relocs): Handle it.
685 (ppc_elf_vle_split20): New function.
686 (ppc_elf_relocate_section): Handle R_PPC_VLE_ADDR20.
687
0e30d991
L
6882017-09-03 H.J. Lu <hongjiu.lu@intel.com>
689
690 PR ld/22071
691 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Set tlsdesc_plt
692 for x86-64 if GOT_TLS_GDESC_P is true.
693
1cf58434
AM
6942017-09-03 Alan Modra <amodra@gmail.com>
695
696 PR 22067
697 * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first.
698
f04bdfa7
L
6992017-09-02 H.J. Lu <hongjiu.lu@intel.com>
700
701 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
702 tls_get_addr for x86-64 in one place.
703
2ac3a7f5
L
7042017-09-02 H.J. Lu <hongjiu.lu@intel.com>
705
706 * configure.ac (bfd_backends): Add elf64-x86-64.lo together
707 with elfxx-x86.lo for 64-bit BFD.
708 * configure: Regenerated.
709
d47a8026
L
7102017-09-02 H.J. Lu <hongjiu.lu@intel.com>
711
712 * elf32-i386.c (elf_i386_convert_load): Renamed to ...
713 (_bfd_i386_elf_convert_load): This. Remove static.
714 (elf_i386_size_dynamic_sections): Removed.
715 (elf_backend_size_dynamic_sections): Likewise.
716 * elf64-x86-64.c (elf_x86_64_convert_load): Renamed to ...
717 (_bfd_x86_64_elf_convert_load): This. Remove static.
718 (elf_x86_64_size_dynamic_sections): Removed.
719 (elf_backend_size_dynamic_sections): Likewise.
720 * elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): Renamed to ...
721 (elf_x86_allocate_dynrelocs): This. Make it static.
722 (_bfd_x86_elf_allocate_local_dynrelocs): Renamed to ...
723 (elf_x86_allocate_local_dynreloc): This. Make it static.
724 (elf_i386_is_reloc_section): New function.
725 (elf_x86_64_is_reloc_section): Likewise.
726 (_bfd_x86_elf_link_hash_table_create): Initialize convert_load,
727 is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
728 Rearrange got_entry_size initialization.
729 (_bfd_x86_elf_size_dynamic_sections): New function.
730 * elfxx-x86.h (elf_x86_link_hash_table): Add convert_load,
731 is_reloc_section, dt_reloc, dt_reloc_sz and dt_reloc_ent.
732 (_bfd_i386_elf_convert_load): New.
733 (_bfd_x86_64_elf_convert_load): Likewise.
734 (_bfd_x86_elf_size_dynamic_sections): Likewise.
735 (elf_backend_size_dynamic_sections): Likewise.
736 (_bfd_x86_elf_allocate_dynrelocs): Removed.
737 (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
738
2926eb2c
L
7392017-09-02 H.J. Lu <hongjiu.lu@intel.com>
740
741 * elfxx-x86.h (elf_x86_link_hash_table): Rearrange fields and
742 update comments.
743
92c10f5f
L
7442017-09-02 H.J. Lu <hongjiu.lu@intel.com>
745
746 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
747 sgotplt_jump_table_size with elf_x86_compute_jump_table_size.
748
aa595247
L
7492017-09-02 H.J. Lu <hongjiu.lu@intel.com>
750
751 * elf32-i386.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
752 PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Moved to ...
753 * elfxx-x86.h (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
754 PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Here.
755 * elf64-x86-64.c (PLT_CIE_LENGTH, PLT_FDE_LENGTH,
756 PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Removed.
757
b9ce864c
L
7582017-09-02 H.J. Lu <hongjiu.lu@intel.com>
759
760 * elf32-i386.c (elf_i386_allocate_dynrelocs): Removed.
761 (elf_i386_allocate_local_dynrelocs): Likewise.
762 (elf_i386_size_dynamic_sections): Replace
763 elf_i386_allocate_dynrelocs/elf_i386_allocate_local_dynrelocs
764 with _bfd_x86_elf_allocate_dynrelocs and
765 _bfd_x86_elf_allocate_local_dynrelocs.
766 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Removed.
767 (elf_x86_64_allocate_local_dynrelocs): Likewise.
768 (elf_x86_64_size_dynamic_sections): Replace
769 elf_x86_64_allocate_dynrelocs/elf_x86_64_allocate_local_dynrelocs
770 with _bfd_x86_elf_allocate_dynrelocs and
771 _bfd_x86_elf_allocate_local_dynrelocs.
772 * elfxx-x86.c (_bfd_x86_elf_allocate_dynrelocs): New function.
773 (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
774 * elfxx-x86.h (_bfd_x86_elf_allocate_dynrelocs): New prototype.
775 (_bfd_x86_elf_allocate_local_dynrelocs): Likewise.
776
fe53b4a4
L
7772017-09-02 H.J. Lu <hongjiu.lu@intel.com>
778
779 * elf32-i386.c (is_i386_elf): Removed.
780 (elf_i386_check_relocs): Replace is_i386_elf with is_x86_elf.
781 (elf_i386_size_dynamic_sections): Likewise.
782 (elf_i386_relocate_section): Likewise.
783 * elf64-x86-64.c (is_x86_64_elf): Removed.
784 (elf_x86_64_check_relocs): Replace is_x86_64_elf with
785 is_x86_elf.
786 (elf_x86_64_size_dynamic_sections): Likewise.
787 (elf_x86_64_relocate_section): Likewise.
788 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
789 target_id.
790 * elfxx-x86.h (elf_x86_link_hash_table): Add target_id.
791 (is_x86_elf): New.
792
9ff114ca
L
7932017-09-02 H.J. Lu <hongjiu.lu@intel.com>
794
795 * elf32-i386.c (elf_i386_compute_jump_table_size): Removed.
796 (elf_i386_allocate_dynrelocs): Replace
797 elf_i386_compute_jump_table_size with
798 elf_x86_compute_jump_table_size.
799 (elf_i386_size_dynamic_sections): Likewise.
800 * elf64-x86-64.c (elf_x86_64_compute_jump_table_size): Removed.
801 (elf_x86_64_allocate_dynrelocs): Replace
802 elf_x86_64_compute_jump_table_size with
803 elf_x86_compute_jump_table_size.
804 (elf_x86_64_size_dynamic_sections): Likewise.
805 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
806 got_entry_size.
807 * elfxx-x86.h (elf_x86_link_hash_table): Add got_entry_size.
808 (elf_x86_compute_jump_table_size): New.
809
503294e7
L
8102017-09-02 H.J. Lu <hongjiu.lu@intel.com>
811
812 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize
813 sizeof_reloc.
814 (_bfd_x86_elf_adjust_dynamic_symbol): Use sizeof_reloc.
815 * elfxx-x86.h (elf_x86_link_hash_table): Add sizeof_reloc.
816
9a742a90
L
8172017-09-02 H.J. Lu <hongjiu.lu@intel.com>
818
819 * elf32-i386.c (elf_i386_allocate_dynrelocs): Check VxWorks
820 with htab->is_vxworks.
821 (elf_i386_size_dynamic_sections): Likewise.
822 (elf_i386_relocate_section): Likewise.
823 (elf_i386_finish_dynamic_symbol): Likewise.
824 (elf_i386_finish_dynamic_sections): Likewise.
825
6b9553e2
L
8262017-09-02 H.J. Lu <hongjiu.lu@intel.com>
827
828 * elf32-i386.c (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
829 GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
830 GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Moved to ...
831 * elfxx-x86.h (GOT_TLS_IE, GOT_TLS_IE_POS, GOT_TLS_IE_NEG,
832 GOT_TLS_IE_BOTH, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
833 GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Here.
834 * elf64-x86-64.c (GOT_TLS_IE, GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P,
835 GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): Removed.
836
ad71ce8d
L
8372017-09-01 H.J. Lu <hongjiu.lu@intel.com>
838
839 PR ld/22064
840 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
841 ELF_COMMON_DEF_P for common symbols.
842
96d01d93
AM
8432017-09-02 Alan Modra <amodra@gmail.com>
844
845 * elf-eh-frame.c (offset_adjust): Avoid false positive gcc warning.
846 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Likewise.
847 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
848
4f501a24
L
8492017-09-01 H.J. Lu <hongjiu.lu@intel.com>
850
851 * elf32-i386.c (elf_i386_gc_mark_hook): Removed.
852 (elf_backend_gc_mark_hook): Likewise.
853 * elf64-x86-64.c (elf_x86_64_gc_mark_hook): Likewise.
854 (elf_backend_gc_mark_hook): Likewise.
855 * elfxx-x86.c (_bfd_x86_elf_gc_mark_hook): New function.
856 * elfxx-x86.h (_bfd_x86_elf_gc_mark_hook): New.
857 (elf_backend_gc_mark_hook): Likewise.
858
eeb2f20a
L
8592017-09-01 H.J. Lu <hongjiu.lu@intel.com>
860
861 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Removed.
862 (elf_backend_adjust_dynamic_symbol): Likewise.
863 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
864 (elf_backend_adjust_dynamic_symbol): Likewise.
865 * elfxx-x86.c (_bfd_x86_elf_adjust_dynamic_symbol): New function.
866 (_bfd_x86_elf_link_setup_gnu_properties): Copy is_vxworks.
867 * elfxx-x86.h (elf_x86_link_hash_table): Add is_vxworks.
868 (_bfd_x86_elf_adjust_dynamic_symbol): New.
869 (elf_backend_adjust_dynamic_symbol): Likewise.
870
c6295c22
L
8712017-09-01 H.J. Lu <hongjiu.lu@intel.com>
872
873 * elfxx-x86.h (elf_x86_plt_layout_table): Fix a typo in
874 comments.
875
39946cc2
L
8762017-09-01 H.J. Lu <hongjiu.lu@intel.com>
877
878 * elf32-i386.c (elf_i386_mkobject): Removed.
879 (bfd_elf32_mkobject): Likewise.
880 * elf64-x86-64.c (elf_x86_64_mkobject): Likewise.
881 (bfd_elf64_mkobject): Likewise.
882 (bfd_elf32_mkobject): Likewise.
883 * elfxx-x86.c (_bfd_x86_elf_mkobject): New function.
18da07cd 884 * elfxx-x86.h (_bfd_x86_elf_mkobject): New.
39946cc2
L
885 (bfd_elf64_mkobject): Likewise.
886 (bfd_elf32_mkobject): Likewise.
887
a6798bab
L
8882017-09-01 H.J. Lu <hongjiu.lu@intel.com>
889
890 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Updated.
891 Call _bfd_x86_elf_link_setup_gnu_properties.
892 * elf64-x86-64.c (elf_x86_lazy_plt_layout): Initialize
893 pic_plt0_entry and pic_plt_entry fields with the non-PIC PLT
894 entries.
895 (elf_x86_64_non_lazy_plt): Likewise.
896 (elf_x86_64_lazy_bnd_plt): Likewise.
897 (elf_x86_64_non_lazy_bnd_plt): Likewise.
898 (elf_x86_64_lazy_ibt_plt): Likewise.
899 (elf_x32_lazy_ibt_plt): Likewise.
900 (elf_x86_64_non_lazy_ibt_plt): Likewise.
901 (elf_x32_non_lazy_ibt_plt): Likewise.
902 (elf_x86_64_nacl_plt): Likewise.
903 (elf_x86_64_link_setup_gnu_properties): Updated. Call
904 _bfd_x86_elf_link_setup_gnu_properties.
905 * elfxx-x86.c: Include elf-vxworks.h".
906 (_bfd_x86_elf_link_setup_gnu_properties): New function.
907 * elfxx-x86.h (elf_x86_lazy_plt_layout): Remove "for i386 only"
908 comments for pic_plt0_entry and pic_plt_entry.
909 (elf_x86_non_lazy_plt_layout): Likewise.
910 (elf_x86_plt_layout_table): New.
911 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
912
e10c9c62
L
9132017-09-01 H.J. Lu <hongjiu.lu@intel.com>
914
915 PR ld/22061
916 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Create
917 .eh_frame section for the second PLT.
918 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Correct
919 alignment of .eh_frame section for the second PLT.
920
7e8b6008
NC
9212017-09-01 Nick Clifton <nickc@redhat.com>
922
923 PR 22059
924 * dwarf2.c (decode_line_info): Fix test for an overlong line info
925 structure.
926
2a143b99
NC
9272017-09-01 Nick Clifton <nickc@redhat.com>
928
929 PR 22058
930 * elf-attrs.c (_bfd_elf_parse_attributes): Ensure that the
931 attribute buffer is NUL terminated.
932
e4f27230
NC
9332017-08-31 Nick Clifton <nickc@redhat.com>
934
935 PR 22047
936 * dwarf2.c (read_section): If necessary add a terminating NUL byte
937 to dwarf string sections.
938
686335cd
AM
9392017-08-31 Alan Modra <amodra@gmail.com>
940
941 * po/SRC-POTFILES.in: Regenerate.
942
9866ffe2
AM
9432017-08-31 Alan Modra <amodra@gmail.com>
944
945 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Don't exit early
946 for a section containing just a terminator. Allow multiple
947 terminators at end of section.
948 * elflink.c (bfd_elf_discard_info): Iterate over .eh_frame
949 sections when not adding alignment. Assert on terminator in
950 the middle of FDEs.
951
af471f82
AM
9522017-08-31 Alan Modra <amodra@gmail.com>
953
954 PR 21441
955 PR 22048
956 * elflink.c (bfd_elf_discard_info): Don't pad embedded zero
957 terminators.
958
3321e42b
L
9592017-08-30 H.J. Lu <hongjiu.lu@intel.com>
960
961 * configure.ac (bfd_backends): Add elf64.lo together with
962 elfxx-x86.lo for 64-bit BFD.
963 * configure: Regenerated.
964
ef32532f
JB
9652017-08-31 James Bowman <james.bowman@ftdichip.com>
966
967 * elf32-ft32.c (ft32_elf_howto_table): Use complain_overflow_dont
968 for R_FT32_18.
969
e234de6b
AM
9702017-08-31 Alan Modra <amodra@gmail.com>
971
972 PR binutils/22032
973 * opncls.c (bfd_close_all_done): Don't call bfd_cache_close
974 before _close_and_cleanup. Call iovec->bclose after.
975 (bfd_close): Remove code common to, and call, bfd_close_all_done.
976
f493882d
L
9772017-08-30 H.J. Lu <hongjiu.lu@intel.com>
978
979 * elf32-i386.c (elf_i386_plt_type): Removed.
980 (elf_i386_plt): Likewise.
981 (elf_i386_get_synthetic_symtab): Updated. Call
982 _bfd_x86_elf_get_synthetic_symtab.
983 * elf64-x86-64.c (elf_x86_64_plt_type): Removed.
984 (elf_x86_64_plt): Likewise.
985 (elf_x86_64_get_synthetic_symtab): Updated. Call
986 _bfd_x86_elf_get_synthetic_symtab.
987 * elfxx-x86.c (elf_i386_get_plt_got_vma): New function.
988 (elf_x86_64_get_plt_got_vma): Likewise.
989 (elf_i386_valid_plt_reloc_p): Likewise.
990 (elf_x86_64_valid_plt_reloc_p): Likewise.
991 (_bfd_x86_elf_get_synthetic_symtab): Likewise.
992 * elfxx-x86.h (elf_x86_plt_type): New.
993 (elf_x86_plt): Likewise.
994 (_bfd_x86_elf_get_synthetic_symtab): Likewise.
995
5b86dbf4
L
9962017-08-30 H.J. Lu <hongjiu.lu@intel.com>
997
998 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
999 target_id instead of elf_machine_code.
1000
765e526c
L
10012017-08-30 H.J. Lu <hongjiu.lu@intel.com>
1002
1003 * elf32-i386.c (ELF_DYNAMIC_INTERPRETER): Removed.
1004 (elf_i386_lazy_plt_layout): Likewise.
1005 (elf_i386_non_lazy_plt_layout): Likewise.
1006 (elf_i386_plt_layout): Likewise.
1007 (elf_i386_link_hash_table): Likewise.
1008 (elf_i386_next_tls_desc_index): Likewise.
1009 (elf_i386_srelplt2): Likewise.
1010 (elf_i386_plt): Likewise.
1011 (elf_i386_lazy_plt): Likewise.
1012 (elf_i386_non_lazy_plt): Likewise.
1013 (elf_i386_link_hash_table_create): Likewise.
1014 (bfd_elf32_bfd_link_hash_table_create): Likewise.
1015 (elf_i386_lazy_plt): Updated.
1016 (elf_i386_non_lazy_plt): Likewise.
1017 (elf_i386_lazy_ibt_plt): Likewise.
1018 (elf_i386_non_lazy_ibt_plt): Likewise.
1019 (elf_i386_allocate_dynrelocs): Likewise.
1020 (elf_i386_size_dynamic_sections): Likewise.
1021 (elf_i386_relocate_section): Likewise.
1022 (elf_i386_finish_dynamic_symbol): Likewise.
1023 (elf_i386_finish_dynamic_sections): Likewise.
1024 (elf_i386_get_synthetic_symtab): Likewise.
1025 (elf_i386_link_setup_gnu_properties): Likewise.
1026 (elf_i386_nacl_plt): Likewise.
1027 * elf64-x86-64.c (ABI_64_P): Removed.
1028 (ELF64_DYNAMIC_INTERPRETER): Likewise.
1029 (ELF32_DYNAMIC_INTERPRETER): Likewise.
1030 (elf_x86_64_lazy_plt_layout): Likewise.
1031 (elf_x86_64_non_lazy_plt_layout): Likewise.
1032 (elf_x86_64_plt_layout): Likewise.
1033 (elf_x86_64_link_hash_table): Likewise.
1034 (elf_x86_64_plt): Likewise.
1035 (elf_x86_64_lazy_plt): Likewise.
1036 (elf_x86_64_non_lazy_plt): Likewise.
1037 (elf_x86_64_link_hash_table_create): Likewise.
1038 (bfd_elf64_bfd_link_hash_table_create): Likewise.
1039 (bfd_elf32_bfd_link_hash_table_create): Likewise.
1040 (elf_x86_64_lazy_plt): Updated.
1041 (elf_x86_64_non_lazy_plt): Likewise.
1042 (elf_x86_64_lazy_bnd_plt): Likewise.
1043 (elf_x86_64_non_lazy_bnd_plt): Likewise.
1044 (elf_x86_64_lazy_ibt_plt): Likewise.
1045 (elf_x32_lazy_ibt_plt): Likewise.
1046 (elf_x86_64_non_lazy_ibt_plt): Likewise.
1047 (elf_x32_non_lazy_ibt_plt): Likewise.
1048 (elf_x86_64_allocate_dynrelocs): Likewise.
1049 (elf_x86_64_size_dynamic_sections): Likewise.
1050 (elf_x86_64_relocate_section): Likewise.
1051 (elf_x86_64_finish_dynamic_symbol): Likewise.
1052 (elf_x86_64_finish_dynamic_sections): Likewise.
1053 (elf_x86_64_get_synthetic_symtab): Likewise.
1054 (elf_x86_64_link_setup_gnu_properties): Likewise.
1055 (elf_x86_64_nacl_plt): Likewise.
1056 * elfxx-x86.c: Include "objalloc.h", "elf/i386.h" and
1057 "elf/x86-64.h".
1058 (ELF32_DYNAMIC_INTERPRETER): New.
1059 (ELF64_DYNAMIC_INTERPRETER): Likewise.
1060 (ELFX32_DYNAMIC_INTERPRETER): Likewise.
1061 (_bfd_x86_elf_link_hash_table_create): Likewise.
1062 (_bfd_x86_elf_link_hash_table_free): Renamed to ...
1063 (elf_x86_link_hash_table_free): This. Make it static.
1064 * elfxx-x86.h: Don't include "objalloc.h".
1065 (ABI_64_P): New.
1066 (elf_x86_lazy_plt_layout): Likewise.
1067 (elf_x86_non_lazy_plt_layout): Likewise.
1068 (elf_x86_plt_layout): Likewise.
1069 (_bfd_x86_elf_link_hash_table_create): Likewise.
1070 (bfd_elf64_bfd_link_hash_table_create): Likewise.
1071 (bfd_elf32_bfd_link_hash_table_create): Likewise.
1072 (elf_x86_link_hash_table): Add plt, lazy_plt, non_lazy_plt,
1073 srelplt2 and next_tls_desc_index.
1074 (_bfd_x86_elf_link_hash_table_free): Removed.
1075
70e65ca8
MR
10762017-08-30 Maciej W. Rozycki <macro@imgtec.com>
1077
1078 * elfxx-mips.c (mips_elf_perform_relocation): Correct microMIPS
1079 branch offset interpretation.
1080
7c0ed396
L
10812017-08-30 H.J. Lu <hongjiu.lu@intel.com>
1082
1083 PR binutils/22032
1084 * opncls.c (bfd_close_all_done): Call _close_and_cleanup.
1085
0f2425c4
L
10862017-08-30 H.J. Lu <hongjiu.lu@intel.com>
1087
1088 * elf64-x86-64.c (elf_x86_64_next_tls_desc_index): Removed.
1089 (elf_x86_64_srelplt2): Likewise.
1090
9a23f96e
AM
10912017-08-30 Alan Modra <amodra@gmail.com>
1092
1093 * elf64-ppc.c (struct ppc_link_hash_table): Add do_tls_opt.
1094 (ppc64_elf_tls_optimize): Set it.
1095 (ppc64_elf_relocate_section): Nop addis on TPREL16_HA, and convert
1096 insn on TPREL16_LO and TPREL16_LO_DS relocs to use r13 when
1097 addis would add zero.
1098 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add do_tls_opt.
1099 (ppc_elf_tls_optimize): Set it.
1100 (ppc_elf_relocate_section): Nop addis on TPREL16_HA, and convert
1101 insn on TPREL16_LO relocs to use r2 when addis would add zero.
1102
b9f04fe0
AM
11032017-08-30 Alan Modra <amodra@gmail.com>
1104
1105 * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing
1106 __tls_get_addr call sequences to LE, don't move the addi down
1107 to the nop. Replace the bl with addi and leave the nop alone.
1108
5f0f0847
L
11092017-08-29 H.J. Lu <hongjiu.lu@intel.com>
1110
1111 * elf32-i386.c (elf_i386_pie_finish_undefweak_symbol):
1112 Re-indent.
1113 * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol):
1114 Likewise.
1115 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1116
443701f5
L
11172017-08-29 H.J. Lu <hongjiu.lu@intel.com>
1118
1119 * Makefile.am (BFD32_BACKENDS): Add elfxx-x86.lo.
1120 (BFD64_BACKENDS): Likewise.
1121 (BFD32_BACKENDS_CFILES): Add elfxx-x86.c.
1122 (BFD64_BACKENDS_CFILES): Likewise.
1123 * Makefile.in: Regenerated.
1124 * configure.ac (bfd_backends): Add elfxx-x86.lo together with
1125 elf32-i386.lo and elf64-x86-64.lo.
1126 * configure: Regenerated.
1127 * elf32-i386.c: Include "elfxx-x86.h" instead of "sysdep.h",
1128 "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
1129 "objalloc.h" and "hashtab.h".
1130 (ELIMINATE_COPY_RELOCS): Removed.
1131 (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
1132 (SYMBOL_NO_COPYRELOC): Likewise.
1133 (elf_i386_link_hash_entry): Likewise.
1134 (GOT_UNKNOWN): Likewise.
1135 (GOT_NORMAL): Likewise.
1136 (GOT_TLS_GD): Likewise.
1137 (elf_i386_hash_entry): Likewise.
1138 (elf_i386_obj_tdata): Likewise.
1139 (elf_i386_tdata): Likewise.
1140 (elf_i386_local_got_tls_type): Likewise.
1141 (elf_i386_local_tlsdesc_gotent): Likewise.
1142 (elf_i386_hash_table): Likewise.
1143 (elf_i386_link_hash_newfunc): Likewise.
1144 (elf_i386_local_htab_hash): Likewise.
1145 (elf_i386_local_htab_eq): Likewise.
1146 (elf_i386_get_local_sym_hash): Likewise.
1147 (elf_i386_link_hash_table_free): Likewise.
1148 (elf_i386_copy_indirect_symbol): Likewise.
1149 (elf_i386_fixup_symbol): Likewise.
1150 (elf_i386_readonly_dynrelocs): Likewise.
1151 (elf_i386_always_size_sections): Likewise.
1152 (elf_i386_set_tls_module_base): Likewise.
1153 (elf_i386_dtpoff_base): Likewise.
1154 (compare_relocs): Likewise.
1155 (elf_i386_hash_symbol): Likewise.
1156 (elf_i386_parse_gnu_properties): Likewise.
1157 (elf_i386_merge_gnu_properties): Likewise.
1158 (elf_i386_link_check_relocs): Likewise.
1159 (elf_i386_merge_symbol_attribute): Likewise.
1160 (bfd_elf32_bfd_link_check_relocs): Likewise.
1161 (elf_backend_copy_indirect_symbol): Likewise.
1162 (elf_backend_always_size_sections): Likewise.
1163 (elf_backend_omit_section_dynsym): Likewise.
1164 (elf_backend_hash_symbol): Likewise.
1165 (elf_backend_fixup_symbol): Likewise.
1166 (elf_backend_parse_gnu_properties): Likewise.
1167 (elf_backend_merge_gnu_properties): Likewise.
1168 (elf_backend_merge_symbol_attribute): Likewise.
1169 (elf_i386_mkobject): Updated.
1170 (elf_i386_link_hash_table_create): Likewise.
1171 (elf_i386_check_tls_transition): Likewise.
1172 (elf_i386_tls_transition): Likewise.
1173 (elf_i386_convert_load_reloc): Likewise.
1174 (elf_i386_check_relocs): Likewise.
1175 (elf_i386_adjust_dynamic_symbol): Likewise.
1176 (elf_i386_allocate_dynrelocs): Likewise.
1177 (elf_i386_convert_load): Likewise.
1178 (elf_i386_size_dynamic_sections): Likewise.
1179 (elf_i386_relocate_section): Likewise.
1180 (elf_i386_finish_dynamic_symbol ): Likewise.
1181 (elf_i386_finish_dynamic_sections): Likewise.
1182 (elf_i386_output_arch_local_syms): Likewise.
1183 (elf_i386_get_synthetic_symtab): Likewise.
1184 (elf_i386_link_setup_gnu_properties): Likewise.
1185 (elf_i386_link_hash_table): Use elf_x86_link_hash_table, instead
1186 of elf_link_hash_table, as base.
1187 (elf_i386_next_tls_desc_index): New.
1188 (elf_i386_srelplt2): Likewise.
1189 (elf_i386_plt): Likewise.
1190 (elf_i386_lazy_plt): Likewise.
1191 (elf_i386_non_lazy_plt): Likewise.
1192 * elf32-x86-64.c: Include "elfxx-x86.h" instead of "sysdep.h",
1193 "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
1194 "objalloc.h" and "hashtab.h".
1195 (ELIMINATE_COPY_RELOCS): Removed.
1196 (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
1197 (SYMBOL_NO_COPYRELOC): Likewise.
1198 (elf_x86_64_link_hash_entry): Likewise.
1199 (GOT_UNKNOWN): Likewise.
1200 (GOT_NORMAL): Likewise.
1201 (GOT_TLS_GD): Likewise.
1202 (elf_x86_64_hash_entry): Likewise.
1203 (elf_x86_64_obj_tdata): Likewise.
1204 (elf_x86_64_tdata): Likewise.
1205 (elf_x86_64_local_got_tls_type): Likewise.
1206 (elf_x86_64_local_tlsdesc_gotent): Likewise.
1207 (elf_x86_64_hash_table): Likewise.
1208 (elf_x86_64_link_hash_newfunc): Likewise.
1209 (elf_x86_64_local_htab_hash): Likewise.
1210 (elf_x86_64_local_htab_eq): Likewise.
1211 (elf_x86_64_get_local_sym_hash): Likewise.
1212 (elf_x86_64_link_hash_table_free): Likewise.
1213 (elf_x86_64_copy_indirect_symbol): Likewise.
1214 (elf_x86_64_fixup_symbol): Likewise.
1215 (elf_x86_64_readonly_dynrelocs): Likewise.
1216 (elf_x86_64_always_size_sections): Likewise.
1217 (elf_x86_64_set_tls_module_base): Likewise.
1218 (elf_x86_64_dtpoff_base): Likewise.
1219 (compare_relocs): Likewise.
1220 (elf_x86_64_merge_symbol_attribute): Likewise.
1221 (elf_x86_64_hash_symbol): Likewise.
1222 (elf_x86_64_parse_gnu_properties): Likewise.
1223 (elf_x86_64_merge_gnu_properties): Likewise.
1224 (elf_x86_64_link_check_relocs): Likewise.
1225 (elf_backend_copy_indirect_symbol): Likewise.
1226 (elf_backend_always_size_sections): Likewise.
1227 (bfd_elf64_bfd_link_check_relocs): Likewise.
1228 (elf_backend_merge_symbol_attribute): Likewise.
1229 (elf_backend_hash_symbol): Likewise.
1230 (elf_backend_omit_section_dynsym): Likewise.
1231 (elf_backend_fixup_symbol): Likewise.
1232 (elf_backend_parse_gnu_properties): Likewise.
1233 (elf_backend_merge_gnu_properties): Likewise.
1234 (bfd_elf32_bfd_link_check_relocs): Likewise.
1235 (elf_x86_64_mkobject): Updated.
1236 (elf_x86_64_link_hash_table_create): Likewise.
1237 (elf_x86_64_check_tls_transition): Likewise.
1238 (elf_x86_64_tls_transition): Likewise.
1239 (elf_x86_64_convert_load_reloc): Likewise.
1240 (elf_x86_64_check_relocs): Likewise.
1241 (elf_x86_64_adjust_dynamic_symbol): Likewise.
1242 (elf_x86_64_allocate_dynrelocs): Likewise.
1243 (elf_x86_64_convert_load): Likewise.
1244 (elf_x86_64_size_dynamic_sections): Likewise.
1245 (elf_x86_64_relocate_section): Likewise.
1246 (elf_x86_64_finish_dynamic_symbol ): Likewise.
1247 (elf_x86_64_finish_dynamic_sections): Likewise.
1248 (elf_x86_64_output_arch_local_syms): Likewise.
1249 (elf_x86_64_get_synthetic_symtab): Likewise.
1250 (elf_x86_64_link_setup_gnu_properties): Likewise.
1251 (elf_x86_64_link_hash_table): Use elf_x86_link_hash_table,
1252 instead of elf_link_hash_table, as base.
1253 (elf_x86_64_next_tls_desc_index): New.
1254 (elf_x86_64_srelplt2): Likewise.
1255 (elf_x86_64_plt): Likewise.
1256 (elf_x86_64_lazy_plt): Likewise.
1257 (elf_x86_64_non_lazy_plt): Likewise.
1258 * elfxx-x86.c: New file.
1259 * elfxx-x86.h: Likewise.
1260
823cb067
L
12612017-08-29 H.J. Lu <hongjiu.lu@intel.com>
1262
1263 * elf32-i386.c (elf_i386_get_synthetic_symtab): Simplify bad
1264 return.
1265 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
1266
37c0b6ee
L
12672017-08-29 H.J. Lu <hongjiu.lu@intel.com>
1268
1269 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check valid PLT
1270 sections before checking dynamic relocations and free invalid
1271 PLT section contents.
1272 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
1273
0fb0a767
L
12742017-08-28 H.J. Lu <hongjiu.lu@intel.com>
1275
1276 * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): Removed.
1277 * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): Likewise.
1278
90efb642
L
12792017-08-28 H.J. Lu <hongjiu.lu@intel.com>
1280
1281 PR binutils/22018
1282 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid
1283 PLT section size.
1284 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
1285
596dc58f
L
12862017-08-27 H.J. Lu <hongjiu.lu@intel.com>
1287
1288 * elf32-i386.c (elf_i386_link_hash_newfunc): Initialize
1289 def_protected.
1290 * elf64-x86-64.c (elf_x86_64_link_hash_newfunc): Likewise.
1291
a5b4ee94
L
12922017-08-26 H.J. Lu <hongjiu.lu@intel.com>
1293
1294 PR ld/21997
1295 * elf-bfd.h (elf_obj_tdata): Use ENUM_BITFIELD on object_id,
1296 dyn_lib_class and has_gnu_symbols. Change bad_symtab to bitfield.
1297 Add a has_no_copy_on_protected bitfield.
1298 (elf_has_no_copy_on_protected): New.
1299 * elf-properties.c (_bfd_elf_parse_gnu_properties): Set
1300 elf_has_no_copy_on_protected for GNU_PROPERTY_NO_COPY_ON_PROTECTED.
1301 (elf_merge_gnu_property_list): Likewise.
1302 (_bfd_elf_link_setup_gnu_properties): Set extern_protected_data
1303 to FALSE for elf_has_no_copy_on_protected.
1304 * elf32-i386.c (SYMBOL_NO_COPYRELOC): New.
1305 (elf_i386_link_hash_entry): Add def_protected.
1306 (elf_i386_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
1307 when checking info->nocopyreloc.
1308 (elf_i386_link_setup_gnu_properties): Don't set
1309 extern_protected_data here.
1310 (elf_i386_merge_symbol_attribute): New function.
1311 (elf_backend_merge_symbol_attribute): New.
1312 * elf64-x86-64.c (SYMBOL_NO_COPYRELOC): New.
1313 (elf_x86_64_link_hash_entry): Add def_protected.
1314 (elf_x86_64_need_pic): Report protected symbol for def_protected.
1315 (elf_x86_64_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
1316 when checking info->nocopyreloc.
1317 (elf_x86_64_relocate_section): Also check for R_X86_64_PC32
1318 relocation run-time overflow and unresolvable R_X86_64_32S
1319 relocation against protected data symbol defined in shared object
1320 with GNU_PROPERTY_NO_COPY_ON_PROTECTED.
1321 (elf_x86_64_link_setup_gnu_properties): Don't set
1322 extern_protected_data here.
1323 (elf_x86_64_merge_symbol_attribute): New function.
1324 (elf_backend_merge_symbol_attribute): New.
1325
7c8bbca5
AM
13262017-08-26 Alan Modra <amodra@gmail.com>
1327
1328 * elf32-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
1329 (ppc_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
1330 (ppc_elf_relocate_section): Comment fix.
1331 * elf64-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
1332 (ppc64_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
1333 Support dynamic relocs for TPREL16 when non-pic too.
1334 (dec_dynrel_count): Adjust TPREL16 handling as per check_relocs.
1335 (ppc64_elf_relocate_section): Support dynamic relocs for TPREL16
1336 when non-pic too.
1337
5fdda9d6
L
13382017-08-25 H.J. Lu <hongjiu.lu@intel.com>
1339
1340 * elf32-i386.c (elf_i386_link_hash_entry): Remove redundant
1341 "symbol" in comments.
1342 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Likewise.
1343
7073b5b9
L
13442017-08-24 H.J. Lu <hongjiu.lu@intel.com>
1345
1346 PR ld/22001
1347 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for
1348 R_X86_64_PC32 relocation run-time overflow and unresolvable
1349 R_X86_64_32S relocation with -z nocopyreloc.
1350
34bb2571
L
13512017-08-24 H.J. Lu <hongjiu.lu@intel.com>
1352
1353 * elf32-i386.c (elf_i386_check_relocs): Revert the last change.
1354 Undefined symbols may not have a type.
1355 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1356
aab921ad
L
13572017-08-23 H.J. Lu <hongjiu.lu@intel.com>
1358
1359 * elf64-x86-64.c (elf_x86_64_need_pic): Add an argument for
1360 bfd_link_info. Report shared, PIE or PDE object based on
1361 bfd_link_info.
1362 (elf_x86_64_check_relocs): Update elf_x86_64_need_pic call.
1363 (elf_x86_64_relocate_section): Likewise.
1364
b1bb697e
L
13652017-08-23 H.J. Lu <hongjiu.lu@intel.com>
1366
1367 * elf32-i386.c (elf_i386_check_relocs): Increment PLT count only
1368 for function symbols.
1369 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1370
73784fa5
L
13712017-08-23 H.J. Lu <hongjiu.lu@intel.com>
1372
1373 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set
1374 extern_protected_data to FALSE if GNU_PROPERTY_NO_COPY_ON_PROTECTED
1375 is set on any input relocatable file.
1376 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
1377
46434633
AM
13782017-08-23 Alan Modra <amodra@gmail.com>
1379
1380 PR 21988
1381 * elf64-ppc.c (ensure_undef_dynamic): Rename from
1382 ensure_undefweak_dynamic. Handle undefined too.
1383 * elf32-ppc.c (ensure_undef_dynamic): Likewise.
1384 * elf32-hppa.c (ensure_undef_dynamic): Likewise.
1385 (allocate_dynrelocs): Discard undefined non-default visibility
1386 relocs first. Make undefined syms dynamic. Tidy goto.
1387
487b6440
AM
13882017-08-21 Alan Modra <amodra@gmail.com>
1389 H.J. Lu <hongjiu.lu@intel.com>
1390
1391 PR ld/21964
1392 * elf-bfd.h (SYMBOLIC_BIND): Return TRUE for __start/__stop symbols.
1393 * elflink.c (bfd_elf_define_start_stop): Rewrite.
1394
284d826d
HPN
13952017-08-21 Hans-Peter Nilsson <hp@bitrange.com>
1396
1397 PR ld/20125
1398 * elf64-mmix.c (mmix_elf_relax_section): Correct handling of
1399 undefined weak symbols.
1400
de259397
NC
14012017-08-18 Nick Clifton <nickc@redhat.com>
1402
1403 PR binutils/21962
1404 * tekhex.c (getsym): Fix check for source pointer walking off the
1405 end of the input buffer.
1406
545bc2b3
SN
14072017-08-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
1408
1409 PR ld/18808
1410 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Skip IFUNC
1411 relocations in debug sections, change abort to _bfd_error_handler.
1412
0c54f692
NC
14132017-08-14 Nick Clifton <nickc@redhat.com>
1414
1415 PR 21957
1416 * elf.c (setup_group): Check for an empty or very small group
1417 section.
1418 * po/bfd.pot: Regenerate.
1419
79a94a2a
AM
14202017-08-14 Alan Modra <amodra@gmail.com>
1421
1422 PR 21441
1423 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't add
1424 alignment padding here.
1425 * elflink.c (bfd_elf_discard_info): Add .eh_frame padding here
1426 in a reverse pass over sections.
1427
98c5dfc9
L
14282017-08-11 H.J. Lu <hongjiu.lu@intel.com>
1429
1430 PR binutils/21943
1431 * elf32-i386.c (elf_i386_get_synthetic_symtab): Allocate space
1432 for @plt suffixes first.
1433 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
1434
24d3e51b
NC
14352017-08-08 Nick Clifton <nickc@redhat.com>
1436
1437 PR 21916
1438 * elf-attrs.c (_bfd_elf_parse_attributes): Complain about very
1439 small section lengths.
1440 * elf.c (_bfd_elf_setup_sections): Skip empty entries in the group
1441 table.
1442 (elfcore_grok_freebsd_prstatus): Add checks to make sure that
1443 there is enough data present in the note.
1444
206c9c79
AM
14452017-08-08 Alan Modra <amodra@gmail.com>
1446
1447 PR 21017
1448 * elf32-microblaze.c (microblaze_elf_check_relocs): Don't bump
1449 got.refcount for GOTOFF relocs, just create .got section.
1450
2980ccad
L
14512017-08-07 H.J. Lu <hongjiu.lu@intel.com>
1452
1453 * elflink.c (elf_link_add_object_symbols): Move common symbol
1454 check after bed->common_definition.
1455
b3293efa
AM
14562017-08-07 Alan Modra <amodra@gmail.com>
1457
1458 PR 21910
1459 * elflink.c (bfd_elf_final_link): Don't segfault when sections
1460 needed to define various dynamic tags have been discarded.
1461
b7a18930
NC
14622017-08-07 Nick Clifton <nickc@redhat.com>
1463
1464 PR 21884
1465 * elf32-i386.c (elf_i386_link_setup_gnu_properties): If the dynobj
1466 has not been set then use the bfd returned by
1467 _bfd_elf_link_setup_gnu_properties. If that is null then search
1468 through all the input bfds selecting the first normal, ELF format
1469 one.
1470 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
1471
1d4af308
L
14722017-08-06 H.J. Lu <hongjiu.lu@intel.com>
1473
1474 * elf32-i386.c (elf_i386_link_hash_entry): Change tls_get_addr
1475 to 1 bit.
1476 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 0.
1477 (elf_i386_check_tls_transition): Check tls_get_addr directly.
1478 (elf_i386_convert_load_reloc): Update tls_get_addr check.
1479 (elf_i386_link_check_relocs): New function.
1480 (bfd_elf32_bfd_link_check_relocs): New.
1481 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Change tls_get_addr
1482 to 1 bit.
1483 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 0.
1484 (elf_x86_64_check_tls_transition): Check tls_get_addr directly.
1485 (elf_x86_64_convert_load_reloc): Update tls_get_addr check.
1486 (elf_x86_64_link_check_relocs): New function.
1487 (bfd_elf64_bfd_link_check_relocs): New.
1488 (bfd_elf32_bfd_link_check_relocs): Likewise.
1489
a4819f54
L
14902017-08-06 H.J. Lu <hongjiu.lu@intel.com>
1491
1492 PR ld/21903:
1493 * elflink.c (elf_link_add_object_symbols): Treat common symbol
1494 as undefined for --no-define-common.
1495
55ef6584
AM
14962017-08-05 Alan Modra <amodra@gmail.com>
1497
1498 * elf32-hppa.c (elf32_hppa_set_gp): Don't require an
1499 hppa_link_hash_table.
1500
d84ed528
MF
15012017-08-02 Max Filippov <jcmvbkbc@gmail.com>
1502
1503 * xtensa-isa.c (xtensa_isa_init): Don't update lookup table
1504 entries for sysregs with negative indices.
1505
1ef692ea
AK
15062017-08-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1507
1508 * elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
1509 isn't the S/390 specific elf data.
1510 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1511
57593436
KLC
15122017-07-31 Kuan-Lin Chen <rufus@andestech.com>
1513
1514 * elfxx-riscv.c (riscv_elf_add_sub_reloc): New function.
1515 * (howto_table) [R_RISCV_ADD8]: Use riscv_elf_add_sub_reloc.
1516 [R_RISCV_ADD16]: Likewise.
1517 [R_RISCV_ADD32]: Likewise.
1518 [R_RISCV_ADD64]: Likewise.
1519 [R_RISCV_SUB6]: Likewise.
1520 [R_RISCV_SUB8]: Likewise.
1521 [R_RISCV_SUB16]: Likewise.
1522 [R_RISCV_SUB32]: Likewise.
1523 [R_RISCV_SUB64]: Likewise.
1524
d44c746a
AM
15252017-07-31 Alan Modra <amodra@gmail.com>
1526
1527 * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
1528 without ld.so checks.
1529
8b5f1ed8
AM
15302017-07-29 Alan Modra <amodra@gmail.com>
1531
1532 PR 21847
1533 * elf64-ppc.c (struct ppc_link_hash_entry): Add non_zero_localentry.
1534 (ppc64_elf_merge_symbol): Set non_zero_localentry.
1535 (is_elfv2_localentry0): Test non_zero_localentry.
1536 (ppc64_elf_tls_setup): Default to --no-plt-localentry.
1537
894dde0b
AK
15382017-07-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1539
1540 * elf32-s390.c (elf_s390_finish_dynamic_sections): Add NULL
1541 pointer check for htab->elf.irelplt.
1542 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1543
8bdf0be1
NC
15442017-07-27 Nick Clifton <nickc@redhat.com>
1545
1546 PR 21840
1547 * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
1548 size is -1.
1549 * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
1550 with error return.
1551 * section.c (bfd_make_section_with_flags): Fail if the name or bfd
1552 are NULL.
1553 * vms-alpha.c (bfd_make_section_with_flags): Correct computation
1554 of end pointer.
1555 (evax_bfd_print_emh): Check for invalid string lengths.
1556
c26bb067
NC
15572017-07-25 Nick Clifton <nickc@redhat.com>
1558
1559 * po/fr.po: Updated French translation.
1560
cfe7b9bd
BG
15612017-07-25 Benjamin Green <bengreen5mx@gmail.com>
1562
1563 PR 21824
1564 * elf32-msp430.c (msp430_elf_relax_section): Allow conversion of
1565 16-bit absolute branches into 10-bit pc-relative branches on the
1566 MSP430 as well as the MSP430X.
1567
d4aaa2a0
AM
15682017-07-25 Alan Modra <amodra@gmail.com>
1569
1570 * elf64-ppc.c (struct map_stub): Add tls_get_addr_opt_bctrl.
1571 (stub_eh_frame_size): New function.
1572 (ppc_size_one_stub): Set group tls_get_addr_opt_bctrl.
1573 (group_sections): Init group tls_get_addr_opt_bctrl.
1574 (ppc64_elf_size_stubs): Update sizing and initialization of
1575 .eh_frame. Iteration over stubs via group list.
1576 (ppc64_elf_build_stubs): Iterate over stubs via group list.
1577 (ppc64_elf_finish_dynamic_sections): Update finalization of
1578 .eh_frame.
1579
ca4cf9b9
NC
15802017-07-24 Nick Clifton <nickc@redhat.com>
1581
1582 PR 21813
1583 * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
1584 of the relocs to the canonicalize_one_reloc routine.
1585 * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
1586 for the _bfd_mach_o_canonicalize_one_reloc field.
1587 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
1588 res_base parameter. Use to check for corrupt pair relocs.
1589 * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
1590 Likewise.
1591 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
1592 Likewise.
1593 * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
1594 Likewise.
1595
1596 * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
1597 enough data in the record before attempting to parse it.
1598 (_bfd_vms_slurp_eeom): Likewise.
1599
1600 (_bfd_vms_slurp_egsd): Check for an invalid section index.
1601 (image_set_ptr): Likewise.
1602 (alpha_vms_slurp_relocs): Likewise.
1603
8a2df5e2
NC
1604 (alpha_vms_object_p): Check for a truncated record.
1605
47aeb64c
NC
16062017-07-24 Nick Clifton <nickc@redhat.com>
1607
1608 PR 21803
1609 * reloc.c (_bfd_unrecognized_reloc): New function. Reports
1610 an unrecognized reloc and sets the bfd_error value.
1611 * libbfd.h: Regenerate.
1612 * elf32-arm.c (elf32_arm_final_link_relocate): Use the new
1613 function.
1614 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1615 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1616 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1617 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
1618 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1619
15a3a14f
AM
16202017-07-23 Alan Modra <amodra@gmail.com>
1621
1622 * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
1623 restore of LR.
1624
f2e6a843
SN
16252017-07-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
1626
1627 PR ld/18841
1628 * elfnn-aarch64.c (elfNN_aarch64_reloc_type_class): Return
1629 reloc_class_ifunc for ifunc symbols.
1630
909e4e71
NC
16312017-07-19 Nick Clifton <nickc@redhat.com>
1632
1633 PR 21787
1634 * archive.c (bfd_generic_archive_p): If the bfd does not have the
1635 correct magic bytes at the start, set the error to wrong format
1636 and clear the format selector before returning NULL.
1637
29866fa1
NC
16382017-07-19 Nick Clifton <nickc@redhat.com>
1639
1640 PR 21786
1641 * coff-rs6000.c (_bfd_strntol): New function.
1642 (_bfd_strntoll): New function.
1643 (GET_VALUE_IN_FIELD): New macro.
1644 (EQ_VALUE_IN_FIELD): new macro.
1645 (_bfd_xcoff_slurp_armap): Use new macros.
1646 (_bfd_xcoff_archive_p): Likewise.
1647 (_bfd_xcoff_read_ar_hdr): Likewise.
1648 (_bfd_xcoff_openr_next_archived_file): Likewise.
1649 (_bfd_xcoff_stat_arch_elt): Likewise.
6c4e7b6b
NC
1650 * coff64-rs6000.c (_bfd_strntol): New function.
1651 (_bfd_strntoll): New function.
1652 (GET_VALUE_IN_FIELD): New macro.
1653 (xcoff64_slurp_armap): Use new macros.
29866fa1 1654
684d5a10
JEM
16552017-07-19 Claudiu Zissulescu <claziss@synopsys.com>
1656 John Eric Martin <John.Martin@emmicro-us.com>
1657
1658 * bfd-in2.h: Regenerate.
1659 * libbfd.h: Regenerate.
1660 * elf32-arc.c (JLI): Define.
1661 * reloc.c: Add JLI relocations.
1662
de194d85
YC
16632017-07-18 Nick Clifton <nickc@redhat.com>
1664
1665 PR 21775
1666 * coff-sh.c: Fix spelling typos.
1667 * compress.c: Likewise.
1668 * cpu-pdp11.c: Likewise.
1669 * ecofflink.c: Likewise.
1670 * elf-m10300.c: Likewise.
1671 * elf.c: Likewise.
1672 * elf32-arm.c: Likewise.
1673 * elf32-m68k.c: Likewise.
1674 * elf32-nds32.c: Likewise.
1675 * elf32-ppc.c: Likewise.
1676 * elf32-sh.c: Likewise.
1677 * elf32-v850.c: Likewise.
1678 * elf64-ppc.c: Likewise.
1679 * elf64-x86-64.c: Likewise.
1680 * elflink.c: Likewise.
1681 * elfnn-aarch64.c: Likewise.
1682 * elfxx-mips.c: Likewise.
1683 * som.c: Likewise.
1684 * sunos.c: Likewise.
1685 * vms-alpha.c: Likewise.
1686 * xcofflink.c: Likewise.
1687
e4e21d9e
NC
16882017-07-18 Nick Clifton <nickc@redhat.com>
1689
1690 PR binutils/21781
1691 * coffcode.h (handle_COMDAT): Replace abort with an error message
1692 and return.
1693
8e85f840
L
16942017-07-17 H.J. Lu <hongjiu.lu@intel.com>
1695
1696 PR ld/21782
1697 * elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check
1698 to shared library.
1699
dd57c19c
L
17002017-07-17 H.J. Lu <hongjiu.lu@intel.com>
1701
1702 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
1703
676ee2b5
AM
17042017-07-16 Alan Modra <amodra@gmail.com>
1705
1706 * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize
1707 __tls_index GOT entries when using __tls_get_addr_opt stub.
1708 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1709
429d795d
AM
17102017-07-12 Alan Modra <amodra@gmail.com>
1711
1712 * po/es.po: Update from translationproject.org/latest/bfd/.
1713 * po/fi.po: Likewise.
1714 * po/fr.po: Likewise.
1715 * po/id.po: Likewise.
1716 * po/ja.po: Likewise.
1717 * po/ro.po: Likewise.
1718 * po/ru.po: Likewise.
1719 * po/sr.po: Likewise.
1720 * po/sv.po: Likewise.
1721 * po/tr.po: Likewise.
1722 * po/uk.po: Likewise.
1723 * po/vi.po: Likewise.
1724 * po/zh_CN.po: Likewise.
1725 * po/hr.po: New file from translationproject.org.
1726 * configure.ac (ALL_LINGUAS): Add hr. Sort.
1727 * configure: Regenerate.
1728
0bae9e9e
NC
17292017-07-12 Nick Clifton <nickc@redhat.com>
1730
1731 Fix compile time warnings using gcc 7.1.1.
1732 * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
1733 plt_name buffer.
1734 (elf_xtensa_get_gotplt_section): Increase length of got_name
1735 buffer.
1736 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
1737 default return of FALSE.
1738 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
1739 default return of FALSE.
1740
d42c267e
AM
17412017-07-12 Alan Modra <amodra@gmail.com>
1742
1743 * binary.c (binary_set_section_contents): Don't print filepos in
1744 error message.
1745 (coff_write_object_contents): Cast size_t for error message.
1746 (coff_slurp_line_table): Don't use bfd_vma symndx.
1747 (coff_slurp_reloc_table): Remove unneeded cast.
1748 * dwarf2.c (read_section): Cast bfd_int64_t to long long for
1749 error message.
1750 (find_abstract_instance_name): Likewise.
1751 * elf32-arm.c (arm_type_of_stub): Correct error arg order.
1752 (bfd_elf32_arm_stm32l4xx_erratum_scan): Don't cast error arg.
1753 (elf32_arm_check_relocs): Make r_symndx an int.
1754 * elf32-cris.c (cris_elf_check_relocs): Delete extraneous %s in
1755 format string.
1756 * elf32-metag.c (elf_metag_relocate_section): Delete extra error
1757 message arg.
1758 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Rewrite bogus
1759 error message.
1760 * elf32-i386.c (elf_i386_check_relocs): Make r_symndx an int.
1761 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1762 * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
1763 * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
1764 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1765 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1766 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1767 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
1768 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
1769 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1770 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
1771 * elf64-mmix.c (_bfd_mmix_after_linker_allocation): Cast size_t args
1772 and use %lu for error message.
1773 * elflink.c (elf_link_adjust_relocs): Delete extra error message arg.
1774 * mmo.c (mmo_scan): Make stab_loc a file_ptr. Cast expression for
1775 error message.
1776
1777 * elf32-arm.c (elf32_arm_tls_relax): Correct format string and args
1778 in error message.
1779 (elf32_arm_final_link_relocate): Likewise.
1780 * coff-arm.c (bfd_arm_process_before_allocation): Likewise.
1781 * coffcode.h (styp_to_sec_flags): Likewise.
1782 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
1783 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Likewise.
1784 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
1785 * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
1786 (elf32_bfin_merge_private_bfd_data): Likewise.
1787 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1788 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
1789 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
1790 (i370_elf_relocate_section): Likewise.
1791 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
1792 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
1793 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
1794 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1795 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
1796 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
1797 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
1798 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
1799 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
1800 * ieee.c (ieee_write_id, read_id): Likewise.
1801 * mach-o.c (bfd_mach_o_write_contents): Likewise.
1802 (bfd_mach_o_layout_commands, bfd_mach_o_read_section_32): Likewise.
1803 (bfd_mach_o_read_section_64, bfd_mach_o_read_symtab_symbol): Likewise.
1804 (bfd_mach_o_read_command, bfd_mach_o_header_p): Likewise.
1805 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Likewise.
1806 * stabs.c (_bfd_link_section_stabs): Likewise.
1807
1808 * coff-arm.c (coff_arm_relocate_section): Use L modifier in error
1809 format.
1810 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
1811 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
1812 * coff-rs6000.c (xcoff_reloc_type_toc): Likewise.
1813 * coff-sh.c (sh_relax_section): Likewise.
1814 (sh_relax_delete_bytes, sh_swap_insns): Likewise.
1815 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
1816 * coffcode.h (coff_slurp_reloc_table): Likewise.
1817 * coffgen.c (_bfd_coff_get_external_symbols): Likewise.
1818 (_bfd_coff_read_string_table): Likewise.
1819 * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
1820 * compress.c (bfd_get_full_section_contents): Likewise.
1821 * dwarf2.c (read_formatted_entries, decode_line_info): Likewise.
1822 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1823 * elf.c (bfd_elf_string_from_elf_section): Likewise.
1824 * elf32-arc.c (arc_special_overflow_checks): Likewise.
1825 * elf32-arm.c (elf32_arm_tls_relax): Likewise.
1826 (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Likewise.
1827 (elf32_arm_write_section): Likewise.
1828 * elf32-bfin.c (bfin_relocate_section): Likewise.
1829 (bfinfdpic_relocate_section): Likewise.
1830 * elf32-hppa.c (hppa_build_one_stub): Likewise.
1831 (final_link_relocate, elf32_hppa_relocate_section): Likewise.
1832 * elf32-i386.c (elf_i386_tls_transition): Likewise.
1833 (elf_i386_relocate_section): Likewise.
1834 * elf32-ip2k.c (ip2k_final_link_relocate): Likewise.
1835 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1836 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1837 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1838 * elf32-metag.c (elf_metag_relocate_section): Likewise.
1839 * elf32-nds32.c (unrecognized_reloc_msg): Likewise.
1840 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2): Likewise.
1841 (nds32_elf_relax_longcall3, nds32_elf_relax_longjump1): Likewise.
1842 (nds32_elf_relax_longjump2, nds32_elf_relax_longjump3): Likewise.
1843 (nds32_elf_relax_longcall4, nds32_elf_relax_longcall5): Likewise.
1844 (nds32_elf_relax_longcall6, nds32_elf_relax_longjump4): Likewise.
1845 (nds32_elf_relax_longjump5, nds32_elf_relax_longjump6): Likewise.
1846 (nds32_elf_relax_longjump7, nds32_elf_relax_loadstore): Likewise.
1847 (nds32_elf_relax_ptr, nds32_elf_ex9_build_hash_table): Likewise.
1848 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
1849 * elf32-rx.c (UNSAFE_FOR_PID): Likewise.
1850 * elf32-s390.c (invalid_tls_insn, elf_s390_relocate_section): Likewise.
1851 * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
1852 * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
1853 * elf32-sh.c (sh_elf_relax_section): Likewise.
1854 (sh_elf_relax_delete_bytes, sh_elf_swap_insns): Likewise.
1855 (sh_elf_relocate_section): Likewise.
1856 * elf32-sh64.c (shmedia_prepare_reloc): Likewise.
1857 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1858 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1859 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1860 * elf32-v850.c (v850_elf_relax_section): Likewise.
1861 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1862 (elf_vax_relocate_section): Likewise.
1863 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1864 (extend_ebb_bounds_forward, extend_ebb_bounds_backward): Likewise.
1865 (compute_text_actions, compute_ebb_proposed_actions): Likewise.
1866 (do_fix_for_relocatable_link): Likewise.
1867 * elf64-alpha.c (elf64_alpha_relax_got_load): Likewise.
1868 (elf64_alpha_relax_with_lituse): Likewise.
1869 * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Likewise.
1870 (elf_hppa_final_link_relocate): Likewise.
1871 * elf64-ia64-vms.c (elf64_ia64_relax_section): Likewise.
1872 (elf64_ia64_choose_gp, elf64_ia64_relocate_section): Likewise.
1873 (elf64_vms_link_add_object_symbols): Likewise.
1874 * elf64-mmix.c (mmix_elf_perform_relocation): Likewise.
1875 (mmix_final_link_relocate): Likewise.
1876 * elf64-s390.c (invalid_tls_insn): Likewise.
1877 (elf_s390_relocate_section): Likewise.
1878 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1879 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
1880 (elf_x86_64_relocate_section): Likewise.
1881 * elfcode.h (elf_slurp_symbol_table): Likewise.
1882 * elfcore.h (elf_core_file_p): Likewise.
1883 * elflink.c (elf_link_read_relocs_from_section): Likewise.
1884 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
1885 (elfNN_aarch64_relocate_section): Likewise.
1886 * elfnn-ia64.c (elfNN_ia64_relax_section): Likewise.
1887 (elfNN_ia64_choose_gp, elfNN_ia64_relocate_section): Likewise.
1888 * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
1889 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1890 (_bfd_mips_elf_relocate_section): Likewise.
1891 (_bfd_mips_elf_finish_dynamic_symbol, mips_finish_exec_plt): Likewise.
1892 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1893 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1894 * ieee.c (ieee_slurp_external_symbols): Likewise.
1895 * ihex.c (ihex_write_object_content): Likewise.
1896 * mach-o.c (bfd_mach_o_build_exec_seg_command): Likewise.
1897 * merge.c (_bfd_merged_section_offset): Likewise.
1898 * mmo.c (mmo_write_loc_chunk): Likewise.
1899 (mmo_write_object_contents): Likewise.
1900 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
1901 * stabs.c (_bfd_link_section_stabs): Likewise.
1902 * xcofflink.c (xcoff_link_add_symbols, xcoff_find_tc0): Likewise.
1903
e3fbc3da
AM
19042017-07-11 Alan Modra <amodra@gmail.com>
1905
1906 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo.
1907
2c4d9cbe
AM
19082017-07-11 Alan Modra <amodra@gmail.com>
1909
1910 * elf32-ppc.c (ppc_elf_relocate_section): Emit "unexpected
1911 instruction" error using _bfd_error_handler, not einfo.
1912
adce5b39
NC
19132017-07-10 Nick Clifton <nickc@redhat.com>
1914
1915 * coffcode.h (coff_slurp_symbol_table): Do not include an entry
1916 for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.
1917
e6f3b9c3
JB
19182017-07-07 John Baldwin <jhb@FreeBSD.org>
1919
1920 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PTLWPINFO.
1921
532cc313
AM
19222017-07-07 Alan Modra <amodra@gmail.com>
1923
1924 * coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
1925
1cf9552b
AM
19262017-07-07 Alan Modra <amodra@gmail.com>
1927
1928 * bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
1929 as long long. Move code replacing "ll" with "I64", and simplify.
1930
a0b7b105
L
19312017-07-06 H.J. Lu <hongjiu.lu@intel.com>
1932
1933 * bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
1934 to 1.
1935
1d827a72
L
19362017-07-05 H.J. Lu <hongjiu.lu@intel.com>
1937
1938 * dwarf2.c (line_info_add_include_dir_stub): Replace time with
1939 xtime.
1940 (line_info_add_file_name): Likewise.
1941 (decode_line_info): Likewise.
1942
0d702cfe
TG
19432017-07-04 Tristan Gingold <gingold@adacore.com>
1944
1945 * version.m4: Bump version to 2.29.51
1946 * configure: Regenerate.
1947
564e46b7
JW
19482017-07-04 Jiong Wang <jiong.wang@arm.com>
1949
1950 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
1951 sanity check at the head of this function.
1952
0041f7df
JK
19532017-07-04 Jan Kratochvil <jan.kratochvil@redhat.com>
1954
1955 * dwarf2.c (struct dwarf2_debug): Add fields dwarf_line_str_buffer and
1956 dwarf_line_str_size.
1957 (struct attr_abbrev): Add field implicit_const.
1958 (dwarf_debug_sections): Add .debug_line_str.
1959 (enum dwarf_debug_section_enum): Add debug_line_str and debug_max.
1960 (dwarf_debug_section_assert): Add static assertion.
1961 (read_indirect_line_string): New.
1962 (read_abbrevs): Support DW_FORM_implicit_const.
1963 (is_str_attr): Support DW_FORM_line_strp.
1964 (read_attribute_value): Support DW_FORM_line_strp and
1965 DW_FORM_implicit_const.
1966 (read_attribute): Support DW_FORM_implicit_const.
1967 (line_info_add_include_dir, line_info_add_include_dir_stub):
1968 (line_info_add_file_name, read_formatted_entries): New.
1969 (decode_line_info, parse_comp_unit): Support DWARF 5.
1970 (_bfd_dwarf2_cleanup_debug_info): Free dwarf_line_str_buffer.
1971
d8cd8c1f
EB
19722017-07-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
1973
1974 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove the
1975 abort statement that was put for symbols that are not dynamic.
1976
15e6ed8c
TG
19772017-07-03 Tristan Gingold <gingold@adacore.com>
1978
1979 * po/bfd.pot: Regenerate
1980
76cfced5
AM
19812017-07-03 Alan Modra <amodra@gmail.com>
1982
1983 * bfd.c (_doprnt): Rewrite "ll" and "L" modifiers to "I64" for
1984 __MSVCRT__. Support "L" modifier for bfd_vma. Formatting.
1985 * elf.c (setup_group): Use "Lx" to print sh_size.
1986 (_bfd_elf_setup_sections): Remove unnecessary cast and print
1987 unknown section type in hex.
1988 (copy_special_section_fields): Style fix.
1989 (bfd_section_from_shdr): Correct format for sh_link. Use a
1990 common error message for all the variants of unrecognized
1991 section types.
1992 (assign_file_positions_for_load_sections): Use "Lx" for lma
1993 adjust error message.
1994 (assign_file_positions_for_non_load_sections): Formatting.
1995 (rewrite_elf_program_header): Formatting. Use "Lx" for
1996 bfd_vma values in error messages.
1997 * elfcode.h (elf_slurp_reloc_table_from_section): Cast
1998 ELF_R_SYM value to type expected by format.
1999 * elflink.c (elf_link_read_relocs_from_section): Use "Lx"
2000 in error messages.
2001 (elf_link_add_object_symbols): Use "Lu" for symbol sizes.
2002 (elf_link_input_bfd): Use "Lx" for r_info.
2003 (bfd_elf_gc_record_vtinherit): Use "Lx" for offset.
2004
ce9116fd
AM
20052017-07-03 Alan Modra <amodra@gmail.com>
2006
2007 * bfd.c (bfd_scan_vma): Don't use long long unless HAVE_LONG_LONG.
2008 * coff-rs6000.c (FMT20): Handle hosts with 64-bit long and
2009 Microsoft C library variant of long long format specifier.
2010 (PRINT20): Cast value to bfd_uint64_t not long long.
2011 * coffcode.h (coff_print_aux): Use BFD_VMA_FMT.
2012 * coff-x86_64.c (coff_amd64_reloc): Use bfd_uint64_t rather than
2013 long long. Don't cast to bfd_vma.
2014 * elf32-score.c (score3_bfd_getl48): Likewise.
2015 * vms-alpha.c (_bfd_vms_slurp_eisd): Likewise.
2016
cd9af601
AM
20172017-07-03 Alan Modra <amodra@gmail.com>
2018
2019 * elf.c (_bfd_elf_print_private_bfd_data): Use BFD_VMA_FMT to
2020 print d_tag.
2021 (bfd_elf_print_symbol): Don't cast symbol->flags.
2022 (_bfd_elf_symbol_from_bfd_symbol): Likewise.
2023 * elf32-ppc.c (ppc_elf_begin_write_processing): Correct
2024 _bfd_error_handler argument order.
2025 (ppc_elf_merge_private_bfd_data): Don't cast flags.
2026
33c734b2
AM
20272017-07-03 Alan Modra <amodra@gmail.com>
2028
2029 * configure.ac: Invoke AC_CHECK_TYPES for long long. Invoke
2030 AC_TYPE_LONG_DOUBLE.
2031 * configure: Regenerate.
2032 * config.in: Regenerate.
2033
3df5cd13
AW
20342017-06-29 Andrew Waterman <andrew@sifive.com>
2035
2036 * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Fix TLS copy
2037 relocs.
2038
ec1acaba
EB
20392017-06-29 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
2040
2041 * elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
2042 unless it is undefined weak.
2043 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
2044 relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
2045 relocation.
2046 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
2047 is not dynamic in PIC, abort.
2048
ff07562f
JW
20492017-06-29 Jiong Wang <jiong.wang@arm.com>
2050
2051 PR ld/21402
2052 * elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
2053 undefined weak symbols into dynamic.
2054 (elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
2055 relocation for non-dynamic symbols.
2056 (elfNN_aarch64_finish_dynamic_symbol): Add sanity check.
2057
2aff25ba
JW
20582017-06-29 Jiong Wang <jiong.wang@arm.com>
2059
2060 * elfnn-aarch64.c (aarch64_relocation_aginst_gp_p): New function.
2061 (elfNN_aarch64_final_link_relocate): Delete duplicated code for
2062 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
2063 BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
2064 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Optimize the
2065 support for them.
2066
88ab90e8
AA
20672017-06-29 Andreas Arnez <arnez@linux.vnet.ibm.com>
2068
2069 * elf-bfd.h (elfcore_write_s390_gs_cb): Add prototype.
2070 (elfcore_write_s390_gs_bc): Likewise.
2071 * elf.c (elfcore_grok_s390_gs_cb): New function.
2072 (elfcore_grok_s390_gs_bc): New function.
2073 (elfcore_grok_note): Call them.
2074 (elfcore_write_s390_gs_cb): New function.
2075 (elfcore_write_s390_gs_bc): New function.
2076 (elfcore_write_register_note): Call them.
2077
328ce951
L
20782017-06-28 H.J. Lu <hongjiu.lu@intel.com>
2079
2080 * libbfd.c (_bfd_generic_get_section_contents): Don't call
2081 bfd_get_file_size. Check archive element size.
2082 (_bfd_generic_get_section_contents_in_window): Likewise.
2083
47fdcf63
L
20842017-06-28 H.J. Lu <hongjiu.lu@intel.com>
2085
2086 * bfd-in2.h: Regenerated.
2087 * bfdio.c (bfd_get_size): Change return type to ufile_ptr.
2088 (bfd_get_file_size): Likewise.
2089
38bf472a
MR
20902017-06-28 Maciej W. Rozycki <macro@imgtec.com>
2091 Matthew Fortune <matthew.fortune@imgtec.com>
2092
2093 * archures.c (bfd_mach_mips_interaptiv_mr2): New macro.
2094 * cpu-mips.c (I_interaptiv_mr2): New enum value.
2095 (arch_info_struct): Add "mips:interaptiv-mr2" entry.
2096 * elfxx-mips.c (_bfd_elf_mips_mach) <E_MIPS_MACH_IAMR2>: New
2097 case.
2098 (mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
2099 (bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
2100 (print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
2101 (mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
2102 `bfd_mach_mips_interaptiv_mr2' entries.
2103 * bfd-in2.h: Regenerate.
2104
2d68166e
NC
21052017-06-27 Nick Clifton <nickc@redhat.com>
2106
2107 * tekhex.c (pass_over): Revert accidental conversion of a local
2108 array to a static array.
2109
68063779
SKS
21102017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2111
2112 PR ld/13402
2113 * elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
2114 reloc addend if necessary. Adjust diff only if
2115 shrinked_insn_address < end_address.
2116
ea9aafc4
AM
21172017-06-27 Alan Modra <amodra@gmail.com>
2118
2119 PR binutils/21665
2120 * libbfd.c (_bfd_generic_get_section_contents): Warning fix.
2121 (_bfd_generic_get_section_contents_in_window): Likewise.
2122
a6cbf936
KLC
21232017-06-26 Kuan-Lin Chen <rufus@andestech.com>
2124
2125 * elfnn-riscv.c (perform_relocation): Support the new
2126 R_RISCV_32_PCREL relocation.
2127 (riscv_elf_relocate_section): Likewise.
2128 * elfxx-riscv.c (howto_table): Likewise.
2129 (riscv_reloc_map): Likewise.
2130 * bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation.
2131 * libbfd.h: Regenerate.
2132
7211ae50
AM
21332017-06-27 Alan Modra <amodra@gmail.com>
2134
2135 PR binutils/21665
2136 * libbfd.c (_bfd_generic_get_section_contents): Delete abort.
2137 Use unsigned file pointer type, and remove cast.
2138 * libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
2139 Add "count", not "sz".
2140
ab27f80c
PA
21412017-06-26 Pedro Alves <palves@redhat.com>
2142
2143 PR binutils/21665
2144 * libbfd.c (_bfd_generic_get_section_contents): Add "count", not
2145 "sz".
2146
1f473e3d
L
21472017-06-26 H.J. Lu <hongjiu.lu@intel.com>
2148
2149 PR binutils/21665
2150 * libbfd.c (_bfd_generic_get_section_contents_in_window): Add
2151 a missing line.
2152
b417536f
MR
21532017-06-26 Maciej W. Rozycki <macro@imgtec.com>
2154
2155 * cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
2156 * elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
2157 E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
2158 (mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
2159 `bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
2160
0630b49c
L
21612017-06-26 H.J. Lu <hongjiu.lu@intel.com>
2162
2163 PR binutils/21665
2164 * compress.c (bfd_get_full_section_contents): Don't check the
2165 file size here.
2166 * libbfd.c (_bfd_generic_get_section_contents): Check for and
ea9aafc4 2167 reject a section whose size + offset is greater than the size
0630b49c
L
2168 of the entire file.
2169 (_bfd_generic_get_section_contents_in_window): Likewise.
515a4464 2170
04e15b4a
NC
21712017-06-26 Nick Clifton <nickc@redhat.com>
2172
2173 PR binutils/21670
2174 * tekhex.c (getvalue): Check for the source pointer exceeding the
2175 end pointer before the first byte is read.
2176
cfd14a50
NC
21772017-06-26 Nick Clifton <nickc@redhat.com>
2178
2179 PR binutils/21665
ea9aafc4 2180 * opncls.c (get_build_id): Check that the section is big enough
cfd14a50
NC
2181 to contain the whole note.
2182 * compress.c (bfd_get_full_section_contents): Check for and reject
ea9aafc4 2183 a section whose size is greater than the size of the entire file.
cfd14a50
NC
2184 * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
2185 contain a notes section.
2186
93ec5e23
AK
21872017-06-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2188
2189 * elf64-s390.c (elf_s390_additional_program_headers): Add NULL
2190 pointer checks.
2191 (elf_s390_modify_segment_map): Likewise.
2192 (bfd_elf_s390_set_options): Lisewise.
2193
57963c05
AM
21942017-06-26 Alan Modra <amodra@gmail.com>
2195
2196 * elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj
2197 a --just-syms bfd.
2198 (_bfd_elf_size_group_sections): Skip --just-syms bfds.
2199 (bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and
2200 .preinit_array on --just-syms bfds.
2201 (_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds.
2202 (elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise.
2203 (bfd_elf_gc_sections, bfd_elf_discard_info): Likewise.
2204
5cc4ca83
ST
22052017-06-25 Sergei Trofimovich <slyfox@gentoo.org>
2206
2207 * elf.c (find_link): Bounds check "hint".
2208
bff0500d
TP
22092017-06-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
2210
2211 * elf32-arm.c (using_thumb_only): Update list of architectures in
2212 BFD_ASSERT for which the logic is valid.
2213 (using_thumb2_bl): Likewise.
2214 (using_thumb2): Likewise and return true for ARMv8-R.
2215 (arch_has_arm_nop): Likewise.
2216 (tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch
2217 merging logic. Update commentis for value 15 of v8m_baseline,
2218 v8m_mainline and v4t_plus_v6_m arrays. Use v8r array to decide
2219 merging of value 15 of Tag_CPU_arch.
2220
4aa57d6a
JW
22212017-06-23 Jiong Wang <jiong.wang@arm.com>
2222
2223 * reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to
2224 BFD_RELOC_AARCH64_ADR_GOT_PAGE
2225 * bfd-in2.h: Regenerate.
2226
5d8763a3
L
22272017-06-22 H.J. Lu <hongjiu.lu@intel.com>
2228
2229 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move
2230 the error_alignment label forward. Properly align program
2231 property note section.
2232
e652757b
EC
22332017-06-22 Eric Christopher <echristo@gmail.com>
2234
2235 * elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
2236 abs to fix a truncation warning.
2237
84da4cf8
L
22382017-06-22 H.J. Lu <hongjiu.lu@intel.com>
2239
2240 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve
2241 local undefined weak symbol to 0.
2242 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise.
2243
48580982
L
22442017-06-22 H.J. Lu <hongjiu.lu@intel.com>
2245
2246 * elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
2247 is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
2248 (elf_i386_link_setup_gnu_properties): If info->shstk is set,
2249 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
2250 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If
2251 info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
2252 (elf_x86_64_link_setup_gnu_properties): If info->shstk is set,
2253 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
2254
ee2fdd6f
L
22552017-06-22 H.J. Lu <hongjiu.lu@intel.com>
2256
2257 * elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
2258 (elf_i386_lazy_ibt_plt_entry): Likewise.
2259 (elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
2260 (elf_i386_non_lazy_ibt_plt_entry): Likewise.
2261 (elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
2262 (elf_i386_eh_frame_lazy_ibt_plt): Likewise.
2263 (elf_i386_lazy_plt_layout): Likewise.
2264 (elf_i386_non_lazy_plt_layout): Likewise.
2265 (elf_i386_link_hash_entry): Add plt_second.
2266 (elf_i386_link_hash_table): Add plt_second and
2267 plt_second_eh_frame.
2268 (elf_i386_allocate_dynrelocs): Use the second PLT if needed.
2269 (elf_i386_size_dynamic_sections): Use .plt.got unwind info for
2270 the second PLT. Check the second PLT.
2271 (elf_i386_relocate_section): Use the second PLT to resolve
2272 PLT reference if needed.
2273 (elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
2274 needed.
2275 (elf_i386_finish_dynamic_sections): Set sh_entsize on the
2276 second PLT. Generate unwind info for the second PLT.
2277 (elf_i386_plt_type): Add plt_second.
2278 (elf_i386_get_synthetic_symtab): Support the second PLT.
2279 (elf_i386_parse_gnu_properties): Support
2280 GNU_PROPERTY_X86_FEATURE_1_AND.
2281 (elf_i386_merge_gnu_properties): Support
2282 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
2283 on GNU_PROPERTY_X86_FEATURE_1_IBT
2284 (elf_i386_link_setup_gnu_properties): If info->ibt is set,
2285 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
2286 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
2287 is set on all relocatable inputs.
2288 * elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
2289 (elf_x32_lazy_ibt_plt_entry): Likewise.
2290 (elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
2291 (elf_x32_non_lazy_ibt_plt_entry): Likewise.
2292 (elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
2293 (elf_x32_eh_frame_lazy_ibt_plt): Likewise.
2294 (elf_x86_64_lazy_ibt_plt): Likewise.
2295 (elf_x32_lazy_ibt_plt): Likewise.
2296 (elf_x86_64_non_lazy_ibt_plt): Likewise.
2297 (elf_x32_non_lazy_ibt_plt): Likewise.
2298 (elf_x86_64_get_synthetic_symtab): Support the second PLT.
2299 (elf_x86_64_parse_gnu_properties): Support
2300 GNU_PROPERTY_X86_FEATURE_1_AND.
2301 (elf_x86_64_merge_gnu_properties): Support
2302 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
2303 on GNU_PROPERTY_X86_FEATURE_1_IBT
2304 (elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
2305 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
2306 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
2307 is set on all relocatable inputs.
2308
d19237d9
NC
23092017-06-22 Nick Clifton <nickc@redhat.com>
2310
2311 PR binutils/21649
2312 * som.c (setup_sections): NUL terminate the space_strings buffer.
2313 Check that the space.name field does not index beyond the end of
2314 the space_strings buffer.
2315
6879f5a9
NC
23162017-06-21 Nick Clifton <nickc@redhat.com>
2317
2318 PR binutils/21646
2319 * coff-sh.c (sh_reloc): Check for an out of range reloc.
2320
7adc0a81
NC
23212017-06-21 Nick Clifton <nickc@redhat.com>
2322
2323 PR binutils/21639
2324 * vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as
2325 type of the size parameter.
2326 (_bfd_vms_save_counted_string): Add second parameter - the maximum
2327 length of the counted string.
2328 * vms.h (_bfd_vms_save_sized_string): Update prototype.
2329 (_bfd_vms_save_counted_string): Likewise.
2330 * vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to
2331 _bfd_vms_save_counted_string.
2332 (_bfd_vms_slurp_ehdr): Likewise.
2333 (_bfd_vms_slurp_egsd): Likewise.
2334 (Parse_module): Likewise.
2335
6e1816be
AM
23362017-06-21 Alan Modra <amodra@gmail.com>
2337
2338 * elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt
2339 calls before tocsave calls.
2340 (ppc64_elf_relocate_section): Allow localentry:0 plt calls without
2341 following nop.
2342
20bd1b6b
NC
23432017-06-21 Nick Clifton <nickc@redhat.com>
2344
2345 PR binutils/21645
2346 * reloc.c (bfd_generic_get_relocated_section_contents): Fail if
2347 bfd_get_full_section_contents returns no contents.
2348
3de58d95
NC
23492017-06-21 Nick Clifton <nickc@redhat.com>
2350
2351 PR binutils/21638
2352 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
2353 record.
2354
cb06d03a
NC
23552017-06-21 Nick Clifton <nickc@redhat.com>
2356
2357 PR binutils/21637
2358 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
2359 list.
2360 (image_set_ptr): Likewise.
2361 (alpha_vms_fix_sec_rel): Likewise.
2362 (alpha_vms_slurp_relocs): Likewise.
2363
c458d007
NC
23642017-06-21 Nick Clifton <nickc@redhat.com>
2365
2366 PR binutils/21633
2367 * ieee.c (ieee_slurp_sections): Check for a NULL return from
2368 read_id.
2369 (ieee_archive_p): Likewise.
2370 (ieee_object_p): Likewise.
2371
ce497010
NC
23722017-06-21 Nick Clifton <nickc@redhat.com>
2373
2374 PR binutils/21640
2375 * elf.c (setup_group): Zero the group section pointer list after
2376 allocation so that loops can be caught. Check for NULL pointers
2377 when processing a group list.
2378
fd52715c
AK
23792017-06-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2380
2381 * elf-s390.h: New file.
2382 * elf64-s390.c (struct elf_s390_link_hash_table): Add params
2383 field.
2384 (elf_s390_additional_program_headers): New function.
2385 (elf_s390_modify_segment_map): New function.
2386 (bfd_elf_s390_set_options): New function.
2387 (elf_backend_additional_program_headers)
2388 (elf_backend_modify_segment_map): Add macro definitions.
2389
abfa390d
L
23902017-06-19 H.J. Lu <hongjiu.lu@intel.com>
2391
2392 PR ld/21626
2393 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check
2394 the DYNAMIC bit instead of bfd_count_sections.
2395
bc21b167
NC
23962017-06-19 Nick Clifton <nickc@redhat.com>
2397
2398 PR binutils/21618
2399 * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
2400 length.
2401 (evax_bfd_print_eeom): Likewise.
2402 (evax_bfd_print_egsd): Check for an overlarge record length.
2403 (evax_bfd_print_etir): Likewise.
2404
acb56a83
NC
24052017-06-19 Nick Clifton <nickc@redhat.com>
2406
2407 PR binutils/21612
2408 * libieee.h (struct common_header_type): Add end_p field.
2409 * ieee.c (this_byte_and_next): Do not advance input_p beyond
2410 end_p.
2411 (read_id): Check for a length that exceeds the remaining bytes in
2412 the input buffer.
2413 (ieee_seek): Initialise end_p.
2414 (ieee_archive_p): Likewise.
2415 (ieee_object_p): Likewise.
2416
72e84f96
NC
24172017-06-19 Nick Clifton <nickc@redhat.com>
2418
80053e46
NC
2419 PR binutils/21611
2420 * vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
2421 before reading the EIHS structure entries.
2422
24232017-06-19 Nick Clifton <nickc@redhat.com>
2424
2425 PR binutils/21615
72e84f96
NC
2426 * vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
2427 gsd_size. Check that there are enough bytes remaining to read the
2428 type and size of the next egsd. Check that the size of the egsd
2429 does not exceed the size of the record.
2430
875ffa3e
AM
24312017-06-19 Alan Modra <amodra@gmail.com>
2432
2433 * config.bfd: Correct targ_underscore for cris.
2434
bdd32e03
AM
24352017-06-18 Alan Modra <amodra@gmail.com>
2436
2437 * config.bfd: Correct targ_underscore for epiphany, ip2k,
2438 m32c, mn10200, pru, rl78, rx, crisv32 and v850.
2439
4b48e2f6
NC
24402017-06-16 Nick Clifton <nickc@redhat.com>
2441
2442 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
2443 bucketlist is empty because there are no symbols to add to the
2444 list.
2445
7dba9362
AM
24462017-06-16 Alan Modra <amodra@gmail.com>
2447
2448 PR ld/20022
2449 PR ld/21557
2450 PR ld/21562
2451 PR ld/21571
2452 * targets.c (struct bfd_target): Add _bfd_define_start_stop.
2453 (BFD_JUMP_TABLE_LINK): Likewise.
2454 * elf-bfd.h (bfd_elf_define_start_stop): Declare.
2455 * elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
2456 (bfd_elf_define_start_stop): New function.
2457 * linker.c (bfd_generic_define_start_stop): New function.
2458 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
2459 new field.
2460 * aout-adobe.c (aout_32_bfd_define_start_stop): Define.
2461 * aout-target.h (MY_bfd_define_start_stop): Define.
2462 * aout-tic30.c (MY_bfd_define_start_stop): Define.
2463 * binary.c (binary_bfd_define_start_stop): Define.
2464 * bout.c (b_out_bfd_define_start_stop): Define.
2465 * coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
2466 * coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
2467 * coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
2468 * coffcode.h (coff_bfd_define_start_stop): Define.
2469 * elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
2470 * i386msdos.c (msdos_bfd_define_start_stop): Define.
2471 * i386os9k.c (os9k_bfd_define_start_stop): Define.
2472 * ieee.c (ieee_bfd_define_start_stop): Define.
2473 * ihex.c (ihex_bfd_define_start_stop): Define.
2474 * libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
2475 * mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
2476 * mmo.c (mmo_bfd_define_start_stop): Define.
2477 * nlm-target.h (nlm_bfd_define_start_stop): Define.
2478 * oasys.c (oasys_bfd_define_start_stop): Define.
2479 * pef.c (bfd_pef_bfd_define_start_stop): Define.
2480 * plugin.c (bfd_plugin_bfd_define_start_stop): Define.
2481 * ppcboot.c (ppcboot_bfd_define_start_stop): Define.
2482 * som.c (som_bfd_define_start_stop): Define.
2483 * srec.c (srec_bfd_define_start_stop): Define.
2484 * tekhex.c (tekhex_bfd_define_start_stop): Define.
2485 * versados.c (versados_bfd_define_start_stop): Define.
2486 * vms-alpha.c (vms_bfd_define_start_stop): Define.
2487 (alpha_vms_bfd_define_start_stop): Define.
2488 * xsym.c (bfd_sym_bfd_define_start_stop): Define.
2489 * bfd-in2.h: Regenerate.
2490 * libbfd.h: Regenerate.
2491
d68f1976
JW
24922017-06-16 Jiong Wang <jiong.wang@arm.com>
2493
2494 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
2495 SYMBOL_REFERENCES_LOCAL.
2496
6353d82b
JW
24972017-06-15 Jiong Wang <jiong.wang@arm.com>
2498
2499 PR ld/21532
2500 * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
2501 (elfNN_aarch64_final_link_relocate): Also propagate relocations to
2502 runtime for if there needs copy relocation elimination.
2503 (need_copy_relocation_p): New function. Return true for symbol with
2504 pc-relative references and if it's against read-only sections.
2505 (elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
2506 (elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
2507 that are related with accessing external objects.
2508 (elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
2509 in elfNN_aarch64_check_relocs.
2510
63634bb4
NC
25112017-06-15 Nick Clifton <nickc@redhat.com>
2512
2513 PR binutils/21582
2514 * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
2515 bugs.
62b76e4b
NC
2516 PR binutils/21581
2517 (ieee_archive_p): Likewise.
63634bb4 2518
76800cba
NC
25192017-06-15 Nick Clifton <nickc@redhat.com>
2520
2521 PR binutils/21579
2522 * vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
2523
f7e16c2a
MF
25242017-06-14 Max Filippov <jcmvbkbc@gmail.com>
2525
2526 * elf32-xtensa.c (elf_xtensa_be_plt_entry,
2527 elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
2528 keep both windowed and call0 ABI PLT definitions.
2529 (elf_xtensa_create_plt_entry): Use selected ABI to choose upper
2530 elf_xtensa_*_plt_entry endex.
2531 (ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
2532
f461bbd8
NC
25332017-06-14 Nick Clifton <nickc@redhat.com>
2534
2535 PR binutils/21578
2536 * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
2537 flag value.
2538
c53d2e6d
NC
25392017-06-14 Nick Clifton <nickc@redhat.com>
2540
2541 PR binutils/21589
2542 * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
2543 maximum value for the ascic pointer. Check that name processing
2544 does not read beyond this value.
2545 (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
2546 end of etir record.
2547
04f963fd
NC
25482017-06-14 Nick Clifton <nickc@redhat.com>
2549
2550 PR binutils/21591
2551 * versados.c (versados_mkobject): Zero the allocated tdata structure.
2552 (process_otr): Check for an invalid offset in the otr structure.
2553
319c2dbe
SH
25542017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2555
2556 * config.bfd (epiphany-*-elf): Accept epiphany-*-*.
2557
cbd0eecf
L
25582017-06-13 H.J. Lu <hongjiu.lu@intel.com>
2559
2560 PR ld/20022
2561 PR ld/21557
2562 PR ld/21562
2563 PR ld/21571
2564 * elf-bfd.h (elf_link_hash_entry): Add start_stop. Change the
2565 vtable field to a union.
2566 (_bfd_elf_is_start_stop): Removed.
2567 * elf32-i386.c (elf_i386_convert_load_reloc): Also check for
2568 __start_SECNAME and __stop_SECNAME symbols.
2569 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
2570 * elflink.c (_bfd_elf_is_start_stop): Removed.
2571 (_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
2572 _bfd_elf_is_start_stop.
2573 (elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
2574 __stop_SECNAME symbols. Updated.
2575 (elf_gc_smash_unused_vtentry_relocs): Likewise.
2576 (bfd_elf_gc_record_vtinherit): Likewise.
2577 (bfd_elf_gc_record_vtentry): Likewise.
2578
10bbbc1d
NC
25792017-06-13 Nick Clifton <nickc@redhat.com>
2580
2581 PR ld/21524
2582 * elflink.c (elf_link_adjust_relocs): Generate an error when
2583 encountering a reloc against a symbol removed by garbage
2584 collection.
2585
5c3ce2bc
L
25862017-06-12 H.J. Lu <hongjiu.lu@intel.com>
2587
2588 * elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
2589 to merge_gnu_properties.
2590 * elf-properties.c (elf_merge_gnu_properties): Add struct
2591 bfd_link_info * and pass it to merge_gnu_properties.
2592 (elf_merge_gnu_property_list): Add struct bfd_link_info *
2593 and pass it to elf_merge_gnu_properties.
2594 (_bfd_elf_link_setup_gnu_properties): Pass info to
2595 elf_merge_gnu_property_list.
2596 * elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
2597 bfd_link_info *.
2598 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
2599
9b97dfbf
AM
26002017-06-11 Joe Zbiciak <joe.zbiciak@leftturnonly.info>
2601
2602 PR 21564
2603 * binary.c (binary_set_section_contents): Scale lma by octets
2604 per byte to set filepos.
2605
e3d1d408
CM
26062017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2607
2608 * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
2609 dynamic sections.
2610
64aa8e03
CM
26112017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2612
2613 * elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
2614 require TEXTREL.
2615
a0abe743
CM
26162017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2617
2618 * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
2619 patched section contents for TLS IE reloc.
2620 * elf32-arc.c: Remove TCB_SIZE preprocessor macro.
2621
f4e6805f
CM
26222017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2623
2624 * elf32-arc.c (elf_arc_relocate_section): Added "call" to
2625 RELOC_FOR_GLOBAL_SYMBOL macro.
2626
cd640291
CM
26272018-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2628
2629 * elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
2630 changes.
2631
7ef0acc1
VG
26322017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2633
2634 * config/tc-arc.c (md_undefined_symbol): Changed.
2635 * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
2636
cc89d0b3
CM
26372017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2638
2639 * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
2640 symbols.
2641
9d5c718b
CM
26422017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2643
2644 * elf32-arc.c (elf_arc_check_relocs): Added condition to disable
2645 warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
2646
be9e3704
CM
26472017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
2648
2649 * elf32-arc.c (ADD_RELA): Changed to only work when dynamic
2650 object is created.
2651
4ec192e6
RE
26522017-06-08 Richard Earnshaw <rearnsha@arm.com>
2653
2654 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
2655 that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
2656 is non-zero. Add clarifying comments.
2657
51fa2693
L
26582017-06-08 H.J. Lu <hongjiu.lu@intel.com>
2659
2660 * elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
2661 name. Use local IFUNC symbol name string to report unsupported
2662 non-PIC call to IFUNC function.
2663 (elf_i386_relocate_section): Dump local IFUNC name with minfo
2664 when generating R_386_IRELATIVE relocation.
2665 (elf_i386_finish_dynamic_symbol): Likewise.
2666 * elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
2667 IFUNC symbol name.
2668 (elf_x86_64_relocate_section): Dump local IFUNC name with minfo
2669 when generating R_X86_64_IRELATIVE relocation.
2670 (elf_x86_64_finish_dynamic_symbol): Likewise.
2671
78e8a2ff
JM
26722017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
2673
2674 * elf.c (setup_group): Make sure BFD sections are created for all
2675 group sections in the input file when processing SHF_GROUP
2676 sections.
2677 (bfd_section_from_shdr): Avoid duplicating logic already
2678 implemented in `setup_group'.
2679
9949827b
DBR
26802017-06-06 Daniel Bonniot de Ruisselet <bonniot@gmail.com>
2681
2682 PR binutils/21546
2683 * peXXigen.c (pe_print_idata): Use the address of the first thunk
2684 if the hint address is zero.
2685
0ee3a6db
JC
26862017-06-06 James Clarke <jrtc27@jrtc27.com>
2687
2688 PR ld/19579
2689 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
2690 ELF_COMMON_DEF_P for common symbols.
2691
7bdf4127
AB
26922017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
2693
2694 * elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
2695 SEC_GROUP sections as SEC_EXCLUDE.
2696 (bfd_elf_set_group_contents): Replace use of abort with an assert.
2697 (assign_section_numbers): Use resolve_section_groups flag instead
2698 of relocatable link type.
2699 (_bfd_elf_init_private_section_data): Use resolve_section_groups
2700 flag instead of checking the final_link flag for part of the
2701 checks in here. Fix white space as a result.
2702 * elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
2703 instead of relocatable link type.
2704 (bfd_elf_final_link): Likewise.
2705
458ad2b8
JM
27062017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
2707
2708 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
2709 variable `bed'.
2710 * elf32-score.c (score_elf_final_link_relocate): Likewise.
2711 (s3_bfd_score_elf_check_relocs): Likewise.
2712 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2713 (score_elf_final_link_relocate): Likewise.
2714 (s7_bfd_score_elf_check_relocs): Likewise.
2715
fbebaf4a
JM
27162017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
2717
2718 * elflink.c (init_reloc_cookie_rels): Remove unused variable
2719 `bed'.
2720
056bafd4
MR
27212017-06-06 Maciej W. Rozycki <macro@imgtec.com>
2722
2723 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
2724 from `reloc_count' rather than decrementing it.
2725 * elf.c (bfd_section_from_shdr): Multiply the adjustment to
2726 `reloc_count' by `int_rels_per_ext_rel'.
2727 * elf32-score.c (score_elf_final_link_relocate): Do not multiply
2728 `reloc_count' by `int_rels_per_ext_rel' for last relocation
2729 entry determination.
2730 (s3_bfd_score_elf_check_relocs): Likewise.
2731 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
2732 (s7_bfd_score_elf_relocate_section): Likewise.
2733 (s7_bfd_score_elf_check_relocs): Likewise.
2734 * elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
2735 prototype and function.
2736 (mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
2737 (mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
2738 triple rather than once the sum of REL and RELA relocation entry
2739 counts.
2740 (bfd_elf64_get_reloc_upper_bound): Remove macro.
2741 * elflink.c (_bfd_elf_link_read_relocs): Do not multiply
2742 `reloc_count' by `int_rels_per_ext_rel' for internal relocation
2743 storage allocation size determination.
2744 (elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
2745 size by `int_rels_per_ext_rel'. Do not multiply `reloc_count'
2746 by `int_rels_per_ext_rel' for last relocation entry
2747 determination.
2748 (bfd_elf_final_link): Do not multiply `reloc_count' by
2749 `int_rels_per_ext_rel' for internal relocation storage
2750 allocation size determination.
2751 (init_reloc_cookie_rels): Do not multiply `reloc_count' by
2752 `int_rels_per_ext_rel' for last relocation entry determination.
2753 (elf_gc_smash_unused_vtentry_relocs): Likewise.
2754 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
2755 (_bfd_mips_elf_relocate_section): Likewise.
2756
af54f0eb
AM
27572017-06-05 Alan Modra <amodra@gmail.com>
2758
2759 PR 21529
2760 * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
2761
6cf3bf88 27622017-06-01 John Baldwin <jhb@FreeBSD.org>
b5430a3c
JB
2763
2764 * elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
2765 determine structure sizes.
2766 (elfcore_grok_freebsd_prstatus): Likewise.
2767
f378ab09
AM
27682017-06-01 Alan Modra <amodra@gmail.com>
2769
2770 * elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
2771 (ppc64_elf_merge_symbol_attribute): Merge localentry bits from
2772 dynamic objects.
2773 (is_elfv2_localentry0): New function.
2774 (ppc64_elf_tls_setup): Default params->plt_localentry0.
2775 (plt_stub_size): Adjust size for tls_get_addr_opt stub.
2776 (build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
2777 (ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
2778 optimized localentry:0 stubs.
2779 (ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
2780 (ppc64_elf_relocate_section): Leave nop unchanged for optimized
2781 localentry:0 stubs.
2782 (ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
2783 DT_PPC64_OPT.
2784 * elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
2785
8c65b54f
CS
27862017-05-30 Casey Smith <clegg89@gmail.com>
2787
2788 PR ld/21523
2789 * elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
2790 value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
2791
64984c22
AK
27922017-05-30 Anton Kolesov Anton.Kolesov@synopsys.com
2793
2794 * cpu-arc.c (arc_compatible): New function.
2795
37cd3877
AK
27962017-05-30 Anton Kolesov <anton.kolesov@synopsys.com>
2797
2798 * cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
2799
8e2f54bc
L
28002017-05-30 H.J. Lu <hongjiu.lu@intel.com>
2801
2802 PR binutils/21519
2803 * bfdio.c (bfd_get_file_size): New function.
2804 * bfd-in2.h: Regenerated.
2805
8e7f04f1 28062017-05-23 Dilian Palauzov <git-dpa@aegee.org>
2807
2808 * elf32-arc.c (arc_elf_merge_attributes): Add fall through
2809 comments.
2810
25f94347
L
28112017-05-22 H.J. Lu <hongjiu.lu@intel.com>
2812
2813 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
2814 dynobj instead of htab->elf.dynobj.
2815
e5713223
MR
28162017-05-19 Maciej W. Rozycki <macro@imgtec.com>
2817
2818 * elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
2819 and function.
2820 (mips_elf64_canonicalize_dynamic_reloc): Likewise.
2821 (mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
2822 actual number of internal relocations retrieved. Adjust
2823 function description.
2824 (bfd_elf64_canonicalize_reloc): Remove macro.
2825 (bfd_elf64_canonicalize_dynamic_reloc): Likewise.
2826
64517994
JM
28272017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
2828
2829 * archures.c (bfd_mach_sparc_v9m8): Define.
2830 (bfd_mach_sparc_v8plusm8): Likewise.
2831 (bfd_mach_sparc_v9_p): Adjust to M8.
2832 (bfd_mach_sparc_64bit_p): Likewise.
2833 * aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
2834 bfd_mach_sparc_v8plusm8.
2835 * bfd-in2.h: Regenerated.
2836 * cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
2837 sparc:v8plusm8.
2838 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
2839 bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
2840 capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
2841 SHA3.
2842 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
2843 bfd_mach_sparc_v8plusm8.
2844
eb026f09
AM
28452017-05-19 Alan Modra <amodra@gmail.com>
2846
2847 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
2848 debug and special sections when no non-note alloc sections in an
2849 object are kept.
2850
535b785f
AM
28512017-05-18 Alan Modra <amodra@gmail.com>
2852
2853 * arc-got.h: Don't compare boolean values against TRUE or FALSE.
2854 * elf-m10300.c: Likewise.
2855 * elf.c: Likewise.
2856 * elf32-arc.c: Likewise.
2857 * elf32-bfin.c: Likewise.
2858 * elf32-m68k.c: Likewise.
2859 * elf32-nds32.c: Likewise.
2860 * elf32-tilepro.c: Likewise.
2861 * elflink.c: Likewise.
2862 * elfnn-aarch64.c: Likewise.
2863 * elfnn-riscv.c: Likewise.
2864 * elfxx-tilegx.c: Likewise.
2865 * mach-o.c: Likewise.
2866 * peXXigen.c: Likewise.
2867 * vms-alpha.c: Likewise.
2868 * vms-lib.c: Likewise.
2869
b7c871ed
L
28702017-05-17 H.J. Lu <hongjiu.lu@intel.com>
2871
2872 PR ld/20882
2873 * elflink.c (elf_gc_mark_debug_section): New function.
2874 (_bfd_elf_gc_mark_extra_sections): Mark any debug sections
2875 referenced by kept debug sections.
2876
bc4e12de
AM
28772017-05-16 Alan Modra <amodra@gmail.com>
2878
2879 * elf-m10300.c: Rename occurrences of non_ir_ref.
2880 * elf32-arm.c: Likewise.
2881 * elf32-bfin.c: Likewise.
2882 * elf32-cr16.c: Likewise.
2883 * elf32-cris.c: Likewise.
2884 * elf32-d10v.c: Likewise.
2885 * elf32-dlx.c: Likewise.
2886 * elf32-fr30.c: Likewise.
2887 * elf32-frv.c: Likewise.
2888 * elf32-hppa.c: Likewise.
2889 * elf32-i370.c: Likewise.
2890 * elf32-i386.c: Likewise.
2891 * elf32-iq2000.c: Likewise.
2892 * elf32-lm32.c: Likewise.
2893 * elf32-m32c.c: Likewise.
2894 * elf32-m32r.c: Likewise.
2895 * elf32-m68hc1x.c: Likewise.
2896 * elf32-m68k.c: Likewise.
2897 * elf32-mcore.c: Likewise.
2898 * elf32-metag.c: Likewise.
2899 * elf32-microblaze.c: Likewise.
2900 * elf32-moxie.c: Likewise.
2901 * elf32-msp430.c: Likewise.
2902 * elf32-mt.c: Likewise.
2903 * elf32-nios2.c: Likewise.
2904 * elf32-or1k.c: Likewise.
2905 * elf32-ppc.c: Likewise.
2906 * elf32-rl78.c: Likewise.
2907 * elf32-s390.c: Likewise.
2908 * elf32-score.c: Likewise.
2909 * elf32-score7.c: Likewise.
2910 * elf32-sh.c: Likewise.
2911 * elf32-tic6x.c: Likewise.
2912 * elf32-tilepro.c: Likewise.
2913 * elf32-v850.c: Likewise.
2914 * elf32-vax.c: Likewise.
2915 * elf32-xstormy16.c: Likewise.
2916 * elf32-xtensa.c: Likewise.
2917 * elf64-alpha.c: Likewise.
2918 * elf64-hppa.c: Likewise.
2919 * elf64-ia64-vms.c: Likewise.
2920 * elf64-mmix.c: Likewise.
2921 * elf64-ppc.c: Likewise.
2922 * elf64-s390.c: Likewise.
2923 * elf64-sh64.c: Likewise.
2924 * elf64-x86-64.c: Likewise.
2925 * elflink.c: Likewise.
2926 * elfnn-aarch64.c: Likewise.
2927 * elfnn-ia64.c: Likewise.
2928 * elfnn-riscv.c: Likewise.
2929 * elfxx-mips.c: Likewise.
2930 * elfxx-sparc.c: Likewise.
2931 * elfxx-tilegx.c: Likewise.
2932 * linker.c: Likewise.
2933
4070765b
AM
29342017-05-16 Alan Modra <amodra@gmail.com>
2935
2936 * elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
2937 * elflink.c (elf_link_add_object_symbols): Update to use
2938 non_ir_ref_dynamic.
2939 (elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
2940 non_ir_ref.
2941 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
2942
25499ac7
MR
29432017-05-15 Maciej W. Rozycki <macro@imgtec.com>
2944
2945 * elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
2946
73caa85d
L
29472017-05-12 H.J. Lu <hongjiu.lu@intel.com>
2948
2949 * elf32-i386.c (elf_i386_parse_gnu_properties): Merge
2950 GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
2951 properties.
2952 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2953
f2c29a16
L
29542017-05-11 H.J. Lu <hongjiu.lu@intel.com>
2955
2956 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Rename plt_bnd
2957 to plt_second.
2958 (elf_x86_64_link_hash_table): Rename plt_bnd/plt_bnd_eh_frame
2959 to plt_second/plt_second_eh_frame.
2960 (elf_x86_64_link_hash_newfunc): Updated.
2961 (elf_x86_64_allocate_dynrelocs): Likewise.
2962 (elf_x86_64_size_dynamic_sections): Likewise.
2963 (elf_x86_64_relocate_section): Likewise.
2964 (elf_x86_64_finish_dynamic_symbol): Likewise.
2965 (elf_x86_64_finish_dynamic_sections): Likewise.
2966 (elf_x86_64_plt_type): Rename plt_bnd to plt_second.
2967 (elf_x86_64_get_synthetic_symtab): Updated. Also scan the
2968 .plt.sec section.
2969 (elf_backend_setup_gnu_properties): Updated. Create the
2970 .plt.sec section instead of the .plt.sec section.
2971
dc2be3d2
L
29722017-05-11 H.J. Lu <hongjiu.lu@intel.com>
2973
2974 * elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
2975 commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
2976 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.
2977
db84b98a
JM
29782017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
2979
2980 * elf64-sparc.c (elf64_sparc_set_reloc): New function.
2981 (bfd_elf64_set_reloc): Define.
2982 (elf64_sparc_write_relocs): Use `canon_reloc_count'.
2983
23186865
JM
29842017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
2985
2986 * targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
2987 (struct bfd_target): New field _bfd_set_reloc.
2988 * bfd.c (bfd_set_reloc): Call backend _set_bfd.
2989 * reloc.c (_bfd_generic_set_reloc): New function.
2990 * coffcode.h (coff_set_reloc): Define to _bfd_generic_set_reloc.
2991 * nlm-target.h (nlm_set_reloc): Likewise.
2992 * coff-rs6000.c (_bfd_xcoff_set_reloc): Likewise.
2993 * aout-tic30.c (MY_set_reloc): Likewise.
2994 * aout-target.h (MY_set_reloc): Likewise.
2995 * elfxx-target.h (bfd_elfNN_set_reloc): Likewise.
2996 * coff-alpha.c (_bfd_ecoff_set_reloc): Likewise.
2997 * mach-o-target.c (bfd_mach_o_set_reloc): Likewise.
2998 * vms-alpha.c (alpha_vms_set_reloc): Likewise.
2999 * aout-adobe.c (aout_32_set_reloc): Likewise.
3000 * bout.c (b_out_set_reloc): Likewise.
3001 * coff-mips.c (_bfd_ecoff_set_reloc): Likewise.
3002 * i386os9k.c (aout_32_set_reloc): Likewise.
3003 * ieee.c (ieee_set_reloc): Likewise.
3004 * oasys.c (oasys_set_reloc): Likewise.
3005 * som.c (som_set_reloc): Likewise.
3006 * versados.c (versados_set_reloc): Likewise.
3007 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
3008 _bfd_generic_set_reloc.
3009 (rs6000_xcoff64_aix_vec): LIkewise.
3010 * libbfd.c (_bfd_norelocs_set_reloc): New function.
3011 * libbfd-in.h: Prototype for _bfd_norelocs_set_reloc.
3012 * i386msdos.c (msdos_set_reloc): Define to
3013 _bfd_norelocs_set_reloc.
3014 * elfcode.h (elf_set_reloc): Define.
3015 * bfd-in2.h: Regenerated.
3016
aab82f4c
L
30172017-05-10 H.J. Lu <hongjiu.lu@intel.com>
3018
3019 PR ld/21481
3020 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Use .plt.bnd
3021 for IFUNC function address.
3022
53a346d8
CZ
30232017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
3024
3025 * elf32-arc.c (FEATURE_LIST_NAME): Define.
3026 (CONFLICT_LIST): Likewise.
3027 (opcode/arc-attrs.h): Include.
3028 (arc_elf_print_private_bfd_data): Print OSABI v4 flag.
3029 (arc_extract_features): New file.
3030 (arc_stralloc): Likewise.
3031 (arc_elf_merge_attributes): Likewise.
3032 (arc_elf_merge_private_bfd_data): Use object attributes.
3033 (bfd_arc_get_mach_from_attributes): New function.
3034 (arc_elf_object_p): Use object attributes.
3035 (arc_elf_final_write_processing): Likewise.
3036 (elf32_arc_obj_attrs_arg_type): New function.
3037 (elf32_arc_obj_attrs_handle_unknown): Likewise.
3038 (elf32_arc_section_from_shdr): Likewise.
3039 (elf_backend_obj_attrs_vendor): Define.
3040 (elf_backend_obj_attrs_section): Likewise.
3041 (elf_backend_obj_attrs_arg_type): Likewise.
3042 (elf_backend_obj_attrs_section_type): Likewise.
3043 (elf_backend_obj_attrs_handle_unknown): Likewise.
3044 (elf_backend_section_from_shdr): Likewise.
3045
e645cf40
AG
30462017-05-09 Andrew Goedhart <Andrewgoedhart@simplepowersolutions.co.za>
3047
3048 PR ld/21458
3049 * elf32-arm.c (elf32_arm_final_link_relocate): Set the bottom bit
3050 of the value when resolving a R_ARM_THM_ALU_PREL_11_0 relocation
3051 and the destination is a Thumb symbol.
3052
dd9e66ee
L
30532017-05-08 H.J. Lu <hongjiu.lu@intel.com>
3054
3055 * elf32-i386.c (elf_i386_get_synthetic_symtab): Add missing
3056 initializer to silence GCC 4.2.
3057 * lf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
3058
38b12349
L
30592017-05-08 H.J. Lu <hongjiu.lu@intel.com>
3060
3061 * elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
3062 (LAZY_PLT_ENTRY_SIZE): This.
3063 (NON_LAZY_PLT_ENTRY_SIZE): New.
3064 (elf_x86_64_plt0_entry): Renamed to ...
3065 (elf_x86_64_lazy_plt0_entry): This.
3066 (elf_x86_64_plt_entry): Renamed to ...
3067 (elf_x86_64_lazy_plt_entry): This.
3068 (elf_x86_64_bnd_plt0_entry): Renamed to ...
3069 (elf_x86_64_lazy_bnd_plt0_entry): This.
3070 (elf_x86_64_legacy_plt_entry): Removed.
3071 (elf_x86_64_bnd_plt_entry): Renamed to ...
3072 (elf_x86_64_lazy_bnd_plt_entry): This.
3073 (elf_x86_64_legacy_plt2_entry): Renamed to ...
3074 (elf_x86_64_non_lazy_plt_entry): This.
3075 (elf_x86_64_bnd_plt2_entry): Renamed to ...
3076 (elf_x86_64_non_lazy_bnd_plt_entry): This.
3077 (elf_x86_64_eh_frame_plt): Renamed to ...
3078 (elf_x86_64_eh_frame_lazy_plt): This.
3079 (elf_x86_64_eh_frame_bnd_plt): Renamed to ...
3080 (elf_x86_64_eh_frame_lazy_bnd_plt): This.
3081 (elf_x86_64_eh_frame_plt_got): Renamed to ...
3082 (elf_x86_64_eh_frame_non_lazy_plt): This.
3083 (elf_x86_64_lazy_plt_layout): New.
3084 (elf_x86_64_non_lazy_plt_layout): Likewise.
3085 (elf_x86_64_plt_layout): Likewise.
3086 (elf_x86_64_backend_data): Remove PLT layout information. Add
3087 os for target system.
3088 (GET_PLT_ENTRY_SIZE): Removed.
3089 (elf_x86_64_lazy_plt): New.
3090 (elf_x86_64_non_lazy_plt): Likewise.
3091 (elf_x86_64_lazy_bnd_plt): Likewise.
3092 (elf_x86_64_non_lazy_bnd_plt): Likewise.
3093 (elf_x86-64_arch_bed): Updated.
3094 (elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
3095 (elf_x86_64_create_dynamic_sections): Removed.
3096 (elf_x86_64_check_relocs): Don't check elf.dynobj. Don't call
3097 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
3098 (elf_x86-64_adjust_dynamic_symbol): Updated.
3099 (elf_x86_64_allocate_dynrelocs): Updated. Pass 0 as PLT header
3100 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
3101 size for PLT0 if there is no PLT0. Get plt_entry_size from
3102 non_lazy_plt for non-lazy PLT entries.
3103 (elf_x86_64_size_dynamic_sections): Updated. Get plt_entry_size
3104 from non_lazy_plt for non-lazy PLT entries.
3105 (elf_x86-64_relocate_section): Updated. Properly get PLT index
3106 if there is no PLT0.
3107 (elf_x86_64_finish_dynamic_symbol): Updated. Fill the first slot
3108 in the PLT entry with generic PLT layout. Fill the non-lazy PLT
3109 entries with non-lazy PLT layout. Don't fill the second and third
3110 slots in the PLT entry if there is no PLT0.
3111 (elf_x86_64_finish_dynamic_sections): Updated. Don't fill PLT0
3112 if there is no PLT0. Set sh_entsize on the .plt.got section.
3113 (compare_relocs): New.
3114 (elf_x86_64_plt_type): Likewise.
3115 (elf_x86_64_plt): Likewise.
3116 (elf_x86_64_nacl_plt): New. Forward declaration.
3117 (elf_x86_64_get_plt_sym_val): Removed.
3118 (elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
3119 against all dynamic relocations.
3120 (elf_x86_64_link_setup_gnu_properties): New function.
3121 (elf_backend_create_dynamic_sections): Updated.
3122 (elf_backend_setup_gnu_properties): New.
3123 (elf_x86_64_nacl_plt): New.
3124 (elf_x86_64_nacl_arch_bed): Updated.
3125
f604c2a2
L
31262017-05-08 H.J. Lu <hongjiu.lu@intel.com>
3127
3128 * elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
3129 (LAZY_PLT_ENTRY_SIZE): This.
3130 (NON_LAZY_PLT_ENTRY_SIZE): New.
3131 (elf_i386_plt0_entry): Renamed to ...
3132 (elf_i386_lazy_plt0_entry): This.
3133 (elf_i386_plt_entry): Renamed to ...
3134 (elf_i386_lazy_plt_entry): This.
3135 (elf_i386_pic_plt0_entry): Renamed to ...
3136 (elf_i386_pic_lazy_plt0_entry): This.
3137 (elf_i386_pic_plt_entry): Renamed to ...
3138 (elf_i386_pic_lazy_plt_entry): This.
3139 (elf_i386_got_plt_entry): Renamed to ...
3140 (elf_i386_non_lazy_plt_entry): This.
3141 (elf_i386_pic_got_plt_entry): Renamed to ...
3142 (elf_i386_pic_non_lazy_plt_entry): This.
3143 (elf_i386_eh_frame_plt): Renamed to ...
3144 (elf_i386_eh_frame_lazy_plt): This.
3145 (elf_i386_eh_frame_plt_got): Renamed to ...
3146 (elf_i386_eh_frame_non_lazy_plt): This.
3147 (elf_i386_plt_layout): Renamed to ...
3148 (elf_i386_lazy_plt_layout): This. Remove eh_frame_plt_got and
3149 eh_frame_plt_got_size.
3150 (elf_i386_non_lazy_plt_layout): New.
3151 (elf_i386_plt_layout): Likewise.
3152 (elf_i386_non_lazy_plt): Likewise.
3153 (GET_PLT_ENTRY_SIZE): Removed.
3154 (elf_i386_plt): Renamed to ...
3155 (elf_i386_lazy_plt): This.
3156 (elf_i386_backend_data): Remove plt. Rename is_vxworks to os.
3157 (elf_i386_arch_bed): Updated.
3158 (elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
3159 (elf_i386_create_dynamic_sections): Removed.
3160 (elf_i386_check_relocs): Don't check elf.dynobj. Don't call
3161 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
3162 (elf_i386_adjust_dynamic_symbol): Updated.
3163 (elf_i386_allocate_dynrelocs): Updated. Pass 0 as PLT header
3164 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
3165 size for PLT0 if there is no PLT0.
3166 (elf_i386_size_dynamic_sections): Updated. Check whether GOT
3167 output section is discarded only if GOT isn't empty.
3168 (elf_i386_relocate_section): Updated. Properly get PLT index
3169 if there is no PLT0.
3170 (elf_i386_finish_dynamic_symbol): Updated. Don't fill the
3171 second and third slots in the PLT entry if there is no PLT0.
3172 (elf_i386_finish_dynamic_sections): Updated. Don't fill PLT0
3173 if there is no PLT0. Set sh_entsize on the .plt.got section.
3174 (elf_i386_nacl_plt): Forward declaration.
3175 (elf_i386_get_plt_sym_val): Removed.
3176 (elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
3177 against all dynamic relocations.
3178 (elf_i386_link_setup_gnu_properties): New function.
3179 (elf_backend_create_dynamic_sections): Updated.
3180 (elf_backend_setup_gnu_properties): New.
3181 (elf_i386_nacl_plt): Updated.
3182 (elf_i386_nacl_arch_bed): Likewise.
3183 (elf_i386_vxworks_arch_bed): Likewise.
3184
046734ff
TP
31852017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
3186
3187 * elflink.c (elf_output_implib): Remove executable flag from import
3188 library bfd.
3189 * elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import
3190 library is a relocatable object file.
3191
b660e9eb
SKS
31922017-05-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3193
3194 PR ld/21404
3195 * elf32-avr.c (avr_should_move_sym): New function.
3196 (avr_should_reduce_sym_size): Likewise.
3197 (avr_should_increase_sym_size): Likewise.
3198 (elf32_avr_relax_delete_bytes): Adjust symbol values
3199 and sizes by calling new functions.
3200
763a5fa4
PD
32012017-05-01 Palmer Dabbelt <palmer@dabbelt.com>
3202
3203 * config.bfd (riscv32-*): Enable rv64.
3204
73ec947d
AM
32052017-05-02 Alan Modra <amodra@gmail.com>
3206
3207 PR 21384
3208 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
3209 rather than h->root.type == bfd_link_hash_new.
3210 (bfd_elf_record_link_assignment): Similarly, call
3211 bfd_elf_link_mark_dynamic_symbol when h->non_elf.
3212
a941291c
AM
32132017-04-29 Alan Modra <amodra@gmail.com>
3214
3215 PR 21432
3216 * reloc.c (reloc_offset_in_range): New function.
3217 (bfd_perform_relocation, bfd_install_relocation): Use it.
3218 (_bfd_final_link_relocate): Likewise.
3219
750eaa47
L
32202017-04-28 H.J. Lu <hongjiu.lu@intel.com>
3221
3222 * elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
3223 before using .plt.got.
3224 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3225
5b66fac4
L
32262017-04-27 H.J. Lu <hongjiu.lu@intel.com>
3227
3228 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
3229 instead of "+=" to update 0.
3230
de9a3c42
L
32312017-04-27 H.J. Lu <hongjiu.lu@intel.com>
3232
3233 * elf32-i386.c (elf_i386_create_dynamic_sections): Create the
3234 .plt.got section here.
3235 (elf_i386_check_relocs): Don't create the .plt.got section.
3236 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
3237 the .plt.got and .plt.bnd sections here.
3238 (elf_x86_64_check_relocs): Don't create the .plt.got nor
3239 .plt.bnd sections.
3240
da3d25af
L
32412017-04-27 H.J. Lu <hongjiu.lu@intel.com>
3242
3243 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
3244 has_bnd_reloc.
3245 (elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
3246 (elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
3247 (elf_x86_64_check_relocs): Don't set has_bnd_reloc.
3248 (elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
3249 has_bnd_reloc.
3250
fba37edd
L
32512017-04-27 H.J. Lu <hongjiu.lu@intel.com>
3252
3253 * elf-bfd.h (elf_backend_data): Change setup_gnu_properties
3254 to return bfd *.
3255 (_bfd_elf_link_setup_gnu_properties): Return bfd *.
3256 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
3257 the first relocatable ELF input with GNU properties.
3258
1f78f649
L
32592017-04-27 H.J. Lu <hongjiu.lu@intel.com>
3260
3261 * elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
3262 VxWorks for non-PIC.
3263
76c20d54
AM
32642017-04-27 Alan Modra <amodra@gmail.com>
3265
3266 * elf-bfd.h (struct elf_backend_data): Make asection param of
3267 elf_backend_eh_frame_address_size const.
3268 (_bfd_elf_eh_frame_address_size): Likewise.
3269 * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
3270 * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
3271 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
3272 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
3273 * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
3274 (next_cie_fde_offset): Constify params.
3275 (offset_adjust, adjust_eh_frame_local_symbols): Likewise.
3276
d7153c4a
AM
32772017-04-27 Alan Modra <amodra@gmail.com>
3278
3279 * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
3280 (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
3281 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
3282 aug_data_len.
3283 (offset_adjust): New function.
3284 (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
3285 (adjust_eh_frame_local_symbols): Likewise.
3286 (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
3287 after changing anything. Return true if anything changed.
3288 * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
3289 _bfd_elf_adjust_eh_frame_global_symbol for globals.
3290
641338d8
AM
32912017-04-27 Alan Modra <amodra@gmail.com>
3292
3293 * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
3294 when force_local.
3295
21d68fcd
AM
32962017-04-27 Alan Modra <amodra@gmail.com>
3297
3298 * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
3299 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
3300 (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
3301 (ppc_elf_relocate_section): Likewise. Delete silly optimisation
3302 for undef and undefweak dyn_relocs.
3303 * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
3304 (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
3305 (allocate_got, allocate_dynrelocs): Likewise.
3306 (ppc64_elf_relocate_section): Likewise.
3307
97d343d4
L
33082017-04-26 H.J. Lu <hongjiu.lu@intel.com>
3309
3310 * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
3311 DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
3312 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
3313 add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
3314
04b31182
NC
33152017-04-26 Nick Clifton <nickc@redhat.com>
3316
3317 PR binutils/21434
3318 * reloc.c (bfd_perform_relocation): Check for a negative address
3319 in the reloc.
3320
23ec1e32
MR
33212017-04-26 Maciej W. Rozycki <macro@imgtec.com>
3322
3323 PR ld/21334
3324 * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
3325 member.
3326 * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
3327 (elf_backend_always_renumber_dynsyms): Define.
3328 (elfNN_bed): Initialize `always_renumber_dynsyms' member.
3329 * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
3330 * elflink.c (bfd_elf_size_dynamic_sections): Also call
3331 `_bfd_elf_link_renumber_dynsyms' if the backend has requested
3332 it.
3333 (bfd_elf_size_dynsym_hash_dynstr): Likewise.
3334
c46cec3a
MR
33352017-04-26 Maciej W. Rozycki <macro@imgtec.com>
3336
3337 * elflink.c (bfd_elf_size_dynamic_sections): Only call
3338 `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
3339 sections have been created.
3340
e63d1232
NC
33412017-04-26 Nick Clifton <nickc@redhat.com>
3342
3343 PR binutils/21431
3344 * compress.c (bfd_init_section_compress_status): Check the return
3345 value from bfd_malloc.
3346
9e9821dd
L
33472017-04-24 H.J. Lu <hongjiu.lu@intel.com>
3348
3349 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
3350 no_finish_dynamic_symbol.
3351 (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
3352 0.
3353 (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
3354 weak symbol, don't make it dynamic.
3355 (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
3356 set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
3357 relocation for GOT reference.
3358 (elf_x86_64_finish_dynamic_symbol): Abort if
3359 no_finish_dynamic_symbol isn't 0.
3360
0dc9a308
L
33612017-04-24 H.J. Lu <hongjiu.lu@intel.com>
3362
3363 PR ld/21402
3364 * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
3365 undefined weak symbol, don't make it dynamic.
3366 (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
3367 set no_finish_dynamic_symbol and generate R_386_RELATIVE
3368 relocation for R_386_GOT32.
3369
1587442d
L
33702017-04-24 H.J. Lu <hongjiu.lu@intel.com>
3371
3372 PR ld/21425
3373 * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
3374
7eacd66b
AM
33752017-04-23 Alan Modra <amodra@gmail.com>
3376
3377 PR 21414
3378 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
3379 * elf.c (lcomm_sym): New.
3380 (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
3381 * bfd-in2.h: Regenerate.
3382
bce964aa
AM
33832017-04-23 Alan Modra <amodra@gmail.com>
3384
3385 PR 21412
3386 * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
3387 parameters and comment.
3388 (_bfd_elf_get_reloc_section): Delete.
3389 (_bfd_elf_plt_get_reloc_section): Declare.
3390 * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
3391 New functions. Don't blindly skip over assumed .rel/.rela prefix.
3392 Extracted from..
3393 (_bfd_elf_get_reloc_section): ..here. Delete.
3394 (assign_section_numbers): Call elf_get_reloc_section.
3395 * elf64-ppc.c (elf_backend_get_reloc_section): Define.
3396 * elfxx-target.h (elf_backend_get_reloc_section): Update.
3397
97e83a10
AM
33982017-04-23 Alan Modra <amodra@gmail.com>
3399
3400 PR 21409
3401 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
3402 no symbols.
3403
e133d005
L
34042017-04-21 H.J. Lu <hongjiu.lu@intel.com>
3405
3406 PR ld/21402
3407 * elf32-i386.c (elf_i386_link_hash_entry): Add
3408 no_finish_dynamic_symbol.
3409 (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
3410 (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
3411 symbol, don't make it dynamic in PIE.
3412 (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
3413 set no_finish_dynamic_symbol and generate R_386_RELATIVE
3414 relocation for R_386_GOT32
3415 (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
3416 isn't 0.
3417
3c5fce9b
L
34182017-04-21 H.J. Lu <hongjiu.lu@intel.com>
3419
3420 PR ld/19617
3421 PR ld/21086
3422 * elflink.c (elf_link_add_object_symbols): Require
3423 --no-dynamic-linker with -E/--dynamic-list when creating
3424 dynamic sections.
3425
0fad2956
MR
34262017-04-20 Maciej W. Rozycki <macro@imgtec.com>
3427
3428 * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
3429 if forced local.
3430
64575f78
MR
34312017-04-20 Maciej W. Rozycki <macro@imgtec.com>
3432
3433 * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
3434 dynamic symbol sorting.
3435
59fa66c5
L
34362017-04-20 H.J. Lu <hongjiu.lu@intel.com>
3437
3438 PR ld/21382
3439 * elflink.c (elf_link_add_object_symbols): Preserve
3440 dynamic_ref_after_ir_def when restoring the symbol table for
3441 unneeded dynamic object.
3442
e492d2f8
L
34432017-04-19 H.J. Lu <hongjiu.lu@intel.com>
3444
3445 PR ld/21401
3446 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
3447 on on undefined IFUNC symbol in the second PLT.
3448
10169134
WAF
34492017-04-19 Wedson Almeida Filho <wedsonaf@gmail.com>
3450
3451 * peXXigen.c (pe_print_reloc): Correct chunk_end.
3452
954b63d4
AM
34532017-04-19 Alan Modra <amodra@gmail.com>
3454
3455 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
3456 or make dynamic for info->dynamic_undefined_weak 0 and 1.
3457 * elf32-ppc.c:Formatting.
3458 (ensure_undefweak_dynamic): Don't make dynamic when
3459 info->dynamic_undefined_weak is zero.
3460 (allocate_dynrelocs): Discard undefweak dyn_relocs for
3461 info->dynamic_undefined_weak. Discard undef dyn_relocs when
3462 not default visibility. Discard undef and undefweak
3463 dyn_relocs earlier.
3464 (ppc_elf_relocate_section): Adjust to suit.
3465 * elf64-ppc.c: Formatting.
3466 (ensure_undefweak_dynamic): Don't make dynamic when
3467 info->dynamic_undefined_weak is zero.
3468 (allocate_dynrelocs): Discard undefweak dyn_relocs for
3469 info->dynamic_undefined_weak. Discard them earlier.
3470
e6699019
L
34712017-04-17 H.J. Lu <hongjiu.lu@intel.com>
3472
3473 PR ld/21389
3474 * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
3475 before generating the version definition section.
3476
c5d37467
AM
34772017-04-17 Alan Modra <amodra@gmail.com>
3478
3479 * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
3480 state when a regular object file defines a symbol with
3481 incompatible type to that defined by an earlier shared lib.
3482
63a5468a
AM
34832017-04-13 Alan Modra <amodra@gmail.com>
3484
3485 * coffcode.h: Wrap some overly long _bfd_error_handler args.
3486 * elf.c: Likewise.
3487 * elf32-arm.c: Likewise.
3488 * elf32-i386.c: Likewise.
3489 * elf32-mep.c: Likewise.
3490 * elf64-ia64-vms.c: Likewise.
3491 * elf64-x86-64.c: Likewise.
3492 * elflink.c: Likewise.
3493 * elfnn-ia64.c: Likewise.
3494 * elfxx-mips.c: Likewise.
3495
dae82561
AM
34962017-04-13 Alan Modra <amodra@gmail.com>
3497
3498 * aoutx.h: Use %B and %A in error messages throughout file.
3499 * aout-cris.c: Likewise.
3500 * archive.c: Likewise.
3501 * binary.c: Likewise.
3502 * coff-rs6000.c: Likewise.
3503 * coff-tic4x.c: Likewise.
3504 * coffcode.h: Likewise.
3505 * coffgen.c: Likewise.
3506 * cofflink.c: Likewise.
3507 * coffswap.h: Likewise.
3508 * cpu-arm.c: Likewise.
3509 * elf-eh-frame.c: Likewise.
3510 * elf-m10300.c: Likewise.
3511 * elf.c: Likewise.
3512 * elf32-arc.c: Likewise.
3513 * elf32-arm.c: Likewise.
3514 * elf32-bfin.c: Likewise.
3515 * elf32-frv.c: Likewise.
3516 * elf32-iq2000.c: Likewise.
3517 * elf32-m32c.c: Likewise.
3518 * elf32-microblaze.c: Likewise.
3519 * elf32-nds32.c: Likewise.
3520 * elf32-rl78.c: Likewise.
3521 * elf32-rx.c: Likewise.
3522 * elf32-score.c: Likewise.
3523 * elf32-score7.c: Likewise.
3524 * elf32-sh64.c: Likewise.
3525 * elf32-v850.c: Likewise.
3526 * elf32-vax.c: Likewise.
3527 * elf32-visium.c: Likewise.
3528 * elf64-ia64-vms.c: Likewise.
3529 * elf64-mmix.c: Likewise.
3530 * elf64-sh64.c: Likewise.
3531 * elfcode.h: Likewise.
3532 * elfnn-aarch64.c: Likewise.
3533 * elfnn-ia64.c: Likewise.
3534 * elfxx-mips.c: Likewise.
3535 * hpux-core.c: Likewise.
3536 * ieee.c: Likewise.
3537 * ihex.c: Likewise.
3538 * linker.c: Likewise.
3539 * merge.c: Likewise.
3540 * mmo.c: Likewise.
3541 * oasys.c: Likewise.
3542 * pdp11.c: Likewise.
3543 * peXXigen.c: Likewise.
3544 * rs6000-core.c: Likewise.
3545 * vms-alpha.c: Likewise.
3546 * xcofflink.c: Likewise.
3547
c08bb8dd
AM
35482017-04-13 Alan Modra <amodra@gmail.com>
3549
3550 * bfd.c (PRINT_TYPE): Define.
3551 (_doprnt): New function.
3552 (error_handler_internal): Use _doprnt.
3553 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
3554 calls in their natural order, throughout file.
3555 * coff-mcore.c: Likewise.
3556 * coff-ppc.c: Likewise.
3557 * coff-tic80.c: Likewise.
3558 * cofflink.c: Likewise.
3559 * elf-s390-common.c: Likewise.
3560 * elf.c: Likewise.
3561 * elf32-arm.c: Likewise.
3562 * elf32-i386.c: Likewise.
3563 * elf32-m32r.c: Likewise.
3564 * elf32-msp430.c: Likewise.
3565 * elf32-spu.c: Likewise.
3566 * elf64-ia64-vms.c: Likewise.
3567 * elf64-sparc.c: Likewise.
3568 * elf64-x86-64.c: Likewise.
3569 * elflink.c: Likewise.
3570 * elfnn-aarch64.c: Likewise.
3571 * elfnn-ia64.c: Likewise.
3572 * elfxx-mips.c: Likewise.
3573
10463f39
AM
35742017-04-13 Alan Modra <amodra@gmail.com>
3575
3576 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
3577 branch veneers" error. Fix double space and format message.
3578 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
3579 * elf64-ppc.c (tocsave_find): Supply missing %B arg.
3580
4af8774e
AM
35812017-04-13 Alan Modra <amodra@gmail.com>
3582
3583 * bfd-in2.h: Regenerate.
3584
e4097f5e
L
35852017-04-11 H.J. Lu <hongjiu.lu@intel.com>
3586
3587 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
3588 extra `\n' in warning/error messages.
3589 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
3590 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
3591
537616aa
L
35922017-04-11 H.J. Lu <hongjiu.lu@intel.com>
3593
3594 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
3595 processor-specific properties with generic ELF target vector.
3596
bb1dd176
QZ
35972017-04-10 Qing Zhao <qing.zhao@oracle.com>
3598
3599 * elf32-sparc.c (elf_backend_fixup_symbol): New.
3600 * elf64-sparc.c (elf_backend_fixup_symbol): New.
3601 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3602 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
3603 has_non_got_reloc.
3604 (link_hash_newfunc): Initialize has_got_reloc and
3605 has_non_got_reloc.
3606 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
3607 section.
3608 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
3609 has_non_got_reloc.
3610 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
3611 has_non_got_reloc.
3612 (_bfd_sparc_elf_fixup_symbol): New function.
3613 (allocate_dynrelocs): Don't allocate space for dynamic
3614 relocations and discard relocations against resolved undefined
3615 weak symbols in executable. Don't make resolved undefined weak
3616 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
3617 relocation against undefined weak symbols in PIE.
3618 (_bfd_sparc_elf_relocate_section): Don't generate dynamic
3619 relocations against resolved undefined weak symbols in PIE
3620 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
3621 without ynamic PLT/GOT relocations for resolved undefined weak
3622 symbols.
3623 Don't generate dynamic relocation against resolved undefined
3624 weak symbol in executable.
3625 (pie_finish_undefweak_symbol): New function.
3626 (_bfd_sparc_elf_finish_dynamic_sections): Call
3627 pie_finish_undefweak_symbol on all symbols in PIE.
3628 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
3629 (_bfd_sparc_elf_fixup_symbol): New function.
3630
d236cfd4
NC
36312017-04-10 Nick Clifton <nickc@redhat.com>
3632
3633 * config.bfd: Remove ns32k from obsolete list.
3634
6f9dbcd4
AM
36352017-04-10 Alan Modra <amodra@gmail.com>
3636
3637 PR 21287
3638 * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
3639 (special_sections_i): Likewise for .init_array.
3640 (special_sections_p): Likewise for .preinit_array.
3641
8170f769
L
36422017-04-07 H.J. Lu <hongjiu.lu@intel.com>
3643
3644 PR ld/19579
3645 PR ld/21306
3646 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
3647 ELF_COMMON_DEF_P for common symbols.
3648 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3649 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
3650 * elflink.c (_bfd_elf_merge_symbol): Revert commits
3651 202ac193bbbecc96a4978d1ac3d17148253f9b01 and
3652 07492f668d2173da7a2bda3707ff0985e0f460b6.
3653
49f4617b
PA
36542017-04-07 Pedro Alves <palves@redhat.com>
3655
3656 * opncls.c (bfd_get_debug_link_info): Rename to...
3657 (bfd_get_debug_link_info_1): ... this. Change type of second
3658 parameter to void pointer. Adjust.
3659 (bfd_get_debug_link_info): Reimplement on top of
3660 bfd_get_debug_link_info_1.
3661 (separate_debug_file_exists, separate_alt_debug_file_exists):
3662 Change type of second parameter to void pointer. Adjust.
3663 (get_func_type, check_func_type): Change type of second parameter
3664 to void pointer.
3665 (find_separate_debug_file): Add 'func_data' parameter. Pass it to
3666 the callback functions instead of passing the address of a local.
3667 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
3668 find_separate_debug_file.
3669 (get_alt_debug_link_info_shim): Change type of second parameter to
3670 void pointer. Adjust.
3671 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
3672 find_separate_debug_file.
3673 (get_build_id_name, bfd_boolean check_build_id_file): Change type
3674 of second parameter to void pointer. Adjust.
3675 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
3676 pointer local to find_separate_debug_file.
3677
36782017-04-07 Tristan Gingold <gingold@gingold-Precision-7510>
1fd6d111
TG
3679
3680 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
3681 external symbols with a definition.
3682 (_bfd_coff_gc_mark_extra_sections): Fix typo.
3683
86abf93a
AM
36842017-04-07 Alan Modra <amodra@gmail.com>
3685
3686 * po/SRC-POTFILES.in: Regenerate.
3687
8dea77f0
AM
36882017-04-05 Alan Modra <amodra@gmail.com>
3689
3690 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
3691 reference counting.
3692
477bdd39
JT
36932017-04-02 Jon Turney <jon.turney@dronecode.org.uk>
3694
3695 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
3696 numbers for DataDirectory entry indicies passed to
3697 add_data_entry().
3698
a91e1603
L
36992017-04-04 H.J. Lu <hongjiu.lu@intel.com>
3700
3701 * elf.c (get_program_header_size): Add a GNU_MBIND segment for
3702 each GNU_MBIND section and align GNU_MBIND section to page size.
3703 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
3704 segment for each GNU_MBIND section.
3705 (_bfd_elf_init_private_section_data): Copy sh_info from input
3706 for GNU_MBIND section.
3707
b5292032
PD
37082017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
3709
3710 * elfnn-riscv.c (GP_NAME): Delete.
3711 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
3712 (_bfd_riscv_relax_lui): Likewise.
3713
ad32986f
NC
37142017-04-04 Nick Clifton <nickc@redhat.com>
3715
3716 PR binutils/21342
3717 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
3718 dereference.
3719 (bfd_elf_final_link): Only initialize the extended symbol index
3720 section if there are extended symbol tables to list.
3721
46bed679
L
37222017-04-03 H.J. Lu <hongjiu.lu@intel.com>
3723
3724 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
3725 (BFD32_BACKENDS_CFILES): Add elf-properties.c.
3726 * configure.ac (elf): Add elf-properties.lo.
3727 * Makefile.in: Regenerated.
3728 * configure: Likewise.
3729 * elf-bfd.h (elf_property_kind): New.
3730 (elf_property): Likewise.
3731 (elf_property_list): Likewise.
3732 (elf_properties): Likewise.
3733 (_bfd_elf_parse_gnu_properties): Likewise.
3734 (_bfd_elf_get_property): Likewise.
3735 (_bfd_elf_link_setup_gnu_properties): Likewise.
3736 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
3737 and setup_gnu_properties.
3738 (elf_obj_tdata): Add properties.
3739 * elf-properties.c: New file.
3740 * elf32-i386.c (elf_i386_parse_gnu_properties): New.
3741 (elf_i386_merge_gnu_properties): Likewise.
3742 (elf_backend_parse_gnu_properties): Likewise.
3743 (elf_backend_merge_gnu_properties): Likewise.
3744 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
3745 (elf_x86_64_merge_gnu_properties): Likewise.
3746 (elf_backend_parse_gnu_properties): Likewise.
3747 (elf_backend_merge_gnu_properties): Likewise.
3748 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
3749 (elf_backend_parse_gnu_properties): Likewise.
3750 (elf_backend_setup_gnu_properties): Likewise.
3751 (elfNN_bed): Add elf_backend_parse_gnu_properties,
3752 elf_backend_merge_gnu_properties and
3753 elf_backend_setup_gnu_properties.
3754
f96bd6c2
PC
37552017-03-30 Pip Cet <pipcet@gmail.com>
3756
3757 * elf32-wasm32.c: Add relocation code, two relocs.
3758 * reloc.c: Add wasm32 relocations.
3759 * libbfd.h: Regenerate.
3760 * bfd-in2.h: Regenerate.
3761 * bfd/po/bfd.pot: Regenerate.
3762
e643cb45
NC
37632017-03-29 Nick Clifton <nickc@redhat.com>
3764
3765 PR binutils/18025
3766 * coff-bfd.h (struct coff_section_data): Add new fields:
3767 saved_bias and bias.
3768 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
3769 computed for PE binaries.
3770 * dwarf2.c (scan_unit_for_symbols): Only warn once about each
3771 missing abbrev.
3772
086554e8
HPN
37732017-03-28 Hans-Peter Nilsson <hp@axis.com>
3774
3775 PR ld/16044
3776 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
3777 to handle a local symbol with a hash-symbol-entry; without PLT.
3778 Add BFD_ASSERT for an incidental case with GOT entry present.
3779 (cris_elf_check_relocs): Increment PLT refcount only if the symbol
3780 isn't forced-or-set local.
3781
a6be0538
PC
37822017-03-27 Pip Cet <pipcet@gmail.com>
3783
3784 * wasm-module.c: New file to support WebAssembly modules.
3785 * wasm-module.h: New file to support WebAssembly modules.
3786 * doc/webassembly.texi: Start documenting wasm-module.c.
3787 * config.bfd: Add wasm_vec.
3788 * targets.c: Likewise.
3789 * configure.ac: Likewise.
3790 * Makefile.am: Add entries for wasm-module.c.
3791 * Makefile.in: Regenerate.
3792 * configure: Regenerate.
3793 * po/SRC-POTFILES.in: Regenerate.
3794
79b1d3cb
PC
37952017-03-27 Pip Cet <pipcet@gmail.com>
3796
3797 * cpu-wasm32.c: New file to support wasm32 architecture.
3798 * elf32-wasm32.c: New file to support wasm32 architecture.
3799 * Makefile.am: Add wasm32 architecture.
3800 * archures.c: Likewise.
3801 * config.bfd: Likewise.
3802 * configure.ac: Likewise.
3803 * targets.c: Likewise.
3804 * Makefile.in: Regenerate.
3805 * bfd-in2.h: Regenerate.
3806 * configure: Regenerate.
3807 * po/SRC-POTFILES.in: Regenerate.
3808
aaed6f5b
AM
38092017-03-20 Alan Modra <amodra@gmail.com>
3810
3811 PR 21266
3812 * elf64-ppc.c (compare_symbols): Stabilize sort.
3813
82e66161
AM
38142017-03-18 Alan Modra <amodra@gmail.com>
3815
3816 * elf64-ppc.c (struct ppc_link_hash_table): Add
3817 local_ifunc_resolver and maybe_local_ifunc_resolver.
3818 (ppc_build_one_stub): Set flags on emitting dynamic
3819 relocation to ifunc.
3820 (ppc64_elf_relocate_section): Likewise.
3821 (ppc64_elf_finish_dynamic_symbol): Likewise.
3822 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
3823 local dynamic relocs to ifuncs.
3824 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
3825 local_ifunc_resolver and maybe_local_ifunc_resolver.
3826 (ppc_elf_relocate_section): Set flag on emitting dynamic
3827 relocation to ifuncs.
3828 (ppc_elf_finish_dynamic_symbol): Likewise.
3829 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
3830 dynamic relocs to ifuncs.
3831
f955cccf
NC
38322017-03-13 Nick Clifton <nickc@redhat.com>
3833
3834 PR binutils/21202
3835 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
3836 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
3837 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
3838 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
3839 * bfd-in2.h: Regenerate.
3840 * libbfd.h: Regenerate.
3841 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
3842 names.
3843 (IS_AARCH64_TLSDESC_RELOC): Likewise.
3844 (elfNN_aarch64_howto_table): Likewise.
3845 (aarch64_tls_transition_without_check): Likewise.
3846 (aarch64_reloc_got_type): Likewise.
3847 (elfNN_aarch64_final_link_relocate): Likewise.
3848 (elfNN_aarch64_tls_relax): Likewise.
3849 (elfNN_aarch64_relocate_section): Likewise.
3850 (elfNN_aarch64_gc_sweep_hook): Likewise.
3851 (elfNN_aarch64_check_relocs): Likewise.
3852 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3853 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3854
4aef7643
AM
38552017-03-11 Alan Modra <amodra@gmail.com>
3856
3857 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
3858 parameter is in fact used. Whitespace fixes.
3859 * elf64-ppc.c: Likewise.
3860
f03265d9
ST
38612017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk>
3862
3863 * rs6000-core.c (CORE_NEW): Simplify macro when
3864 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
3865
b1b07054
AM
38662017-03-07 Alan Modra <amodra@gmail.com>
3867
3868 PR 21224
3869 PR 20519
3870 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
3871 dyn_relocs check.
3872
2e0ce1c8
AM
38732017-03-05 Alan Modra <amodra@gmail.com>
3874
3875 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
3876 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
3877 (next_cie_fde_offset): New function.
3878 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
3879 (_bfd_elf_discard_section_eh_frame): Align zero terminator to
3880 four bytes. Align CIEs to four or eight bytes depending on
3881 per_encoding_aligned8. Align FDEs according to their encoding.
3882 Pad last FDE to output section alignment.
3883 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove
3884 assertion.
3885 * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
3886 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
3887 (ppc64_elf_finish_dynamic_sections): Adjust to suit.
3888
f98450c6
NC
38892017-03-02 Martin Bickel <binutils@ineranves.de>
3890
3891 PR ld/21212
3892 * elf.c (rewrite_elf_program_header): Do not issue a warning for
d20928fa 3893 empty segments which have a zero filesz, but a non-zero memsz.
f98450c6 3894
673cff9b
AM
38952017-03-02 Alan Modra <amodra@gmail.com>
3896
3897 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
3898
3de43e7b
AM
38992017-02-28 Alan Modra <amodra@gmail.com>
3900
3901 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
3902 (ppc64_elf_relocate_section): Likewise.
3903
4ef97a1b
AM
39042017-02-28 Alan Modra <amodra@gmail.com>
3905
3906 PR 20995
3907 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
3908 rather than elf32_nios2_hash_table or elf_hash_table.
3909 (create_got_section): Likewise.
3910 (nios2_elf32_finish_dynamic_symbol): Likewise.
3911 (nios2_elf32_adjust_dynamic_symbol): Likewise.
3912 (nios2_elf32_size_dynamic_sections): Likewise.
3913 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
3914 vars. Use htab equivalents directly instead. Don't create
3915 all dynamic sections on needing just the GOT. Use a goto
3916 rather than a fall-through with reloc test. Ensure
3917 htab->dynobj is set when making dynamic sreloc section.
3918 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
3919 equivalent directly instead. Don't segfault on looking for
3920 .dynamic when dynamic sections have not been created. Don't
3921 segfault on .got.plt being discarded.
3922 (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
3923 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
3924 fixme and another not so relevant comment.
3925 (nios2_elf_add_symbol_hook): Delete dynobj var. If not
3926 already set, set hash table dynobj on creating .sbss.
3927
7ba71655
AM
39282017-02-28 Alan Modra <amodra@gmail.com>
3929
3930 * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
3931 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
3932 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
3933 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
3934 (ppc64_elf_relocate_section): Likewise.
3935 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
3936 (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
3937 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
3938 * libbfd.h: Regenerate.
3939 * bfd-in2.h: Regenerate.
3940
afbf7e8e
AM
39412017-02-28 Alan Modra <amodra@gmail.com>
3942
3943 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
3944 dynamic .data.rel.ro read-only.
3945 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
3946 rather than section flags when deciding where copy reloc goes.
3947 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
3948 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
3949 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
3950 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
3951 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
3952 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
3953 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
3954 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
3955 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3956 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
3957 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
3958 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
3959 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3960 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
3961 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
3962 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
3963 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
3964 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3965 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
3966
0e392101
MR
39672017-02-28 Maciej W. Rozycki <macro@imgtec.com>
3968
3969 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
3970 `jalr $0, $25' instruction encoding.
3971
bd757ca7
NC
39722017-02-27 Nick Clifton <nickc@redhat.com>
3973
3974 PR ld/21180
3975 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
3976 generating a seg-fault when encountering a symbol that has been
3977 deleted by garbage collection.
3978
034fed0b
AM
39792017-02-25 Alan Modra <amodra@gmail.com>
3980
3981 * elf32-arc.c (struct dynamic_sections): Delete.
3982 (enum dyn_section_types): Delete.
3983 (dyn_section_names): Delete.
3984 (arc_create_dynamic_sections): Delete.
3985 (elf_arc_finish_dynamic_sections): Don't call the above. Don't
3986 segfault on discarded .rela.plt section.
3987 (elf_arc_size_dynamic_sections): Formatting. Don't call
3988 arc_create_dynamic_sections. Don't allocate memory for sections
3989 handled by the generic linker. Correct code finding relocs in
3990 read-only sections. Set SEC_EXCLUDE on zero size .got,
3991 .got.plt, and .dynbss sections. Do set .interp for pies.
3992
d0f744f9
AW
39932017-02-24 Andrew Waterman <andrew@sifive.com>
3994
3995 * elfnn-riscv.c (GP_NAME): New macro.
3996 (riscv_global_pointer_value): Use it.
3997 (_bfd_riscv_relax_lui): If symbol and global pointer are in same
3998 output section, consider only that section's alignment.
3999
5d58c733
MR
40002017-02-23 Maciej W. Rozycki <macro@imgtec.com>
4001
4002 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
4003 * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
4004 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
4005 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
4006
c1556ecd
MR
40072017-02-23 Maciej W. Rozycki <macro@imgtec.com>
4008
4009 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
4010 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
4011 or misaligned.
4012
5499c7c7
AM
40132017-02-23 Alan Modra <amodra@gmail.com>
4014
4015 PR 20744
4016 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
4017 16D relocations.
4018 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
4019 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
4020 relocs.
4021
902e9fc7
MR
40222017-02-22 Maciej W. Rozycki <macro@imgtec.com>
4023
4024 PR ld/20828
4025 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
4026 processing ahead of the call to `elf_gc_sweep_symbol'.
4027
758d96d8
NC
40282017-02-22 Nick Clifton <nickc@redhat.com>
4029
4030 PR binutils/21193
4031 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
4032 created section 4-byte alignment.
4033
6528b6eb
AM
40342017-02-22 Alan Modra <amodra@gmail.com>
4035
4036 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
4037 on .got or .plt output section being discarded by script.
4038 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
4039 vxworks splt temp.
4040
24f1a751
AM
40412017-02-21 Alan Modra <amodra@gmail.com>
4042
4043 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
4044 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
4045
64487780
AM
40462017-02-20 Alan Modra <amodra@gmail.com>
4047
4048 PR 21181
4049 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
4050 if DT_RELSZ/DT_RELASZ is zero.
4051
6438d1be
NC
40522017-02-17 Nick Clifton <nickc@redhat.com>
4053
4054 * compress.c (bfd_get_full_section_contents): Remember to reduce
4055 compressed size by the sizeof the compression header when
4056 decompressing the contents.
4057
4bc26c69
PA
40582017-02-17 Pedro Alves <palves@redhat.com>
4059
4060 * srec.c (Chunk): Rename to ...
4061 (_bfd_srec_len): ... this.
4062 (S3Forced): Rename to ...
4063 (_bfd_srec_forceS3): ... this.
4064 * objcopy.c: Adjust all references.
4065
7ec22e0f
PA
40662017-02-17 Pedro Alves <palves@redhat.com>
4067
4068 * archive.c (bsd_write_armap): Rename to ...
4069 (_bfd_bsd_write_armap): ... this.
4070 (coff_write_armap): Rename to ...
4071 (_bfd_coff_write_armap): ... this.
4072 * libbfd-in.h (bsd_write_armap): Rename to ...
4073 (_bfd_bsd_write_armap): ... this.
4074 (coff_write_armap): Rename to ...
4075 (_bfd_coff_write_armap): ... this.
4076 * aout-target.h, aout-tic30.c: Adjust all users.
4077 * libbfd.h: Regenerate.
4078
8c8402cc
PA
40792017-02-17 Pedro Alves <palves@redhat.com>
4080
4081 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
4082 (warn_deprecated): Rename to ...
4083 (_bfd_warn_deprecated): ... this.
4084 * libbfd.c (warn_deprecated): Rename to ...
4085 (_bfd_warn_deprecated): ... this.
4086 * bfd-in2.h: Regenerate.
4087
c7c3d11b
PA
40882017-02-17 Pedro Alves <palves@redhat.com>
4089
4090 * bfdio.c (real_ftell): Rename to ...
4091 (_bfd_real_ftell): ... this.
4092 (real_fseek): Rename to ...
4093 (_bfd_real_fseek): ... this.
4094 (real_fopen): Rename to ...
4095 (_bfd_real_fopen): ... this.
4096 * libbfd-in.h (real_ftell): Rename to ...
4097 (_bfd_real_ftell): ... this.
4098 (real_fseek): Rename to ...
4099 (_bfd_real_fseek): ... this.
4100 (real_fopen): Rename to ...
4101 (_bfd_real_fopen): ... this.
4102 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
4103 * libbfd.h: Regenerate.
4104
4265548c
PA
41052017-02-17 Pedro Alves <palves@redhat.com>
4106
4107 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
4108 * libbfd.c (read_unsigned_leb128): Rename to ...
4109 (_bfd_read_unsigned_leb128): ... this.
4110 (read_signed_leb128): Rename to ...
4111 (_bfd_read_signed_leb128): ... this.
4112 (safe_read_leb128): Rename to ...
4113 (_bfd_safe_read_leb128): ... this.
4114 * libbfd-in.h (read_unsigned_leb128): Rename to ...
4115 (_bfd_read_unsigned_leb128): ... this.
4116 (read_signed_leb128): Rename to ...
4117 (_bfd_read_signed_leb128): ... this.
4118 (safe_read_leb128): Rename to ...
4119 (_bfd_safe_read_leb128): ... this.
4120 * libbfd.h: Renegerate.
4121
3239a423
AB
41222017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
4123
4124 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
4125 before trying to fine matching file and line information.
4126
90ed9b8b
AB
41272017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
4128
4129 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
4130 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
4131 not match current bfd, then reload debug information. Record bfd
4132 we're loading debug info for in the stash. If we have debug
4133 informatin in the cache then perform section placement before
4134 returning.
4135
a8c75b76
AM
41362017-02-16 Alan Modra <amodra@gmail.com>
4137
4138 PR 21000
4139 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
4140 * elfxx-target.h (elf_backend_no_page_alias): Define.
4141 (elfNN_bed): Init new field.
4142 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
4143 ensure PT_LOAD segment starts on a new page.
4144 * elf32-hppa.c (elf_backend_no_page_alias): Define.
4145
247d6c4c
AM
41462017-02-16 Alan Modra <amodra@gmail.com>
4147
4148 PR 21132
4149 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
4150 if pic.
4151
90571206
JW
41522017-02-16 Jiong Wang <jiong.wang@arm.com>
4153
4154 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
4155 * bfd-in2.h: Regenerated.
4156
2a568401
L
41572017-02-15 H.J. Lu <hongjiu.lu@intel.com>
4158
4159 PR ld/21168
4160 * elf32-i386.c (elf_i386_relocate_section): Allow
4161 "lea foo@GOT, %reg" in PIC.
4162
a5def14f
L
41632017-02-15 H.J. Lu <hongjiu.lu@intel.com>
4164
4165 PR ld/20244
4166 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
4167 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
4168 error against local IFUNC symbol without a base register for
4169 PIC.
4170
174d0a74
MR
41712017-02-15 Maciej W. Rozycki <macro@imgtec.com>
4172
4173 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
4174 `%P: %H:' with `info->callbacks->einfo'.
4175 (ppc_elf_relocate_section): Likewise.
4176 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
4177 (ppc64_elf_edit_toc): Likewise.
4178 (ppc64_elf_relocate_section): Likewise.
4179
e278ae05
AM
41802017-02-14 Alan Modra <amodra@gmail.com>
4181
4182 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
4183 --gc-keep-exported, and test versioned field of sym rather than
4184 looking for @ in name.
4185
10ddfe62
PD
41862017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
4187
4188 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
4189 __global_pointer$.
4190
d11135f5
NC
41912017-02-13 Nick Clifton <nickc@redhat.com>
4192
4193 PR binutils/21151
4194 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
4195 unit length field.
4196
cc162427
AW
41972017-02-07 Andrew Waterman <andrew@sifive.com>
4198
4199 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
4200 entry size if PLT header is written.
4201
3d044c0c
SL
42022017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
4203
4204 Fix sparc64 dynamic relocation processing to use the dynamic
4205 symbol count.
4206 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
4207 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
4208 should be used.
4209
1b7e3d2f
NC
42102017-02-03 Nick Clifton <nickc@redhat.com>
4211
4212 PR 21096
4213 * coffcode.h (coff_write_object_contents): Enlarge size of
4214 s_name_buf in order to avoid compile time warning about possible
4215 integer truncation.
4216 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
4217 32-bits of insn value before printing into buffer.
4218
e17b0c35
MR
42192017-02-02 Maciej W. Rozycki <macro@imgtec.com>
4220
4221 * elfxx-mips.c (mips_elf_hash_sort_data): Add
4222 `max_local_dynindx'.
4223 (mips_elf_sort_hash_table): Handle it.
4224 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
4225 symbols bump up `max_local_dynindx' rather than
4226 `max_non_got_dynindx'.
4227
55f8b9d2
MR
42282017-02-02 Maciej W. Rozycki <macro@imgtec.com>
4229
4230 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
4231 `min_got_dynindx', `max_unref_got_dynindx' and
4232 `max_non_got_dynindx' members to the `bfd_size_type' data type.
4233 (mips_elf_sort_hash_table): Adjust accordingly.
4234
0f8c4b60
MR
42352017-02-02 Maciej W. Rozycki <macro@imgtec.com>
4236
4237 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
4238 to access the hash table.
4239
17a80fa8
MR
42402017-02-02 Maciej W. Rozycki <macro@imgtec.com>
4241
4242 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
4243 non-NULL `htab' to the beginning.
4244
8f56d4fd
MR
42452017-02-02 Maciej W. Rozycki <macro@imgtec.com>
4246
4247 * elflink.c (elf_gc_sweep): Wrap overlong line.
4248
8b10b0b3
MR
42492017-01-30 Maciej W. Rozycki <macro@imgtec.com>
4250
4251 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
4252 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
4253 * elfxx-mips.c (mips_elf_link_hash_table): Add
4254 `ignore_branch_isa' member.
4255 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
4256 in branch relocation calculation as an error if
4257 `ignore_branch_isa' has been set.
4258 (_bfd_mips_elf_insn32): Rename to...
4259 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
4260 parameter to `insn32' and add an `ignore_branch_isa' parameter.
4261 Handle the new parameter.
4262
1fbd05e1
HPN
42632017-01-27 Hans-Peter Nilsson <hp@axis.com>
4264
22d9a0de
HPN
4265 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
4266 local variable dynobj.
4267
1fbd05e1
HPN
4268 PR ld/20995
4269 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
4270 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
4271 executable from read-only sections into sdynrelro.
4272 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
4273 dynamic relocs in sdynrelro.
4274 (elf_backend_want_dynrelro): Define.
4275
4a7324e1
SH
42762017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
4277
4278 * config.bfd (*-*-rtemsaout*): Mark as removed.
4279
c75b4ebd
SH
42802017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
4281
4282 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
4283 (arm-*-rtems*): Move to (arm*-*-eabi*).
4284 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
4285 (m68-*-rtems*): Move to (m68*-*-elf*).
4286
850d84f6
SH
42872017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
4288
4289 * config.bfd (*-*-rtemscoff*): Mark as removed.
4290
b531344c
MR
42912017-01-24 Maciej W. Rozycki <macro@imgtec.com>
4292
4293 PR ld/20828
4294 * elflink.c (bfd_elf_record_link_assignment): Revert last
4295 change and don't ever clear `forced_local'. Set `mark'
4296 unconditionally.
4297 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
4298 file.
4299 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
4300 (bfd_elf_size_dynamic_sections): ... here.
4301 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
4302 and set `mark' instead in `__tls_get_addr_opt' processing.
4303 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
4304
f0158f44
AM
43052017-01-24 Alan Modra <amodra@gmail.com>
4306
4307 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
4308 where dynamic relocs are preferable. Allow ifunc too.
4309 (ensure_undefweak_dynamic): New function.
4310 (allocate_dynrelocs): Use it here. Move plt handling last and
4311 don't make symbols dynamic, simplifying loop. Only make undef
4312 weak symbols with GOT entries dynamic. Correct condition
4313 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
4314 comments. Remove goto.
4315 (ppc_elf_relocate_section): Correct test for using dynamic
4316 symbol on GOT relocs. Rearrange test for emitting GOT relocs
4317 to suit. Set up explicit tls_index entries and implicit GOT
4318 tls_index entries resolvable at link time for
4319 __tls_get_addr_opt. Simplify test to clear mem for prelink.
4320 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
4321 (ensure_undefweak_dynamic): New function.
4322 (allocate_dynrelocs): Use it here. Only make undef weak symbols
4323 with GOT entries dynamic. Remove unnecessary test of
4324 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
4325 (ppc64_elf_relocate_section): Correct test for using dynamic
4326 symbol on GOT relocs. Rearrange test for emitting GOT relocs
4327 to suit. Set up explicit tls_index entries and implicit GOT
4328 tls_index entries resolvable at link time for __tls_get_addr_opt.
4329 Simplify expression to clear mem for prelink.
4330
2d0ca824
YN
43312017-01-23 Yury Norov <ynorov@caviumnetworks.com>
4332
4333 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
4334
7f784814
JW
43352017-01-20 Jiong Wang <jiong.wang@arm.com>
4336
4337 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
4338 (elf_backend_hash_symbol): Define.
4339
81ff47b3
MR
43402017-01-18 Maciej W. Rozycki <macro@imgtec.com>
4341
4342 PR ld/20828
4343 * elflink.c (bfd_elf_record_link_assignment): Clear any
4344 `forced_local' marking for DSO symbols that are not being
4345 provided.
4346
640d6bfd
KLC
43472017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
4348
4349 * elfnn-riscv.c (riscv_elf_object_p): New function.
4350
8361ed4d
L
43512017-01-12 H.J. Lu <hongjiu.lu@intel.com>
4352
4353 PR ld/21038
4354 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
4355 plt_bnd_eh_frame.
4356 (elf_x86_64_check_relocs): Create .eh_frame section for the
4357 .plt.bnd section.
4358 (elf_x86_64_size_dynamic_sections): Allocate and initialize
4359 .eh_frame section for the .plt.bnd section.
4360 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
4361 for the .plt.bnd section.
4362
2425a30e
NC
43632017-01-12 Nick Clifton <nickc@redhat.com>
4364
4365 PR binutils/20876
4366 * opncls.c (find_separate_debug_file): Add include_dirs
4367 parameter. Only include the directory part of the bfd's filename
4368 in search paths if include_dirs is true. Add a couple of extra
4369 locations for looking for debug files.
4370 ( bfd_follow_gnu_debuglink): Update invocation of
4371 find_separate_debug_file.
4372 (bfd_follow_gnu_debugaltlink): Likewise.
4373 (get_build_id): New function: Finds the build-id of the given bfd.
4374 (get_build_id_name): New function: Computes the name of the
4375 separate debug info file for a bfd, based upon its build-id.
4376 (check_build_id_file): New function: Checks to see if a separate
4377 debug info file exists at the given location, and that its
4378 build-id matches that of the original bfd.
4379 (bfd_follow_build_id_debuglink): New function: Finds a separate
4380 debug info file for a given bfd by using the build-id method.
4381 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
4382 method of locating a separate debug info file before using the
4383 debuglink method.
4384 * bfd-in2.h: Regenerate.
4385
9e659176
L
43862017-01-11 H.J. Lu <hongjiu.lu@intel.com>
4387
4388 PR ld/21038
4389 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
4390 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
4391 elf_x86_64_eh_frame_plt_got.
4392 (elf_x86_64_size_dynamic_sections): Get unwind info from
4393 elf_x86_64_bnd_arch_bed for the BND PLT.
4394
f2e2d2f5
JS
43952017-01-11 Jeremy Soller <jackpot51@gmail.com>
4396
4397 * config.bfd: Add entries for i686-redox and x86_64-redox.
4398
52b232b3
L
43992017-01-10 H.J. Lu <hongjiu.lu@intel.com>
4400
4401 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
4402 to 4 bytes.
4403 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
4404 .eh_frame section to 4 bytes for x32.
4405 (elf_x86_64_check_relocs): Likewise.
4406
fff53dae
L
44072017-01-10 H.J. Lu <hongjiu.lu@intel.com>
4408
4409 PR ld/20830
4410 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
4411 (PLT_GOT_FDE_LENGTH): Likewise.
4412 (elf_i386_plt_layout): Add eh_frame_plt_got and
4413 eh_frame_plt_got_size.
4414 (elf_i386_plt): Updated.
4415 (elf_i386_link_hash_table): Add plt_got_eh_frame.
4416 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
4417 (elf_i386_size_dynamic_sections): Allocate and initialize
4418 .eh_frame section for .plt.got.
4419 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
4420 .plt.got.
4421 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
4422 eh_frame_plt_got_size.
4423 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
4424 (PLT_GOT_FDE_LENGTH): Likewise.
4425 (elf_x86_64_backend_data): Add eh_frame_plt_got and
4426 eh_frame_plt_got_size.
4427 (elf_x86_64_arch_bed): Updated.
4428 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
4429 eh_frame_plt_got_size.
4430 (elf_x86_64_nacl_arch_bed): Likewise.
4431 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
4432 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
4433 (elf_x86_64_size_dynamic_sections): Allocate and initialize
4434 .eh_frame section for .plt.got.
4435 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
4436 for .plt.got.
4437
f129e49f
L
44382017-01-10 H.J. Lu <hongjiu.lu@intel.com>
4439
4440 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
4441 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
4442
cd6581da
NC
44432017-01-09 Nick Clifton <nickc@redhat.com>
4444
4445 * dwarf2.c (lookup_address_in_function_table): Return early if
4446 there are no functions in the given comp unit, or if the high
4447 address of the last function in the comp unit is less than the
4448 desired address.
4449
98f02962
NC
44502017-01-09 Nick Clifton <nickc@redhat.com>
4451
4452 PR binutils/21013
4453 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
4454 message if there are too many symbols to load.
4455
ae4fda66
JC
44562017-01-04 James Clarke <jrtc27@jrtc27.com>
4457
4458 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
4459 if relocs are cached.
4460
de1010f4
RF
44612017-01-03 Rich Felker <bugdal@aerifal.cx>
4462
4463 PR ld/21017
4464 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
4465 for R_MICROBLAZE_GOTOFF_64.
4466
09fe2662
NC
44672017-01-03 Nick Clifton <nickc@redhat.com>
4468
4469 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
4470 warning about using a possibly uninitialised variable.
4471
595e0a47
AM
44722017-01-02 Alan Modra <amodra@gmail.com>
4473
4474 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
4475 (allocate_plt_static, allocate_dynrelocs): Use it.
4476
7bd9df3b
AM
44772017-01-02 Alan Modra <amodra@gmail.com>
4478
4479 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
4480 .PARISC.unwind section.
4481
5b86074c
AM
44822017-01-02 Alan Modra <amodra@gmail.com>
4483
4484 PR ld/20989
4485 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
4486 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
4487 indirect to GOT pointer relative code edit.
4488
2571583a
AM
44892017-01-02 Alan Modra <amodra@gmail.com>
4490
4491 Update year range in copyright notice of all files.
4492
5c1ad6b5 4493For older changes see ChangeLog-2016
3499769a 4494\f
5c1ad6b5 4495Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
4496
4497Copying and distribution of this file, with or without modification,
4498are permitted in any medium without royalty provided the copyright
4499notice and this notice are preserved.
4500
4501Local Variables:
4502mode: change-log
4503left-margin: 8
4504fill-column: 74
4505version-control: never
4506End:
This page took 0.306377 seconds and 4 git commands to generate.