Another generic ELF target assertion failure
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2019-05-27 Alan Modra <amodra@gmail.com>
2
3 * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
4
5 2019-05-27 Alan Modra <amodra@gmail.com>
6
7 PR 24596
8 * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
9
10 2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
11
12 * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
13 (struct elf_aarch64_link_hash_table): Add variant_pcs member.
14 (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
15 (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
16 (elf_backend_merge_symbol_attribute): Define.
17
18 2019-05-24 Alan Modra <amodra@gmail.com>
19
20 * po/SRC-POTFILES.in: Regenerate.
21
22 2019-05-24 Alan Modra <amodra@gmail.com>
23
24 * elf64-ppc.c: Comment on powerxx _notoc stub variants.
25 (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
26 (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
27 (struct ppc_link_hash_table): Add powerxx_stubs.
28 (ppc64_elf_check_relocs): Set powerxx_stubs.
29 (build_powerxx_offset, size_powerxx_offset),
30 (num_relocs_for_powerxx_offset),
31 (emit_relocs_for_powerxx_offset): New functions.
32 (plt_stub_size): Size powerxx stubs.
33 (ppc_build_one_stub): Emit powerxx stubs.
34 (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
35 powerxx stubs.
36
37 2019-05-24 Alan Modra <amodra@gmail.com>
38
39 * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
40 R_PPC64_GOT_PCREL34.
41 (xlate_pcrel_opt): New function.
42 (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
43 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
44 for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
45
46 2019-05-24 Alan Modra <amodra@gmail.com>
47
48 * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
49 (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
50 (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
51 (BFD_RELOC_PPC64_PLT_PCREL34),
52 (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
53 (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
54 (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
55 (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
56 (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
57 * elf64-ppc.c (PNOP): Define.
58 (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
59 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
60 (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
61 relocs.
62 (ppc64_elf_prefix_reloc): New function.
63 (struct ppc_link_hash_table): Add notoc_plt.
64 (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
65 (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
66 R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
67 (ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
68 has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
69 possible need for dynamic relocs on non-pcrel powerxx relocs.
70 (dec_dynrel_count): Handle non-pcrel powerxx relocs.
71 (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
72 (toc_adjusting_stub_needed): Likewise.
73 (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
74 (ppc64_elf_relocate_section): Handle new powerxx relocs.
75 * bfd-in2.h: Regenerate.
76 * libbfd.h: Regenerate.
77
78 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
79
80 * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
81 * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
82 bpf_elf64_be_vec.
83 * configure: Regenerate.
84
85 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
86
87 * configure: Regenerated.
88 * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
89 (ALL_MACHINES_CFILES): Add cpu-bpf.c.
90 (BFD64_BACKENDS): Add elf64-bpf.lo.
91 (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
92 * Makefile.in (SOURCE_HFILES): Regenerate.
93 * config.bfd (targ_cpu): Handle bpf-*-* targets.
94 * cpu-bpf.c: New file.
95 * elf64-bpf.c: Likewise.
96 * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
97 bpf_elf64_le_vec.
98 * archures.c: Define architecture bfd_arch_bpf and machine
99 bfd_arch_bpf.
100 * reloc.c: Define BFD relocations used by the BPF target.
101 * bfd-in2.h: Regenerated.
102 * libbfd.h: Likewise.
103
104 2019-05-22 Alan Modra <amodra@gmail.com>
105
106 * elf32-arm.c (arm_allocate_glue_section_space): Clear section
107 contents.
108
109 2019-05-22 Alan Modra <amodra@gmail.com>
110
111 * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
112 processing on "size error in section".
113
114 2019-05-22 Alan Modra <amodra@gmail.com>
115
116 * som.c (som_bfd_free_cached_info): Call
117 _bfd_generic_close_and_cleanup.
118
119 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
120
121 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
122 for TLS_TPREL_HI16(/LO16) relocations in shared library.
123
124 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
125
126 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
127 checks. Search the RELA table for n64 relocations.
128
129 2019-05-21 Matthew Fortune <matthew.fortune@mips.com>
130 Faraz Shahbazker <fshahbazker@wavecomp.com>
131
132 * elfxx-mips.c (LA25_BC): New macro.
133 (mips_elf_link_hash_table)<compact_branches>: New field.
134 (STUB_JALRC): New macro.
135 (mipsr6_o32_exec_plt0_entry_compact): New array.
136 (mipsr6_n32_exec_plt0_entry_compact): Likewise.
137 (mipsr6_n64_exec_plt0_entry_compact): Likewise.
138 (mipsr6_exec_plt_entry_compact): Likewise.
139 (mips_elf_create_la25_stub): Use BC instead of J for stubs
140 when compact_branches is true.
141 (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
142 PLT for MIPSR6 with compact_branches. Do not reorder the
143 compact branches PLT. Switch the lazy stub for MIPSR6
144 with compact_branches to use JALRC.
145 (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
146 when compact_branches is true.
147 (_bfd_mips_elf_compact_branches): New function.
148 * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
149
150 2019-05-21 Tamar Christina <tamar.christina@arm.com>
151
152 PR ld/24373
153 * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
154 Fix print formatter.
155
156 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
157
158 PR 24460
159 * elf32-arm.c (get_value_helper): Remove.
160 (elf32_arm_final_link_relocate): Fix branch future relocations.
161
162 2019-05-21 Tamar Christina <tamar.christina@arm.com>
163
164 PR ld/24373
165 * bfd-in.h (enum erratum_84319_opts): New
166 (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
167 int to enum erratum_84319_opts.
168 * bfd-in2.h: Regenerate.
169 * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
170 fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
171 (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
172 (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
173 (_bfd_aarch64_resize_stubs): Amend comment.
174 (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
175 requested.
176 (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
177 (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
178 erratum workaround.
179 (clear_erratum_843419_entry): Update erratum conditional.
180
181 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
182
183 PR ld/24571
184 * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
185 when computing distance_short_enough.
186
187 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
188
189 PR ld/24564
190 * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
191 Wrap around even if distance equals avr_pc_wrap_around.
192
193 2019-05-20 Nick Clifton <nickc@redhat.com>
194
195 * po/fr.po: Updated French translation.
196
197 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
198
199 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
200
201 2019-05-16 Alan Modra <amodra@gmail.com>
202
203 * elf32-arm.c (elf32_arm_write_section): Revert last change.
204
205 2019-05-15 Alan Modra <amodra@gmail.com>
206
207 * elf32-arm.c (elf32_arm_write_section): Don't leave
208 error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
209 unitialised section contents.
210
211 2019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
212
213 PR 19921
214 * verilog.c: (VerilogDataWidth): New variable.
215 (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
216
217 2019-05-08 Nick Clifton <nickc@redhat.com>
218
219 PR 24523
220 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
221 rather than FALSE if encountering a non-ELF file.
222
223 2019-05-06 Alan Modra <amodra@gmail.com>
224
225 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
226
227 2019-05-06 Alan Modra <amodra@gmail.com>
228
229 * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
230 (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
231 Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
232 * libbfd.h: Regenerate.
233 * bfd-in2.h: Regenerate.
234
235 2019-05-04 Alan Modra <amodra@gmail.com>
236
237 PR 24511
238 * syms.c (coff_section_type): Only allow '.', '$' and numeric
239 following the standard section names.
240 (bfd_decode_symclass): Prioritize section flag tests in
241 decode_section_type before name tests in coff_section_type.
242 * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
243 and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
244 their names and choose standard .text section flags for
245 fake_section.
246
247 2019-05-02 Nick Clifton <nickc@redhat.com>
248
249 PR 24493
250 * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
251 .gnu.debugaltlink sections as debugging sections.
252
253 2019-04-30 Alan Modra <amodra@gmail.com>
254
255 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
256 (struct _ppc64_elf_section_data): Likewise.
257 (ppc64_elf_check_relocs): Set above fields.
258 (ppc64_elf_edit_toc): Add a pass over GOT relocs.
259 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
260 when possible.
261
262 2019-04-26 H.J. Lu <hongjiu.lu@intel.com>
263
264 PR ld/24486
265 * elflink.c (elf_link_output_extsym): Don't complain undefined
266 weak dynamic reference.
267
268 2019-04-25 Sudakshina Das <sudi.das@arm.com>
269
270 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
271 (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
272 (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
273 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
274 (elfNN_aarch64_small_plt0_pac_entry): Remove.
275 (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
276 (elfNN_aarch64_small_plt0_bti_entry): Update.
277 (elfNN_aarch64_small_plt_bti_entry): Update.
278 (elfNN_aarch64_small_plt_pac_entry): Update.
279 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
280 (setup_plt_values): Setup new entries.
281 (elfNN_aarch64_finish_dynamic_sections): Remove size change.
282 (elfNN_aarch64_plt_sym_val): Likewise.
283
284 2019-04-22 Jim Wilson <jimw@sifive.com>
285
286 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
287
288 2019-04-19 Alan Modra <amodra@gmail.com>
289
290 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
291
292 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
293
294 * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
295 building shared object.
296 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
297
298 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
299
300 PR ld/24458
301 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
302 linker_def.
303
304 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
305
306 * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
307 relocation.
308 * bfd-in2.h: Regenerate.
309 * libbfd.h: Likewise.
310
311 2019-04-15 Sudakshina Das <sudi.das@arm.com>
312
313 * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
314 * bfd-in2.h: Regenerated.
315 * libbfd.h: Regenerated.
316
317 2019-04-15 Sudakshina Das <sudi.das@arm.com>
318
319 * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
320 * bfd-in2.h: Regenerated.
321 * libbfd.h: Likewise.
322
323 2019-04-15 Sudakshina Das <sudi.das@arm.com>
324
325 * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
326 * bfd-in2.h: Regenerated.
327 * libbfd.h: Regenerated.
328 * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
329 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
330 and R_ARM_THM_BF12 together.
331 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
332
333 2019-04-15 Sudakshina Das <sudi.das@arm.com>
334
335 * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
336 * libbfd.h: Regenerated.
337 * bfd-in2.h: Regenerated.
338 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
339 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
340 and R_ARM_THM_BF18 together.
341 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
342
343 2019-04-15 Sudakshina Das <sudi.das@arm.com>
344
345 * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
346 * bfd-in2.h: Regenerated.
347 * libbfd.h: Regenerated.
348 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
349 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
350 and R_ARM_THM_BF16 together.
351 (get_value_helper): New reloc helper.
352 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
353
354 2019-04-15 Sudakshina Das <sudi.das@arm.com>
355
356 * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
357 * bfd-in2.h: Regenerate.
358 * libbfd.h: Regenerate.
359
360 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
361
362 * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
363 * bfd-in2.h: Regenerate.
364 * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
365 * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
366 and update assert.
367 (using_thumb2): Likewise.
368 (using_thumb2_bl): Update assert.
369 (arch_has_arm_nop): Likewise.
370 (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
371 (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
372
373 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
374
375 * elf-linker-x86.h (elf_x86_cet_report): New.
376 (elf_linker_x86_params): Add cet_report.
377 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
378 missing IBT and SHSTK properties if needed.
379
380 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
381
382 PR ld/24436
383 * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
384 "h != NULL". Don't check "h != NULL" before calling.
385 bfd_elf_gc_record_vtentry.
386 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
387 * elf32-bfin.c (bfin_check_relocs): Likewise.
388 * elf32-cris.c (cris_elf_check_relocs): Likewise.
389 * elf32-csky.c (csky_elf_check_relocs): Likewise.
390 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
391 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
392 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
393 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
394 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
395 * elf32-i386.c (elf_i386_check_relocs): Likewise.
396 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
397 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
398 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
399 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
400 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
401 * elf32-metag.c (elf_metag_check_relocs): Likewise.
402 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
403 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
404 * elf32-s390.c (elf_s390_check_relocs): Likewise.
405 * elf32-sh.c (sh_elf_check_relocs): Likewise.
406 * elf32-v850.c (v850_elf_check_relocs): Likewise.
407 * elf32-vax.c (elf_vax_check_relocs): Likewise.
408 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
409 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
410 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
411 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
412 * elf64-s390.c (elf_s390_check_relocs): Likewise.
413 * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
414 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
415 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
416 * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
417 VTENTRY entry.
418
419 2019-04-11 Alan Modra <amodra@gmail.com>
420
421 PR 24435
422 * elflink.c (elf_link_add_object_symbols): Don't read partial
423 dynamic entries from fuzzed objects.
424
425 2019-04-11 Tamar Christina <tamar.christina@arm.com>
426
427 PR ld/24302
428 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
429 DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
430 (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
431
432 2019-04-10 Michael Forney <mforney@mforney.org>
433
434 PR 24427
435 * doc/chew.c (free_words): Correctly free "push_text" strings.
436
437 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
438
439 * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
440
441 2019-04-08 Alan Modra <amodra@gmail.com>
442
443 * configure.ac (elfxx_x86): Define and use.
444 * configure: Regenerate.
445
446 2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
447
448 * elf-linker-x86.h: New file.
449 * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
450 to get x86-specific linker options.
451 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
452 (elf_x86_64_check_relocs): Likewise.
453 (elf_x86_64_relocate_section): Likewise.
454 (elf_x86_64_link_setup_gnu_properties): Likewise.
455 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
456 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
457 (_bfd_elf_linker_x86_set_options): New function.
458 * elfxx-x86.h: Include "elf-linker-x86.h".
459 (elf_x86_link_hash_table): Add params.
460
461 2019-04-03 Alan Modra <amodra@gmail.com>
462
463 * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
464 * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
465 * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
466 * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
467 * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
468 * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
469
470 2019-04-02 Jim Wilson <jimw@sifive.com>
471
472 PR 24389
473 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
474 ELF header flags to after check for ELF object file. Loop through
475 sections looking for code sections, if none, then skip ABI checks.
476
477 2019-03-30 Andrew Waterman <andrew@sifive.com>
478
479 * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
480 rd == X_RA case.
481
482 2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
483
484 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
485 info->export_dynamic to the conditional.
486
487 2019-03-28 Alan Modra <amodra@gmail.com>
488
489 PR 24392
490 * configure.ac: Invoke AC_CHECK_SIZEOF(int).
491 * configure: Regenerate.
492 * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
493 workaround with SIZEOF_LONG vs. SIZEOF_INT check.
494 * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
495 * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
496 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
497
498 2019-03-21 Jim Wilson <jimw@sifive.com>
499
500 PR 24365
501 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
502 verify sym non-NULL before using. Add identical check using h.
503
504 2019-03-21 Sudakshina Das <sudi.das@arm.com>
505
506 * elf-bfd.h (struct elf_backend_data): Add argument to
507 merge_gnu_properties.
508 * elf-properties.c (elf_merge_gnu_properties): Add argument to
509 itself and while calling bed->merge_gnu_properties.
510 (elf_merge_gnu_property_list): Update the calls for
511 elf_merge_gnu_properties.
512 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
513 of --force-bti warning and add argument.
514 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
515 warning.
516 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
517 * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
518 declaration.
519
520 2019-03-20 Sudakshina Das <sudi.das@arm.com>
521
522 * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
523 * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
524 (elf_backend_fixup_gnu_properties): Define for AArch64.
525
526 2019-03-18 Alan Modra <amodra@gmail.com>
527
528 PR 24355
529 * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
530 for local iplt syms with ent->plt.offset == -1. Remove ineffective
531 attempt at writing glink stubs only once.
532
533 2019-03-16 Alan Modra <amodra@gmail.com>
534
535 PR 24337
536 * elf.c (_bfd_elf_rela_local_sym): Revert last change.
537 (_bfd_elf_rel_local_sym): Likewise.
538 * elflink.c (elf_link_input_bfd): Use bfd_und_section for
539 section of symbols with unrecognized shndx.
540
541 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
542
543 PR ld/24267
544 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
545 section.
546 * cofflink.c (coff_link_add_symbols): Check for symbols defined
547 in discarded section.
548
549 2019-03-15 Alan Modra <amodra@gmail.com>
550
551 PR 24339
552 * elflink.c (elf_link_add_object_symbols): Bail out on a local
553 symbol after globals if elf_bad_symtab is not set.
554
555 2019-03-15 Alan Modra <amodra@gmail.com>
556
557 PR 24337
558 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
559 (_bfd_elf_rel_local_sym): Likewise.
560
561 2019-03-15 Alan Modra <amodra@gmail.com>
562
563 PR 24336
564 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
565 object files with sh_size not a multiple of sh_entsize.
566
567 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
568
569 PR ld/24338
570 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
571 input with bad relocation.
572
573 22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
574
575 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
576
577 2019-03-14 Nick Clifton <nickc@redhat.com>
578
579 PR 24334
580 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
581 (save_section_vma): Initialise field to the number of entries in
582 the sec_vma table.
583 (section_vma_same): Check that the number of entries in the
584 sec_vma table matches the number of sections in the bfd.
585
586 2019-03-14 Nick Clifton <nickc@redhat.com>
587
588 PR 24333
589 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
590 section owner pointer when adding the default symbol.
591
592 2019-03-14 Nick Clifton <nickc@redhat.com>
593
594 PR 24332
595 * elflink.c (elf_link_add_object_symbols): Add new local variable
596 extversym_end. Initialise it to point to the end of the version
597 symbol table, if present. Check it when initialising and updating
598 the ever pointer.
599
600 2019-03-13 Sudakshina Das <sudi.das@arm.com>
601
602 * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
603 (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
604 (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
605 (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
606 and PLT_PAC_PLT.
607 (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
608 (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
609 (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
610
611 2019-03-13 Sudakshina Das <sudi.das@arm.com>
612 Szabolcs Nagy <szabolcs.nagy@arm.com>
613
614 * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
615 (aarch64_bti_pac_info): New.
616 (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
617 (bfd_elf32_aarch64_set_options): Likewise.
618 * bfd-in2.h: Regenerate
619 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
620 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
621 (elfNN_aarch64_small_plt0_bti_entry): New.
622 (elfNN_aarch64_small_plt_bti_entry): New.
623 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
624 (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
625 (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
626 tlsdesc_plt_entry_size fields.
627 (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
628 (setup_plt_values): New helper function.
629 (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
630 bti enable type.
631 (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
632 fixed macros.
633 (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
634 (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
635 to plt stubs instead of fixed ones and update filling them according
636 to the need for bti.
637 (elfNN_aarch64_init_small_plt0_entry): Likewise.
638 (elfNN_aarch64_finish_dynamic_sections): Likewise.
639 (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
640 (elfNN_aarch64_plt_sym_val): Update size accordingly.
641 (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
642 is set.
643 (bfd_elfNN_get_synthetic_symtab): Define.
644 (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
645 and mising BTI NOTE SECTION.
646
647
648 2019-03-13 Sudakshina Das <sudi.das@arm.com>
649
650 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
651 linker created inputs from merge.
652 * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
653 GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
654 (elfNN_aarch64_link_setup_gnu_properties): New.
655 (elfNN_aarch64_merge_gnu_properties): New.
656 (elf_backend_setup_gnu_properties): Define for AArch64.
657 (elf_backend_merge_gnu_properties): Likewise.
658 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
659 (_bfd_aarch64_elf_parse_gnu_properties): Define.
660 (_bfd_aarch64_elf_merge_gnu_properties): Define.
661 * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
662 (_bfd_aarch64_elf_parse_gnu_properties): Declare.
663 (_bfd_aarch64_elf_merge_gnu_properties): Declare.
664 (elf_backend_parse_gnu_properties): Define for AArch64.
665
666 2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
667
668 PR ld/24322
669 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
670 merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
671
672 2019-03-12 Alan Modra <amodra@gmail.com>
673
674 * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
675 nmemb parameter. Use bfd_alloc2.
676 (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
677 Delete assertion.
678 (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
679 (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
680 * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
681 doesn't overflow.
682 * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
683 (assign_section_numbers): Style fix.
684 (swap_out_syms): Use bfd_malloc2.
685 (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
686 overflow.
687 (_bfd_elf_make_empty_symbol): Style fix.
688 (elfobj_grok_stapsdt_note_1): Formatting.
689 * elfcode.h (elf_object_p): Use bfd_alloc2.
690 (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
691 (elf_slurp_symbol_table): Use bfd_zalloc2.
692 (elf_slurp_reloc_table): Use bfd_alloc2.
693 (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
694 * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
695 size calculation doesn't overflow.
696 (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
697 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
698 * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
699
700 2019-03-08 Alan Modra <amodra@gmail.com>
701
702 PR 24311
703 * merge.c (merge_strings): Return secinfo. Don't pad section
704 to alignment here.
705 (_bfd_merge_sections): Pad section to alignment here, if input
706 sections contributing to merged output all pad to alignment.
707 Formatting.
708
709 2019-03-06 Nick Clifton <nickc@redhat.com>
710
711 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
712 table pointer.
713 * coffgen.c (coff_find_nearest_line_with_names): Do not call
714 _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
715
716 2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
717
718 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
719 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
720
721 PR 20113
722 * elf32-s390.c (allocate_dynrelocs): Update comment.
723
724 2019-02-28 Tamar Christina <tamar.christina@arm.com>
725
726 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
727
728 2019-02-28 Nick Clifton <nickc@redhat.com>
729
730 PR 24273
731 * elf.c (bfd_elf_string_from_elf_section): Check for a string
732 section that is not NUL terminated.
733
734 2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
735
736 PR ld/24276
737 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
738 by linker when checking copy reloc on protected symbol.
739
740 2019-02-24 Alan Modra <amodra@gmail.com>
741
742 PR 24144
743 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
744
745 2019-02-20 Eric Tsai <erictsai@cadence.com>
746
747 * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
748 sections between the call site and call destination and adjust
749 call distance by the largest alignment.
750
751 2019-02-20 Alan Hayward <alan.hayward@arm.com>
752
753 * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
754 * elf.c (elfcore_grok_aarch_pauth): New function.
755 (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
756 (elfcore_write_aarch_pauth): New function.
757 (elfcore_write_register_note): Check for AArch64 pauth section.
758
759 2019-02-20 Alan Modra <amodra@gmail.com>
760
761 PR 24225
762 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
763 return value.
764
765 2019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
766
767 * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
768 Darwin hosts, not just or1k.
769 * configure: Regenerate.
770
771 2019-02-20 Alan Modra <amodra@gmail.com>
772
773 PR 24236
774 * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
775 sentinel NUL to string buffer nearer to loop where it is used.
776 Don't go past sentinel when scanning strings, and don't write
777 NUL again.
778 * archive.c (do_slurp_coff_armap): Simplify string handling to
779 archive64.c style.
780
781 2019-02-19 Alan Modra <amodra@gmail.com>
782
783 PR 24235
784 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
785 attempting to prevent read past end of section.
786
787 2019-02-18 Alan Modra <amodra@gmail.com>
788
789 PR 24225
790 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
791 PRIx64 to generate warning messages. Print local sym names too.
792
793 2019-02-09 Vineet Gupta <vgupta@synopsys.com>
794
795 * elf32-arc (INIT_SYM_STRING): Delete.
796 (FINI_SYM_STRING): Likewise.
797 (init_str): Likewise.
798 (fini_str): Likewise.
799
800 2019-02-08 Alan Modra <amodra@gmail.com>
801
802 * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
803 for bss-plt" warning to make it an error.
804
805 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
806
807 PR ld/18841
808 * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
809 reloc_class_ifunc for ifunc symbols.
810 * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
811
812 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
813
814 * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
815 <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
816
817 2019-02-07 Nick Clifton <nickc@redhat.com>
818
819 * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
820 into the definitely obsolete list.
821
822 2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
823
824 PR ld/24151
825 * elf64-x86-64.c (elf_x86_64_need_pic): Check
826 SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
827 (elf_x86_64_relocate_section): Move PIC check for PC-relative
828 relocations to ...
829 (elf_x86_64_check_relocs): Here.
830 (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
831 to check if a symbol is defined in a non-shared object.
832 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
833
834 2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
835
836 * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
837 of 'labs' (and fix GCC warning).
838
839 2019-01-25 Nick Clifton <nickc@redhat.com>
840
841 * po/ru.po: Updated Russian translation.
842
843 2019-01-23 Nick Clifton <nickc@redhat.com>
844
845 * po/fr.po: Updated French translation.
846
847 2019-01-21 Nick Clifton <nickc@redhat.com>
848
849 * po/pt.po: Updated Portuguese translation.
850 * po/uk.po: Updated Ukranian translation.
851
852 2019-01-21 Yuri Chornoivan <yurchor@ukr.net>
853
854 PR 24108
855 * elf32-nds32.c (nds32_relocate_section): Add space between words
856 in error message.
857 * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
858 error message.
859 (riscv_i_or_e_p): Likewise.
860 (riscv_merge_arch_attr_info): Likewise.
861
862 2019-01-19 Nick Clifton <nickc@redhat.com>
863
864 * version.m4: Reset to 2.32.51
865 * configure: Regenerate.
866 * po/bfd.pot: Regenerate.
867
868 2018-06-24 Nick Clifton <nickc@redhat.com>
869
870 2.32 branch created.
871
872 2019-01-16 Kito Cheng <kito@andestech.com>
873
874 * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
875 for OBJ_ATTR_PROC.
876
877 2019-01-16 Kito Cheng <kito@andestech.com>
878 Nelson Chu <nelson@andestech.com>
879
880 * elfnn-riscv.c (in_subsets): New.
881 (out_subsets): Likewise.
882 (merged_subsets): Likewise.
883 (riscv_std_ext_p): Likewise.
884 (riscv_non_std_ext_p): Likewise.
885 (riscv_std_sv_ext_p): Likewise.
886 (riscv_non_std_sv_ext_p): Likewise.
887 (riscv_version_mismatch): Likewise.
888 (riscv_i_or_e_p): Likewise.
889 (riscv_merge_std_ext): Likewise.
890 (riscv_merge_non_std_and_sv_ext): Likewise.
891 (riscv_merge_arch_attr_info): Likewise.
892 (riscv_merge_attributes): Likewise.
893 (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
894
895 * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
896 (elf_backend_obj_attrs_vendor): Define.
897 (elf_backend_obj_attrs_section_type): Likewise.
898 (elf_backend_obj_attrs_section): Likewise.
899 (elf_backend_obj_attrs_arg_type): Define as
900 riscv_elf_obj_attrs_arg_type.
901 * elfxx-riscv.c (riscv_estimate_digit): New.
902 (riscv_estimate_arch_strlen1): Likewise.
903 (riscv_estimate_arch_strlen): Likewise.
904 (riscv_arch_str1): Likewise.
905 (riscv_arch_str): Likewise.
906 * elfxx-riscv.h (riscv_arch_str): Declare.
907
908 2019-01-14 John Darrington <john@darrington.wattle.id.au>
909
910 * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
911 * libbfd.h: regen.
912 * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
913 source field. (md_apply_fix): Apply final fix
914 to BFD_RELOC_S12Z_OPR.
915 * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
916
917 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
918
919 PR 20113
920 * elf32-s390.c (allocate_dynrelocs): Update comment.
921
922 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
923
924 * warning.m4: Adjust egrep pattern for non-GNU compilers.
925 * configure: Regenerate.
926
927 2019-01-08 Alan Modra <amodra@gmail.com>
928
929 PR 23699
930 PR 24065
931 * ihex.c (ihex_write_object_contents): Properly check 32-bit
932 address range.
933
934 2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
935
936 * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
937 * bfd/bfd-in2.h: Regenerate.
938 * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
939 * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
940
941 2019-01-04 Lifang Xia <lifang_xia@c-sky.com>
942
943 * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
944 default target, little endian target is more suitable.
945
946 2019-01-04 Alan Modra <amodra@gmail.com>
947
948 PR 24061
949 PR 21786
950 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
951 adjust all callers.
952 (EQ_VALUE_IN_FIELD): Likewise.
953 * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
954
955 2019-01-01 Alan Modra <amodra@gmail.com>
956
957 Update year range in copyright notice of all files.
958
959 For older changes see ChangeLog-2018
960 \f
961 Copyright (C) 2019 Free Software Foundation, Inc.
962
963 Copying and distribution of this file, with or without modification,
964 are permitted in any medium without royalty provided the copyright
965 notice and this notice are preserved.
966
967 Local Variables:
968 mode: change-log
969 left-margin: 8
970 fill-column: 74
971 version-control: never
972 End:
This page took 0.049758 seconds and 5 git commands to generate.