2016-07-28  Nick Clifton  <nickc@redhat.com>

	PR binutils/17512
	* rescoff.c (read_coff_res_dir): Fix detection of buffer overrun.
	* resbin.c (bin_to_res_version): Allow for the padded length of a
	version block to be longer than the recorded length.  Skip padding
	bytes.

2016-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2016-07-20  Claudiu Zissulescu  <claziss@synopsys.com>

	* doc/binutils.texi (objdump): Add ARC disassembler options.
	* testsuite/binutils-all/arc/dsp.s: New file.
	* testsuite/binutils-all/arc/objdump.exp: Likewise.
	* NEWS: Mention the new feature.

2016-07-20  Nick Clifton  <nickc@redhat.com>

	* doc/binutils.texi (objcopy): Note that the localize symbol
	options do not affect unique symbols.

2016-07-16  Alan Modra  <amodra@gmail.com>

	* ar.c: Include plugin-api.h.
	* nm.c: Likewise.

2016-07-16  Alan Modra  <amodra@gmail.com>

	* bucomm.c: Don't include libbfd.h.
	(endian_string, display_target_list): Delete forward declaration.
	(display_info_table, display_target_tables): Likewise.
	(LONGEST_ARCH): Delete.
	(struct display_target): New.
	(do_display_target): New function.
	(display_target_list, display_info): Rewrite functions.
	(display_info_table): Delete.
	(do_info_size, do_info_header, do_info_row): New functions.

2016-07-16  Alan Modra  <amodra@gmail.com>

	* elfcomm.h (HOST_WIDEST_INT): Move to..
	* sysdep.h: ..here.
	* od-macho.c: Don't include libbfd.h.  Do include dwarf.h
	(dump_dyld_info_rebase): Use read_leb128 rather than
	read_unsigned_leb128.
	(dump_dyld_info_bind, dump_dyld_info_export_1): Likewise.
	(dump_segment_split_info): Likewise.
	(dump_dyld_info): Rename vars to avoid shadowing dwarf.h enums.
	(dump_load_command): Likewise.

2016-07-16  Alan Modra  <amodra@gmail.com>

	* ar.c: Don't include libbfd.h.
	* objcopy.c: Likewise.
	* bucomm.c (bfd_get_archive_filename): Use xmalloc rather than
	bfd_malloc.

2016-07-15  Alan Modra  <amodra@gmail.com>

	* testsuite/binutils-all/remove-relocs-01.s: Use .dc.a, not .word.

2016-07-14  Andrew Burgess  <andrew.burgess@embecosm.com>

	* doc/binutils.texi (objcopy): Document 'remove-relocations'.
	(strip): Likewise.
	* objcopy.c (SECTION_CONTEXT_REMOVE_RELOCS): Define.
	(enum command_line_switch): Add 'OPTION_REMOVE_RELOCS'.
	(struct option strip_options): Add 'remove-relocations'.
	(struct option copy_options): Likewise.
	(copy_usage): Likewise.
	(strip_usage): Likewise.
	(handle_remove_relocations_option): New function.
	(discard_relocations): New function.
	(handle_remove_section_option): New function.
	(copy_relocations_in_section): Use discard_relocations.
	(strip_main): Use handle_remove_section_option for
	'remove-section', and handle 'remove-relocations' option.
	(copy_main): Likewise.
	* testsuite/binutils-all/objcopy.exp: Run new tests.
	* testsuite/binutils-all/remove-relocs-01.d: New file.
	* testsuite/binutils-all/remove-relocs-01.s: New file.
	* testsuite/binutils-all/remove-relocs-02.d: New file.
	* testsuite/binutils-all/remove-relocs-03.d: New file.
	* testsuite/binutils-all/remove-relocs-04.d: New file.
	* testsuite/binutils-all/remove-relocs-05.d: New file.
	* testsuite/binutils-all/remove-relocs-06.d: New file.
	* NEWS: Mention new option.

2016-07-14  Andrew Burgess  <andrew.burgess@embecosm.com>

	* objcopy.c (find_section_list): Handle section patterns starting
	with '!' being a non-matching pattern.
	* doc/binutils.texi (objcopy): Give example of using '!' with
	--remove-section and --only-section.
	(strip): Give example of using '!' with --remove-section.
	* testsuite/binutils-all/data-sections.s: New file.
	* testsuite/binutils-all/only-section-01.d: New file.
	* testsuite/binutils-all/remove-section-01.d: New file.
	* testsuite/binutils-all/objcopy.exp: Run new tests.
	* NEWS: Mention new feature.

2016-07-09  Alan Modra  <amodra@gmail.com>

	PR binutils/20337
	* objdump.c (compare_symbols): For ELF, sort same value/type
	symbols according to size.

2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>

	* objdump.c (dump_section_header): Rename SEC_ELF_NOREAD
	to SEC_ELF_NOREAD.
	* readelf.c (get_elf_section_flags): Rename ARM_NOREAD to
	ARM_PURECODE and SHF_ARM_NOREAD to SHF_ARM_PURECODE.
	(process_section_headers): Rename noread to purecode.

	* section.c (SEC_ELF_NOREAD): Rename to ...
	(SEC_ELF_PURECODE): ... this.

2016-07-01  Nick Clifton  <nickc@redhat.com>

	* prdbg.c (pr_enum_type): Use a buffer big enough to hold an
	extremely large decimal value.
	(pr_range_type): Likewise.
	(pr_array_type): Likewise.
	(pr_struct_field): Likewise.
	(pr_class_baseclass): Likewise.
	(pr_class_method_variant): Likewise.
	(pr_tag_type): Likewise.
	(pr_int_constant): Likewise.
	(pr_typed_constant): Likewise.
	(pr_variable): Likewise.
	(pr_function_parameter): Likewise.
	(pr_start_block): Likewise.
	(pr_lineno): Likewise.
	(pr_end_block): Likewise.
	(tg_enum_type): Likewise.
	(tg_int_constant): Likewise.
	(tg_typed_constant): Likewise.
	(tg_start_block): Likewise.

2016-07-01  Nick Clifton  <nickc@redhat.com>

	* testsuite/binutils-all/objcopy.exp
	(objcopy_test_without_global_symbol): Expect this test to fail on
	the AArch64 and ARM targets, since they preserve their mapping
	symbols.

2016-07-01  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.27.

2016-07-30  Tristan Gingold  <gingold@adacore.com>

	* doc/binutils.texi (objdump): Fix mis-placement.

2016-06-28  Nick Clifton  <nickc@redhat.com>

	* testsuite/binutils-all/ar.exp: Relax previous restriction on
	Alpha targets.  Allow ELF based Alpha targets.

2016-06-28  Maciej W. Rozycki  <macro@imgtec.com>

	* testsuite/binutils-all/ar.exp: Use `supports_gnu_unique' with
	the `unique_symbol' test.

2016-06-28  Alan Modra  <amodra@gmail.com>

	PR 20304
	* objdump.c (objdump_print_symname): Don't attempt to retrieve
	version info from synthetic symbols.

2016-06-24  Alan Modra  <amodra@gmail.com>

	* objcopy.c (find_section_rename): Forward declare.  Remove
	ibfd and sec_ptr param.  Add old_name param.  Allow for NULL
	returned_flags.  Move read of section name and flags to..
	(setup_section): ..here.  Update find_section_rename call.
	(filter_symbols): Rename section symbols for renamed sections.
	(copy_object): Call filter_symbols when renamed sections.
	* testsuite/lib/binutils-common.exp (is_bad_symtab): New.
	* testsuite/binutils-all/update-section.exp: Revert 96037eb0
	mips xfail.
	* testsuite/binutils-all/objcopy.exp (copy_executable): Use
	is_bad_symtab.
	(localize-hidden-1): xfail if is_bad_symtab.
	* testsuite/binutils-all/readelf.exp: Use is_bad_symtab to select
	between mips/tmips.

2016-06-24  Alan Modra  <amodra@gmail.com>

	* objdump.c (struct print_file_list): Add "max_printed".
	(try_print_file_open): Init new field.
	(show_line): Don't show 5 context lines when redisplaying source.

2016-06-22  Nick Clifton  <nickc@redhat.com>

	* testsuite/binutils-all/ar.exp: Skip tests for Alpha target.
	Skip bfdtest1 tests for tic30 target.
	* testsuite/binutils-all/arm/objdump.exp: Skip for aout arm
	target.
	* testsuite/binutils-all/compress.exp: Expect some tests to fail
	on the nds32.
	* testsuite/binutils-all/copy-3.d: Skip for go32 targets.
	* testsuite/binutils-all/copy-4.d: Skip for AIX and linuxecoff
	targets.
	* testsuite/binutils-all/nm.exp: Treat beos based targets as ELF
	targets.
	* testsuite/binutils-all/objcopy.exp: Only run reverse bytes tests
	if the bintest.o file was created.  Use the
	get_standard_section_names proc to get the name of the data
	section.
	* testsuite/binutils-all/objdump.exp: Update regexps to allow for
	RX section names.
	* testsuite/binutils-all/readelf.exp: Use
	get_standard_section_names proc to get the name of the data
	section.
	* testsuite/binutils-all/readelf.r: Allow for non standard text
	section names.
	* testsuite/binutils-all/readelf.s: Update regexps for tilepro.
	* testsuite/binutils-all/size.exp: Allow for non standard section
	names.
	* testsuite/binutils-all/update-section.exp: Expect comapre 1vs4
	to fail on mips targets.
	* testsuite/lib/utils-lib.exp (default_binutils_run): Use
	get_standard_section_names proc.
	(run_dump_test): Likewise.
	(proc get_standard_section_names): New proc.

2016-06-22  Nick Clifton  <nickc@redhat.com>

	* readelf.c (dynamic_section_mips_val): Increase size of timebuf.
	(process_mips_specific): Likewise.
	(process_gnu_liblist): Likewise.

2016-06-21  Graham Markall  <graham.markall@embecosm.com>

	* readelf.c (decode_ARC_machine_flags): Remove E_ARC_MACH_NPS400
	case.

2016-06-15  Nick Clifton  <nickc@redhat.com>

	* readelf.c (is_24bit_abs_reloc): Add support for R_FT32_20
	reloc.

2016-06-14  John Baldwin  <jhb@FreeBSD.org>

	* objcopy.c (do_elf_stt_common): Use correct type.

2016-06-14  Alan Modra  <amodra@gmail.com>

	* ar.c: Expand uses of bfd_my_archive.
	* size.c: Likewise.

2016-06-14  Alan Modra  <amodra@gmail.com>

	PR ld/20241
	* bucomm.c (bfd_get_archive_filename): Return file name within thin
	archive.

2016-06-02  Nick Clifton  <nickc@redhat.com>

	PR 20089
	* objcopy.c (group_signature): Fail if the input symbol table has
	not been loaded, or if the sh_info field of the group header is 0.

	* dwarf.c (display_debug_frames): Do not display any
	interpretation if the block consists solely of DW__CFA_NOPs.

2016-05-31  Alan Modra  <amodra@gmail.com>

	* objcopy.c: Formatting, whitespace throughout.
	(copy_main): Init newsym->othersym.
	(parse_symflags): Make len a size_t.  Adjust uses.

2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/14625
	* NEWS: Mention --enable-64-bit-archive.

2016-05-18  Nick Clifton  <nickc@redhat.com>

	PR 20096
	* objcopy.c (copy_relocations_in_section): Also check for the
	symbol pointed to by sym_ptr_ptr being NULL.

2016-05-18  Maciej W. Rozycki  <macro@imgtec.com>

	* testsuite/binutils-all/mips/mixed-mips16-micromips.d: New test.
	* testsuite/binutils-all/mips/mixed-mips16-micromips.s: New test
	source.
	* testsuite/binutils-all/mips/mips.exp: Run the new test.

2016-05-18  Nick Clifton  <nickc@redhat.com>

	* po/sv.po: Updated Swedish translation.

2016-05-18  Maciej W. Rozycki  <macro@imgtec.com>

	* readelf.c (dynamic_section_mips_val) <DT_MIPS_RLD_VERSION>
	<DT_MIPS_LOCAL_GOTNO, DT_MIPS_CONFLICTNO, DT_MIPS_LIBLISTNO>
	<DT_MIPS_SYMTABNO, DT_MIPS_UNREFEXTNO, DT_MIPS_HIPAGENO>
	<DT_MIPS_DELTA_CLASS_NO, DT_MIPS_DELTA_INSTANCE_NO>
	<DT_MIPS_DELTA_RELOC_NO, DT_MIPS_DELTA_SYM_NO>
	<DT_MIPS_DELTA_CLASSSYM_NO, DT_MIPS_COMPACT_SIZE>: Use the
	`d_val' rather than `d_ptr' member of the dynamic entry.

2016-05-17  Maciej W. Rozycki  <macro@imgtec.com>

	* testsuite/lib/binutils-common.exp (supports_gnu_unique): New
	procedure.
	* testsuite/binutils-all/objcopy.exp: Use `supports_gnu_unique'
	with the `strip-10' test.

2016-05-16  Maciej W. Rozycki  <macro@imgtec.com>

	* testsuite/binutils-all/objcopy.exp: Don't skip the `strip-10'
	test for the V850.

2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>

	* readelf.c (print_mips_ases): Add DSPR3.

2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* readelf.c (display_arm_attribute): Add output for Tag_DSP_extension.
	(arm_attr_public_tags): Define DSP_extension attribute.

2016-05-10  Andrew Burgess  <andrew.burgess@embecosm.com>

	* doc/binutils.texi (nm): Update description of --size-sort.

2016-05-09  Nick Clifton  <nickc@redhat.com>

	PR binutils/20063
	* readelf.c (get_32bit_section_headers): Warn if an out of range
	sh_link or sh_info field is encountered.
	(get_64bit_section_headers): Likewise.

2016-05-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* testsuite/lib/binutils-common.exp (is_elf_format): Add avr-*-*.

2016-05-03  Nick Clifton  <nickc@redhat.com>

	* po/sv.po: Updated Swedish translation.

2016-04-29  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>

	* readelf.c (is_32bit_pcrel_reloc): Return true if reloc is 32-bit
	PC relocation for AVR target.
	(is_none_reloc): Return true if reloc is any of AVR diff
	relocations.

2016-04-29  Nick Clifton  <nickc@redhat.com>

	PR 19938
	* readelf.c (get_solaris_segment_type): New function.
	(get_segment_type): Call it.

2016-04-28  Nick Clifton  <nickc@redhat.com>

	* po/zh_CN.po: Updated Chinese (simplified) translation.

2016-04-28  Nick Clifton  <nickc@redhat.com>

	PR target/19722
	* testsuite/binutils-all/aarch64/illegal.s: New test.
	* testsuite/binutils-all/aarch64/illegal.d: New test driver.

2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>

	* resres.c: Likewise.

2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Regenerated with automake 1.11.6.
	* aclocal.m4: Likewise.
	* doc/Makefile.in: Likewise.

2016-04-14  Nick Clifton  <nickc@redhat.com>

	PR target/19938
	* testsuite/binutils-all/i386/compressed-1b.d: Allow for the
	string sections possibly having the SHF_STRINGS flag bit set.
	* testsuite/binutils-all/i386/compressed-1c.d: Likewise.
	* testsuite/binutils-all/readelf.s: Likewise.
	* testsuite/binutils-all/readelf.s-64: Likewise.
	* testsuite/binutils-all/x86-64/compressed-1b.d: Likewise.
	* testsuite/binutils-all/x86-64/compressed-1c.d: Likewise.

2016-04-13  Nick Clifton  <nickc@redhat.com>

	PR target/19938
	* readelf.c (get_solaris_section_type): New function: Returns the
	name of Solaris specific section types.
	(get_solaris_dynamic_type): New function: Return the name of
	Solaris specific dynamic types.
	(get_dynamic_type): Use get_solaris_dynamic_type.
	(get_section_type_name): Use get_solaris_section_type.
	(get_solaris_symbol_visibility): New function: Returns Solaris
	specific symbol visibilities.
	(print_dynamic_symbol): Use get_solaris_symbol_visibility.
	(process_symbol_table): Likewise.

2016-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* dwarf.h (init_dwarf_regnames_s390): Declare.
	* dwarf.c (dwarf_regnames_s390): New.
	(init_dwarf_regnames_s390): New.
	(init_dwarf_regnames): Call it.
	* objdump.c (dump_dwarf): Likewise.

2016-04-11  Maciej W. Rozycki  <macro@imgtec.com>

	* testsuite/binutils-all/mips/mips16-undecoded.d: New test.
	* testsuite/binutils-all/mips/mips16-undecoded.s: New test
	source.
	* testsuite/binutils-all/mips/mips.exp: Run the new test.

2016-04-04  Nick Clifton  <nickc@redhat.com>

	PR 19872
	* dwarf.c (display_debug_aranges): Skip warning about unrecognised
	version number if the version is zero.

2016-03-29  Alan Modra  <amodra@gmail.com>

	* readelf.c (get_data): Use BFD_VMA_FMT to print bfd_size_type vars.
	(get_dynamic_data): Likewise.

2016-03-22  Nick Clifton  <nickc@redhat.com>

	PR 19851
	* dwarf.c (SAFE_BYTE_GET): Replace local dynamic array allocation
	with run time size check.

	* configure: Regenerate.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* readelf.c (decode_ARC_machine_flags): Handle nps400.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* readelf.c (get_machine_flags): Move arc processing into...
	(decode_ARC_machine_flags): ... new function.  Remove use of
	EF_ARC_CPU_GENERIC, change default case from "generic arc" to
	"unknown arc".  Merged ABI printing between two machine types.

2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>

	* testsuite/binutils-all/objdump.exp (cpus_expected): Add ARC700
	to the architecture list.

2016-03-21  Nick Clifton  <nickc@redhat.com>

	* dlltool.c: Replace use of alloca with call to xmalloc.
	* dllwrap.c: Likewise.
	* nlmconv.c: Likewise.
	* objdump.c: Likewise.
	* resrc.c: Likewise.
	* winduni.c: Likewise.
	* configure: Regenerate.

2016-03-07  Nick Clifton  <nickc@redhat.com>

	PR binutils/19775
	* testsuite/binutils-all/ar.exp (proc empty_archive): New proc.
	Run the new proc.
	* testsuite/binutils-all/empty: New, empty, file.

2016-03-04  Matthew Wahab  <matthew.wahab@arm.com>

	* readelf.c (arm_attry_tag_FP_arch): Add "NEON for ARMv8.1".

2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/19645
	* NEWS: Mention --elf-stt-common= for objcopy.
	* doc/binutils.texi: Document --elf-stt-common= for objcopy.
	* objcopy.c (do_elf_stt_common): New.
	(command_line_switch): Add OPTION_ELF_STT_COMMON.
	(copy_options): Add --elf-stt-common=.
	(copy_usage): Add --elf-stt-common=.
	(copy_object): Also check do_elf_stt_common for ELF targets.
	(copy_file): Handle do_elf_stt_common.
	(copy_main): Handle OPTION_ELF_STT_COMMON.
	* readelf.c (apply_relocations): Support STT_COMMON.
	* testsuite/binutils-all/common-1.s: New file.
	* testsuite/binutils-all/common-1a.d: Likewise.
	* testsuite/binutils-all/common-1b.d: Likewise.
	* testsuite/binutils-all/common-1c.d: Likewise.
	* testsuite/binutils-all/common-1d.d: Likewise.
	* testsuite/binutils-all/common-1e.d: Likewise.
	* testsuite/binutils-all/common-1f.d: Likewise.
	* testsuite/binutils-all/common-2.s: Likewise.
	* testsuite/binutils-all/common-2a.d: Likewise.
	* testsuite/binutils-all/common-2b.d: Likewise.
	* testsuite/binutils-all/common-2c.d: Likewise.
	* testsuite/binutils-all/common-2d.d: Likewise.
	* testsuite/binutils-all/common-2e.d: Likewise.
	* testsuite/binutils-all/common-2f.d: Likewise.
	* testsuite/binutils-all/objcopy.exp
	(objcopy_test_elf_common_symbols): New proc.
	Run objcopy_test_elf_common_symbols for ELF targets

2016-02-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/19647
	* readelf.c (get_section_type_name): Add a missing break.

2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>

	* readelf.c (is_32bit_pcrel_reloc): Add R_ARC_32_PCREL.

2016-02-15  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_section_type_name): Add hex prefix to offsets
	printed for LOPROC and LOOS values.  Ensure that a result is
	always returned for the V850 target, even when an unrecognised
	processor specific value is encountered.
	(process_section_headers): Display key values in the order in
	which they appear to the user.  Add the "C (compressed)" value to
	the list.

2016-02-12  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/binutils.texi: Fix a typo.

2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>

	* testsuite/binutils-all/objdump.exp: Update expected default
	architecture value for ARC binaries.

2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/19547
	* testsuite/binutils-all/objcopy.exp
	(objcopy_test_without_global_symbol): New proc.
	Run objcopy_test_without_global_symbol.
	* testsuite/binutils-all/pr19547.c: New file.

2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/19523
	* Makefile.am (check-DEJAGNU): Pass CC and CC_FOR_BUILD to
	runtest.
	* Makefile.in: Regenerated.
	* testsuite/binutils-all/compress.exp (test_gnu_debuglink): New
	proc.
	Run test_gnu_debuglink for native ELF build.

2016-01-20  Nick Clifton  <nickc@redhat.com>

	PR 19495
	* testsuite/binutils-all/dlltool.exp: Fix tests for targets which
	do not support inserting leading underscores.

2016-01-20  Mickael Guene  <mickael.guene@st.com>

	* readelf.c (get_elf_section_flags): Display y letter for section
	with SHF_ARM_NOREAD section flag in readelf section output.
	(process_section_headers): Add y letter in readelf section output
	key mapping for ARM architecture.
	* objdump.c (dump_section_header): Display NOREAD attributes as
	well.
	* doc/binutils.texi (objdump): Note that it is correct for
	sections to have both the READONLY and NOREAD attributes.

2016-01-19  John Baldwin  <jhb@FreeBSD.org>

	* readelf.c (get_freebsd_elfcore_note_type): Remove unused variable.

2016-01-19  John Baldwin  <jhb@FreeBSD.org>

	* readelf.c (get_freebsd_elfcore_note_type): New
	(process_note): Add support for FreeBSD core notes.

2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
	    Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>

	* readelf.c (get_machine_flags): Add support for newer ARC ELF
	header flags.

2016-01-18  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2016-01-17  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2016-01-17  Alan Modra  <amodra@gmail.com>

	* testsuite/lib/binutils-common.exp (is_elf_format): Return true
	for m68hc11/12 and xgate triples.

2016-01-17  Alan Modra  <amodra@gmail.com>

	* readelf.c (is_32bit_abs_reloc): Add R_M68HC11_32.

2016-01-01  Alan Modra  <amodra@gmail.com>

	Update year range in copyright notice of all files.

For older changes see ChangeLog-2015 and testsuite/ChangeLog-1215

Copyright (C) 2016 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
