a554497024
From-SVN: r267494
1065 lines
33 KiB
Plaintext
1065 lines
33 KiB
Plaintext
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2018-12-29 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* Makefile.am (xcoff_%.c): Use an actual newline instead of \n
|
||
in sed pattern.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2018-12-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (build_address_map): Reuse unused units.
|
||
|
||
2018-12-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (build_address_map): Simplify by removing local variable
|
||
abbrevs.
|
||
|
||
2018-12-28 Ian Lance Taylor <iant@golang.org>
|
||
Tom de Vries <tdevries@suse.de>
|
||
|
||
PR libbacktrace/88063
|
||
* dwarf.c (free_unit_addrs_vector): Remove.
|
||
(build_address_map): Keep track of allocated units in vector. Free
|
||
allocated units and corresponding abbrevs upon failure. Remove now
|
||
redundant call to free_unit_addrs_vector. Free addrs vector upon
|
||
failure. Free allocated unit vector.
|
||
|
||
2018-12-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (build_address_map): Free addrs vector upon failure.
|
||
|
||
2018-12-14 Tom de Vries <tdevries@suse.de>
|
||
|
||
PR testsuite/88491
|
||
* allocfail.sh: Remove "set -o pipefail".
|
||
|
||
2018-12-12 Tom de Vries <tdevries@suse.de>
|
||
|
||
* Makefile.am (TESTS): Add allocfail.sh.
|
||
(check_PROGRAMS): Add allocfail.
|
||
* Makefile.in: Regenerate.
|
||
* instrumented_alloc.c: New file. Redefine malloc and realloc.
|
||
Include alloc.c.
|
||
* allocfail.c: New file.
|
||
* allocfail.sh: New file.
|
||
|
||
2018-11-30 Tom de Vries <tdevries@suse.de>
|
||
|
||
* Makefile.am (check_PROGRAMS): Add test_elf, test_xcoff_32,
|
||
test_xcoff_64, test_pecoff and test_unknown.
|
||
* Makefile.in: Regenerate.
|
||
* test_format.c: New file.
|
||
|
||
2018-11-30 Tom de Vries <tdevries@suse.de>
|
||
|
||
* Makefile.am : Add _with_alloc version for each test in
|
||
check_PROGRAMS.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2018-11-30 Tom de Vries <tdevries@suse.de>
|
||
|
||
* internal.h (backtrace_vector_free): New static inline fuction,
|
||
factored out of ...
|
||
* dwarf.c (read_line_info): ... here.
|
||
|
||
2018-11-28 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (read_abbrevs): Fix handling of abbrevs->abbrevs allocation
|
||
failure.
|
||
|
||
2018-11-27 Tom de Vries <tdevries@suse.de>
|
||
|
||
* mmap.c (backtrace_vector_release): Same.
|
||
* unittest.c (test1): Add check.
|
||
|
||
2018-11-27 Tom de Vries <tdevries@suse.de>
|
||
|
||
* alloc.c (backtrace_vector_release): Handle vec->size == 0 using free
|
||
instead of realloc.
|
||
* Makefile.am (check_PROGRAMS): Add unittest.
|
||
* Makefile.in: Regenerate.
|
||
* unittest.c: New file.
|
||
|
||
2018-11-22 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (read_initial_length): Factor out of ...
|
||
(build_address_map, read_line_info): ... here.
|
||
|
||
2018-11-21 Tom de Vries <tdevries@suse.de>
|
||
|
||
* dwarf.c (read_string): Factor out of ...
|
||
(read_attribute, read_line_header, read_line_program): ... here.
|
||
|
||
2018-10-31 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR bootstrap/82856
|
||
* Makefile.am: Include multilib.am.
|
||
* configure.ac: Remove AC_PREREQ. Use AC_LANG_SOURCE.
|
||
* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
|
||
|
||
2018-10-05 Ian Lance Taylor <iant@golang.org>
|
||
|
||
PR libbacktrace/87529
|
||
* backtrace.h: Document that backtrace_create_state should be
|
||
called only once.
|
||
|
||
2018-08-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* configure.ac: Move define of HAVE_ZLIB into check for -lz.
|
||
* Makefile.in: Regenerate.
|
||
* config.h.in: Likewise.
|
||
* configure: Likewise.
|
||
|
||
2018-08-01 Tony Reix <tony.reix@atos.net>
|
||
|
||
* xcoff.c (struct xcoff_line, struct xcoff_line_vector): Remove.
|
||
(struct xcoff_func, struct xcoff_func_vector): New structs.
|
||
(xcoff_syminfo): Drop leading dot from symbol name.
|
||
(xcoff_line_compare, xcoff_line_search): Remove.
|
||
(xcoff_func_compare, xcoff_func_search): New static functions.
|
||
(xcoff_lookup_pc): Search function table.
|
||
(xcoff_add_line, xcoff_process_linenos): Remove.
|
||
(xcoff_initialize_fileline): Build function table.
|
||
|
||
2018-06-21 Denis Khalikov <d.khalikov@partner.samsung.com>
|
||
|
||
PR other/86198
|
||
* elf.c (elf_add): Increase ".note.gnu.build-id" section size
|
||
checking up to 36 bytes.
|
||
|
||
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* configure: Regenerated.
|
||
|
||
2018-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* configure: Regenerated.
|
||
|
||
2018-04-17 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* backtrace.c: Revert last two changes. Don't call mmap
|
||
directly.
|
||
|
||
2018-04-17 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* backtrace.c: Include backtrace-supported.h before checking
|
||
BACKTRACE_USES_MALLOC.
|
||
|
||
2018-04-17 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* backtrace.c (backtrace_full): When testing whether we can
|
||
allocate memory, call mmap directly, and munmap the memory.
|
||
|
||
2018-04-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/85161
|
||
* elf.c (elf_zlib_fetch): Fix up predefined macro names in test for
|
||
big endian, only use 32-bit loads if endianity macros are predefined
|
||
and indicate big or little endian.
|
||
|
||
2018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||
|
||
PR target/84148
|
||
* configure: Regenerate.
|
||
|
||
2018-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/82368
|
||
* elf.c (SHT_PROGBITS): Undefine and define.
|
||
|
||
2018-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/82368
|
||
* elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define.
|
||
(struct elf_ppc64_opd_data): New type.
|
||
(elf_initialize_syminfo): Add opd argument, handle symbols
|
||
pointing into the PowerPC64 ELFv1 .opd section.
|
||
(elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer
|
||
to structure with .opd data to elf_initialize_syminfo.
|
||
|
||
2018-01-31 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* elf.c (elf_add): Close descriptor if we use a debugfile.
|
||
* btest.c (check_open_files): New static function.
|
||
(main): Call check_open_files.
|
||
|
||
2018-01-25 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* elf.c (elf_open_debugfile_by_debuglink): Don't check CRC if the
|
||
desired CRC is zero.
|
||
(elf_add): Don't clear *found_sym and *found_dwarf if debuginfo.
|
||
|
||
2018-01-25 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* pecoff.c (coff_add): Only release syms_view if it is valid.
|
||
|
||
2018-01-25 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* pecoff.c (coff_add): Another memcpy -> coff_read4 fix.
|
||
|
||
2018-01-24 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* pecoff.c (coff_add): Use coff_read4, not memcpy.
|
||
|
||
2018-01-24 Ian Lance Taylor <iant@golang.org>
|
||
|
||
PR other/68239
|
||
* mmap.c (backtrace_free_locked): Don't put more than 16 entries
|
||
on the free list.
|
||
|
||
2018-01-19 Tony Reix <tony.reix@atos.net>
|
||
|
||
* xcoff.c (xcoff_incl_compare): New function.
|
||
(xcoff_incl_search): New function.
|
||
(xcoff_process_linenos): Use bsearch to find include file.
|
||
(xcoff_initialize_fileline): Sort include file information.
|
||
|
||
2018-01-16 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* elf.c (codes) [GENERATE_FIXED_HUFFMAN_TABLE]: Fix size to be
|
||
288.
|
||
(main) [GENERATE_FIXED_HUFFMAN_TABLE]: Pass 288 to
|
||
elf_zlib_inflate_table. Generate elf_zlib_default_dist_table.
|
||
(elf_zlib_default_table): Update.
|
||
(elf_zlib_default_dist_table): New static array.
|
||
(elf_zlib_inflate): Use elf_zlib_default_dist_table for dist table
|
||
for block type 1.
|
||
* ztest.c (struct zlib_test): Add uncompressed_len.
|
||
(tests): Initialize uncompressed_len field. Add new test case.
|
||
(test_samples): Use uncompressed_len field.
|
||
|
||
2018-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||
|
||
* configure.ac: Add CET_FLAGS to EXTRA_FLAGS.
|
||
* aclocal.m4: Regenerate.
|
||
* Makefile.in: Likewise.
|
||
* configure: Likewise.
|
||
|
||
2017-10-06 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* ztest.c (test_large): Pass unsigned long *, not size_t *, to
|
||
zlib uncompress function.
|
||
|
||
2017-10-05 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* elf.c (elf_zlib_fetch): Change pval argument to uint64_t *.
|
||
Read a four byte integer.
|
||
(elf_zlib_inflate): Change val to uint64_t. Align pin to a 32-bit
|
||
boundary before ever calling elf_zlib_fetch.
|
||
* ztest.c (test_large): Simplify print statements a bit.
|
||
|
||
2017-10-02 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* ztest.c: #include <errno.h>.
|
||
(TEST_TIMING): Don't define, don't test.
|
||
(xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME.
|
||
(clockid_t, clock_gettime, CLOCK_REALTIME): Likewise.
|
||
(ZLIB_CLOCK_GETTIME_ARG): Define.
|
||
* configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK.
|
||
* Makefile.am: Likewise.
|
||
* configure, Makefile.in: Rebuild.
|
||
|
||
2017-10-02 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR other/67165
|
||
* Makefile.am: Append the content of clock_gettime_link to
|
||
ztest_LDADD.
|
||
* configure.ac: Test for the case that clock_gettime is in librt.
|
||
* Makefile.in: Regenerate.
|
||
* configure: Likewise.
|
||
|
||
PR other/67165
|
||
* configure.ac: Check for clock_gettime.
|
||
* config.h.in: Regenerate.
|
||
* configure: Likewise.
|
||
* ztest.c (average_time, test_large): Conditionalize test timing
|
||
on clock_gettime availability.
|
||
|
||
2017-09-29 Tony Reix <tony.reix@atos.net>
|
||
|
||
* xcoff.c: Initial support for DWARF debug sections in XCOFF.
|
||
(STYP_DWARF, SSUBTYP_DW*): Define.
|
||
(enum dwarf_section): Define.
|
||
(struct dwsect_info): Define.
|
||
(xcoff_add): Look for DWARF sections, pass them to
|
||
backtrace_dwarf_add.
|
||
|
||
2017-09-28 Ian Lance Taylor <iant@golang.org>
|
||
|
||
PR other/67165
|
||
* elf.c (__builtin_prefetch): Define if not __GNUC__.
|
||
(unlikely): Define.
|
||
(SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define.
|
||
(b_elf_chdr): Define type.
|
||
(enum debug_section): Add ZDEBUG_xxx values.
|
||
(debug_section_names): Add names for new sections.
|
||
(struct debug_section_info): Add compressed field.
|
||
(elf_zlib_failed, elf_zlib_fetch): New static functions.
|
||
(HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define.
|
||
(HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define.
|
||
(HUFFMAN_SECONDARY_SHIFT): Define.
|
||
(ZDEBUG_TABLE_SIZE): Define.
|
||
(ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define.
|
||
(final_next_secondary): New static variable if
|
||
BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE.
|
||
(elf_zlib_inflate_table): New static function.
|
||
(BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main
|
||
function to produce fixed Huffman table.
|
||
(elf_zlib_default_table): New static variable.
|
||
(elf_zlib_inflate): New static function.
|
||
(elf_zlib_verify_checksum): Likewise.
|
||
(elf_zlib_inflate_and_verify): Likewise.
|
||
(elf_uncompress_zdebug): Likewise.
|
||
(elf_uncompress_chdr): Likewise.
|
||
(backtrace_uncompress_zdebug): New extern function.
|
||
(elf_add): Look for .zdebug sections and SHF_COMPRESSED debug
|
||
sections, and uncompress them.
|
||
* internal.h (backtrace_compress_zdebug): Declare.
|
||
* ztest.c: New file.
|
||
* configure.ac: Check for -lz and check whether the linker
|
||
supports --compress-debug-sections.
|
||
* Makefile.am (ztest_SOURCES): New variable.
|
||
(ztest_CFLAGS, ztest_LDADD): New variables.
|
||
(check_PROGRAMS): Add ztest.
|
||
(ctestg_SOURCES): New variable.
|
||
(ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables.
|
||
(ctesta_SOURCES): New variable.
|
||
(ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables.
|
||
(check_PROGRAMS): Add ctestg and ctesta.
|
||
* configure, config.h.in, Makefile.in: Rebuild.
|
||
|
||
2017-09-22 Ian Lance Taylor <iant@golang.org>
|
||
|
||
PR sanitizer/77631
|
||
* configure.ac: Check for lstat and readlink.
|
||
* elf.c (lstat, readlink): Provide dummy versions if real versions
|
||
are not available.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2017-09-21 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR go/82284
|
||
* elf.c (backtrace_initialize): Set pd.exe_filename.
|
||
|
||
2017-09-20 Ian Lance Taylor <iant@golang.org>
|
||
Denis Khalikov <d.khalikov@partner.samsung.com>
|
||
|
||
PR sanitizer/77631
|
||
Support for external debug info.
|
||
* elf.c: Include <errno.h>, <sys/stat.h>, <unistd.h>.
|
||
(S_ISLNK): Define if not defined.
|
||
(xstrnlen): Define if strnlen is not available.
|
||
(b_elf_note): Define type.
|
||
(NT_GNU_BUILD_ID): Define macro.
|
||
(elf_crc32, elf_crc32_file): New static functions.
|
||
(elf_is_symlink, elf_readlink): New static functions.
|
||
(elf_open_debugfile_by_buildid): New static function.
|
||
(elf_try_debugfile): New static function.
|
||
(elf_find_debugfile_by_debuglink): New static function.
|
||
(elf_open_debugfile_by_debuglink): New static function.
|
||
(elf_add): Add filename and debuginfo parameters. Adjust all
|
||
callers. Look for external debug info notes, and try to fetch
|
||
debug info from external file.
|
||
(struct phdr_data): Add exe_filename field.
|
||
(phdr_callback): Pass filename to elf_add.
|
||
(backtrace_initialize): Add filename parameter.
|
||
* internal.h (backtrace_initialize): Add filename parameter.
|
||
* fileline.c (fileline_initialize): Pass filename to
|
||
backtrace_initialize.
|
||
* pecoff.c (fileline_initialize): Add unused filename parameter.
|
||
* unknown.c (fileline_initialize): Likewise.
|
||
* xcoff.c (fileline_initialize): Likewise.
|
||
* configure.ac: Check for objcopy --add-gnu-debuglink.
|
||
* Makefile.am (dtest): New test target.
|
||
* configure, Makefile.in: Rebuild.
|
||
|
||
2017-09-12 Steve Ellcey <sellcey@cavium.com>
|
||
|
||
PR other/81096
|
||
* Makefile.am (ttest_CFLAGS): Add $(AM_CFLAGS)
|
||
* Makefile.in: Regenerate.
|
||
|
||
2017-09-12 Steve Ellcey <sellcey@cavium.com>
|
||
|
||
PR other/81096
|
||
* libbacktrace/Makefile.in
|
||
(HAVE_PTHREAD_TRUE@@NATIVE_TRUE@ttest_CFLAGS): Add $(AM_CFLAGS)
|
||
|
||
2017-08-02 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR bootstrap/81638
|
||
* xcoff.c (xcoff_process_linenos): Initialize incl to NULL.
|
||
|
||
2017-07-28 Tony Reix <tony.reix@atos.net>
|
||
|
||
* xcoff.c: Don't leak a file descriptor if an archive is malformed.
|
||
|
||
2017-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* fileline.c (fileline_initialize): Print pid_t as long.
|
||
|
||
2017-07-26 Tony Reix <tony.reix@atos.net>
|
||
|
||
* configure.ac: Check for XCOFF32/XCOFF64. Check for loadquery.
|
||
* filetype.awk: Separate AIX XCOFF32 and XCOFF64.
|
||
* xcoff.c: Add support for AIX XCOFF32 and XCOFF64 formats.
|
||
* configure, config.h.in: Regenerate.
|
||
|
||
2017-07-21 Tony Reix <tony.reix@atos.net>
|
||
|
||
* filetype.awk: Add AIX XCOFF type detection.
|
||
* configure.ac: Recognize xcoff format.
|
||
* Makefile.am (FORMAT_FILES): Add xcoff.c.
|
||
* fileline.c: Include <unistd.h>.
|
||
(fileline_initialize): Add case for AIX procfs.
|
||
* xcoff.c: New file.
|
||
* configure, Makefile.in: Rebuild.
|
||
|
||
2017-06-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* configure.ac: Add AC_SYS_LARGEFILE.
|
||
* config.h.in: Regenerate.
|
||
* configure: Likewise.
|
||
|
||
2017-06-11 Ian Lance Taylor <iant@golang.org>
|
||
|
||
* elf.c (backtrace_initialize): Always set *fileline_fn.
|
||
* ttest.c: New file.
|
||
* btest.c: Move support functions into testlib.c. Change calls to
|
||
check to pass file name.
|
||
* testlib.c: New file, copied from (part of) btest.c.
|
||
* testlib.h: New file, declarations for testlib.c.
|
||
* edtest.c: Use testlib.h and testlib.c.
|
||
* configure.ac: Test for -pthread, set HAVE_PTHREAD conditional.
|
||
* Makefile.am (btest_SOURCES): Add testlib.c.
|
||
(edtest_SOURCES): Likewise.
|
||
(CHECK_PROGRAMS): Add ttest if HAVE_PTHREAD.
|
||
(ttest_SOURCES, ttest_CFLAGS, ttest_LDADD): Define.
|
||
* configure, Makefile.in: Rebuild.
|
||
|
||
2017-05-19 Than McIntosh <thanm@google.com>
|
||
|
||
* dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.
|
||
(read_line_header): Don't allocate dirs if dirs_count == 0.
|
||
* edtest.c: New file.
|
||
* edtest2.c: New file.
|
||
* Makefile.am (edtest_SOURCES, edtest_LDADD): Define.
|
||
(check_PROGRAMS): Add edtest.
|
||
(edtest2_build.c, gen_edtest2_build): New targets.
|
||
* Makefile.in: Rebuild.
|
||
|
||
2017-03-08 Sam Thursfield <sam.thursfield@codethink.co.uk>
|
||
|
||
* btest.c (test5): Replace #ifdef guard with 'unused' attribute
|
||
to fix compile warning when BACKTRACE_SUPPORTED isn't defined.
|
||
|
||
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2016-11-15 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2016-09-11 Carlos Liam <carlos@aarzee.me>
|
||
|
||
* all: Remove meaningless trailing whitespace.
|
||
|
||
2016-05-18 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR target/71161
|
||
* elf.c (phdr_callback) [__i386__]: Add
|
||
__attribute__((__force_align_arg_pointer__)).
|
||
|
||
2016-03-02 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
|
||
|
||
* elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to
|
||
avoid possible crash.
|
||
(elf_add): Don't set *fileline_fn to elf_nodebug value in case of
|
||
missing debug info anymore.
|
||
|
||
2016-02-06 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* mmap.c (MAP_FAILED): Define if not defined.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2015-12-18 Andris Pavenis <andris.pavenis@iki.fi>
|
||
|
||
* configure.ac: Specify that DJGPP do not have mmap
|
||
even when sys/mman.h exists.
|
||
* configure: Regenerate
|
||
|
||
2015-12-09 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR libgfortran/68115
|
||
* configure.ac: Set libbacktrace_cv_sys_sync to no on hppa*-*-hpux*.
|
||
* configure: Regenerate.
|
||
* elf.c (backtrace_initialize): Cast __sync_bool_compare_and_swap call
|
||
to void.
|
||
|
||
2015-09-17 Ian Lance Taylor <iant@google.com>
|
||
|
||
* posix.c (backtrace_open): Cast second argument of open() to int.
|
||
|
||
2015-09-11 Ian Lance Taylor <iant@google.com>
|
||
|
||
* Makefile.am (backtrace.lo): Depend on internal.h.
|
||
(sort.lo, stest.lo): Add explicit dependencies.
|
||
* Makefile.in: Rebuild.
|
||
|
||
2015-09-09 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* backtrace.c: #include <sys/types.h>.
|
||
|
||
2015-09-08 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/67457
|
||
* backtrace.c: #include "internal.h".
|
||
(struct backtrace_data): Add can_alloc field.
|
||
(unwind): If can_alloc is false, don't try to get file/line
|
||
information.
|
||
(backtrace_full): Set can_alloc field in bdata.
|
||
* alloc.c (backtrace_alloc): Don't call error_callback if it is
|
||
NULL.
|
||
* mmap.c (backtrace_alloc): Likewise.
|
||
* internal.h: Update comments for backtrace_alloc and
|
||
backtrace_free.
|
||
|
||
2015-09-08 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/67457
|
||
* mmap.c (backtrace_alloc): Correct test for mmap failure.
|
||
|
||
2015-08-31 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||
|
||
* configure.ac: For spu-*-* targets, set have_fcntl to no.
|
||
* configure: Regenerate.
|
||
|
||
2015-08-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||
|
||
* configure.ac: Remove [disable-shared] argument to LT_INIT.
|
||
Remove setting PIC_FLAG when building as target library.
|
||
* configure: Regenerate.
|
||
|
||
2015-08-26 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* configure.ac: Only compile with -fPIC if the target
|
||
supports it.
|
||
* configure: Regenerate.
|
||
|
||
2015-08-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||
|
||
* configure.ac: Set have_mmap to no on spu-*-* targets.
|
||
* configure: Regenerate.
|
||
|
||
2015-08-13 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (read_function_entry): Add vec_inlined parameter.
|
||
Change all callers.
|
||
|
||
2015-06-11 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR sanitizer/65479
|
||
* dwarf.c (struct line): Add new field idx.
|
||
(line_compare): Use it.
|
||
(add_line): Set it.
|
||
(read_line_info): Reset it.
|
||
|
||
2015-05-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* pecoff.c: New file.
|
||
* Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies.
|
||
* Makefile.in: Regenerate.
|
||
* filetype.awk: Detect pecoff.
|
||
* configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms.
|
||
Add pecoff.
|
||
* btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is
|
||
true.
|
||
* backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define.
|
||
* configure: Regenerate.
|
||
* pecoff.c: New file.
|
||
|
||
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
|
||
* Makefile.in: Regenerated with automake-1.11.6.
|
||
* aclocal.m4: Likewise.
|
||
* configure: Likewise.
|
||
|
||
2015-01-24 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
|
||
* configure: Regenerate.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR bootstrap/63784
|
||
* configure: Regenerated.
|
||
|
||
2014-11-11 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* ChangeLog.jit: New.
|
||
|
||
2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR target/63610
|
||
* configure: Regenerate.
|
||
|
||
2014-10-23 Ian Lance Taylor <iant@google.com>
|
||
|
||
* internal.h (backtrace_atomic_load_pointer) [no atomic or sync]:
|
||
Fix to return void *.
|
||
|
||
2014-05-08 Ian Lance Taylor <iant@google.com>
|
||
|
||
* mmap.c (backtrace_free): If freeing a large aligned block of
|
||
memory, call munmap rather than holding onto it.
|
||
(backtrace_vector_grow): When growing a vector, double the number
|
||
of pages requested. When releasing the old version of a grown
|
||
vector, pass the correct size to backtrace_free.
|
||
|
||
2014-03-07 Ian Lance Taylor <iant@google.com>
|
||
|
||
* sort.c (backtrace_qsort): Use middle element as pivot.
|
||
|
||
2014-03-06 Ian Lance Taylor <iant@google.com>
|
||
|
||
* sort.c: New file.
|
||
* stest.c: New file.
|
||
* internal.h (backtrace_qsort): Declare.
|
||
* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
|
||
(read_line_info, read_function_entry): Likewise.
|
||
(read_function_info, build_dwarf_data): Likewise.
|
||
* elf.c (elf_initialize_syminfo): Likewise.
|
||
* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
|
||
(stest_SOURCES, stest_LDADD): Define.
|
||
(check_PROGRAMS): Add stest.
|
||
|
||
2014-02-07 Misty De Meo <misty@brew.sh>
|
||
|
||
PR target/58710
|
||
* configure.ac: Use AC_LINK_IFELSE in check for
|
||
_Unwind_GetIPInfo.
|
||
* configure: Regenerate.
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
Update copyright years
|
||
|
||
2013-12-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (ET_DYN): Undefine and define again.
|
||
(elf_add): Add exe argument, if true and ehdr.e_type is ET_DYN,
|
||
return early -1 without closing the descriptor.
|
||
(struct phdr_data): Add exe_descriptor.
|
||
(phdr_callback): If pd->exe_descriptor is not -1, for very first
|
||
call if dlpi_name is NULL just call elf_add with the exe_descriptor,
|
||
otherwise backtrace_close the exe_descriptor if not -1. Adjust
|
||
call to elf_add.
|
||
(backtrace_initialize): Adjust call to elf_add. If it returns
|
||
-1, set pd.exe_descriptor to descriptor, otherwise set it to -1.
|
||
|
||
2013-12-05 Ian Lance Taylor <iant@google.com>
|
||
|
||
* alloc.c (backtrace_vector_finish): Add error_callback and data
|
||
parameters. Call backtrace_vector_release. Return address base.
|
||
* mmap.c (backtrace_vector_finish): Add error_callback and data
|
||
parameters. Return address base.
|
||
* dwarf.c (read_function_info): Get new address base from
|
||
backtrace_vector_finish.
|
||
* internal.h (backtrace_vector_finish): Update declaration.
|
||
|
||
2013-11-27 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (find_address_ranges): New static function, broken out
|
||
of build_address_map.
|
||
(build_address_map): Call it.
|
||
* btest.c (check): Check for missing filename or function, rather
|
||
than crashing.
|
||
(f3): Check that enough frames were returned.
|
||
|
||
2013-11-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* backtrace.h (backtrace_syminfo_callback): Add symsize argument.
|
||
* elf.c (elf_syminfo): Pass 0 or sym->size to the callback as
|
||
last argument.
|
||
* btest.c (struct symdata): Add size field.
|
||
(callback_three): Add symsize argument. Copy it to the data->size
|
||
field.
|
||
(f23): Set symdata.size to 0.
|
||
(test5): Likewise. If sizeof (int) > 1, lookup address of
|
||
((uintptr_t) &global) + 1. Verify symdata.val and symdata.size
|
||
values.
|
||
|
||
* atomic.c: Include sys/types.h.
|
||
|
||
2013-11-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac: Check for support of __atomic extensions.
|
||
* internal.h: Declare or #define atomic functions for use in
|
||
backtrace code.
|
||
* atomic.c: New file.
|
||
* dwarf.c (dwarf_lookup_pc): Use atomic functions.
|
||
(dwarf_fileline, backtrace_dwarf_add): Likewise.
|
||
* elf.c (elf_add_syminfo_data, elf_syminfo): Likewise.
|
||
(backtrace_initialize): Likewise.
|
||
* fileline.c (fileline_initialize): Likewise.
|
||
* Makefile.am (libbacktrace_la_SOURCES): Add atomic.c.
|
||
* configure, config.h.in, Makefile.in: Rebuild.
|
||
|
||
2013-11-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (SHN_UNDEF): Define.
|
||
(elf_initialize_syminfo): Add base_address argument. Ignore symbols
|
||
with st_shndx == SHN_UNDEF. Add base_address to address fields.
|
||
(elf_add): Adjust caller.
|
||
|
||
* elf.c (phdr_callback): Process info->dlpi_addr == 0 normally.
|
||
|
||
2013-11-16 Ian Lance Taylor <iant@google.com>
|
||
|
||
* backtrace.h (backtrace_create_state): Correct comment about
|
||
threading.
|
||
|
||
2013-11-15 Ian Lance Taylor <iant@google.com>
|
||
|
||
* backtrace.h (backtrace_syminfo): Update comment and parameter
|
||
name to take any address, not just a PC value.
|
||
* elf.c (STT_OBJECT): Define.
|
||
(elf_nosyms): Rename parameter pc to addr.
|
||
(elf_symbol_search): Rename local variable pc to addr.
|
||
(elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols.
|
||
(elf_syminfo): Rename parameter pc to addr.
|
||
* btest.c (global): New global variable.
|
||
(test5): New test.
|
||
(main): Call test5.
|
||
|
||
2013-10-17 Ian Lance Taylor <iant@google.com>
|
||
|
||
* elf.c (elf_add): Don't get the wrong offsets if a debug section
|
||
is missing.
|
||
|
||
2013-10-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* configure.ac: Add --enable-host-shared, setting up
|
||
pre-existing PIC_FLAG variable within Makefile.am et al.
|
||
* configure: Regenerate.
|
||
|
||
2013-09-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2013-07-23 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* elf.c (elf_syminfo): Loop over the elf_syminfo_data chain.
|
||
|
||
2013-07-23 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* elf.c (backtrace_initialize): Pass elf_fileline_fn to
|
||
dl_iterate_phdr callbacks.
|
||
|
||
2013-03-25 Ian Lance Taylor <iant@google.com>
|
||
|
||
* alloc.c: #include <sys/types.h>.
|
||
* mmap.c: Likewise.
|
||
|
||
2013-01-31 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (read_function_info): Permit fvec parameter to be NULL.
|
||
(dwarf_lookup_pc): Don't use ddata->fvec if threaded.
|
||
|
||
2013-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/56076
|
||
* dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir
|
||
attribute was not seen.
|
||
|
||
2013-01-16 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (struct unit): Add filename and abs_filename fields.
|
||
(build_address_map): Set new fields when reading unit.
|
||
(dwarf_lookup_pc): If we don't find an entry in the line table,
|
||
just return the main file name.
|
||
|
||
2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
Update copyright years.
|
||
|
||
2013-01-01 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR bootstrap/54834
|
||
* Makefile.am (AM_CPPFLAGS): Remove -I ../gcc/include and -I
|
||
$(MULTIBUILDTOP)/../../gcc/include.
|
||
* Makefile.in: Rebuild.
|
||
|
||
2013-01-01 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/55536
|
||
* mmap.c (backtrace_alloc): Don't call sync functions if not
|
||
threaded.
|
||
(backtrace_free): Likewise.
|
||
|
||
2012-12-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
* mmapio.c: Define MAP_FAILED if not defined.
|
||
|
||
2012-12-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/54926
|
||
* Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@.
|
||
* configure.ac: If --with-target-subdir, add -frandom-seed=$@
|
||
to EXTRA_FLAGS unconditionally, otherwise check whether the compiler
|
||
accepts it.
|
||
* Makefile.in: Regenerated.
|
||
* configure: Regenerated.
|
||
|
||
2012-12-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/54926
|
||
* Makefile.am (AM_CFLAGS): Add -frandom-seed=$@.
|
||
* Makefile.in: Regenerated.
|
||
|
||
2012-11-20 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (read_attribute): Always clear val.
|
||
|
||
2012-11-13 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/55312
|
||
* configure.ac: Only add -Werror if building a target library.
|
||
* configure: Rebuild.
|
||
|
||
2012-11-12 Ian Lance Taylor <iant@google.com>
|
||
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* configure.ac: Check for getexecname.
|
||
* fileline.c: #include <errno.h>. Define getexecname if not
|
||
available.
|
||
(fileline_initialize): Try to find the executable in a few
|
||
different ways.
|
||
* print.c (error_callback): Only print the filename if it came
|
||
from the backtrace state.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2012-10-29 Ian Lance Taylor <iant@google.com>
|
||
|
||
* mmap.c (backtrace_vector_release): Correct last patch: add
|
||
aligned, not size.
|
||
|
||
2012-10-29 Ian Lance Taylor <iant@google.com>
|
||
|
||
* mmap.c (backtrace_vector_release): Make sure freed block is
|
||
aligned on 8-byte boundary.
|
||
|
||
2012-10-26 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/55087
|
||
* posix.c (backtrace_open): Add does_not_exist parameter.
|
||
* elf.c (phdr_callback): Do not warn if shared library could not
|
||
be opened.
|
||
* fileline.c (fileline_initialize): Update calls to
|
||
backtrace_open.
|
||
* internal.h (backtrace_open): Update declaration.
|
||
|
||
2012-10-26 Jack Howarth <howarth@bromo.med.uc.edu>
|
||
|
||
PR target/55061
|
||
* configure.ac: Check for _Unwind_GetIPInfo function declaration.
|
||
* configure: Regenerate.
|
||
|
||
2012-10-24 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR target/55061
|
||
* configure.ac: Check whether -funwind-tables option works.
|
||
* configure: Rebuild.
|
||
|
||
2012-10-11 Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac: Do not use dl_iterate_phdr on Solaris 10.
|
||
* configure: Rebuild.
|
||
|
||
2012-10-10 Ian Lance Taylor <iant@google.com>
|
||
|
||
* elf.c: Rename all Elf typedefs to start with b_elf, and be all
|
||
lower case.
|
||
|
||
2012-10-10 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elf.c (elf_add_syminfo_data): Add casts to avoid warning.
|
||
|
||
2012-10-09 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (dwarf_fileline): Add cast to avoid warning.
|
||
(backtrace_dwarf_add): Likewise.
|
||
|
||
2012-10-09 Ian Lance Taylor <iant@google.com>
|
||
|
||
Add support for tracing through shared libraries.
|
||
* configure.ac: Check for link.h and dl_iterate_phdr.
|
||
* elf.c: #include <link.h> if system has dl_iterate_phdr. #undef
|
||
ELF macros before #defining them.
|
||
(dl_phdr_info, dl_iterate_phdr): Define if system does not have
|
||
dl_iterate_phdr.
|
||
(struct elf_syminfo_data): Add next field.
|
||
(elf_initialize_syminfo): Initialize next field.
|
||
(elf_add_syminfo_data): New static function.
|
||
(elf_add): New static function, broken out of
|
||
backtrace_initialize. Call backtrace_dwarf_add instead of
|
||
backtrace_dwarf_initialize.
|
||
(struct phdr_data): Define.
|
||
(phdr_callback): New static function.
|
||
(backtrace_initialize): Call elf_add.
|
||
* dwarf.c (struct dwarf_data): Add next and base_address fields.
|
||
(add_unit_addr): Add base_address parameter. Change all callers.
|
||
(add_unit_ranges, build_address_map): Likewise.
|
||
(add_line): Add ddata parameter. Change all callers.
|
||
(read_line_program, add_function_range): Likewise.
|
||
(dwarf_lookup_pc): New static function, broken out of
|
||
dwarf_fileline.
|
||
(dwarf_fileline): Call dwarf_lookup_pc.
|
||
(build_dwarf_data): New static function.
|
||
(backtrace_dwarf_add): New function.
|
||
(backtrace_dwarf_initialize): Remove.
|
||
* internal.h (backtrace_dwarf_initialize): Don't declare.
|
||
(backtrace_dwarf_add): Declare.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2012-10-04 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* btest.c (f23): Avoid uninitialized variable warning.
|
||
|
||
2012-10-04 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c: If the system header files do not declare strnlen,
|
||
provide our own version.
|
||
|
||
2012-10-03 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c (read_uleb128): Fix overflow test.
|
||
(read_sleb128): Likewise.
|
||
(build_address_map): Don't change unit_buf.start.
|
||
|
||
2012-10-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR other/54761
|
||
* configure.ac (EXTRA_FLAGS): New.
|
||
* Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS).
|
||
* configure, Makefile.in: Regenerate.
|
||
|
||
2012-09-29 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/54749
|
||
* fileline.c (fileline_initialize): Pass errnum as -1 when
|
||
reporting that we could not read executable information after a
|
||
previous failure.
|
||
|
||
2012-09-27 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR bootstrap/54732
|
||
* configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE.
|
||
* Makefile.am: Add dependencies for all objects.
|
||
* configure, aclocal.m4, Makefile.in: Rebuild.
|
||
|
||
2012-09-27 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR other/54726
|
||
* elf.c (backtrace_initialize): Set *fileln_fn, not
|
||
state->fileln_fn.
|
||
|
||
2012-09-19 Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled
|
||
as a target library.
|
||
* configure: Rebuild.
|
||
|
||
2012-09-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac (GCC_HEADER_STDINT): Invoke.
|
||
* backtrace.h: If we can't find <stdint.h>, use "gstdint.h".
|
||
* btest.c: Don't include <stdint.h>.
|
||
* dwarf.c: Likewise.
|
||
* configure, aclocal.m4, Makefile.in, config.h.in: Rebuild.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR bootstrap/54623
|
||
* Makefile.am (AM_CPPFLAGS): Define.
|
||
(AM_CFLAGS): Remove -I options.
|
||
* Makefile.in: Rebuild.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* posix.c (O_BINARY): Define if not defined.
|
||
(backtrace_open): Pass O_BINARY to open. Only call fcntl if
|
||
HAVE_FCNTL is defined.
|
||
* configure.ac: Test for the fcntl function.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* btest.c (test1, test2, test3, test4): Add the unused attribute.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* dwarf.c: Correct test of HAVE_DECL_STRNLEN.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
|
||
* mmapio.c: Don't define _GNU_SOURCE.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2012-09-18 Ian Lance Taylor <iant@google.com>
|
||
|
||
* configure.ac: Check whether strnlen is declared.
|
||
* dwarf.c: Declare strnlen if not declared.
|
||
* configure, config.h.in: Rebuild.
|
||
|
||
2012-09-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* fileline.c: Include <stdlib.h>.
|
||
* mmap.c: Likewise.
|
||
|
||
2012-09-17 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR bootstrap/54611
|
||
* nounwind.c (backtrace_full): Rename from backtrace. Add state
|
||
parameter.
|
||
|
||
2012-09-17 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
PR bootstrap/54611
|
||
* nounwind.c (backtrace_simple): Add state parameter.
|
||
|
||
2012-09-17 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR bootstrap/54609
|
||
* unknown.c (unknown_fileline): Add state parameter, remove
|
||
fileline_data parameter, name error_callback parameter.
|
||
(backtrace_initialize): Add state parameter.
|
||
|
||
2012-09-17 Ian Lance Taylor <iant@google.com>
|
||
|
||
* Initial implementation.
|
||
|
||
Copyright (C) 2012-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.
|