2019-12-30 Alan Modra * od-macho.c: Include elfcomm.h. (dump_dyld_info_rebase, dump_dyld_info_bind): Fix read_leb128 args. (dump_dyld_info_export_1, dump_segment_split_info): Likewise. 2019-12-23 Hans-Peter Nilsson * dwarf.c (display_debug_lines_decoded): Cast printf parameter to format type to correct last change. 2019-12-23 Alan Modra * dwarf.h (read_leb128): Update prototype. (report_leb_status): New inline function. (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Define. * dwarf.c: Use above macros throughout file. Formatting. (read_leb128): Reorder params. Add status return param. Don't stop reading until finding terminator or end of data. Detect loss of significant bits. Sign extend only on terminating byte. (read_sleb128, read_uleb128): Delete functions. (SKIP_ULEB, SKIP_SLEB, READ_ULEB, READ_SLEB): Delete macros. (read_and_print_leb128): Rewrite. (process_extended_line_op): Return a size_t. Use size_t vars. Adjust to suit new macros. Add proper name size to "data" when processing DW_LNE_define_file. (process_abbrev_section): Adjust to suit new macros. (decode_location_expression, skip_attr_bytes): Likewise. (get_type_signedness): Likewise. (read_and_display_attr_value): Likewise. Consolidate block code. (process_debug_info): Adjust to suit new macros. (display_formatted_table, display_debug_lines_raw): Likewise. (display_debug_lines_decoded): Likewise. Properly check for end of DW_LNS_extended_op. (display_debug_macinfo): Adjust to suit new macros. (get_line_filename_and_dirname, display_debug_macro): Likewise. (display_view_pair_list): Likewise. Don't back off when hitting end of data. (display_loc_list): Adjust to suit new macros. (display_loclists_list, display_loc_list_dwo): Likewise. (display_debug_rnglists_list, read_cie): Likewise. (display_debug_frames): Likewise. * readelf.c: Use new ULEB macros throughout file. (read_uleb128): Delete. (decode_arm_unwind_bytecode): Use read_leb128. (decode_tic6x_unwind_bytecode): Likewise. (display_tag_value): Adjust to suit new macros. (display_arc_attribute, display_arm_attribute): Likewise. (display_gnu_attribute, display_power_gnu_attribute): Likewise. (display_s390_gnu_attribute, display_sparc_gnu_attribute): Likewise. (display_mips_gnu_attribute, display_tic6x_attribute): Likewise. (display_msp430x_attribute, display_msp430_gnu_attribute): Likewise. (display_riscv_attribute, process_attributes): Likewise. 2019-12-17 Alan Modra * objdump.c (compare_section): New static var. (compare_symbols): Sort by current section only. Don't access symbol name out of bounds when checking for file symbols. Sort section symbols and object symbols. (find_symbol_for_address): Remove bogus debugging and section symbol test. (disassemble_data): Move symbol sort from here.. (disassemble_section): ..to here. Set compare_section. 2019-12-17 Alan Modra * testsuite/binutils-all/objcopy.exp: Remove tic80 support. * testsuite/binutils-all/objdump.exp: Likewise. 2019-12-11 Alan Modra * od-xcoff.c (dump_dumpx_core): Adjust for bfd_h_get_8 change. 2019-12-10 Alan Modra PR 24960 * objdump.c (disassemble_data): Call disassemble_free_target. 2019-12-10 Alan Modra * objdump.c (struct objdump_disasm_info): Delete "sec". (find_symbol_for_address): Use inf->section rather than aux->sec. (objdump_print_addr, disassemble_bytes): Likewise. (disassemble_section): Don't set aux->sec. 2019-12-08 Alan Modra * testsuite/lib/binutils-common.exp (regexp_diff): Support #?REGEXP. 2019-11-22 Andrew Burgess * dwarf.c (regname_internal_riscv): New function. (init_dwarf_regnames_riscv): Use new function. 2019-11-22 Andrew Burgess * dwarf.c (typedef dwarf_regname_lookup_ftype): New typedef. (dwarf_regnames_lookup_func): New static global. (init_dwarf_regnames_i386): Set dwarf_regnames_lookup_func. (init_dwarf_regnames_iamcu): Likewise. (init_dwarf_regnames_x86_64): Likewise. (init_dwarf_regnames_aarch64): Likewise. (init_dwarf_regnames_s390): Likewise. (init_dwarf_regnames_riscv): Likewise. (init_dwarf_regnames_by_elf_machine_code): Reset dwarf_regnames_lookup_func to NULL. (init_dwarf_regnames_by_bfd_arch_and_mach): Likewise. (regname_internal_by_table_only): New function. (regname): Make use of dwarf_regnames_lookup_func. 2019-11-22 Andrew Burgess * dwarf.c (init_dwarf_regnames_i386): Make static. (init_dwarf_regnames_iamcu): Make static. (init_dwarf_regnames_x86_64): Make static. (init_dwarf_regnames_aarch64): Make static. (init_dwarf_regnames_s390): Make static. (init_dwarf_regnames_riscv): Make static. * dwarf.h (init_dwarf_regnames_i386): Delete declaration. (init_dwarf_regnames_iamcu): Delete declaration. (init_dwarf_regnames_x86_64): Delete declaration. (init_dwarf_regnames_aarch64): Delete declaration. (init_dwarf_regnames_s390): Delete declaration. (init_dwarf_regnames_riscv): Delete declaration. 2019-11-22 Andrew Burgess * dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): New function. * dwarf.h (init_dwarf_regnames_by_bfd_arch_and_mach): Declare. * objdump.c (dump_dwarf): Call new function instead of calling specific initialization routines. Restrucure so that eh_addr_size is still calculated correctly. 2019-11-22 Andrew Burgess * dwarf.c (init_dwarf_regnames): Renamed to... (init_dwarf_regnames_by_elf_machine_code): ...this. * dwarf.h (init_dwarf_regnames): Renamed to... (init_dwarf_regnames_by_elf_machine_code): ...this. * readelf.c (process_file_header): Update call to use new name. 2019-11-22 Andrew Burgess * dwarf.c (frame_need_space): Compare dwarf_regnames_count against 0, and only warn about large numbers of registers if the number is more than the dwarf_regnames_count. 2019-11-25 Christian Eggers * objdump.c (disassemble_data): Provide section parameter to bfd_octets_per_byte. (dump_section): likewise (dump_section_header): likewise. Show SEC_ELF_OCTETS flag if set. 2019-11-21 Alan Modra PR 273 * size.c (sysv_internal_sizer, sysv_internal_printer): Exclude sections with no flag bits set. * testsuite/binutils-all/size.exp: Allow $CODE$ as a text section. 2019-11-21 Nick Clifton * objcopy.c (merge_gnu_build_notes): Allow for the possibility that the new notes might actually be larger than the original notes. 2019-11-21 Alan Modra * testsuite/lib/binutils-common.exp (is_pecoff_format): Rewrite with positive logic and add more target triples. 2019-11-19 Alan Modra PR 24499 * objcopy.c (copy_file): Ignore --add-gnu-debuglink for archives. 2019-11-19 Alan Modra PR 24968 * objcopy.c (copy_object): For ELF output and non-ELF input without arch, take arch from output file if not given by -B. Don't bfd_get_arch_info when we already have iarch. 2019-11-19 Alan Modra PR 25191 * objcopy.c (is_nondebug_keep_contents_section): Use bfd_get_flavour. (copy_object): Likewise. (setup_section): Likewise. If flavour of input and output files differ, restrict section flags to the intersection of input and output bfd_applicable_section_flags. 2019-11-19 Alan Modra * bucomm.c (bfd_nonfatal_message): Add a space between program name and file. 2019-11-18 Alan Modra PR 25198 * prdbg.c (tg_start_class_type): Correct scope of idbuf. 2019-11-08 Alan Modra PR 25172 * objdump.c (usage): Correct --stop-address description. 2019-11-07 Nick Clifton * ar.c (open_output_file): Check for filename validity before prefixing with output directory. Display the constructed output filename if in verbose mode. (extract_file): Let open_output_file display the filename. 2019-11-07 Nick Clifton * objcopy.c (copy_object): Skip note sections that do not have an output section. Always copy note sections, even if no changes are made. 2019-11-06 Christian Eggers * readelf.c (IN_RANGE): Rename parameter OFF to NELEM. Add comment. Catch potential integer overflow and fix off by one error whilst checking reloc location against section size. (apply_relocations): Use IN_RANGE macro. 2019-11-04 Fangrui Song * objcopy.c (enum option_values): Add OPTION_KEEP_SECTION. (SECTION_CONTEXT_KEEP): Define. Adjust other SECTION_CONTEXT macros. (copy_usage): Describe --keep-section. (strip_usage): Likewise. (copy_main): Handle SECTION_CONTEXT_KEEP. (strip_main): Likewise. (is_strip_section_1): Likewise. * testsuite/binutils-all/objcopy.exp: Add tests. * testsuite/binutils-all/keep-section-1.d: New test driver file. * testsuite/binutils-all/keep-section-2.d: Likewise. * doc/binutils.texi: Document the new feature. * NEWS: Mention the new feature. 2019-10-20 Palmer Dabbelt * MAINTAINERS: Change palmer@sifive.com to palmer@dabbelt.com. 2019-10-30 Fangrui Song Nick Clifton * ar.c (emum long option numbers): Declare. Use to provide numerical values for long options. (long_options): Add --output option. (usage): Mention the --output option. (open_output_file): New function. Create a filepath for an output file and open it. (extract_file): Use open_output_file(). (open_output_file): * testsuite/binutils-all/ar.exp: Add a test of the new feature. * doc/binutils.texi: Document the new feature. * NEWS: Mention the new feature. 2019-10-26 Alan Modra * objcopy.c (sort_gnu_build_notes): Correct sort of deleted note2. 2019-10-25 H.J. Lu * elfedit.c (elf_x86_feature): Report unknown x86 feature. 2019-10-25 H.J. Lu * elfedit.c (update_gnu_property): Replace BYTE_PUT with byte_put. 2019-10-25 Nick Clifton * objcopy.c (struct merged_note_section): New structure. Used to chain together details of mergeable note sections. (is_merged_note_section): Rename to is_megreable_note_section and return true for note sections that use GNU_BUILD_ATTRS_SECTION_NAME as a prefix. (num_bytes): Delete (objcoopy_internal_note): Add padded_namesz field. (DEBUG_MERGE): New macro. Set to non-zero to enable debugging of the note merging code. (gap_exists): Rename to overlaps_or_adjoins and return TRUE for overlapping notes or adjoining notes. (contained_by, is_deleted_note, is_version_note) (compare_gnu_build_notes, sort_gnu_build_notes): New functions. (merge_gnu_build_notes): Rework. Sort notes into a mergeable order first. Merge them. Then sort them into an ascending address order before writing them out. (copy_object): Handle more than one mergeable note section. * testsuite/binutils-all/note-2-32.d: Update for new merging behaviour. * testsuite/binutils-all/note-2-32.s: Likewise. * testsuite/binutils-all/note-2-64.d: Likewise. * testsuite/binutils-all/note-2-64.s: Likewise. * testsuite/binutils-all/note-3-32.d: Likewise. * testsuite/binutils-all/note-3-32.s: Likewise. * testsuite/binutils-all/note-3-64.d: Likewise. * testsuite/binutils-all/note-3-64.s: Likewise. * testsuite/binutils-all/note-4-32.d: Likewise. * testsuite/binutils-all/note-4-32.s: Likewise. * testsuite/binutils-all/note-4-64.d: Likewise. * testsuite/binutils-all/note-4-64.s: Likewise. * testsuite/binutils-all/note-6-32.s: New test source file. * testsuite/binutils-all/note-6-64.s: New test source file. * testsuite/binutils-all/note-6-32.d: New test driver file. * testsuite/binutils-all/note-6-64.d: New test driver file. * testsuite/binutils-all/objcopy.exp: Run the new test. 2019-10-25 Alan Modra * readelf.c (process_program_headers): Check PT_PHDR p_offset as well as p_vaddr. Use p_filesz, not p_memsz, in vaddr test. 2019-10-21 Alan Modra PR 452 PR 25104 * ar.c (write_archive): Set BFD_ARCHIVE_FULL_PATH. * doc/binutils.texi (extract from archive): Mention restrictions when extracting from archives with full paths. (ar P): Update to current P support. (ar -X32_64): Fix spelling. 2019-10-14 Alan Modra * objcopy.c (compare_section_lma): Correct comment. Dereference section pointer earlier and lose unnecessary const. Style fixes. Add final sort by id. 2019-10-13 Nick Clifton * README-how-to-make-a-release: Add a note to reset the development flag back to true after making a point release. 2019-10-12 Nick Clifton * README-how-to-make-a-release: Tweak a few sections based on the results of the 2.33.1 release. 2019-10-11 Nick Clifton * po/zh_TW.po: Updated Chinese (traditional) translation. 2019-10-09 Alan Modra PR 25079 * ar.c (decode_options): Don't try for command options if write_armap or mri_mode is selected. 2019-10-07 Jozef Lawrynowicz * readelf.c (display_msp430_gnu_attribute): New. (process_arch_specific): Use msp430 specific handler for GNU attributes. 2019-09-30 Nick Alcock * objdump.c (main): Fix tabdamage. * readelf.c (CTF_DUMP): Likewise. (options): Likewise. (dump_section_as_ctf): Likewise. 2019-08-03 Nick Alcock * objdump.c (dump_ctf): Use the default CTF archive member as the parent even when no parent section is specified. (dump_ctf_archive_member): Only import from the parent if this is not the default ".ctf" member. 2019-09-23 Nick Alcock * Makefile.am (LIBCTF): Mention the .la file. (LIBCTF_NOBFD): New. (readelf_DEPENDENCIES): Use it. (readelf_LDADD): Likewise. * Makefile.in: Regenerated. 2019-07-13 Nick Alcock * readelf.c (dump_ctf_symtab_name): Give default value. (dump_ctf_strtab_name): Likewise. (dump_section_as_ctf): Allow for the null string. 2019-07-08 Nick Alcock * objdump.c (dump_ctf_archive_member): Dump the CTF header. * readelf.c (dump_section_as_ctf): Likewise. 2019-10-02 Niklas Gürtler PR 24942 * objcopy.c (copy_usage): Update description of --set-section-alignment. (copy_main): Interpret numeric argument of --set-section-alignment as a byte alignment, not a power of two alignment. * doc/binutils.texi: Update description of --set-section-alignment. * testsuite/binutils-all/set-section-alignment.d: New test. * testsuite/binutils-all/objcopy.exp: Run the new test. 2019-09-30 Alan Modra PR 25046 * readelf.c (process_program_headers): Clear dynamic_addr and dynamic_size earlier. 2019-09-24 Alan Modra PR 25031 * nm.c (print_format_string): New. (get_print_format): Delete saved_format. Move earlier. (set_print_width): Call get_print_format. (print_value): Use print_format_string. 2019-09-23 Alan Modra * dlltool.c: Include coff-bfd.h. 2019-09-23 Alan Modra PR 25018 * dwarf.c (get_type_signedness): Delete ineffective pointer comparison check. Properly range check uvalue offset on recursive call. (read_and_display_attr_value): Range check uvalue offset before calling get_type_signedness. 2019-09-20 Alan Modra * ar.c (write_archive): Use bfd_set_thin_archive. 2019-09-18 Tamar Christina * testsuite/binutils-all/objdump.exp (objump -S): Update testcases. 2019-09-18 Alan Modra * addr2line.c, * bucomm.c, * coffgrok.c, * dlltool.c, * nm.c, * objcopy.c, * objdump.c, * od-elf32_avr.c, * od-macho.c, * od-xcoff.c, * prdbg.c, * rdcoff.c, * rddbg.c, * rescoff.c, * resres.c, * size.c, * srconv.c, * strings.c, * windmc.c: Update throughout for bfd section macro and function changes. 2019-09-18 Alan Modra * nm.c: Update bfd_get_section to bfd_asymbol_section throughout. * objcopy.c: Likewise. * objdump.c: Likewise. * rdcoff.c: Likewise. * objcopy.c (create_new_symbol): Use bfd_set_asymbol_name. (filter_symbols): Likewise. 2019-09-18 Simon Marchi * doc/Makefile.am (MOSTLYCLEANFILES): Clean all man pages, cxxfilt.man and binutils.info. (MAINTAINERCLEANFILES): Remove. * doc/Makefile.in: Re-generate. 2019-09-18 Simon Marchi * doc/Makefile.am: Remove references to binutils_TEXINFOS. * doc/Makefile.in: Re-generate. 2019-09-18 Simon Marchi * doc/Makefile.am (install-data-loca): Remove target. (DISTCLEANFILES): Remove variable. * doc/Makefile.in: Re-generate. 2019-09-18 Simon Marchi * Makefile.in: Re-generate. * configure: Re-generate. * doc/Makefile.in: Re-generate. 2019-09-16 Phil Blundell * Makefile.in, configure. doc/Makefile.in: Regenerated. 2019-09-11 Tom Tromey * objcopy.c (copy_archive): Update. * bucomm.h (make_tempname, make_tempdir): Make argument const. * bucomm.c (make_tempname, make_tempdir): Make argument const. 2019-09-11 Alan Modra PR 24907 * objdump.c (disassemble_bytes): Adjust code to avoid overlong lines. Correct max_reloc_offset_into_insn test. 2019-09-10 Nick Clifton PR 24907 * objdump.c (null_print): New function. (disassemble_bytes): Delete previous_octets local and replace with a test of the max_reloc_offset_into_insn field of the bfd_arch_info structure. If a reloc is a potential match for the next insn, then perform a dummy disassembly in order to calculate its real length. 2019-09-09 Phil Blundell binutils 2.33 branch created. 2019-09-06 Alan Modra * nm.c (print_object_filename_bsd, print_object_filename_sysv), (print_object_filename_posix, print_archive_filename_bsd), (print_archive_filename_sysv, print_archive_filename_posix), (print_archive_member_bsd, print_archive_member_sysv), (print_archive_member_posix): Constify parameter. (struct output_fns ), (): Likewise. * objcopy.c (copy_archive): Add cast for make_tempdir. 2019-08-29 Alan Modra * dwarf.c (check_uvalue): Remove unnecessary pointer checks. 2019-08-28 Niklas Gürtler PR 24942 * objcopy.c (SECTION_CONTEXT_SET_ALIGNMENT): New constant. (struct section_list): Add alignment field. (command_line_switch): Add OPTION_SET_SECTION_ALIGNMENT. (copy_options): Add --set-section-alignment. (copy_usage): Describe --set-section-alignment. (find_section_list): Initialise the alignment field. (setup_section): Handle the alignment field. (copy_main): Handle OPTION_SET_SECTION_ALIGNMENT. * doc/binutils.texi: Document the new feature. * NEWS: Mention the new feature. 2019-08-28 Nick Clifton PR 24931 * objdump.c (source_comment): New static variable. (option_values): Add OPTION_SOURCE_COMMENT. (long_opions): Add --source-comment. (print_line): If source comment is set, use it as a prefix to the source code line. (main): Handle OPTION_SOURCE_COMMENT. * doc/binutils.texi: Document the new option. * NEWS: Mention the new feature. * testsuite/binutils-all/objdump.exp (test_objdump_S): Add tests of the -S and --source-comment options. 2019-08-27 Nick Clifton PR 24510 * dwarf.c (MAX_CU_NESTING): New constant. (level_type_signed): New static array. (skip_attr_bytes): New function. (get_type_signedness): New function. (read_and_print_leb128): New function. (display_discr_list): New function. (read_and_display_attr_value): Add start parameter. Use new functions when handling DW_AT_type and DW_AT_discr_list. (read_and_display_attr): Add start parameter. Pass to read_and_display_attr_value. (process_debug_info): Update call to read_and_display_attr. (display_formatted_table): Likewise. (display_debug_lines_decoded): Likewise. Also add start parameter. (display_debug_lines): Likewise. * testsuite/binutils-all/dwarf-attributes.S: Update discrimination lists. * testsuite/binutils-all/dwarf-attributes.W: Update expected output. 2019-08-26 Alan Modra PR 24938 * debug.c (debug_write_type): Call empty_type for NULL type here.. (debug_write_type): ..rather than in just one case here. 2019-08-23 Nick Clifton PR 24829 * dwarf.c (check_uvalue): New function. Ensures that a block's size is valid. (read_and_display_attr_value): Use check_value when processsing DW_FORM_block attributes. 2019-08-22 Nick Clifton PR 24921 * dwarf.c (process_cu_tu_index): Handle the case where a table does not have any columns. 2019-08-19 Alan Modra PR 24898 * dwarf.c (display_debug_frames): Use the read_cie check and error for augmentation data length. 2019-08-17 Alan Modra PR 24911 * dwarf.c (comp_addr_base): Dereference args. 2019-08-16 Alan Modra PR 24909 PR 23499 * readelf.c (get_symbol_version_string): Set sym_info earlier. 2019-08-15 Nick Clifton PR 24767 * doc/binutils.texi (nm): Document the 'n' symbol type. 2019-08-15 Christophe Vidal * docs/binutils.texi: Fixed notice message disassembler options section of the man page. 2019-08-09 Mihailo Stojanovic * readelf.c (get_mips_dynamic_type): Return MIPS_XHASH dynamic type. (get_mips_section_type_name): Return MI{S_XHASH name string. (dynamic_section_mips_val): Initialize the .MIPS.xhash dynamic info. (process_symbol_table): Initialize the .MIPS.xhash section pointer. Adjust the readelf output to support the new section. (process_object): Set the .MIPS.xhash dynamic info to zero. 2019-08-09 Tamar Christina * testsuite/binutils-all/arm/in-order-all.d: Skip on pe, wince, coff. * testsuite/binutils-all/arm/in-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. * testsuite/binutils-all/arm/out-of-order.d: Likewise. 2019-08-08 Nick Clifton PR 24887 * readelf.c (process_notes_at): Left justify the "Data size" column heading. * testsuite/binutils-all/i386/empty.d: Adjust for new output format. * testsuite/binutils-all/i386/ibt.d: Likewise. * testsuite/binutils-all/i386/pr21231a.d: Likewise. * testsuite/binutils-all/i386/pr21231b.d: Likewise. * testsuite/binutils-all/i386/shstk.d: Likewise. * testsuite/binutils-all/note-2-32.d: Likewise. * testsuite/binutils-all/note-2-64.d: Likewise. * testsuite/binutils-all/x86-64/empty-x32.d: Likewise. * testsuite/binutils-all/x86-64/empty.d: Likewise. * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise. * testsuite/binutils-all/x86-64/ibt.d: Likewise. * testsuite/binutils-all/x86-64/pr21231a.d: Likewise. * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494a.d: Likewise. * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494c.d: Likewise. * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494d.d: Likewise. * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise. * testsuite/binutils-all/x86-64/pr23494e.d: Likewise. * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise. * testsuite/binutils-all/x86-64/shstk.d: Likewise. 2019-08-08 Nick Clifton * testsuite/gentestdlls.c (main): Move declaration of loop variable outside of the for() statement. 2019-08-08 Jordan Rupprecht * readelf.c (process_note): Mask unknown description data bytes. 2019-08-08 Alan Modra * readelf.c (get_data): Improve overflow checks. 2019-08-07 Nick Clifton PR 24777 * doc/binutils.texi: Ensure consistent formating of title strings for man pages. Extend the title of the size man page to be more informative. 2019-08-07 Omair Majid * testsuite/binutils-all/objdump.exp (test_objdump_dotnet_assemblies): Fix test to distinguish errors in parsing simple pei-i386 and pei-x86-64 vs parsing the newly introduced machine types. * testsuite/gentestdlls.c (write_simple_dll): New function. (main): Generate simple and Linux-specific variants of pei-i386 and pei-x86-64 files so both can be used by tests. 2019-08-07 Alan Modra PR 24876 * readelf.c (dump_ia64_unwind): Check that buffer is large enough for "stamp" before reading. 2019-08-05 Nick Clifton PR 24874 * objcopy.c (merge_gnu_build_notes): Do not insist on the first note being a version note. Remove spurious debugging fprintf. 2019-08-05 Nick Clifton PR 24829 * readelf.c (apply_relocations): Catch potential integer overflow whilst checking reloc location against section size. 2019-08-02 Alan Modra PR 24871 * readelf.c (ABSADDR): Delete. (dump_ia64_unwind): Expand ABSADDR. Check validity of info.section. 2019-07-29 Martin Liska PR 24768 * nm.c (filter_symbols): Set report_plugin_err if error is reported. (display_rel_file): Report error for a missing LTO plugin. 2019-07-26 Alan Modra PR 24798 * dwarf.c (process_cu_tu_index): Avoid integer overflow on 64-bit systems by casting ncols and nslots expressions to size_t. Display number of columns and slots before giving up due to buffer overflow. Use %u to display unsigned ints. Perform more pointer wrap tests. 2019-07-25 Tom Tromey PR 24809 * dwarf.c (display_debug_names): Display the contents of the augmentation string, if it is printable. 2019-07-25 Nick Clifton PR 24837 * readelf.c (process_mips_specific): Check for buffer overflow before reading reginfo information. 2019-07-24 Nick Clifton PR 13256 * ar.c (decode_options): Restart option scanning if no operation is detected and argument remain to be scanned. 2019-07-23 Nick Clifton PR 24818 * objdump.c (is_relocateable): Delete. (load_specific_debug_section): Test the abfd for relocations directly, rather than relying upon is_relocateable. (dump_dwarf): Delete initlialization of is_relocateable. 2019-07-23 Alan Modra * readelf.c (get_parisc_segment_type): Split off hpux entries.. (get_ia64_segment_type): ..and these.. (get_hpux_segment_type): ..to here. (get_segment_type): Condition GNU_MBIND on osabi. Use get_hpux_segment_type. (get_symbol_binding): Do not print UNIQUE for ELFOSABI_NONE. (get_symbol_type): Do not print IFUNC for ELFOSABI_NONE. 2019-07-23 Alan Modra * testsuite/binutils-all/objcopy.exp (elf64): Correct object file used to set this variable. 2019-07-23 Omar Majid * Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects (GENTESTDLLSPROG): Define. (TEST_PROGS): Add GENTESTDLLSPROG. * Makefile.in: Regenerate. * testsuite/binutils-all/objdump.exp (test_objdump_dotnet_assemblies): New proc. Run the new proc. * testsuite/gentestdlls.c: New source file. 2019-06-28 Nick Clifton PR 24707 * objdump.c (slurp_symtab): Fail with a helpful error message if the symbol table is too large. Skip this check for MMO format files. 2019-06-26 Nick Clifton PR 24703 * bucomm.c (bfd_nonfatal): If no bfd error code has been set then indicate this in the output. (bfd_nonfatal_message): Likewise. 2019-06-25 Jan Beulich * readelf.c (dump_ctf_indent_lines): Rename local variable "spaces" to "blanks". 2019-06-25 Jan Beulich * objdump.c (dump_ctf_indent_lines): Rename local variable "spaces" to "blanks". 2019-06-14 Alan Modra * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * doc/Makefile.in: Regenerate. 2019-06-12 Christos Zoulas PR 24663 * readelf.c (process_netbsd_elf_note): Add support for NT_NETBSD_PAX. (process_note): Add support for PaX notes. 2019-06-12 Christos Zoulas PR 24665 * readelf.c (get_netbsd_elfcore_note_type): Add support for SH core notes. 2019-06-12 Christos Zoulas PR 24664 * readelf.c (get_netbsd_elfcore_note_type): Add support for NetBSD auxv notes. 2019-06-11 Christos Zoulas PR 24662 * readelf.c (get_alpha_symbol_other): New function. (get_symbol_other): Use for Alpha symbols. (is_32bit_pcrel_reloc): Add R_VAX_PCREL32. 2019-06-11 Christos Zoulas PR 24661 * readelf.c (decode_arm_unwind): Ensure that the local variable 'addr' is always initialised. 2019-06-10 Christos Zoulas PR 24651 * strings.c (print_strings): Use %u to print unsigned values in decimal. 2019-06-10 Christos Zoulas PR 24649 * arsup.c (ar_open): Use asprintf in place of xmalloc and sprintf. 2019-06-03 Nick Clifton Revert: 2019-05-29 Nick Clifton * configure.ac (LIBCTF): Export. Set to empty for non-ELF based targets. (HAVE_LIBCTF): Define if libctf support is available. * Makefile.am (LIBCTF): Set value to @LIBCTF@. * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being defined. * readelf.c: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. * config.in: Regenerate. 2019-05-30 Nick Alcock * objdump.c (make_ctfsect): Drop cts_type, cts_flags, and cts_offset. * readelf.c (shdr_to_ctf_sect): Likewise. 2019-05-30 Nick Clifton PR 24627 * readelf.c (process_version_sections): Add 0x prefix to address display. Correct indentation. 2019-05-30 Alan Modra * testsuite/lib/binutils-common.exp (supports_gnu_unique): Add s12z to targets not supporting this feature. 2019-05-30 Alan Modra * testsuite/lib/binutils-common.exp (run_dump_test): Support tcl procedures for xfail args. 2019-05-29 Nick Clifton * README-how-to-make-a-release: Add libctf to list of directories that need updates in their ChangeLogs. 2019-05-29 Nick Clifton * configure.ac (LIBCTF): Export. Set to empty for non-ELF based targets. (HAVE_LIBCTF): Define if libctf support is available. * Makefile.am (LIBCTF): Set value to @LIBCTF@. * objdump.c: Make CTF code conditional upon HAVE_LIBCTF being defined. * readelf.c: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. * config.in: Regenerate. 2019-05-28 Nick Alcock * MAINTAINERS: Add myself as CTF maintainer. 2019-05-28 Nick Alcock * objdump.c (ctf-api.h): New include. (dump_ctf_section_info): New variable. (dump_ctf_section_name): Likewise. (usage): Describe new options. (enum option_values): Add OPTION_CTF and OPTION_CTF_PARENT. (main): Use them to add --ctf and --ctf-parent. (read_section_stabs): Add new parameter, entsize_ptr. (find_stabs_section): Adjust accordingly. (make_ctfsect): New. (dump_ctf_indent_lines): New. (dump_ctf_archive_member): New. (dump_ctf): New. (dump_bfd): Call it. Free resources afterwards. * readelf.c (ctf-api.h): New include. (CTF_DUMP): New. (static bfd_boolean do_ctf): Likewise. (dump_ctf_parent_name): Likewise. (dump_ctf_symtab_name): Likewise. (dump_ctf_strtab_name): Likewise. (OPTION_CTF_DUMP): Likewise. (OPTION_CTF_PARENT): Likewise. (OPTION_CTF_SYMBOLS): Likewise. (OPTION_CTF_STRINGS): Likewise. (options): Add them. (usage): Likewise. (parse_args): Handle the new options, requesting CTF_DUMP. (process_section_contents): Handle CTF_DUMP. (shdr_to_ctf_sect): New. (dump_ctf_indent_lines): New. (dump_section_as_ctf): New. (main): Free resources. * Makefile.am (LIBCTF): New variable. (objdump_DEPENDENCIES): Use it. (readelf_DEPENDENCIES): Likewise. (objdump_LDADD): Likewise. (readelf_LDADD): Likewise. * aclocal.m4: Regenerated. * Makefile.in: Likewise. * doc/binutils.texi (objdump): Document the new options. (readelf): Likewise. * doc/ctf.options.texi: New. * doc/Makefile.in: Regenerated. * NEWS: Mention the new feature. 2019-05-27 Alan Modra * readelf.c (process_section_groups): Continue processing groups when sh_entsize exceeds group size. 2019-05-24 Szabolcs Nagy * readelf.c (get_aarch64_dynamic_type): Handle DT_AARCH64_VARIANT_PCS. (get_aarch64_symbol_other): New, handles STO_AARCH64_VARIANT_PCS. (get_symbol_other): Call get_aarch64_symbol_other. 2019-05-24 Alan Modra * objdump.c (disassemble_bytes): Set WIDE_OUTPUT in flags. 2019-05-23 Jose E. Marchesi * MAINTAINERS: Add myself as the maintainer for BPF. 2019-05-23 Jose E. Marchesi * readelf.c: Include elf/bpf.h. (guess_is_rela): Hanle EM_BPF. (dump_relocations): Likewise. (is_32bit_abs_reloc): Likewise. * testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of ELF targets. 2019-05-21 Tamar Christina * dwarf.c (dwarf_regnames_aarch64): Add SVE registers. * testsuite/binutils-all/aarch64/sve-dwarf-registers.d: New test. * testsuite/binutils-all/aarch64/sve-dwarf-registers.s: New test. 2019-05-20 Faraz Shahbazker PR 14798 * testsuite/binutils-all/readelf.ss-mips: Update reference output. * testsuite/binutils-all/readelf.ss-tmips: Likewise. 2019-05-20 Nick Clifton * po/ca.po: Updated Catalan translation. 2019-05-16 Andre Vieira * NEWS: Mention Armv8.1-M Mainline and MVE. 2019-05-16 Andre Vieira * readelf.c (arm_attr_tag_MVE_arch): New array for Tag_MVE_arch values. (arm_attr_public_tag arm_attr_public_tags): Add case for Tag_MVE_arch. 2019-05-14 Jamey Hicks PR 19921 * objcopy.c: Add new option --verilog-data-width. Use it to set the value of VerilogDataWidth. * doc/binutils.texi: Document the new option. * testsuite/binutils-all/objcopy.exp: Run tests of new option. * testsuite/binutils-all/verilog-1.hex: New file. * testsuite/binutils-all/verilog-2.hex: New file. * testsuite/binutils-all/verilog-4.hex: New file. * testsuite/binutils-all/verilog-8.hex: New file. * NEWS: Mention the new feature. 2019-05-10 Alan Modra * testsuite/binutils-all/objdump.exp (test_objdump_disas_limited), (test_objdump_content_limited): Add text arg, use in place of .text. (bintest_signed.o): Call get_standard_section_names for name of text section. 2019-05-08 Faraz Shahbazker * objdump.c (sign_extend_address): New function. (dump_bfd): Sign-extend user-specified start/stop addresses for targets that need it. * testsuite/binutils-all/objdump.exp: Add tests for objdump with start and stop addresses in higher address ranges. 2019-05-01 Matthew Malcomson * testsuite/binutils-all/objdump.exp: Correct executable spelling. * testsuite/binutils-all/compress.exp: Likewise. 2019-05-01 Nick Clifton PR 24507 * nm.c: (print_format): New variable. (value_format_32bit, value_format_64bit): Delete. (set_print_radix): Remove code to alter value_format strings. (set_output_format): Record chosen format in print_format. (get_print_format): New function - constructs a printf formatting string according to the requirements of size, radix, and output format. (print_value): Use get_print_format. * testsuite/binutils-all/nm.exp: Add tests of "nm --format=posix" and "nm -t d". 2019-04-30 Alan Modra * wrstabs.c (stab_start_class_type): Add assert to work around gcc9 warning. Tidy. 2019-04-24 Nick Clifton * objcopy.c (strip_main): Do not enable note merging by default if just stripping debug or dwo information. * doc/binutils.texi (strip): Update documentation. 2019-04-23 Nick Clifton * README-how-to-make-a-release: Add note to update the symbolic link from "docs" to "docs-2.x" on the sourceware website. 2019-04-16 Alan Modra * testsuite/binutils-all/copy-2.d: Don't run for ns32k-*-*. * testsuite/binutils-all/copy-3.d: Likewise. 2019-04-15 Thomas Preud'homme * readelf.c (arm_attr_tag_CPU_arch): Add entry for Armv8.1-M Mainline. 2019-04-08 H.J. Lu * readelf.c (decode_x86_isa): Handle GNU_PROPERTY_X86_ISA_1_AVX512_BF16. * testsuite/binutils-all/i386/pr21231b.d: Updated. * testsuite/binutils-all/x86-64/pr21231b.d: Likewise. 2019-04-08 H.J. Lu * testsuite/binutils-all/nm.exp: Count i386-moss as ELF. 2019-03-26 Tamar Christina * testsuite/binutils-all/aarch64/in-order-all.d: Update. * testsuite/binutils-all/aarch64/in-order.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order.s: Likewise. * testsuite/binutils-all/arm/in-order-all.d: Likewise. * testsuite/binutils-all/arm/in-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. * testsuite/binutils-all/arm/out-of-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order.s: Likewise. 2019-03-26 Nick Clifton * MAINTAINERS: Take over Dave Brolley's maintainerships for FR30, FRV and MEP. 2019-03-26 Alan Modra * objdump.c (dump_relocs_in_section): Warning fix. 2019-03-25 Tamar Christina * testsuite/binutils-all/arm/in-order-all.d: New test. * testsuite/binutils-all/arm/in-order.d: New test. * testsuite/binutils-all/arm/objdump.exp: Support .d tests. * testsuite/binutils-all/arm/out-of-order-all.d: New test. * testsuite/binutils-all/arm/out-of-order.T: New test. * testsuite/binutils-all/arm/out-of-order.d: New test. * testsuite/binutils-all/arm/out-of-order.s: New test. 2019-03-25 Tamar Christina * testsuite/binutils-all/aarch64/in-order-all.d: New test. * testsuite/binutils-all/aarch64/out-of-order-all.d: New test. * testsuite/binutils-all/aarch64/out-of-order.d: 2019-03-25 Tamar Christina * testsuite/binutils-all/aarch64/in-order.d: New test. * testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as well. 2019-03-25 Tamar Christina * objdump.c (disassemble_bytes): Pass stop_offset. * testsuite/binutils-all/aarch64/out-of-order.T: New test. * testsuite/binutils-all/aarch64/out-of-order.d: New test. * testsuite/binutils-all/aarch64/out-of-order.s: New test. 2019-03-19 Nick Clifton PR 24360 * objdump.c (load_specific_debug_section): Check that the amount of memory to be allocated matches the size of the section. 2019-03-13 Sudakshina Das * readelf.c (get_aarch64_dynamic_type): Add case for DT_AARCH64_PAC_PLT. (dynamic_section_aarch64_val): Likewise. 2019-03-13 Sudakshina Das Szabolcs Nagy * readelf.c (get_aarch64_dynamic_type): New. (get_dynamic_type): Use above for EM_AARCH64. (dynamic_section_aarch64_val): New. (process_dynamic_section): Use above for EM_AARCH64. 2019-03-13 Sudakshina Das * readelf.c (decode_aarch64_feature_1_and): New. (print_gnu_property_note): Add case for AArch64 gnu notes. 2019-03-12 Alan Modra * objdump.c (load_specific_debug_section): Don't compare section size against file size. (dump_relocs_in_section): Don't compare reloc size against file size. Print "failed to read relocs" on bfd_get_reloc_upper_bound error. 2019-03-05 Nick Clifton PR 24295 * doc/binutils.texi (ar cmdline): Fix spelling mistake. 2019-03-05 Nick Clifton * po/sv.po: Updated Swedish translation. 2019-03-05 Matthew Malcomson PR 24287 * testsuite/lib/binutils-common.exp (run_dump_test): Replace a use of "lmap" with a "foreach" loop. 2019-03-04 Nick Clifton PR 24281 * objcopy.c (copy_archive): Do not copy thin archives. 2019-02-27 Matthew Malcomson * testsuite/lib/binutils-common.exp: Allow multiple "as" lines. 2019-02-25 Nick Clifton * objdump.c (sym_ok): New function. (find_symbol_for_address): Use new function. (disassemble_section): Compare sections by name, not pointer. (dump_dwarf): Move code to initialise byte_get pointer and iterate over separate debug files from here to ... (dump_bfd): ... here. Add parameter indicating that a separate debug info file is being dumped. For main file, pull in the symbol tables from all separate debug info files. (display_object): Update call to dump_bfd. * doc/binutils.texi: Document extened behaviour of the --dwarf=follow-links option. * NEWS: Mention this new feature. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add options and dump file parameters. Add extra test. * testsuite/binutils-all/objdump.WK3: New file. * testsuite/binutils-all/readelf.exp: Change expected output for readelf -wKis test. * testsuite/binutils-all/readelf.wKis: New file. 2019-02-22 Nick Clifton PR 23843 * dwarf.h (struct separate_info): New structure for containing information on separate debug info files. * dwarf.c (struct dwo_info): New structure for containing dwo links. (first_dwo_info): Chain of dwo_info structures. (first_separate_file): Chain of separate_info structures. (separate_debug_file, separate_debug_filename): Delete. (fetch_alt_indirect_string): Scan all separate debug info files for the requested string. (add_dwo_info): New function. (add_dwo_name): New function. (add_dwo_dir): New function. (add_dwo_id: New function. (free_dwo_info): New function. (read_and_display_attr_value): Store DWO data using the new functions. (load_debug_section_with_follow): If necessary, scan the list of separate debug info files for the requested section. (add_separate_debug_file): New function. (load_separate_debug_info): Call add_separate_debug_file to store the information on the newly loaded file. (load_dwo_file): Likewise. (load_separate_debif_file): Rename to load_separate_debug_files. Change return type to boolean. If following links then attempt to load all separate debug info files, not just the first one. (free_debug_memory): Release memory in dwo_info and separate_info chains. * objdump.c (dump_dwarf): Iterate over all loaded debg info files. * readelf.c (process_object): Likewise. * doc/debug.options.texi: Update descriptions of links and follow-links options. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/readelf.k2: Likewise. * NEWS: Announce the new feature. 2019-02-21 Nick Clifton PR 24247 * unwind-ia64.c: Include sysdep.h. (unw_decode_x1): Check current pointer against end pointer before accessing memory. (unw_decode_x2): Likewise. (unw_decode_x3): Likewise. (unw_decode_x4): Likewise. (unw_decode_r2): Likewise. (unw_decode_p2_p5): Likewise. (unw_decode_p7_p10): Likewise. (unw_decode): Likewise. 2019-02-20 Nick Clifton PR 24246 * readelf.c (print_stapsdt_note): Harden against corrupt notes. PR 24244 * unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to prevent walking off the end of the buffer. (unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128. (unw_decode_x2): Likewise. (unw_decode_x3): Likewise. (unw_decode_x4): Likewise. (unw_decode_r2): Pass the end parameter to unw_decode_uleb128. (unw_decode_r3): Likewise. (unw_decode_p7_p10): Likewise. (unw_decode_b2): Likewise. (unw_decode_b3_x4): Likewise. PR 24243 * readelf.c (process_mips_specific): Check for an options section that is too small to even contain a single option. PR 24242 * readelf.c (print_ia64_vms_note): Harden against corrupt notes. 2019-02-20 Alan Modra PR 24132 PR 24138 * readelf.c (get_data): Avoid possibility of overflow when checking for a read that may extend past end of file. (process_program_headers): Likewise. 2019-02-20 Alan Modra PR 24233 * objdump.c (dump_bfd_private_header): Print warning if bfd_print_private_bfd_data returns false. 2019-02-12 Nick Clifton PR 23440 * README-how-to-make-a-release: Use git clean to delete spurious files from the local source repository. 2019-02-08 Andrew Burgess * size.c (berkeley_format): Delete. (enum output_format): New enum. (selected_output_format): New variable. (usage): Update to mention GNU format. (main): Update to extract options, and select format as needed. Handle GNU format where needed. (berkeley_sum): Renamed to... (berkeley_or_gnu_sum): ...this, and updated to handle both formats. (berkeley_format): Renamed to... (berkeley_or_gnu_format): ...this, and updated to handle both formats. (print_sizes): Handle GNU format. * doc/binutils.texi (size): Document new GNU format. * testsuite/binutils-all/size.exp: Add test of extended functionality. * NEWS: Mention new functionality. 2019-02-08 Andrew Burgess * doc/binutils.texi (size): Update example output for Berkeley format output. 2019-02-07 Nick Clifton * README-how-to-make-a-release: Add a note about updating the obsolete targets in the bfd/config.bfd file. 2019-02-04 Nick Clifton * README-how-to-make-a-release: Add more notes on making a release. 2019-01-25 Nick Clifton PR 24131 * readelf.c (process_notes_at): Prevent an illegal memory access when the note's namesize is zero. (decode_tic6x_unwind_bytecode): Add code to handle the case where no registers are specified in a frame pop instruction. 2019-01-25 Nick Clifton * po/bg.po: Updated Bulgarian translation. 2019-01-23 Nick Clifton * po/fr.po: Updated French translation. * po/pt.po: Updated Portuguese translation. 2019-01-21 Nick Clifton * po/uk.po: Updated Ukranian translation. 2019-01-19 Nick Clifton * configure: Regenerate. * binutils/po/binutils.pot. * README-how-to-make-a-release: Update description on how to make a branch. 2018-06-24 Nick Clifton 2.32 branch created. 2019-01-17 Nick Clifton * objdump.c (disassemble_section): When disassembling from a symbol only stop at the next symbol if the original symbol was not a function symbol. Otherwise continue disassembling until a new function is reached. * testsuite/binutils-all/objdump.exp: Add tests of extended functionality. * testsuite/binutils-all/disasm.s: New test source file. 2019-01-16 Kito Cheng Nelson Chu * readelf.c (get_riscv_section_type_name): New function. (get_section_type_name): Add handler for RISC-V. (riscv_attr_tag_t): Declare. (riscv_attr_tag): New. (display_riscv_attribute): New function. (process_attributes): Add handler for RISC-V. * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute section. 2019-01-10 Nick Clifton PR 23963 * objdump.c (sanitize_string): New function. Removes control characters from symbol names. (dump_section_header): Use new function. (objdump_print_symname): Likewise. (objdump_print_addr_with_sym): Likewise. (show_line): Likewise. (disassemble_bytes): Likewise. (disassemble_section): Likewise. (load_specific_debug_section): Likewise. (read_section_stabs): Likewise. (print_section_stabs): Likewise. (dump_section): Likewise. (dump_reloc_set): Likewise. (dump_relocs_in_section): Likewise. (dump_bfd): Likewise. (display_any_bfd): Likewise. 2019-01-09 Nick Clifton PR 24049 * readelf.c (process_archive): Use arch.file_name in error messages until the qualified name is available. 2019-01-09 Andrew Paprocki * configure: Regenerate. 2019-01-09 Alan Modra * testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores unconditionally to tests needing the option rather than via a list of targets. 2019-01-08 Nick Clifton PR 24044 * cxxfilt.c (hp_symbol_characters): Delete. (main): Remove depcreated demangling styles. * stabs.c (parse_stab_argtypes): Remove support for old gnu v2 demangling opnames. * testsuite/binutils-all/cxxfilt.exp: Use the --no-strip-underscore option for targets that do prefix their symbols with underscores. Update tests to eliminate those that use gnu v2 encoding. 2019-01-08 Tamar Christina PR 24065 * testsuite/binutils-all/copy-6.d: New test. * testsuite/binutils-all/objcopy.exp: Use it. 2019-01-08 Alan Modra * testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend $srcdir/$subdir to source file name if it starts with "./". 2019-01-05 Yoshinori Sato * readelf.c (get_machine_flags): Add RXv3 output. 2019-01-04 Nick Clifton PR 24005 * objdump.c (load_specific_debug_section): Check for integer overflow before attempting to allocate contents. 2019-01-04 Nick Clifton PR 24001 * objcopy.c (copy_object): Free dhandle after writing out the debug information. * objdump.c (dump_bfd): Free dhandle after printing out the debug information. 2019-01-01 Alan Modra Update year range in copyright notice of all files. For older changes see ChangeLog-2018 Copyright (C) 2019 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: