1 2013-12-13 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2 Wei-Cheng Wang <cole945@gmail.com>
4 * readelf.c: Include elf/nds32.h
5 (guess_is_rela): Add case for EM_NDS32.
6 (dump_relocations): Add case for EM_NDS32.
7 (decode_NDS32_machine_flags): New.
8 (get_machine_flags): Add case for EM_NDS32.
9 (is_32bit_abs_reloc): Likewise.
10 (is_16bit_abs_reloc): Likewise.
11 (process_nds32_specific): New.
12 (process_arch_specific): Add case for EM_NDS32.
13 * NEWS: Announce Andes nds32 support.
14 * MAINTAINERS: Add nds32 maintainers.
16 2013-12-10 Roland McGrath <mcgrathr@google.com>
18 * Makefile.am (install-exec-local): Prefix libtool invocation with
19 $(INSTALL_PROGRAM_ENV).
20 * Makefile.in: Regenerate.
22 2013-11-22 Cory Fields <cory@coryfields.com>
24 * windres.c (define_resource): Use zero for timestamp, making
25 output deterministic. time.h include is no longer needed.
26 * resres.c (res_append_resource): Likewise.
28 2013-11-13 Martin Mitas <mity@morous.org>
30 * rescoff.c (write_coff_file): Use 64-bit alignment for resource
32 (coff_res_to_bin): Likewise.
34 2013-11-07 Doug Evans <dje@google.com>
36 Add pretty-printing of .debug_gnu_pubnames, .debug_gnu_pubtypes.
37 * dwarf.c (get_gdb_index_symbol_kind_name): New function.
38 (display_debug_pubnames_worker): Renamed from display_debug_pubnames.
39 Add support for .debug_gnu_pubnames, .debug_gnu_pubtypes.
40 (display_debug_pubnames, display_debug_pubnames_gnu): New functions.
41 (display_gdb_index): Redo printing of symbol kind.
42 (debug_displays): Add .debug_gnu_pubnames, .debug_gnu_pubtypes.
43 * dwarf.h (dwarf_section_display_enum): Add gnu_pubnames, gnu_pubtypes.
44 * readelf.c (process_section_headers): Add gnu_pubnames, gnu_pubtypes.
46 2013-11-07 Roland McGrath <mcgrathr@google.com>
48 * objdump.c (dump_dwarf): Grok bfd_mach_x86_64_nacl and
49 bfd_mach_x64_32_nacl as equivalent to bfd_mach_x86_64.
51 2013-10-30 Alan Modra <amodra@gmail.com>
53 * readelf.c (get_ppc_dynamic_type): Replace PPC_TLSOPT with PPC_OPT.
54 (get_ppc64_dynamic_type): Replace PPC64_TLSOPT with PPC64_OPT.
56 2013-10-30 Ulrich Weigand <uweigand@de.ibm.com>
58 * readelf.c (get_ppc64_symbol_other): New function.
59 (get_symbol_other): Use it for EM_PPC64.
61 2013-10-30 Alan Modra <amodra@gmail.com>
63 * readelf.c (get_machine_flags): Display ABI version for EM_PPC64.
65 2013-10-24 Nick Clifton <nickc@redhat.com>
67 * nm.c (display_rel_file): Treat bfd_error_no_symbols as
70 2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
72 * readelf.c (display_mips_gnu_attribute): Support Tag_GNU_MIPS_ABI_MSA.
73 * doc/binutils.texi: Document -Mmsa disassembler option.
75 2013-10-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
77 * readelf.c (decode_arm_unwind): Don't initialize `addr'.
79 2013-10-14 Nick Clifton <nickc@redhat.com>
81 * readelf.c (decode_arm_unwind): Initialise addr structure.
82 (process_symbol_table): Free lengths.
83 * srcconv.c (wr_sc): Free info.
85 2013-10-11 Roland McGrath <mcgrathr@google.com>
87 * winduni.c (languages): Use \345 (octal syntax) rather than
88 literal non-ASCII/non-UTF8 character in string literal.
90 * readelf.c (print_dynamic_symbol): Use array subscript syntax
91 rather than addition syntax with string literal.
93 2013-10-09 Nick Clifton <nickc@redhat.com>
96 * debug.c (debug_type_samep): Add missing break statement.
99 * objdump.c (usage): Mark as a no-return function.
100 (main): Add comment explaining why a break statement is not
103 * dwarf.c (add64): New function.
104 (read_and_display_attr_value): Add CU offset in to the value
105 displayed for a DW_AT_ref8 attribute.
107 2013-10-01 Cory Fields <cory@coryfields.com>
109 * arsup.c (ar_save): Respect the deterministic setting when
110 reading from an mri script.
111 * ar.c (main): Set the default deterministic mode when reading
114 2013-10-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
116 * dwarf.c (SAFE_BYTE_GET): Fix argument check.
118 2013-09-27 H.J. Lu <hongjiu.lu@intel.com>
120 * dwarf.c (display_debug_frames): Pass offset_size to
121 print_dwarf_vma for cie_id.
123 2013-09-20 Alan Modra <amodra@gmail.com>
125 * configure: Regenerate.
127 2013-09-18 Tristan Gingold <gingold@adacore.com>
129 * NEWS: Add marker for 2.24.
131 2013-09-18 Tristan Gingold <gingold@adacore.com>
133 * Makefile.am (LEXLIB): Define. Replase references to @LEXLIB@
135 * Makefile.in: Regenerate.
137 2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
139 * readelf.c (get_machine_flags): Handle EF_MIPS_FP64.
141 2013-09-12 Nick Clifton <nickc@redhat.com>
143 * dwarf.c (dwarf_vmatoa): Rename to dwarf_vmatoa_1 and add a
145 (dwarf_vmatoa): New wrapper for dwarf_vmatoa_1.
146 (print_dwarf_vma): Use dwarf_vmatoa_1.
147 (SAFE_BYTE_GET): Add check that VAL is big enough to contain
149 (process_debug_info): Use an unsigned int for the offset size.
150 (process_debug_pubnames): Likewise.
151 (display_debug_aranges): Likewise.
152 (struct Frame_Chunk): Use dwarf_vma type for pc_begin and pc_range
154 (frame_display_row): Use print_dwarf_vma to display dwarf_vma
156 (display_debug_frames): Likewise.
158 2013-09-10 Nick Clifton <nickc@redhat.com>
160 * dwarf.c (display_debug_frames): Check for DW64_CIE_ID when
161 parsing 64-bit frames.
163 2013-08-27 Nick Clifton <nickc@redhat.com>
166 * ar.c (map_over_members): Correctly handle multiple same-name
167 entries on the command line and in the archive.
169 2013-08-23 H.J. Lu <hongjiu.lu@intel.com>
171 * doc/binutils.texi: Remove the extra space.
173 2013-08-23 Mikael Pettersson <mikpe@it.uu.se>
176 * doc/binutils.texi (ranlib -D): Correct description.
178 (nm --special-syms): Fix typo.
180 2013-08-23 Nick Clifton <nickc@redhat.com>
183 * doc/binutils.texi (ar cmdline): Update description of 'q'
187 (nm): Add description of 'I' symbol type.
189 2013-08-23 Yuri Chornoivan <yurchor@ukr.net>
192 * od-xcoff.c: Fix typos.
194 2013-08-19 Tristan Gingold <gingold@adacore.com>
196 * nm.c (print_size_symbols): Directly get symbol size.
198 2013-08-12 Andreas Schwab <schwab@suse.de>
201 * objdump.c (disassemble_section): Return early if nothing from
202 this section needs to be disassembled.
204 2013-08-09 Nick Clifton <nickc@redhat.com>
206 * readelf.c (get_machine_flags): Handle RL78 G10 flag.
208 2013-07-26 Sergey Guriev <sergey.s.guriev@intel.com>
209 Alexander Ivchenko <alexander.ivchenko@intel.com>
210 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
211 Sergey Lega <sergey.s.lega@intel.com>
212 Anna Tikhonova <anna.tikhonova@intel.com>
213 Ilya Tocar <ilya.tocar@intel.com>
214 Andrey Turetskiy <andrey.turetskiy@intel.com>
215 Ilya Verbin <ilya.verbin@intel.com>
216 Kirill Yukhin <kirill.yukhin@intel.com>
217 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
219 * dwarf.c (dwarf_regnames_i386): Add k0-k7 registers and
220 numeration in comments.
221 (dwarf_regnames_x86_64): Add xmm16-31 and k0-k7 registers to
224 2013-07-19 Nick Clifton <nickc@redhat.com>
227 * readelf.c (get_unwind_section_word): Whilst searching for a
228 reloc section associated with an unwind section, check the type as
229 well as the section number.
231 2013-07-18 Jim Thomas <thomas@cfht.hawaii.edu>
233 * ar.c (usage): Fix C conformance issue.
235 2013-07-18 Nick Clifton <nickc@redhat.com>
237 * doc/binutils.texi (nm, objdump): Remove bogus links to STABS
240 * readelf.c (process_unwind): Do not return the result of a void
243 2013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
245 * readelf.c (display_mips_gnu_attribute): Replace hardcoded magic
246 numbers with enum values.
248 2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
250 * readelf.c (get_machine_flags): Handle EF_MIPS_NAN2008.
252 2013-07-10 Tristan Gingold <gingold@adacore.com>
254 * od-xcoff.c (OPT_LDINFO): Define.
255 (options): Add ldinfo.
256 (xcoff_help): Mention ldinfo.
257 (xcoff_dump): Rename to ...
258 (xcoff_dump_obj): ... this. Add a break.
259 (dump_dumpx_core): New function.
260 (xcoff_dump_core): Likewise.
261 (xcoff_dump): Likewise.
262 * doc/binutils.texi (objdump): Mention ldinfo.
264 2013-07-09 Tristan Gingold <gingold@adacore.com>
266 * configure.com: Add new defines to match changes in configure.
268 2013-05-28 Cary Coutant <ccoutant@google.com>
270 * dwarf.c (display_debug_lines_raw): Print section offsets.
272 2013-05-15 Cary Coutant <ccoutant@google.com>
274 * dwarf.c (SAFE_BYTE_GET64): Correct end-of-buffer check;
276 (decode_location_expression): DW_OP_const2u should read 2 bytes.
277 (display_debug_lines_decoded): Adjust formatting.
278 * elfcomm.c (byte_get_little_endian): Add cases for 5-, 6-, and
280 (byte_get_big_endian): Likewise.
281 (byte_get_signed): Likewise.
283 2013-05-09 Andrew Pinski <apinski@cavium.com>
285 * doc/binutils.texi: Document -Mvirt disassembler option.
287 2013-05-02 Nick Clifton <nickc@redhat.com>
289 * readelf.c: Add support for MSP430X architecture.
291 2013-05-02 Nick Clifton <nickc@redhat.com>
293 * dwarf.c (display_debug_lines_raw): Do not treat .debug_line.dwo
294 sections as if they were fragmentary .debug_line sections.
295 (display_debug_lines_decoded): Likewise.
297 2013-04-29 Nick Clifton <nickc@redhat.com>
299 * dwarf.c (read_debug_line_header): New function. Reads in a
300 header in a .debug_line section.
301 (display_debug_lines_raw): Use new function. Handle fragmentary
302 .debug_line sections.
303 (display_debug_lines_decoded): Likewise.
304 * readelf.c (process_section_headers): Handle fragmenatry
305 .debug_line sections.
306 (display_debug_section): Likewise.
308 2013-04-26 Ian Lance Taylor <iant@google.com>
310 * MAINTAINERS: Add myself and Cary as gold maintainers.
312 2013-04-08 Tom Tromey <tromey@redhat.com>
314 * dwarf.c (process_debug_info): Check dwarf_cutoff_level.
316 2013-04-08 Tom Tromey <tromey@redhat.com>
318 * dwarf-mode.el: Bump version number.
319 (dwarf-mode): Remove autoload.
320 (dwarf-die-reference): Relax regexp.
322 2013-04-05 Alan Modra <amodra@gmail.com>
325 * configure.in: Add strnlen to AC_CHECK_DECLS, sort.
326 * dwarf.c (strnlen): Provide fallback decl.
327 * config.in: Regnerate.
328 * configure: Regenerate.
330 2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
332 * dwarf.c (process_debug_info): Increment hdrptr by 8 after
335 2013-03-27 Phil Krylov <phil.krylov@gmail.com>
338 * winduni.c (codepages[]): Use UTF-16LE.
339 (wind_MultiByteToWideChar): Likewise.
340 (wind_WideCharToMultiByte): Likewise.
342 2013-03-27 Alan Modra <amodra@gmail.com>
345 * dwarf.c (read_and_display_attr_value): Cast format '*' arg to int.
347 2013-03-26 Nick Clifton <nickc@redhat.com>
350 * dwarf.c (SAFE_BYTE_GET): New macro - checks remaining buffer
351 space before calling byte_get.
352 (SAFE_BYTE_GET_AND_INC): New macro.
353 (SAFE_SIGNED_BYTE_GET): New macro.
354 (SAFE_SIGNED_BYTE_GET_AND_INC): New macro.
355 (SAFE_BYTE_GET64): New macro.
356 (process_extened_line_op): Use new macros. Use strnlen when
358 (fetch_indirect_string): Likewise.
359 (get_FORM_name): Likewise.
360 (decode_location_expression): Likewise.
361 (read_and_display_attr_value): Likewise.
362 (process_debug_info): Likewise.
363 (display_debug_lines_raw): Likewise.
364 (display_debug_lines_decoded): Likewise.
365 (display_debug_pubnames): Likewise.
366 (display_debug_macinfo): Likewise.
367 (get_line_filename_and_dirname): Likewise.
368 (display_debug_macro): Likewise.
369 (display_loc_list): Likewise.
370 (display_loc_list_dwo): Likewise.
371 (display_debug_aranges): Likewise.
372 (display_debug_ranges): Likewise.
373 (frame_display_row): Likewise.
374 (display_debug_frames): Likewise.
376 2013-03-25 Nick Clifton <nickc@redhat.com>
379 * dwarf.c (read_leb128): Add END parameter. Do not read at or
381 (read_sleb128): Add END parameter.
382 (read_uleb128): New function.
383 (process_extended_line_op): Pass END to leb128 functions.
384 (process_abbrev_section): Likewise.
385 (decode_location_expression): Likewise.
386 (read_and_display_attr_value): Likewise.
387 (read_and_display_attr): Likewise.
388 (process_debug_info): Likewise.
389 (display_debug_lines_raw): Likewise.
390 (display_debug_lines_decoded): Likewise.
391 (display_debug_macinfo): Likewise.
392 (get_line_filename_and_dirname): Likewise.
393 (display_debug_macro): Likewise.
394 (display_loc_list_dwo): Likewise.
395 (display_debug_ranges): Likewise.
396 * dwarf.h (read_leb128): Update prototype.
397 * readelf.c (read_uleb128): Add END parameter.
398 (decode_arm_unwind_bytecode): Pass END to read_uleb128.
399 (decode_tic6x_unwind_bytecode): Likewise.
400 (display_tag_value): New function.
401 (display_arm_attribute): Add END parameter. Pass END to
402 read_uleb128. Use display_tag_value.
403 (display_gnu_attribute): Likewise.
404 (display_power_gnu_attribute): Likewise.
405 (display_sparc_gnu_attribute): Likewise.
406 (display_mips_gnu_attribute): Likewise.
407 (display_tic6x_attribute): Likewise.
408 (process_attributes): Likewise.
409 (display_raw_attribute): New function.
411 2013-03-22 Nick Clifton <nickc@redhat.com>
414 * dwarf.c (display_debug_ranges): Add checks for reading beyond
415 the end of the section.
418 * readelf.c (apply_relocations): Catch relocations with negative
421 2013-03-15 Nick Clifton <nickc@redhat.com>
423 * addr2line.c (slurp_symtab): If canonicalization reveals that
424 there were no ordinary symbols, try loading the dynamic symbols
427 2013-03-14 Markos Chandras <markos.chandras@imgtec.com>
429 * MAINTAINERS: Add myself as Meta maintainer.
431 2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
433 * readelf.c (get_note_type): Add NT_S390_TDB.
435 2013-03-07 Alan Modra <amodra@gmail.com>
437 * strings.c (get_char): Dispense with buf[]. Instead shift
438 chars into big-endian value and byte-swap later if
439 little-endian. Don't EOF check value read from object.
441 2013-03-05 Corinna Vinschen <vinschen@redhat.com>
443 * configure.in: Build DLL tools on x86_64-*-cygwin* as well.
444 * configure: Regenerate.
446 2013-03-04 Nick Clifton <nickc@redhat.com>
448 * elfcomm.c (error): Flush stdout before emitting the error
452 2013-03-01 Cary Coutant <ccoutant@google.com>
454 * dwarf.c (cu_tu_indexes_read, shndx_pool, shndx_pool_size)
455 (shndx_pool_used): Move to top of file.
456 (struct cu_tu_set): New type.
457 (cu_count, tu_count, cu_sets, tu_sets): New file scope variables.
458 (fetch_indexed_string): Add "this_set" parameter. Update all callers.
459 (find_cu_tu_set_v2): New function.
460 (read_and_display_attr_value): Add "this_set" parameter.
461 (read_and_display_attr): Likewise.
462 (process_debug_info): Track base offsets for DWARF package files.
463 (load_debug_info): Call load_cu_tu_indexes.
464 (get_DW_SECT_short_name): New function.
465 (process_cu_tu_index): Add support for version 2 DWARF package files.
467 2013-02-27 Alan Modra <amodra@gmail.com>
470 * readelf.c (offsetof): Define.
471 (CHECK_ENTSIZE_VALUES): Remove extraneous indefinite article.
472 (process_corefile_note_segment): Allow notes without name or
473 desc. Combine out-of-range checks. Disallow "negative"
476 2013-02-26 Nick Clifton <nickc@redhat.com>
479 * readelf.c (process_corefile_note_segment): Prevent attempts to
480 read beyond the end of the note buffer.
482 2013-02-15 Kai Tietz <ktietz@redhat.com>
484 * objcopy.c (copy_main): Initialize context variable.
486 2013-02-15 Nick Clifton <nickc@redhat.com>
489 * ar.c (open_inarch): Fail on attempts to convert a normal archive
490 to a thin archive or vice versa.
491 * elfcomm.c (make_qualified_name): Handle corrupted thin
493 * readelf.c (process_archive): Likewise.
494 * doc/binutils.texi: Clarify documentation describing thin
497 2013-02-15 Nick Clifton <nickc@redhat.com>
500 * objcopy.c (enum change_action): Delete.
501 (struct section_list): Delete remove, copy, change_vma, change_lma
502 and set_flags fields. Add context field.
503 (find_section_list): Add a context parameter. Add support for
504 wildcard characters in section names.
505 (is_strip_section): Check for sections being both copied and
507 (copy_object): Pass context to find_section_list.
508 (setup_section): Likewise.
509 (copy_section): Likewise.
510 (copy_main): Likewise.
511 * doc/binutils: Document the new behaviour.
512 * NEWS: Mention the new feature
514 2013-02-14 Nick Clifton <nickc@redhat.com>
517 * objcopy.c (copy_object): Provide a helpful warning message when
518 adding a gnu_debuglink section to an object which already contains
521 2013-02-07 Nick Clifton <nickc@redhat.com>
523 * elfcomm.c (get_archive_member_name): Prevent seg-fault if a
524 corrupt archive uses long names but has no long name table.
526 2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
527 Andrew Jenner <andrew@codesourcery.com>
529 Based on patches from Altera Corporation.
531 * readelf.c: Include elf/nios2.h.
532 (dump_relocations): Add case for EM_ALTERA_NIOS2.
533 (get_nios2_dynamic_type): New.
534 (get_dynamic_type): Add case for EM_ALTERA_NIOS2.
535 (is_32bit_abs_reloc): Fix EM_ALTERA_NIOS2 case.
536 (is_16bit_abs_reloc): Likewise.
537 (is_none_reloc): Add EM_ALTERA_NIOS2 and EM_NIOS32 cases.
538 * NEWS: Note Altera Nios II support.
539 * MAINTAINERS: Add Nios II maintainers.
541 2013-01-29 Xi Wang <xi.wang@gmail.com>
543 * readelf.c (process_version_sections): Fix overflow checks to
544 avoid undefined behaviour.
546 2013-01-28 Doug Evans <dje@google.com>
548 * dwarf.c (display_gdb_index): Handle .gdb_index version 8.
550 2013-01-28 Robert Schiele <rschiele@gmail.com>
552 * objcopy.c (parse_flags): Add merge and strings section flags.
554 2013-01-25 Cary Coutant <ccoutant@google.com>
556 * dwarf.c (display_loc_list): Update offset for each line
558 (print_addr_index): New function.
559 (display_loc_list_dwo): Update offset for each line printed.
560 Fix problems displaying loclists in .dwo files. Add support
562 (display_debug_loc): Remove custom header for .dwo files.
563 (display_debug_addr): Adjust formatting.
565 2013-01-25 Marco Atzeri <marco.atzeri@gmail.com>
567 * objcopy.c : Enable long section names for OPTION_ADD_GNU_DEBUGLINK.
569 2013-01-24 Doug Evans <dje@google.com>
571 * dwarf.c (display_debug_addr): Add missing parentheses to expression.
573 2013-01-24 Nick Clifton <nickc@redhat.com>
575 * readelf.c (get_machine_flags): Decode E_V850E3V5_ARCH.
577 2013-01-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
579 * readelf.c: Add strings for NT_S390_LAST_BREAK and
582 2013-01-18 Nick Clifton <nickc@redhat.com>
585 * addr2line.c (translate_addresses): When pretty printing, print
586 unknown function names on the same line as unknown symbol names.
588 2013-01-17 Nickolai Zeldovich <nickolai@csail.mit.edu>
590 * objdump.c (dump_target_specific): Fix NULL pointer test.
592 2013-01-16 Alan Modra <amodra@gmail.com>
595 * stabs.c (parse_stab_members): Always set physname here to avoid
597 (parse_stab_argtypes): ..and don't duplicate the init here.
599 2013-01-10 Will Newton <will.newton@imgtec.com>
601 * binutils/readelf.c: (guess_is_rela): Add EM_METAG.
602 (dump_relocations): Add EM_METAG.
603 (get_machine_name): Correct case for Meta.
604 (is_32bit_abs_reloc): Add support for Meta ADDR32 reloc.
605 (is_none_reloc): Add support for Meta NONE reloc.
607 2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
609 * readelf.c (get_note_type): Handle NT_ARM_TLS, NT_ARM_HW_BREAK
612 2013-01-07 Roland McGrath <mcgrathr@google.com>
614 * objcopy.c (deterministic): Make int rather than bfd_boolean,
616 (strip_options, copy_options): Add -U/--disable-deterministic-archives.
617 (default_deterministic): New function.
618 (strip_main, copy_main): Handle -U. Call default_deterministic.
619 (copy_usage, strip_usage): Describe -U. Cite whether -D or -U is
620 the default based on DEFAULT_AR_DETERMINISTIC.
621 * doc/binutils.texi (objcopy, strip): Describe -U and effect of
622 configure options on -D.
624 * ar.c (default_deterministic): Comment fix.
626 2013-01-07 Patrice Dumas <pertusus@free.fr>
628 * doc/binutils.texi: Fix ordering of top level nodes.
629 Replace erroneous uses of @itemx with @item.
631 2013-01-04 Andreas Schwab <schwab@linux-m68k.org>
633 * doc/binutils.texi (elfedit): Fix use of @itemx in @table.
635 2013-01-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
637 * MAINTAINERS: Add myself as AArch64 co-maintainer.
639 2013-01-02 H.J. Lu <hongjiu.lu@intel.com>
641 * version.c (print_version): Update copyright year to 2013.
643 For older changes see ChangeLog-2012
645 Copyright (C) 2013 Free Software Foundation, Inc.
647 Copying and distribution of this file, with or without modification,
648 are permitted in any medium without royalty provided the copyright
649 notice and this notice are preserved.
655 version-control: never