Optimize x86 GOT32X/GOTPCRELX relocations
[deliverable/binutils-gdb.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:
This page took 0.05759 seconds and 5 git commands to generate.