2006-04-04  Roland McGrath  <roland@redhat.com>

	* run-bug1-test.sh: Test a second case, to cover both byte orders.
	* testfile29.bz2: New file.
	* testfile29.rdwr.bz2: New file.
	* Makefile.am (EXTRA_DIST): Add them.

2006-04-04  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Add rules to run run-bug1-test.sh.
	* rdwrmmap.c: New file.
	* run-bug1-test.sh: New file.
	* testfile28.bz2: New file.
	* testfile28.rdwr.bz2: New file.

2006-03-09  Roland McGrath  <roland@redhat.com>

	* Makefile.am (AM_LDFLAGS): Define to pass -rpath-link.

2006-03-01  Roland McGrath  <roland@redhat.com>

	* show-die-info.c (tagnames, attrs): Update name tables for dwarf.h
	changes matching 3.0 spec.

2006-01-13  Roland McGrath  <roland@redhat.com>

	* run-native-test.sh: Do kill -9 and reap explicitly at end, since
	bash 3.1 whines when it's done in the trap 0 handler.

2006-01-11  Roland McGrath  <roland@redhat.com>

	* testfile26.bz2: New data file.
	* testfile27.bz2: New data file.
	* Makefile.am (EXTRA_DIST): Add them.
	* run-allregs.sh: Test s390 data.

2005-12-14  Roland McGrath  <roland@redhat.com>

	* run-native-test.sh: Redirect output from native test process.

2005-12-13  Roland McGrath  <roland@redhat.com>

	* allregs.c (main): Fail if we find no registers.

	* run-native-test.sh: New file.
	* Makefile.am (TESTS, EXTRA_DIST): Add it.

2005-12-10  Ulrich Drepper  <drepper@redhat.com

	* run-readelf-test1.sh: New file.
	* Makefile.am (TESTS): Add run-readelf-test1.sh.
	(EXTRA_DIST): Likewise.

2005-12-07  Roland McGrath  <roland@redhat.com>

	* ecp.c (main): Use elf_end to clean up.

2005-11-25  Roland McGrath  <roland@redhat.com>

	* coverage.sh: Given -v argument, print names of unused files.

	* addrscopes.c (main): Use dwfl_end before return.
	* allregs.c (main): Likewise.
	* find-prologues.c (main): Likewise.
	* funcretval.c (main): Likewise.
	* funcscopes.c (main): Likewise.
	* line2addr.c (main): Likewise.

	* run-allregs.sh: New file.
	* Makefile.am (TESTS, EXTRA_DIST): Add it.

	* allregs.c: Use libdwfl wrapper instead of direct libebl calls.
	* Makefile.am (allregs_LDADD): Updated.

	* allregs.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(allregs_LDADD): New variable.

2005-11-18  Roland McGrath  <roland@redhat.com>

	* test-subr.sh (installed_testrun): Treat /usr/lib64 like /usr/lib.
	* test-wrapper.sh: Likewise.

2005-11-17  Roland McGrath  <roland@redhat.com>

	* Makefile.am (installed_TESTS_ENVIRONMENT): Set libdir, bindir in
	environment for test-wrapper.sh.
	* test-wrapper.sh: Set LD_LIBRARY_PATH from ${libdir} if not /usr/lib.
	* test-subr.sh (installed_testrun): Likewise.
	Use explicit path in ${bindir}.

	* Makefile.am (installcheck-local): Fix typo in last change.

2005-11-16  Roland McGrath  <roland@redhat.com>

	* configure.ac: New file, for standalone build/dist of test suite.
	* Makefile.am [!STANDALONE] (INCLUDES): Don't define it.
	(asm_TESTS): New variable, broken out of ...
	(TESTS): ... here.  Also remove msg_tst.
	[!STANDALONE] (TESTS, noinst_PROGRAMS): Add in $(asm_TESTS), msg_tst.
	(installed_TESTS_ENVIRONMENT): New variable.
	[STANDALONE] (TESTS_ENVIRONMENT): Use that.
	[!STANDALONE] (installcheck-local): Likewise.
	[STANDALONE] (libdw, libelf, libasm, libebl): Define using -lfoo.
	* addrscopes.c: Include <config.h>.
	Use ELFUTILS_HEADER macro in #include of installed elfutils/ headers.
	* allfcts.c: Likewise.
	* asm-tst1.c: Likewise.
	* asm-tst2.c: Likewise.
	* asm-tst3.c: Likewise.
	* asm-tst4.c: Likewise.
	* asm-tst5.c: Likewise.
	* asm-tst6.c: Likewise.
	* asm-tst7.c: Likewise.
	* asm-tst8.c: Likewise.
	* asm-tst9.c: Likewise.
	* dwflmodtest.c: Likewise.
	* find-prologues.c: Likewise.
	* funcscopes.c: Likewise.
	* get-aranges.c: Likewise.
	* get-files.c: Likewise.
	* get-lines.c: Likewise.
	* get-pubnames.c: Likewise.
	* line2addr.c: Likewise.
	* newscn.c: Likewise.
	* show-abbrev.c: Likewise.
	* show-die-info.c: Likewise.
	* update3.c: Likewise.
	* update4.c: Likewise.
	* funcretval.c: Likewise.

	* dwflmodtest.c (print_instance): Don't use INTUSE.
	(options): Don't use N_ macro.

2005-11-15  Roland McGrath  <roland@redhat.com>

	* coverage.sh: Look in backends.
	* Makefile.am (BUILD_RPATH): Search ../backends, not ../libebl.
	(TESTS_ENVIRONMENT): Likewise.

	* funcretval.c (handle_function): Don't take DW_AT_type of FUNCDIE,
	pass FUNCDIE direclty to dwfl_module_return_value_location.

	* Makefile.am (BUILD_RPATH): New variable.
	[TESTS_RPATH] (AM_LDFLAGS): Pass -rpath option using that value.
	(tests_rpath): New variable.
	(installcheck-local): Pass it to test-wrapper.sh.
	* test-wrapper.sh: In "installed" format, take yes/no value
	for elfutils_tests_rpath, which export.  When running a test
	binary for installcheck, exit 77.
	* test-subr.sh (installed_testrun): When running a test binary
	for installcheck, exit 77 if $elfutils_tests_rpath = yes.

2005-11-14  Roland McGrath  <roland@redhat.com>

	* test-subr.sh: New file.
	* test-wrapper.sh: New file.
	* Makefile.am (EXTRA_DIST): Add them.
	(AM_LDFLAGS): Variable removed.
	(TESTS_ENVIRONMENT): New variable.
	(installcheck-local): New target.
	* run-addrscopes.sh: Use test-subr.sh.
	* run-allfcts.sh: Likewise.
	* run-ecp-test.sh: Likewise.
	* run-ecp-test2.sh: Likewise.
	* run-elflint-self.sh: Likewise.
	* run-elflint-test.sh: Likewise.
	* run-find-prologues.sh: Likewise.
	* run-funcscopes.sh: Likewise.
	* run-get-aranges.sh: Likewise.
	* run-get-files.sh: Likewise.
	* run-get-lines.sh: Likewise.
	* run-get-pubnames.sh: Likewise.
	* run-line2addr.sh: Likewise.
	* run-ranlib-test.sh: Likewise.
	* run-ranlib-test2.sh: Likewise.
	* run-show-abbrev.sh: Likewise.
	* run-show-ciefde.sh: Likewise.
	* run-show-die-info.sh: Likewise.
	* run-strings-test.sh: Likewise.
	* run-strip-test.sh: Likewise.

2005-11-13  Roland McGrath  <roland@redhat.com>

	* funcretval.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(funcretval_LDADD): New variable.

2005-11-09  Ulrich Drepper  <drepper@redhat.com>

	* line2addr.c (handle_module): Add missing parameter to printf.

2005-10-27  Roland McGrath  <roland@redhat.com>

	* allfcts.c (cb): Update for dwarf_func_* -> dwarf_decl_* changes.
	* funcscopes.c (handle_function): Likewise.
	* dwflmodtest.c (print_inline, print_func): Likewise.
	* find-prologues.c (handle_function): Likewise.

2005-10-27  Roland McGrath  <roland@redhat.com>

	* run-find-prologues.sh: New file.
	* Makefile.am (TESTS, EXTRA_DIST): Add it.

	* find-prologues.c (handle_function): Skip inlines.

2005-10-25  Roland McGrath  <roland@redhat.com>

	* find-prologues.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(find_prologues_LDADD): New variable.

2005-09-02  Ulrich Drepper  <drepper@redhat.com>

	* run-strings-test.sh: Remove strings.out in the end.

2005-08-31  Ulrich Drepper  <drepper@redhat.com>

	* run-addrscopes.sh: Use correct exit code if test cannot be performed.
	* run-allfcts.sh: Likewise.
	* run-ecp-test.sh: Likewise.
	* run-ecp-test2.sh: Likewise.
	* run-elflint-test.sh: Likewise.
	* run-funcscopes.sh: Likewise.
	* run-get-aranges.sh: Likewise.
	* run-get-files.sh: Likewise.
	* run-get-lines.sh: Likewise.
	* run-get-pubnames.sh: Likewise.
	* run-line2addr.sh: Likewise.
	* run-ranlib-test2.sh: Likewise.
	* run-show-abbrev.sh: Likewise.
	* run-show-ciefde.sh: Likewise.
	* run-show-die-info.sh: Likewise.
	* run-strings-test.sh: Likewise.
	* run-strip-test.sh: Likewise.

2005-08-30  Ulrich Drepper  <drepper@redhat.com>

	* coverage.sh: Handle case where there is no .gcno file at all.

2005-08-29  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (EXTRA_DIST): Add coverage.
	[GCOV]: Generate coverage summary after the tests ran
	* coverage.sh: New file.

2005-08-28  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
	(CLEANFILES): Add *.gcno *.gcda *.gconv.

2005-08-28  Ulrich Drepper  <drepper@redhat.com>

	* run-strings-test.sh: New file.
	* Makefile.am (TESTS, EXTRA_DIST): Add it.

2005-08-27  Roland McGrath  <roland@redhat.com>

	* addrscopes.c (handle_address): Apply bias to PC addresses.

	* run-funcscopes.sh: New file.
	* testfile25.bz2: New data file.
	* Makefile.am (TESTS, EXTRA_DIST): Add them.

2005-08-26  Roland McGrath  <roland@redhat.com>

	* addrscopes.c (dwarf_diename_integrate): Removed.
	(print_vars, handle_address): Use plain dwarf_diename.

2005-08-25  Roland McGrath  <roland@redhat.com>

	* funcscopes.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(funcscopes_LDADD): New variable.

	* run-addrscopes.sh: Add another case.
	* testfile24.bz2: New data file.
	* Makefile.am (EXTRA_DIST): Add it.

	* addrscopes.c (handle_address): Take new argument IGNORE_INLINES,
	pass it to dwarf_getscopes.
	(main): Pass it, true when '=' follows an address.

2005-08-24  Roland McGrath  <roland@redhat.com>

	* line2addr.c (print_address): Omit () for DSOs.

2005-08-24  Ulrich Drepper  <drepper@redhat.com>

	* run-line2addr.sh: Remove testfile23 in the end.

	* Makefile.am [BUILD_STATIC] (libdw): Add $(libelf) and $(libebl).
	[MUDFLAP] (AM_LDFLAGS): Define to find libebl modules.

2005-08-22  Roland McGrath  <roland@redhat.com>

	* run-line2addr.sh: Add a case.
	* testfile23.bz2: New data file.
	* Makefile.am (EXTRA_DIST): Add it.

2005-08-18  Roland McGrath  <roland@redhat.com>

	* run-addrscopes.sh: New file.
	* testfile22.bz2: New data file.
	* Makefile.am (TESTS, EXTRA_DIST): Add them.

	* addrscopes.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(addrscopes_LDADD): New variable.

2005-08-15  Ulrich Drepper  <drepper@redhat.com>

	* run-elflint-self.sh: Don't run test if the file doesn't exist.

2005-08-15  Roland McGrath  <roland@redhat.com>

	* dwflmodtest.c (print_instance, print_inline): New functions.
	(print_func): Call print_inline.
	(options, parse_opt): Grok -i/--inlines.

2005-08-07  Roland McGrath  <roland@redhat.com>

	* dwflmodtest.c: Print function details only if -f flag is given.

2005-08-06  Ulrich Drepper  <drepper@redhat.com>

	* run-elflint-self.sh: New file.
	* Makefile.am (TESTS): Add run-elflint-self.sh.
	(EXTRA_DIST): Likewise.

	* Makefile.am: Link with statis libs if BUILD_STATIC.
	(dwflmodtest_LDADD): Also link with -ldl.

2005-08-02  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Add -ldl to asm_tst[1-9]_LDASS.
	* asm-tst1.c: Adjust for new asm_begin interface.  Open backend
	library first.
	* asm-tst2.c: Likewise.
	* asm-tst3.c: Likewise.
	* asm-tst4.c: Likewise.
	* asm-tst5.c: Likewise.
	* asm-tst6.c: Likewise.
	* asm-tst7.c: Likewise.
	* asm-tst8.c: Likewise.
	* asm-tst9.c: Likewise.

	* msg_tst.c: Add new error message.

2005-07-28  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (dwflmodtest_LDADD): Add $(libebl).

2005-06-01  Roland McGrath  <roland@redhat.com>

	* line2addr.c: Rewritten using libdwfl.
	* run-line2addr.sh: Update test for changed arguments.
	* Makefile.am (INCLUDES): Add libdwfl source directory to path.
	(libdwfl): New variable.
	(line2addr_LDADD): Use it.

2005-07-28  Roland McGrath  <roland@redhat.com>

	* dwflmodtest.c: New file, moved from ../libdwfl/ptest.c to here.
	* Makefile.am (noinst_PROGRAMS): Add dwflmodtest.
	(dwflmodtest_LDADD): New variable.
	(INCLUDES): Add -I$(top_srcdir)/libdwfl here.

2005-07-21  Ulrich Drepper  <drepper@redhat.com>

	* testfile18.bz2: New file.
	* run-elflint-test.sh: New file.
	* Makefile.am (TESTS): Add run-elflint-test.sh.
	(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.

2005-05-24  Ulrich Drepper  <drepper@redhat.com>

	* get-files.c (main): Use correct format specifier.

2005-05-21  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Add -Wextra to CFLAGS.
	* get-files.c: Remove warning this produced.
	* get-pubnames.c: Likewise.
	* newfile.c: Likewise.
	* newscn.c: Likewise.
	* scnnames.c: Likewise.
	* showptable.c: Likewise.
	* test-nlist.c: Likewise.
	* update1.c: Likewise.
	* update2.c: Likewise.
	* update3.c: Likewise.
	* update4.c: Likewise.

2005-05-08  Ulrich Drepper  <drepper@redhat.com>

	* run-line2addr.sh: Remove testfile14 at the end.

	* run-strip-test.sh: Remove debuginfo test input file as well.

	* Makefile.am (EXTRA_DIST): Newly added files incorrectly used
	.bz, not .bz2.

2005-05-03  Roland McGrath  <roland@redhat.com>

	* run-strip-test.sh: Use variables for test file names.
	Optionally produce separate debug file and check it.
	* run-strip-test2.sh: Use run-strip-test.sh via ., no duplication.
	* run-strip-test3.sh: Likewise.
	* run-strip-test4.sh: New file.
	* run-strip-test5.sh: New file.
	* run-strip-test6.sh: New file.
	* testfile15.bz: New file.
	* testfile15.debug.bz: New file.
	* testfile16.bz: New file.
	* testfile16.debug.bz: New file.
	* testfile17.bz: New file.
	* testfile17.debug.bz: New file.
	* Makefile.am (TESTS, EXTRA_DIST): Add them.

2005-04-25  Ulrich Drepper  <drepper@redhat.com>

	* run-line2addr.sh: Also use testfile14.  Adjust for correct
	return of multiple matches.
	* testfile14.bz2: New file.
	* Makefile.am (EXTRA_DIST): Add testfile14.bz2.

	* show-abbrev.c (main): Adjust for dwarf_getabbrev interface change.

2005-04-04  Roland McGrath  <roland@frob.com>

	* line2addr.c (main): Initialize LINES and NLINES before calling
	dwarf_getsrc_file, and free LINES afterwards.

	* allfcts.c (main): Use size_t for CUHL.

2005-04-04  Ulrich Drepper  <drepper@redhat.com>

	* line2addr.c: New file.
	* run-line2addr.sh: New file.
	* Makefile.am: Add rules to build, run, and distribute new code.

2005-04-02  Ulrich Drepper  <drepper@redhat.com>

	* allfcts.c: New file.
	* run-allfcts.sh: New file.
	* Makefile.am: Add rules to build, run, and distribute new code.

2005-02-05  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.  Link all test
	programs with -lmudflap.

2004-09-25  Ulrich Drepper  <drepper@redhat.com>

	* asm-tst4.c (main): Add LD_LIBRARY_PATH to elflint invocation.
	* asm-tst5.c (main): Likewise.
	* asm-tst6.c (main): Likewise.

2004-01-17  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Support building with mudflap.

2004-01-12  Ulrich Drepper  <drepper@redhat.com>

	* get-aranges.c: Rewrite to use libdw.
	* Makefile.am: Reenable get-aranges test.

2004-01-11  Ulrich Drepper  <drepper@redhat.com>

	* get-lines.c: New file.
	* get-files.c: Adjust for libdw.
	* run-get-files.sh: Adjust expected result.
	* run-get-lines.sh: Likewise.
	* Makefile.am: Run get-lines test.  Don't run get-aranges and
	get-ciefde test for now.

	* show-abbrev.c: Adjust call to dwarf_getabbrevattr after interface
	change.  Print attribute offset information.
	* run-show-abbrev.sh: Adjust expected output.

2004-01-09  Ulrich Drepper  <drepper@redhat.com>

	* show-abbrev.c: Adjust call to dwarf_nextcu after interface change.
	* show-die-info.c: Likewise.
	* run-show-die-info.sh: Adjust expected output.

2003-08-13  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.in: Depend on libebl.a, not libebl.so.

2003-08-11  Ulrich Drepper  <drepper@redhat.com>

	* Moved to CVS archive.
