Optimize x86 GOT32X/GOTPCRELX relocations
[external/binutils.git] / bfd / ChangeLog
1 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR ld/19609
4         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
5         load with locally bound symbols if PIC is false or there is no
6         base register.  Optimize branch to 0 if PIC is false.
7         (elf_i386_relocate_section): Don't generate dynamic relocations
8         against undefined weak symbols if PIC is false.
9         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
10         if we can't estimate relocation overflow with --no-relax.
11         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
12         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
13         (elf_x86_64_relocate_section): Don't generate dynamic relocations
14         against undefined weak symbols if PIC is false.
15
16 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
17
18         PR ld/19645
19         * bfd.c (bfd): Change flags to 20 bits.
20         (BFD_CONVERT_ELF_COMMON): New.
21         (BFD_USE_ELF_STT_COMMON): Likewise.
22         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
23         BFD_USE_ELF_STT_COMMON.
24         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
25         * configure.ac: Remove --enable-elf-stt-common.
26         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
27         common symbol depending on BFD_CONVERT_ELF_COMMON and
28         BFD_USE_ELF_STT_COMMON.
29         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
30         STT_COMMON.
31         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
32         STT_COMMON.
33         (elf_link_convert_common_type): New function.
34         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
35         common symbol depending on BFD_CONVERT_ELF_COMMON and
36         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
37         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
38         and BFD_USE_ELF_STT_COMMON to object_flags.
39         (TARGET_LITTLE_SYM): Likewise.
40         * syms.c (BSF_KEEP_G): Renamed to ...
41         (BSF_ELF_COMMON): This.
42         * bfd-in2.h: Regenerated.
43         * config.in: Likewise.
44         * configure: Likewise.
45
46 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
47
48         PR ld/19636
49         PR ld/19704
50         PR ld/19719
51         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
52         (elf_i386_link_hash_entry): Add has_got_reloc and
53         has_non_got_reloc.
54         (elf_i386_link_hash_table): Add interp.
55         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
56         has_non_got_reloc.
57         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
58         has_non_got_reloc.
59         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
60         (elf_i386_fixup_symbol): New function.
61         (elf_i386_pie_finish_undefweak_symbol): Likewise.
62         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
63         relocations and discard relocations against resolved undefined
64         weak symbols in executable.  Don't make resolved undefined weak
65         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
66         relocation against undefined weak symbols in PIE.
67         (elf_i386_size_dynamic_sections): Set interp to .interp section.
68         (elf_i386_relocate_section): Don't generate dynamic relocations
69         against resolved undefined weak symbols in PIE, except for
70         R_386_PC32.
71         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
72         dynamic PLT/GOT relocations for resolved undefined weak symbols.
73         Don't generate dynamic relocation against resolved undefined weak
74         symbol in executable.
75         (elf_i386_finish_dynamic_sections): Call
76         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
77         (elf_backend_fixup_symbol): New.
78         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
79         (elf_x86_64_link_hash_entry): Add has_got_reloc and
80         has_non_got_reloc.
81         (elf_x86_64_link_hash_table): Add interp.
82         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
83         has_non_got_reloc.
84         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
85         has_non_got_reloc.
86         (elf_x86_64_check_relocs): Set has_got_reloc and
87         has_non_got_reloc.
88         (elf_x86_64_fixup_symbol): New function.
89         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
90         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
91         relocations and discard relocations against resolved undefined
92         weak symbols in executable.  Don't make resolved undefined weak
93         symbols in executable dynamic.
94         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
95         (elf_x86_64_relocate_section): Check relocation overflow for
96         dynamic relocations against unresolved weak undefined symbols.
97         Don't generate dynamic relocations against resolved weak
98         undefined symbols in PIE.
99         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
100         dynamic PLT/GOT relocations for resolved undefined weak symbols.
101         Don't generate dynamic relocation against resolved undefined weak
102         symbol in executable.
103         (elf_x86_64_finish_dynamic_sections): Call
104         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
105         (elf_backend_fixup_symbol): New.
106
107 2016-02-26  Alan Modra  <amodra@gmail.com>
108
109         * elf64-ppc.c (create_linkage_sections): Create sfpr when
110         save_restore_funcs, rest of sections when not relocatable.
111         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
112         (sfpr_define): Define all symbols on emitted code.
113         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
114         when relocatable.  Move sfpr_define loop earlier.
115
116 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
117
118         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
119         (elf_x86_64_relocate_section): Use it.  Replace
120         x86_64_elf_howto_table[r_type] with howto.
121
122 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
123
124         PR ld/19698
125         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
126         symbol version is unknown.
127
128 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
129
130         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
131         to (bfd_vma) -1 when setting needs_plt to 0.
132         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
133
134 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
135
136         * elflink.c (bfd_elf_record_link_assignment): Check for shared
137         library, instead of PIC, and don't check PDE when making linker
138         assigned symbol dynamic.
139
140 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
141
142         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
143         ABIVERSION for non-executable stack.
144
145 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
146
147         PR target/19516
148         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
149         Always produce a RELATIVE reloc for a local symbol.
150
151 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
152
153         Fix test-case ld-elf/pr19617b
154         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
155         discard unused non-function symbols when --dynamic-list-data.
156
157 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
158
159         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
160         dynsym section, even if it is empty, with dynamic sections.
161
162 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
163
164         * syms.c: Remove BSF_COMMON from comments.
165         * bfd-in2.h: Regenerated.
166
167 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
168
169         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
170         for destination.  Remove useless function parameters.
171         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
172
173 2016-02-19  Nick Clifton  <nickc@redhat.com>
174
175         PR ld/19629
176         * aoutx.h (aout_link_add_symbols): Check for out of range string
177         table offsets.
178
179         PR ld/19628
180         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
181         processing if we encounter a reloc without an associated symbol.
182
183 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
184
185         PR ld/19617
186         * elflink.c (elf_link_add_object_symbols): Always create dynamic
187         sections for -E/--dynamic-list.
188
189 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
190
191         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
192         to bfd_true.
193
194 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
195
196         * plugin.c (plugin_vec): Set match priority to 255.
197         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
198         matching against the plugin vector, take priority from there not
199         from TEMP.
200
201 2016-02-15  Nick Clifton  <nickc@redhat.com>
202
203         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
204         for length and type fields.  Use a signed value for the
205         suffix_length field.
206
207 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
208
209         PR ld/19601
210         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
211         significant bit in GOT offset for R_386_GOT32X.
212
213 2016-02-10  Nick Clifton  <nickc@redhat.com>
214
215         PR 19405
216         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
217         immediate values.
218         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
219         number of messages about FDE encoding preventing .eh_frame_hdr
220         generation.
221
222 2016-02-09  Nick Clifton  <nickc@redhat.com>
223
224         * oasys.c (oasys_archive_p): Fix indentation.
225         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
226         constant for left shifting.
227
228         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
229         helpful warning message to explain why certain AArch64 relocs
230         might overflow.
231
232 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
233
234         * pe-mips.c (coff_mips_reloc): Fix formatting.
235
236 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
237
238         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
239         to bfd_mach_arc_arc600.
240
241 2016-02-04  Alan Modra  <amodra@gmail.com>
242
243         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
244         for big-endian.
245
246 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
247
248         PR ld/19542
249         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
250         distances in the compressed_size field of the output section.
251
252 2016-02-02  Alan Modra  <amodra@gmail.com>
253
254         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
255         ELFv2 entry optimization.
256
257 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
258
259         PR binutils/19547
260         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
261         no relocations in relocatable files.
262
263 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
264
265         PR ld/19553
266         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
267         if a symbol from a library loaded via DT_NEEDED doesn't match
268         the symbol referenced by regular object.
269
270 2016-02-01  Nathaniel Smith  <njs@pobox.com>
271
272         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
273         CODE and DATA.
274
275 2016-02-01  Alan Modra  <amodra@gmail.com>
276
277         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
278         an out of range reloc_index.
279         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
280
281 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
282
283         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
284         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
285         * Makefile.in: Regenerated.
286
287 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
288
289         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
290
291 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
292
293         PR ld/19526
294         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
295         files.
296         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
297
298 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
299
300         PR ld/19539
301         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
302         against STT_GNU_IFUNC symbol only with dynamic symbols.
303         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
304
305 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
306
307         PR binutils/19523
308         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
309         decompress debug sections.
310
311 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
312
313         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
314         `dynindx'.
315
316 2016-01-25  Nick Clifton  <nickc@redhat.com>
317
318         PR target/19435
319         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
320         dsym filename buffer.
321
322 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
323
324         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
325
326 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
327
328         * elfxx-mips.c (BZ16_REG): Correct calculation.
329
330 2016-01-21  Nick Clifton  <nickc@redhat.com>
331
332         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
333         changing the type of _loc to be bfd_byte *.
334         (elf_arc_finish_dynamic_symbol): Likewise.
335
336 2016-01-21  Nick Clifton  <nickc@redhat.com>
337
338         PR ld/19455
339         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
340         class of the linker stub bfd.
341         (elf32_arm_check_relocs): Skip check for pic format after
342         processing a vxWorks R_ARM_ABS12 reloc.
343         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
344         reporting a class mismatch.
345
346 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
347
348         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
349         veneer for sym_sec != input_sec.
350         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
351         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
352         calculation destination.
353
354 2016-01-21  Alan Modra  <amodra@gmail.com>
355
356         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
357         (swap_linux_prpsinfo64_out): New function.
358         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
359         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
360         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
361         (elfcore_write_linux_prpsinfo64): Likewise.
362         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
363         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
364         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
365
366 2016-01-21  Alan Modra  <amodra@gmail.com>
367
368         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
369         * elf.c: Adjust #include.
370         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
371         * Makefile.am (SOURCE_HFILES): Update.
372         * Makefile.in: Regenerate.
373         * po/SRC-PORFILES.in: Regenerate.
374
375 2016-01-21  Alan Modra  <amodra@gmail.com>
376
377         * configure.ac: Move corefile selection later in file.  Move
378         tdefaults code immediately after other target vector code.
379         * configure: Regenerate.
380
381 2016-01-20  Mickael Guene  <mickael.guene@st.com>
382
383         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
384         section using '.text.noread' pattern.
385
386 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
387
388         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
389
390 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
391             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
392
393         * arc-plt.def: New file.
394         * arc-plt.h: Likewise.
395         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
396                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
397                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
398                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
399         (name_for_global_symbol): Added.
400         (ADD_RELA): Helper to create dynamic relocs.
401         (new_got_entry_to_list): Create a new got entry in linked list.
402         (symbol_has_entry_of_type): Search for specific type of entry in
403         list.
404         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
405         (is_reloc_for_TLS, arc_elf_set_private_flags)
406         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
407         (arc_elf_merge_private_bfd_data): New functions.
408         (debug_arc_reloc): Cleaned debug info printing.
409         (PDATA reloc): Changed not to perform address alignment.
410         (reverse_me): Added. Fix for ARC_32 relocs.
411         (arc_do_relocation): Return bfd_reloc_of when no relocation should
412         occur.
413         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
414         Changed function to access an array of list of GOT entries instead
415         of just an array of offsets.
416         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
417         (elf_arc_check_relocs): Likewise.
418         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
419         (elf_arc_finish_dynamic_sections): Likewise
420         (arc_create_dynamic_sections): Modified conditions to create
421         dynamic sections.
422         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
423         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
424         (relocate_plt_for_entry): Changed to support new way to define PLT
425         related code.
426         (add_symbol_to_plt): Likewise.
427         (arc_elf_link_hash_table_create): New function.
428
429 2016-01-18  Nick Clifton  <nickc@redhat.com>
430
431         PR ld/19440
432         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
433         section number into internal section number.
434         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
435         * coffswap.h (coff_swap_sym_in): Likewise.
436         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
437         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
438         section number field is big enough to hold the external value.
439
440 2016-01-17  Alan Modra  <amodra@gmail.com>
441
442         * configure: Regenerate.
443
444 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
445
446         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
447         when address in first unwind entry does not match start of
448         section.
449
450 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
451             Jiong Wang  <jiong.wang@arm.com>
452
453         PR ld/19368
454         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
455         reloc_class_ifunc.
456
457 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
458
459         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
460         place 'R_' before the reloc name returned.
461         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
462         the relocation string.
463
464 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
465
466         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
467         factored out from...
468         (_bfd_mips_elf_merge_private_bfd_data): ... here.
469
470 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
471
472         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
473         attribute check after ELF file header flag check.
474
475 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
476
477         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
478         return status from `_bfd_elf_merge_object_attributes'.
479
480 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
481
482         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
483         factored out from...
484         (_bfd_mips_elf_merge_private_bfd_data): ... here.
485
486 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
487
488         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
489         handling of input MIPS ABI flags together.
490
491 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
492
493         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
494         attribute checks for null input.
495
496 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
497
498         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
499         pointers to target data.
500
501 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
502
503         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
504         an FP ABI warning.
505
506 2016-01-01  Alan Modra  <amodra@gmail.com>
507
508         Update year range in copyright notice of all files.
509
510 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
511 \f
512 Copyright (C) 2016 Free Software Foundation, Inc.
513
514 Copying and distribution of this file, with or without modification,
515 are permitted in any medium without royalty provided the copyright
516 notice and this notice are preserved.
517
518 Local Variables:
519 mode: change-log
520 left-margin: 8
521 fill-column: 74
522 version-control: never
523 End: