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