Commit | Line | Data |
---|---|---|
d9972968 CLT |
1 | 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> |
2 | ||
3 | * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation | |
4 | of GOTOFF relocations. | |
5 | ||
0ff2b86e L |
6 | 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com> |
7 | H.J. Lu <hongjiu.lu@intel.com> | |
8 | ||
9 | * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. | |
10 | (elf_x86_64_legacy_plt_entry): Likewise. | |
11 | (elf_x86_64_bnd_plt_entry): Likewise. | |
12 | (elf_x86_64_legacy_plt2_entry): Likewise. | |
13 | (elf_x86_64_bnd_plt2_entry): Likewise. | |
14 | (elf_x86_64_bnd_arch_bed): Likewise. | |
15 | (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. | |
16 | (elf_x86_64_link_hash_table): Add plt_bnd. | |
17 | (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and | |
18 | plt_bnd. | |
19 | (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. | |
20 | (elf_x86_64_check_relocs): Create the second PLT for Intel MPX | |
21 | in 64-bit mode. | |
22 | (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC | |
23 | symbols. Resolve call to the second PLT if it is created. | |
24 | (elf_x86_64_size_dynamic_sections): Keep the second PLT section. | |
25 | (elf_x86_64_relocate_section): Resolve PLT references to the | |
26 | second PLT if it is created. | |
27 | (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the | |
28 | second PLT entry for BND relocation. | |
29 | (elf_x86_64_finish_dynamic_sections): Use MPX backend data if | |
30 | the second PLT is created. | |
31 | (elf_x86_64_get_synthetic_symtab): New. | |
32 | (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. | |
33 | ||
7d4c687d AM |
34 | 2014-02-19 Alan Modra <amodra@gmail.com> |
35 | ||
36 | * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. | |
37 | * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control | |
38 | provision of out-of-line register save/restore routines. | |
39 | ||
5db3e65d JC |
40 | 2014-02-18 Jack Carter <jack.carter@imgtec.com> |
41 | ||
42 | * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of | |
43 | PT_DYNAMIC segment flags. | |
44 | ||
024a2310 JK |
45 | 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
46 | ||
47 | PR binutils/16595 | |
48 | * simple.c (struct saved_offsets): New. | |
49 | (simple_save_output_info): Use it for ptr. | |
50 | (simple_restore_output_info): Use it for ptr. Check section_count. | |
51 | (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. | |
52 | ||
e7d1c40c AM |
53 | 2014-02-17 Alan Modra <amodra@gmail.com> |
54 | ||
55 | * elf64-ppc.h (struct ppc64_elf_params): Define. | |
56 | (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, | |
57 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, | |
58 | ppc64_elf_build_stubs): Update prototype. | |
59 | * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other | |
60 | fields now in params. Adjust code throughout file. | |
61 | (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". | |
62 | Save params pointer in htab. | |
63 | (ppc64_elf_edit_opd, ppc64_elf_tls_setup, | |
64 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, | |
65 | ppc64_elf_build_stubs): Remove parameters now in "params". | |
66 | ||
668e22e5 AM |
67 | 2014-02-17 Alan Modra <amodra@gmail.com> |
68 | ||
69 | * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns | |
70 | patched for ppc476 workaround. Reapply branch taken/not taken | |
71 | relocs. | |
72 | ||
9f7552cf AM |
73 | 2014-02-12 Alan Modra <amodra@gmail.com> |
74 | ||
75 | * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch | |
76 | stubs for calls to __tls_get_addr that we know will later be | |
77 | optimised away. | |
78 | ||
795bc6b3 AM |
79 | 2014-02-12 Alan Modra <amodra@gmail.com> |
80 | ||
81 | * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround | |
82 | for ld -r, when code sections are sufficiently aligned. | |
83 | * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add | |
84 | pagesize_p2. | |
85 | ||
b407645f AM |
86 | 2014-02-12 Alan Modra <amodra@gmail.com> |
87 | ||
88 | PR gold/15530 | |
89 | * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support | |
90 | --export-dynamic and --dynamic-list marking of symbols. | |
91 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder | |
92 | cheap tests first. | |
93 | ||
d6f6f455 L |
94 | 2014-02-10 H.J. Lu <hongjiu.lu@intel.com> |
95 | ||
96 | PR gold/16530 | |
97 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in | |
98 | executables if it matches dynamic_list. | |
99 | ||
c1c69e83 AM |
100 | 2014-02-10 Alan Modra <amodra@gmail.com> |
101 | ||
102 | * po/SRC-POTFILES.in: Regenerate. | |
103 | * po/bfd.pot: Regenerate. | |
104 | ||
53291d1f AM |
105 | 2014-02-09 Alan Modra <amodra@gmail.com> |
106 | ||
107 | * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. | |
108 | * elfxx-target.h (elf_backend_caches_rawsize): Define. | |
109 | (elfNN_bed): Init new field. | |
110 | * elflink.c (elf_link_input_bfd): Handle caches_rawsize. | |
111 | * elf32-ppc.c (shared_stub_entry): Zero addi offset. | |
112 | (ppc_elf_relax_section): Don't reallocate section here, write | |
113 | stubs, or write out relocs for ld -r here.. | |
114 | (ppc_elf_relocate_section): ..instead write stubs here, and use | |
115 | existing code to write out relocs for ld -r. Fix offset | |
116 | adjustment on reloc for little-endian. | |
117 | (elf_backend_caches_rawsize): Define. | |
118 | ||
d1eb5696 RO |
119 | 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
120 | ||
85773039 | 121 | PR build/16550 |
d1eb5696 RO |
122 | * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. |
123 | ||
2915c55b JK |
124 | 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com> |
125 | ||
126 | * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in | |
127 | return paths. Three times. | |
128 | * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all | |
129 | return paths. | |
130 | (ppc64_elf_tls_optimize): Free TOC_REF in return path. | |
131 | (ppc64_elf_edit_toc): Free USED in return path. | |
132 | ||
1c2de463 SL |
133 | 2014-02-03 Sandra Loosemore <sandra@codesourcery.com> |
134 | ||
135 | * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. | |
136 | (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. | |
137 | * libbfd.h: Regenerated. | |
138 | * bfd-in2.h: Regenerated. | |
139 | * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. | |
140 | (nios2_reloc_map): Likewise. | |
141 | (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. | |
142 | Fixed all references. | |
143 | (nios2_elf32_relocate_section): Add new relocations. | |
144 | (nios2_elf32_check_relocs): Likewise. | |
145 | (nios2_elf32_gc_sweep_hook): Likewise. | |
146 | ||
5446cbdf AM |
147 | 2014-02-03 Alan Modra <amodra@gmail.com> |
148 | ||
149 | * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. | |
150 | Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. | |
151 | (ppc_elf_link_params): New function. | |
152 | (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 | |
153 | workaround. | |
154 | (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms | |
155 | parameters. Use htab->params instead. | |
156 | (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. | |
157 | (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to | |
158 | 64 bytes for ppc476 workaround. | |
159 | (struct ppc_elf_relax_info): New. | |
160 | (ppc_elf_relax_section): Exclude linker created sections and | |
161 | those too small to hold one instruction. Don't add another | |
162 | branch around trampolines on later relax passes. Don't | |
163 | generate trampolines for undefined symbols when !relocatable, | |
164 | nor for plugin symbols. Allocate space for ppc476 workaround | |
165 | patch area. Free fixups on error return path. | |
166 | (ppc_elf_relocate_section): Handle ppc476 workaround patching. | |
167 | * elf32-ppc.h (struct ppc_elf_params): New. | |
168 | (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. | |
169 | (ppc_elf_link_params): Declare. | |
170 | * section.c (SEC_INFO_TYPE_TARGET): Define. | |
171 | * bfd-in2.h: Regenerate. | |
172 | ||
82e91538 SL |
173 | 2014-02-02 Sandra Loosemore <sandra@codesourcery.com> |
174 | ||
175 | * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add | |
176 | h_gp_got field. | |
177 | (nios2_elf32_relocate_section): Use got_base to adjust | |
178 | GOT-pointer-relative relocations relative to _gp_got. | |
179 | (create_got_section): Create _gp_got symbol. | |
180 | (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. | |
181 | (nios2_elf32_size_dynamic_sections): Set _gp_got offset. | |
182 | ||
78058a5e SL |
183 | 2014-01-30 Sandra Loosemore <sandra@codesourcery.com> |
184 | ||
185 | * bfd-in2.h: Update from reloc.c. | |
186 | * elf32-nios2.c: Include elf32-nios2.h. | |
187 | (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. | |
188 | (nios2_reloc_map): Likewise. | |
189 | (enum elf32_nios2_stub_type): Declare. | |
190 | (struct elf32_nios2_stub_hash_entry): Declare. | |
191 | (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. | |
192 | (struct elf32_nios2_link_hash_entry): Add hsh_cache field. | |
193 | (struct elf32_nios2_link_hash_table): Add new fields bstab, | |
194 | stub_bfd, add_stub_section, layout_sections_again, stub_group, | |
195 | bfd_count, top_index, input_list, all_local_syms. | |
196 | (nios2_call26_stub_entry): New. | |
197 | (nios2_elf32_install_imm16): Move up in file. | |
198 | (nios2_elf32_install_data): Move up in file. | |
199 | (hiadj): Move up in file. | |
200 | (stub_hash_newfunc): New. | |
201 | (link_hash_newfunc): Initialize hsh_cache field. | |
202 | (STUB_SUFFIX): New. | |
203 | (nios2_stub_name): New. | |
204 | (nios2_get_stub_entry): New. | |
205 | (nios2_add_stub): New. | |
206 | (nios2_elf32_setup_section_lists): New. | |
207 | (nios2_elf32_next_input_section): New. | |
208 | (CALL26_SEGMENT): New. | |
209 | (MAX_STUB_SECTION_SIZE): New. | |
210 | (group_sections): New. | |
211 | (nios2_type_of_stub): New. | |
212 | (nios2_build_one_stub): New. | |
213 | (nios2_size_one_stub): New. | |
214 | (get_local_syms): New. | |
215 | (nios2_elf32_size_stubs): New. | |
216 | (nios2_elf32_build_stubs): New. | |
217 | (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. | |
218 | (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add | |
219 | trampolines for R_NIOS2_CALL26 stubs. | |
220 | (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. | |
221 | (nios2_elf32_gc_sweep_hook): Likewise. | |
222 | (nios2_elf32_link_hash_table_create): Initialize the stub hash table. | |
223 | (nios2_elf32_link_hash_table_free): New. | |
224 | (bfd_elf32_bfd_link_hash_table_free): Define. | |
225 | * elf32-nios2.h: New file. | |
226 | * libbfd.h: Update from reloc.c. | |
227 | * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. | |
228 | ||
df3ce959 NC |
229 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
230 | ||
231 | PR binutils/16318 | |
232 | * elf32-metag.c (elf_metag_post_process_headers): Call | |
233 | _bfd_elf_post_process_headers. | |
234 | * elf32-sh64.c (sh64_elf_copy_private_data): Call | |
235 | _bfd_elf_copy_private_data. | |
236 | * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. | |
237 | ||
27b829ee NC |
238 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
239 | ||
240 | * bfd-in.h (bfd_set_section_vma): Delete. | |
241 | (bfd_set_section_alignment): Delete. | |
242 | (bfd_set_section_userdata): Delete. | |
243 | (bfd_set_cacheable): Delete. | |
244 | * bfd.c (bfd_set_cacheable): New static inline function. | |
245 | * section.c (bfd_set_section_userdata): Likewise. | |
246 | (bfd_set_section_vma): Likewise. | |
247 | (bfd_set_section_alignment): Likewise. | |
248 | * bfd-in2.h: Regenerate. | |
249 | ||
0a9c7b2b NC |
250 | 2014-01-28 Nick Clifton <nickc@redhat.com> |
251 | ||
252 | * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr | |
253 | attributes select the CU containing the abbreviation, which may not | |
254 | be the current CU. | |
255 | ||
3ba720c7 AM |
256 | 2014-01-24 Alan Modra <amodra@gmail.com> |
257 | ||
258 | * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed | |
259 | to get_relocs for ELFv2. | |
260 | ||
d923cae0 L |
261 | 2014-01-23 H.J. Lu <hongjiu.lu@intel.com> |
262 | ||
263 | PR ld/16498 | |
3ba720c7 | 264 | * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error |
d923cae0 L |
265 | if TLS sections are not adjacent. |
266 | ||
16e4ecc0 AM |
267 | 2014-01-22 Alan Modra <amodra@gmail.com> |
268 | ||
269 | * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. | |
270 | ||
eb8d7fda AM |
271 | 2014-01-22 Alan Modra <amodra@gmail.com> |
272 | ||
273 | * elf64-ppc.c (STK_LINKER): Comment typo fix. | |
274 | ||
4584ec12 L |
275 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
276 | ||
277 | PR ld/16467 | |
278 | * elflink.c (_bfd_elf_merge_symbol): When types of the existing | |
279 | regular default symbol definition and the versioned dynamic | |
280 | symbol definition mismatch, skip the default symbol definition | |
281 | if one of them is IFUNC. | |
282 | ||
22ef172a L |
283 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
284 | ||
285 | PR ld/2404 | |
286 | * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, | |
287 | info->export_dynamic nor h->ref_dynamic for type mismatch when | |
288 | adding the default version. | |
289 | ||
b75d42bc AM |
290 | 2014-01-16 Alan Modra <amodra@gmail.com> |
291 | ||
292 | * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a | |
293 | mips_elf_traverse_got_arg* rather than mips_got_info*. | |
294 | Adjust caller. Alloc on output_bfd rather than symbol section | |
295 | owner. | |
296 | ||
c353e543 L |
297 | 2014-01-15 H.J. Lu <hongjiu.lu@intel.com> |
298 | ||
299 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last | |
300 | change. | |
301 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
302 | ||
818d220a L |
303 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
304 | ||
305 | PR ld/16428 | |
306 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs | |
307 | against __ehdr_start. | |
308 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
309 | ||
c3ce498c L |
310 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
311 | ||
312 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last | |
313 | change. | |
314 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
315 | ||
d1ec1e40 L |
316 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
317 | ||
318 | PR ld/16428 | |
319 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc | |
320 | count if there are any non pc-relative relocs. | |
321 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
322 | ||
f44a1f8e CL |
323 | 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org> |
324 | Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> | |
325 | ||
326 | * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct | |
327 | offset while calculating relocation address. | |
328 | (elfNN_aarch64_create_small_pltn_entry): Likewise. | |
329 | (elfNN_aarch64_init_small_plt0_entry): Likewise. | |
330 | ||
fd0fd00c MJ |
331 | 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn> |
332 | ||
333 | PR ld/16202 | |
334 | * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for | |
335 | R_ARM_ABS8 and R_ARM_ABS16. | |
336 | ||
aa726b9e AM |
337 | 2014-01-13 Alan Modra <amodra@gmail.com> |
338 | ||
339 | * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, | |
340 | error when shared and force a plt call otherwise. | |
341 | (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless | |
342 | plt_type == PLT_NEW. | |
343 | (ppc_elf_relocate_section): Add missing test to resolve ifuncs to | |
344 | the appropriate call stub. | |
345 | ||
eec2f3ed AM |
346 | 2014-01-10 Alan Modra <amodra@gmail.com> |
347 | ||
348 | PR ld/14207 | |
349 | PR ld/16322 | |
350 | PR binutils/16323 | |
351 | * elf.c (assign_file_positions_for_load_sections): Revert last change. | |
352 | (assign_file_positions_for_non_load_sections): When setting up | |
353 | PT_GNU_RELRO header, don't require a corresponding PT_LOAD | |
354 | header that completely covers the relro region. | |
355 | ||
09bf66a8 TG |
356 | 2014-01-09 Tristan Gingold <gingold@adacore.com> |
357 | ||
358 | * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump | |
359 | table macros and add macros to initializa the structure. | |
360 | ||
43a8475c L |
361 | 2014-01-08 H.J. Lu <hongjiu.lu@intel.com> |
362 | ||
363 | PR ld/14207 | |
364 | PR ld/16322 | |
365 | PR binutils/16323 | |
366 | * elf.c (_bfd_elf_map_sections_to_segments): Don't check section | |
367 | size for PT_GNU_RELRO segment. | |
368 | (assign_file_positions_for_load_sections): If PT_LOAD segment | |
369 | doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. | |
370 | ||
1651e569 TT |
371 | 2014-01-07 Tom Tromey <tromey@redhat.com> |
372 | ||
373 | * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility | |
374 | wrappers. | |
375 | ||
dc9155b2 NC |
376 | 2014-01-03 Nick Clifton <nickc@redhat.com> |
377 | ||
378 | PR binutils/16199 | |
379 | * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of | |
380 | zero. | |
381 | ||
dd8dfa39 | 382 | 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com> |
044387af A |
383 | |
384 | PR binutils/14289 | |
385 | * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. | |
386 | ||
1be5090b NC |
387 | 2014-01-02 Nick Clifton <nickc@redhat.com> |
388 | ||
389 | PR binutils/11983 | |
390 | * archive.c (_bfd_get_elt_at_filepos): Store a copy of the | |
391 | filename in the bfd's filename field. | |
392 | * elfcode.h (bfd_from_remote_memory): Likewise. | |
393 | * ieee.c (ieee_object_p): Likewise. | |
394 | * mach-o.c (bfd_mach_o_fat_member_init): Likewise. | |
395 | * oasys.c (oasys_openr_next_archived_file): Likewise. | |
396 | * vms-lib.c (_bfd_vms_lib_get_module): Likewise. | |
397 | * opncls.c (bfd_fopen): Likewise. | |
398 | (bfd_openstreamr): Likewise. | |
399 | (bfd_openr_iovec): Likewise. | |
400 | (bfd_openw): Likewise. | |
401 | (bfd_create): Likewise. | |
402 | (_bfd_delete_bfd): Free filename. | |
403 | ||
5fb776a6 | 404 | For older changes see ChangeLog-2013 |
56882138 | 405 | \f |
5fb776a6 | 406 | Copyright (C) 2014 Free Software Foundation, Inc. |
752937aa NC |
407 | |
408 | Copying and distribution of this file, with or without modification, | |
409 | are permitted in any medium without royalty provided the copyright | |
410 | notice and this notice are preserved. | |
411 | ||
56882138 AM |
412 | Local Variables: |
413 | mode: change-log | |
414 | left-margin: 8 | |
415 | fill-column: 74 | |
416 | version-control: never | |
417 | End: |