summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ChangeLog872
-rw-r--r--tests/Makefile794
-rw-r--r--tests/Makefile.am262
-rw-r--r--tests/Makefile.in739
-rw-r--r--tests/addrscopes.c203
-rw-r--r--tests/allfcts.c78
-rw-r--r--tests/allregs.c229
-rw-r--r--tests/arextract.c30
-rw-r--r--tests/arls.c91
-rw-r--r--tests/arsymtest.c30
-rw-r--r--tests/asm-tst1.c47
-rw-r--r--tests/asm-tst2.c47
-rw-r--r--tests/asm-tst3.c47
-rw-r--r--tests/asm-tst4.c47
-rw-r--r--tests/asm-tst5.c47
-rw-r--r--tests/asm-tst6.c47
-rw-r--r--tests/asm-tst7.c47
-rw-r--r--tests/asm-tst8.c47
-rw-r--r--tests/asm-tst9.c47
-rwxr-xr-xtests/coverage.sh40
-rw-r--r--tests/dwfl-addr-sect.c88
-rw-r--r--tests/dwfl-bug-addr-overflow.c81
-rw-r--r--tests/dwfl-bug-fd-leak.c110
-rw-r--r--tests/dwfl-bug-getmodules.c74
-rw-r--r--tests/dwfl-bug-report.c56
-rw-r--r--tests/dwflmodtest.c295
-rw-r--r--tests/early-offscn.c60
-rw-r--r--tests/ecp.c33
-rw-r--r--tests/find-prologues.c116
-rw-r--r--tests/funcretval.c114
-rw-r--r--tests/funcscopes.c202
-rw-r--r--tests/get-aranges.c34
-rw-r--r--tests/get-files.c56
-rw-r--r--tests/get-lines.c34
-rw-r--r--tests/get-pubnames.c38
-rw-r--r--tests/hash.c30
-rw-r--r--tests/line2addr.c156
-rw-r--r--tests/msg_tst.c37
-rw-r--r--tests/newfile.c32
-rw-r--r--tests/newscn.c36
-rw-r--r--tests/rdwrmmap.c29
-rwxr-xr-xtests/run-addrname-test.sh222
-rwxr-xr-xtests/run-addrscopes.sh51
-rwxr-xr-xtests/run-allfcts.sh48
-rwxr-xr-xtests/run-allregs.sh2595
-rw-r--r--tests/run-arextract.sh40
-rw-r--r--tests/run-arsymtest.sh40
-rwxr-xr-xtests/run-bug1-test.sh42
-rwxr-xr-xtests/run-disasm-x86-64.sh36
-rwxr-xr-xtests/run-disasm-x86.sh36
-rwxr-xr-xtests/run-dwfl-addr-sect.sh36
-rwxr-xr-xtests/run-dwfl-bug-offline-rel.sh36
-rwxr-xr-xtests/run-early-offscn.sh32
-rw-r--r--tests/run-ecp-test.sh41
-rw-r--r--tests/run-ecp-test2.sh39
-rwxr-xr-xtests/run-elflint-self.sh62
-rwxr-xr-xtests/run-elflint-test.sh47
-rwxr-xr-xtests/run-find-prologues.sh93
-rwxr-xr-xtests/run-funcscopes.sh37
-rw-r--r--tests/run-get-aranges.sh43
-rw-r--r--tests/run-get-files.sh49
-rw-r--r--tests/run-get-lines.sh43
-rw-r--r--tests/run-get-pubnames.sh43
-rwxr-xr-xtests/run-line2addr.sh57
-rwxr-xr-xtests/run-native-test.sh89
-rwxr-xr-xtests/run-ranlib-test.sh46
-rwxr-xr-xtests/run-ranlib-test2.sh45
-rwxr-xr-xtests/run-ranlib-test3.sh30
-rwxr-xr-xtests/run-ranlib-test4.sh31
-rwxr-xr-xtests/run-readelf-test1.sh53
-rwxr-xr-xtests/run-readelf-test2.sh36
-rwxr-xr-xtests/run-readelf-test3.sh39
-rwxr-xr-xtests/run-readelf-test4.sh41
-rw-r--r--tests/run-show-abbrev.sh43
-rw-r--r--tests/run-show-ciefde.sh43
-rw-r--r--tests/run-show-die-info.sh43
-rwxr-xr-xtests/run-strings-test.sh478
-rw-r--r--tests/run-strip-test.sh73
-rw-r--r--tests/run-strip-test2.sh51
-rw-r--r--tests/run-strip-test3.sh51
-rwxr-xr-xtests/run-strip-test4.sh5
-rwxr-xr-xtests/run-strip-test5.sh5
-rwxr-xr-xtests/run-strip-test6.sh5
-rwxr-xr-xtests/run-strip-test7.sh5
-rwxr-xr-xtests/run-strip-test8.sh5
-rwxr-xr-xtests/run-unstrip-test.sh42
-rwxr-xr-xtests/run-unstrip-test2.sh5
-rw-r--r--tests/saridx.c28
-rw-r--r--tests/scnnames.c36
-rw-r--r--tests/sectiondump.c30
-rw-r--r--tests/sha1-tst.c79
-rw-r--r--tests/show-abbrev.c34
-rw-r--r--tests/show-die-info.c82
-rw-r--r--tests/showptable.c36
-rw-r--r--tests/test-nlist.c32
-rw-r--r--tests/test-subr.sh112
-rwxr-xr-xtests/test-wrapper.sh68
-rw-r--r--tests/testfile14.bz2bin0 -> 2903 bytes
-rw-r--r--tests/testfile15.bz2bin0 -> 3132 bytes
-rw-r--r--tests/testfile15.debug.bz2bin0 -> 28499 bytes
-rw-r--r--tests/testfile16.bz2bin0 -> 8413 bytes
-rw-r--r--tests/testfile16.debug.bz2bin0 -> 24257 bytes
-rw-r--r--tests/testfile17.bz2bin0 -> 1660 bytes
-rw-r--r--tests/testfile17.debug.bz2bin0 -> 9134 bytes
-rw-r--r--tests/testfile18.bz2bin0 -> 1721 bytes
-rw-r--r--tests/testfile19.bz2bin0 -> 458 bytes
-rw-r--r--tests/testfile19.index.bz2bin0 -> 501 bytes
-rw-r--r--tests/testfile20.bz2bin0 -> 502 bytes
-rw-r--r--tests/testfile20.index.bz2bin0 -> 523 bytes
-rw-r--r--tests/testfile21.bz2bin0 -> 127 bytes
-rw-r--r--tests/testfile21.index.bz2bin0 -> 100 bytes
-rw-r--r--tests/testfile22.bz2bin0 -> 2555 bytes
-rw-r--r--tests/testfile23.bz2bin0 -> 956 bytes
-rw-r--r--tests/testfile24.bz2bin0 -> 2644 bytes
-rw-r--r--tests/testfile25.bz2bin0 -> 2575 bytes
-rw-r--r--tests/testfile26.bz2bin0 -> 2331 bytes
-rw-r--r--tests/testfile27.bz2bin0 -> 2371 bytes
-rw-r--r--tests/testfile28.bz2bin0 -> 171 bytes
-rw-r--r--tests/testfile28.rdwr.bz2bin0 -> 172 bytes
-rw-r--r--tests/testfile29.bz2bin0 -> 164 bytes
-rw-r--r--tests/testfile29.rdwr.bz2bin0 -> 164 bytes
-rw-r--r--tests/testfile30.bz2bin0 -> 753 bytes
-rw-r--r--tests/testfile31.bz2bin0 -> 769 bytes
-rw-r--r--tests/testfile32.bz2bin0 -> 5778 bytes
-rw-r--r--tests/testfile33.bz2bin0 -> 35075 bytes
-rw-r--r--tests/testfile34.bz2bin0 -> 315 bytes
-rw-r--r--tests/testfile35.bz2bin0 -> 1643 bytes
-rw-r--r--tests/testfile35.debug.bz2bin0 -> 9106 bytes
-rw-r--r--tests/testfile36.bz2bin0 -> 714 bytes
-rw-r--r--tests/testfile36.debug.bz2bin0 -> 24909 bytes
-rw-r--r--tests/testfile37.bz2bin0 -> 3140 bytes
-rw-r--r--tests/testfile37.debug.bz2bin0 -> 28522 bytes
-rw-r--r--tests/testfile38.bz2bin0 -> 457 bytes
-rw-r--r--tests/testfile39.bz2bin0 -> 2992 bytes
-rw-r--r--tests/testfile40.bz2bin0 -> 2302 bytes
-rw-r--r--tests/testfile40.debug.bz2bin0 -> 1398 bytes
-rw-r--r--tests/testfile41.bz2bin0 -> 295 bytes
-rw-r--r--tests/testfile42.bz2bin0 -> 16201 bytes
-rw-r--r--tests/testfile43.bz2bin0 -> 739 bytes
-rw-r--r--tests/testfile44.S.bz2bin0 -> 17113 bytes
-rw-r--r--tests/testfile44.expect.bz2bin0 -> 56405 bytes
-rw-r--r--tests/testfile45.S.bz2bin0 -> 23547 bytes
-rw-r--r--tests/testfile45.expect.bz2bin0 -> 77778 bytes
-rw-r--r--tests/testfile46.bz2bin0 -> 322 bytes
-rw-r--r--tests/testfile47.bz2bin0 -> 793 bytes
-rw-r--r--tests/testfile48.bz2bin0 -> 408 bytes
-rw-r--r--tests/testfile48.debug.bz2bin0 -> 758 bytes
-rw-r--r--tests/testfile49.bz2bin0 -> 337 bytes
-rw-r--r--tests/update1.c32
-rw-r--r--tests/update2.c32
-rw-r--r--tests/update3.c34
-rw-r--r--tests/update4.c34
152 files changed, 9538 insertions, 1665 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 05e36331..958255a8 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,875 @@
+2008-12-31 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: Add tests for blendvpd and blendvps.
+ * testfile45.S.bz2: Likewise.
+ * testfile44.expect.bz2: Adjust accordingly.
+ * testfile45.expect.bz2: Likewise.
+
+2008-12-30 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: Add tests for blendpd and blendps.
+ * testfile45.S.bz2: Likewise.
+ * testfile44.expect.bz2: Adjust accordingly.
+ * testfile45.expect.bz2: Likewise.
+
+2008-12-19 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: Add tests for AMD 3DNOW.
+ * testfile45.S.bz2: Likewise.
+ * testfile44.expect.bz2: Adjust accordingly.
+ * testfile45.expect.bz2: Likewise.
+
+2008-11-26 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-getmodules.c: New file.
+ * Makefile.am (noinst_PROGRAMS): Add it.
+ (dwfl_bug_getmodules_LDADD): New variable.
+
+2008-09-10 Roland McGrath <roland@redhat.com>
+
+ * test-subr.sh (LC_ALL): Export it set to "C".
+ * run-dwfl-addr-sect.sh: Don't do it here.
+ * run-strings-test.sh: Likewise.
+
+2008-08-21 Denys Vlasenko <dvlasenk@redhat.com>
+
+ * run-addrname-test.sh: Add a new case.
+ * testfile49.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+2008-04-10 Roland McGrath <roland@redhat.com>
+
+ * testfile48.bz2, testfile48.bz2.debug: New data files.
+ * Makefile.am (EXTRA_DIST): Add them.
+ * run-strip-test8.sh: Use them.
+
+ * testfile16.bz2, testfile16.debug.bz2: Replace data files.
+
+ * run-strip-test.sh: Fail if stripped output has ".debug_*" sections.
+ * run-strip-test8.sh: New file.
+ * testfile47.bz2: New data file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2008-03-31 Roland McGrath <roland@redhat.com>
+
+ * run-early-offscn.sh: New file.
+ * early-offscn.c: New file.
+ * Makefile.am (noinst_PROGRAMS, TESTS, EXTRA_DIST): Add them.
+ (early_offscn_LDADD): New variable.
+
+2008-03-19 Roland McGrath <roland@redhat.com>
+
+ * run-addrname-test.sh: Add a new case.
+
+2008-02-22 Roland McGrath <roland@redhat.com>
+
+ * run-elflint-test.sh: Typo fix.
+
+2008-02-21 Roland McGrath <roland@redhat.com>
+
+ * run-disasm-x86.sh: Use uname instead of arch, keep tools required
+ for the build down to minimum.
+ * run-disasm-x86-64.sh: Likewise.
+
+2008-02-20 Roland McGrath <roland@redhat.com>
+
+ * testfile46.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * run-elflint-test.sh: Test on it.
+
+2008-02-01 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am: Hook up sha1-tst.c.
+ * sha1-tst.c: New file.
+
+2008-01-21 Roland McGrath <roland@redhat.com>
+
+ * testfile45.S.bz2: Add tests for cltq, cqto.
+ * testfile45.expect.bz2: Adjust.
+
+2008-01-14 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile45.S.bz2: Add more tests.
+ * testfile45.expect.bz2: Adjust.
+
+2008-01-11 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile45.expect.bz2: Adjust for adding of address for %rip based
+ address mode.
+
+2008-01-10 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile45.S.bz2: Add more tests.
+ * testfile45.expect.bz2: Adjust.
+
+2008-01-08 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am (TESTS): Add run-disasm-x86-64.sh.
+ (EXTRA): Add testfile45.S.bz2, testfile45.expect.bz2,
+ run-disasm-x86-64.sh.
+ * run-disasm-x86-64.sh: New file.
+ * testfile45.S.bz2: New file.
+ * testfile45.expect.bz2: New file.
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2008-01-04 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2008-01-04 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-fd-leak.c (main): Add a cast.
+
+2008-01-03 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2008-01-01 Ulrich Drepper <drepper@redhat.com>
+
+ * line2addr.c: Use %m modifier instead of %a to appease gcc.
+
+2008-01-01 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-31 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-30 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-29 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.s.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-28 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-27 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust.
+
+2007-12-26 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: New tests.
+ * testfile44.expect.bz2: Adjust
+
+2007-12-21 Ulrich Drepper <drepper@redhat.com>
+
+ * testfile44.S.bz2: More tests.
+ * testfile44.expect.bz2: Adjust appropriately.
+
+2007-12-19 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am (TESTS): Add run-disasm.sh.
+ (EXTRA_DIST): Add run-disasm.sh, testfile44.S.bz2, and
+ testfile44.expect.bz2.
+ * run-disasm.sh: New file.
+ * testfile44.S.bz2: New file.
+ * testfile44.expect.bz2: New file.
+
+2007-12-15 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Change expected output for powerpc spefscr.
+
+2007-10-20 Roland McGrath <roland@redhat.com>
+
+ * run-dwfl-addr-sect.sh: Change expected output, no errors.
+
+2007-10-19 Roland McGrath <roland@redhat.com>
+
+ * dwfl-addr-sect.c (handle_address): Return int.
+ Don't exit on error, just return nonzero.
+ (main): Collect results.
+ * run-dwfl-addr-sect.sh: New file.
+ * testfile43.bz2: New data file.
+ * Makefile.am (EXTRA_DIST, TESTS): Add them.
+
+2007-10-18 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Update expected ppc output for vrsave/vscr.
+
+2007-10-16 Roland McGrath <roland@redhat.com>
+
+ * test-subr.sh (remove_files): Don't pass -Bb to diff.
+
+2007-10-09 Roland McGrath <roland@redhat.com>
+
+ * dwflmodtest.c (print_module): Don't use %p in output.
+ * run-dwfl-bug-offline-rel.sh: Updated expected output.
+
+2007-10-08 Roland McGrath <roland@redhat.com>
+
+ * testfile42.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * run-elflint-test.sh: New test on that file.
+
+2007-10-04 Roland McGrath <roland@redhat.com>
+
+ * run-readelf-test4.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add it.
+
+2007-10-03 Roland McGrath <roland@redhat.com>
+
+ * run-readelf-test3.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add it.
+
+2007-10-01 Roland McGrath <roland@redhat.com>
+
+ * run-readelf-test2.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add it.
+
+2007-09-11 Roland McGrath <roland@redhat.com>
+
+ * run-addrname-test.sh: Add a new case.
+ * testfile41.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+2007-08-23 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Update expected x86-64 output for %rflags.
+
+2007-08-12 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test7.sh: New file.
+ * testfile39.bz2: New data file.
+ * testfile40.bz2: New data file.
+ * testfile40.debug.bz2: New data file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2007-08-09 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-report.c: Fix header inclusion.
+
+2007-08-08 Roland McGrath <roland@redhat.com>
+
+ * run-addrname-test.sh: Add a new case using addr2line -S.
+ * testfile38.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+2007-07-16 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-report.c: New file.
+ * Makefile.am (noinst_PROGRAMS, TESTS): Add it.
+ (dwfl_bug_report_LDADD): New variable.
+
+2007-06-06 Roland McGrath <roland@redhat.com>
+
+ * run-unstrip-test.sh: Declare testfile.unstrip for removal.
+
+2007-06-05 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am (EXTRA_DIST): Add missing line continuation and
+ testfile37.bz and testfile37.debug.bz2.
+
+2007-05-23 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Update expected Alpha results.
+
+2007-05-18 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test4.sh (stripped, debugfile): Use new reference files.
+ * testfile37.bz2: New data file.
+ * testfile37.debug.bz2: New data file.
+ * run-unstrip-test2.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2007-05-10 Roland McGrath <roland@redhat.com>
+
+ * run-dwfl-bug-offline-rel.sh: New file.
+ * testfile36.bz2: New data file.
+ * testfile36.debug.bz2: New data file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+2007-04-28 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test6.sh (stripped, debugfile): Use new reference files.
+ * testfile35.bz2: New data file.
+ * testfile35.debug.bz2: New data file.
+ * run-unstrip-test.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add them.
+
+ * run-strip-test.sh: Do all elflint and cmp runs even when some fail.
+
+2007-04-26 Roland McGrath <roland@redhat.com>
+
+ * run-elflint-self.sh: Run all tests even if one fails.
+
+ * run-allregs.sh: Add expected output for alpha.
+
+2007-04-24 Roland McGrath <roland@redhat.com>
+
+ * run-strip-test.sh: When we saved the debug info, test unstrip too.
+
+2007-04-22 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Update expected register info.
+
+2007-04-16 Roland McGrath <roland@redhat.com>
+
+ * dwfl-addr-sect.c: New file.
+ * Makefile.am (noinst_PROGRAMS): Add it.
+ (dwfl_addr_sect_LDADD): New variable.
+
+2007-04-05 Roland McGrath <roland@redhat.com>
+
+ * get-files.c: Test dwarf_getsrcdirs.
+ * run-get-files.sh: Update expected output.
+
+2007-04-01 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Updated expected output for x86_64.
+
+2007-03-04 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-fd-leak.c: New file.
+ * Makefile.am (noinst_PROGRAMS, TESTS): Add it.
+ (dwfl_bug_fd_leak_LDADD): New variable.
+
+ * dwflmodtest.c: Test dwfl_getmodules before and after getdwarf,
+ show what files have been located.
+
+2007-02-02 Roland McGrath <roland@redhat.com>
+
+ * run-addrname-test.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST): Add it.
+ * testfile34.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
+2007-01-20 Roland McGrath <roland@redhat.com>
+
+ * testfile33.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * run-elflint-test.sh: Test on it too.
+
+2007-01-18 Roland McGrath <roland@redhat.com>
+
+ * Makefile.am (CFLAGS): Don't molest it.
+
+2007-01-11 Roland McGrath <roland@redhat.com>
+
+ * testfile32.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * run-elflint-test.sh: Test on it too.
+
+2007-02-04 Ulrich Drepper <drepper@redhat.com>
+
+ * arls.c: New file.
+ * Makefile (noinst_PROGRAMS): Add arls.
+
+ * run-ranlib-test2.sh: Fix type in comment.
+
+2007-01-10 Ulrich Drepper <drepper@redhat.com>
+
+ * run-elflint-self.sh (runtest): Show which file has the problem.
+
+2007-01-10 Roland McGrath <roland@redhat.com>
+
+ * dwfl-bug-addr-overflow.c: New file.
+ * Makefile.am (TESTS): Add it.
+ (dwfl_bug_addr_overflow_LDADD): New variable.
+
+2006-12-17 Roland McGrath <roland@redhat.com>
+
+ * msg_tst.c (libelf_msgs): Fix ELF_E_INVALID_PHDR msg.
+
+2006-09-05 Roland McGrath <roland@redhat.com>
+
+ * run-strings-test.sh: Export LC_ALL=C for the test.
+
+2006-08-29 Roland McGrath <roland@redhat.com>
+
+ * run-arextract.sh: Use testrun, tempfiles functions from test-subr.sh.
+ * run-arsymtest.sh: Likewise.
+
+ * run-native-test.sh (native.c compilation): Add some braces.
+
+2006-08-22 Roland McGrath <roland@redhat.com>
+
+ * allregs.c (dwarf_encoding_string): New function, swiped from readelf.
+ (struct reginfo): New members bits, type.
+ (one_register, match_register): Update to take new args,
+ record and display new info.
+ (main): Display new info.
+ * run-allregs.sh: Update expected results.
+
+2006-08-03 Roland McGrath <roland@redhat.com>
+
+ * run-allregs.sh: Add sparc cases.
+ * testfile30.bz2: New data file.
+ * testfile31.bz2: New data file.
+ * Makefile.am (EXTRA_DIST): Add them.
+
+2006-07-21 Roland McGrath <roland@redhat.com>
+
+ * allregs.c (struct reginfo): Increase size of name.
+ (one_register): Assert that it's big enough.
+
+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@redhat.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.
diff --git a/tests/Makefile b/tests/Makefile
deleted file mode 100644
index 14b0e335..00000000
--- a/tests/Makefile
+++ /dev/null
@@ -1,794 +0,0 @@
-# Makefile.in generated by automake 1.9.2 from Makefile.am.
-# tests/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c ecp.c get-aranges.c get-files.c get-lines.c get-pubnames.c hash.c msg_tst.c newfile.c newscn.c saridx.c scnnames.c sectiondump.c show-abbrev.c show-die-info.c showptable.c test-nlist.c update1.c update2.c update3.c update4.c
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/elfutils
-pkglibdir = $(libdir)/elfutils
-pkgincludedir = $(includedir)/elfutils
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
- newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
- sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
- update2$(EXEEXT) update3$(EXEEXT) update4$(EXEEXT) \
- test-nlist$(EXEEXT) show-die-info$(EXEEXT) get-files$(EXEEXT) \
- get-lines$(EXEEXT) get-pubnames$(EXEEXT) get-aranges$(EXEEXT) \
- show-abbrev$(EXEEXT) hash$(EXEEXT) asm-tst1$(EXEEXT) \
- asm-tst2$(EXEEXT) asm-tst3$(EXEEXT) asm-tst4$(EXEEXT) \
- asm-tst5$(EXEEXT) asm-tst6$(EXEEXT) asm-tst7$(EXEEXT) \
- asm-tst8$(EXEEXT) asm-tst9$(EXEEXT) msg_tst$(EXEEXT) \
- newscn$(EXEEXT) ecp$(EXEEXT)
-subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-arextract_SOURCES = arextract.c
-arextract_OBJECTS = arextract.$(OBJEXT)
-am__DEPENDENCIES_1 = ../libelf/libelf.so
-#am__DEPENDENCIES_1 = ../libelf/libelf.a
-arextract_DEPENDENCIES = $(am__DEPENDENCIES_1)
-arsymtest_SOURCES = arsymtest.c
-arsymtest_OBJECTS = arsymtest.$(OBJEXT)
-arsymtest_DEPENDENCIES = $(am__DEPENDENCIES_1)
-asm_tst1_SOURCES = asm-tst1.c
-asm_tst1_OBJECTS = asm-tst1.$(OBJEXT)
-am__DEPENDENCIES_2 = ../libasm/libasm.so
-#am__DEPENDENCIES_2 = ../libasm/libasm.a
-am__DEPENDENCIES_3 = ../libebl/libebl.a
-asm_tst1_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst2_SOURCES = asm-tst2.c
-asm_tst2_OBJECTS = asm-tst2.$(OBJEXT)
-asm_tst2_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst3_SOURCES = asm-tst3.c
-asm_tst3_OBJECTS = asm-tst3.$(OBJEXT)
-asm_tst3_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst4_SOURCES = asm-tst4.c
-asm_tst4_OBJECTS = asm-tst4.$(OBJEXT)
-asm_tst4_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst5_SOURCES = asm-tst5.c
-asm_tst5_OBJECTS = asm-tst5.$(OBJEXT)
-asm_tst5_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst6_SOURCES = asm-tst6.c
-asm_tst6_OBJECTS = asm-tst6.$(OBJEXT)
-asm_tst6_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst7_SOURCES = asm-tst7.c
-asm_tst7_OBJECTS = asm-tst7.$(OBJEXT)
-asm_tst7_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst8_SOURCES = asm-tst8.c
-asm_tst8_OBJECTS = asm-tst8.$(OBJEXT)
-asm_tst8_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-asm_tst9_SOURCES = asm-tst9.c
-asm_tst9_OBJECTS = asm-tst9.$(OBJEXT)
-asm_tst9_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
-ecp_SOURCES = ecp.c
-ecp_OBJECTS = ecp.$(OBJEXT)
-ecp_DEPENDENCIES = $(am__DEPENDENCIES_1)
-get_aranges_SOURCES = get-aranges.c
-get_aranges_OBJECTS = get-aranges.$(OBJEXT)
-am__DEPENDENCIES_4 = ../libdw/libdw.so
-#am__DEPENDENCIES_4 = ../libdw/libdw.a
-get_aranges_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
-get_files_SOURCES = get-files.c
-get_files_OBJECTS = get-files.$(OBJEXT)
-get_files_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
-get_lines_SOURCES = get-lines.c
-get_lines_OBJECTS = get-lines.$(OBJEXT)
-get_lines_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
-get_pubnames_SOURCES = get-pubnames.c
-get_pubnames_OBJECTS = get-pubnames.$(OBJEXT)
-get_pubnames_DEPENDENCIES = $(am__DEPENDENCIES_4) \
- $(am__DEPENDENCIES_1)
-hash_SOURCES = hash.c
-hash_OBJECTS = hash.$(OBJEXT)
-hash_DEPENDENCIES = $(am__DEPENDENCIES_1)
-msg_tst_SOURCES = msg_tst.c
-msg_tst_OBJECTS = msg_tst.$(OBJEXT)
-msg_tst_DEPENDENCIES = $(am__DEPENDENCIES_1)
-newfile_SOURCES = newfile.c
-newfile_OBJECTS = newfile.$(OBJEXT)
-newfile_DEPENDENCIES = $(am__DEPENDENCIES_1)
-newscn_SOURCES = newscn.c
-newscn_OBJECTS = newscn.$(OBJEXT)
-newscn_DEPENDENCIES = $(am__DEPENDENCIES_1)
-saridx_SOURCES = saridx.c
-saridx_OBJECTS = saridx.$(OBJEXT)
-saridx_DEPENDENCIES = $(am__DEPENDENCIES_1)
-scnnames_SOURCES = scnnames.c
-scnnames_OBJECTS = scnnames.$(OBJEXT)
-scnnames_DEPENDENCIES = $(am__DEPENDENCIES_1)
-sectiondump_SOURCES = sectiondump.c
-sectiondump_OBJECTS = sectiondump.$(OBJEXT)
-sectiondump_DEPENDENCIES = $(am__DEPENDENCIES_1)
-show_abbrev_SOURCES = show-abbrev.c
-show_abbrev_OBJECTS = show-abbrev.$(OBJEXT)
-show_abbrev_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
-show_die_info_SOURCES = show-die-info.c
-show_die_info_OBJECTS = show-die-info.$(OBJEXT)
-show_die_info_DEPENDENCIES = $(am__DEPENDENCIES_4) \
- $(am__DEPENDENCIES_1)
-showptable_SOURCES = showptable.c
-showptable_OBJECTS = showptable.$(OBJEXT)
-showptable_DEPENDENCIES = $(am__DEPENDENCIES_1)
-test_nlist_SOURCES = test-nlist.c
-test_nlist_OBJECTS = test-nlist.$(OBJEXT)
-test_nlist_DEPENDENCIES = $(am__DEPENDENCIES_1)
-update1_SOURCES = update1.c
-update1_OBJECTS = update1.$(OBJEXT)
-update1_DEPENDENCIES = $(am__DEPENDENCIES_1)
-update2_SOURCES = update2.c
-update2_OBJECTS = update2.$(OBJEXT)
-update2_DEPENDENCIES = $(am__DEPENDENCIES_1)
-update3_SOURCES = update3.c
-update3_OBJECTS = update3.$(OBJEXT)
-update3_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-update4_SOURCES = update4.c
-update4_OBJECTS = update4.$(OBJEXT)
-update4_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/config/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c \
- asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c \
- asm-tst9.c ecp.c get-aranges.c get-files.c get-lines.c \
- get-pubnames.c hash.c msg_tst.c newfile.c newscn.c saridx.c \
- scnnames.c sectiondump.c show-abbrev.c show-die-info.c \
- showptable.c test-nlist.c update1.c update2.c update3.c \
- update4.c
-DIST_SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c \
- asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c \
- asm-tst8.c asm-tst9.c ecp.c get-aranges.c get-files.c \
- get-lines.c get-pubnames.c hash.c msg_tst.c newfile.c newscn.c \
- saridx.c scnnames.c sectiondump.c show-abbrev.c \
- show-die-info.c showptable.c test-nlist.c update1.c update2.c \
- update3.c update4.c
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run tar
-AUTOCONF = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run autoconf
-AUTOHEADER = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run autoheader
-AUTOMAKE = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run automake-1.9
-AWK = gawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CYGPATH_W = echo
-DATADIRNAME = ${prefix}/share
-DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
-DEPDIR = .deps
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-GMSGFMT = /usr/bin/msgfmt
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-INTLLIBS =
-LDFLAGS =
-LEX = flex
-LEXLIB = -lfl
-LEX_OUTPUT_ROOT = lex.yy
-LIBICONV = -liconv
-LIBINTL =
-LIBOBJS =
-LIBS =
-LOCALEDIR = ${prefix}/share
-LTLIBICONV = -liconv
-LTLIBINTL =
-LTLIBOBJS =
-MAKEINFO = ${SHELL} /work/elfutils/stock/elfutils-0.97/config/missing --run makeinfo
-MKINSTALLDIRS = config/mkinstalldirs
-MSGFMT = /usr/bin/msgfmt
-MSGMERGE = /usr/bin/msgmerge
-MUDFLAP_FALSE =
-MUDFLAP_TRUE = #
-NATIVE_LD_FALSE =
-NATIVE_LD_TRUE = #
-OBJEXT = o
-PACKAGE = elfutils
-PACKAGE_BUGREPORT = http://bugzilla.redhat.com/bugzilla/
-PACKAGE_NAME = Red Hat elfutils
-PACKAGE_STRING = Red Hat elfutils 0.97
-PACKAGE_TARNAME = elfutils
-PACKAGE_VERSION = 0.97
-PATH_SEPARATOR = :
-POSUB = po
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/sh
-STRIP =
-USE_NLS = yes
-VERSION = 0.97
-XGETTEXT = /usr/bin/xgettext
-YACC = bison -y
-ac_ct_CC = gcc
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP =
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-base_cpu = none
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /work/elfutils/stock/elfutils-0.97/config/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /work/elfutils/google/linux-install-elfutils-0.97/
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target_alias =
-AM_CFLAGS = -Wall -Werror -std=gnu99
-AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
-INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
- -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
- -I$(top_srcdir)/lib -I..
-
-# get-ciefde
-TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
- update1 update2 update3 update4 \
- run-show-die-info.sh run-get-files.sh run-get-lines.sh \
- run-get-pubnames.sh run-get-aranges.sh \
- run-show-abbrev.sh hash asm-tst1 asm-tst2 \
- asm-tst3 asm-tst4 asm-tst5 asm-tst6 asm-tst7 asm-tst8 asm-tst9 \
- msg_tst newscn run-strip-test.sh run-strip-test2.sh \
- run-strip-test3.sh run-ecp-test.sh run-ecp-test2.sh
-
-# run-show-ciefde.sh
-EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
- run-show-die-info.sh run-get-files.sh run-get-lines.sh \
- run-get-pubnames.sh run-get-aranges.sh \
- run-show-ciefde.sh run-show-abbrev.sh run-strip-test.sh \
- run-strip-test2.sh run-ecp-test.sh run-ecp-test2.sh \
- testfile.bz2 testfile2.bz2 testfile3.bz2 testfile4.bz2 \
- testfile5.bz2 testfile6.bz2 testfile7.bz2 testfile8.bz2 \
- testfile9.bz2 testfile10.bz2 testfile11.bz2 testfile12.bz2 \
- testfile13.bz2 run-strip-test3.sh
-
-libdw = ../libdw/libdw.so
-#libdw = ../libdw/libdw.a
-libelf = ../libelf/libelf.so
-#libelf = ../libelf/libelf.a
-libasm = ../libasm/libasm.so
-#libasm = ../libasm/libasm.a
-libebl = ../libebl/libebl.a
-arextract_LDADD = $(libelf)
-arsymtest_LDADD = $(libelf)
-newfile_LDADD = $(libelf)
-saridx_LDADD = $(libelf)
-scnnames_LDADD = $(libelf)
-sectiondump_LDADD = $(libelf)
-showptable_LDADD = $(libelf)
-hash_LDADD = $(libelf)
-test_nlist_LDADD = $(libelf)
-msg_tst_LDADD = $(libelf)
-newscn_LDADD = $(libelf)
-ecp_LDADD = $(libelf)
-update1_LDADD = $(libelf)
-update2_LDADD = $(libelf)
-update3_LDADD = $(libebl) $(libelf)
-update4_LDADD = $(libebl) $(libelf)
-show_die_info_LDADD = $(libdw) $(libelf)
-get_pubnames_LDADD = $(libdw) $(libelf)
-show_abbrev_LDADD = $(libdw) $(libelf)
-get_lines_LDADD = $(libdw) $(libelf)
-get_files_LDADD = $(libdw) $(libelf)
-get_aranges_LDADD = $(libdw) $(libelf)
-#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf)
-asm_tst1_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst2_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst3_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst4_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst5_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst6_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst7_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst8_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst9_LDADD = $(libasm) $(libebl) $(libelf)
-CLEANFILES = xxx
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnits tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-arextract$(EXEEXT): $(arextract_OBJECTS) $(arextract_DEPENDENCIES)
- @rm -f arextract$(EXEEXT)
- $(LINK) $(arextract_LDFLAGS) $(arextract_OBJECTS) $(arextract_LDADD) $(LIBS)
-arsymtest$(EXEEXT): $(arsymtest_OBJECTS) $(arsymtest_DEPENDENCIES)
- @rm -f arsymtest$(EXEEXT)
- $(LINK) $(arsymtest_LDFLAGS) $(arsymtest_OBJECTS) $(arsymtest_LDADD) $(LIBS)
-asm-tst1$(EXEEXT): $(asm_tst1_OBJECTS) $(asm_tst1_DEPENDENCIES)
- @rm -f asm-tst1$(EXEEXT)
- $(LINK) $(asm_tst1_LDFLAGS) $(asm_tst1_OBJECTS) $(asm_tst1_LDADD) $(LIBS)
-asm-tst2$(EXEEXT): $(asm_tst2_OBJECTS) $(asm_tst2_DEPENDENCIES)
- @rm -f asm-tst2$(EXEEXT)
- $(LINK) $(asm_tst2_LDFLAGS) $(asm_tst2_OBJECTS) $(asm_tst2_LDADD) $(LIBS)
-asm-tst3$(EXEEXT): $(asm_tst3_OBJECTS) $(asm_tst3_DEPENDENCIES)
- @rm -f asm-tst3$(EXEEXT)
- $(LINK) $(asm_tst3_LDFLAGS) $(asm_tst3_OBJECTS) $(asm_tst3_LDADD) $(LIBS)
-asm-tst4$(EXEEXT): $(asm_tst4_OBJECTS) $(asm_tst4_DEPENDENCIES)
- @rm -f asm-tst4$(EXEEXT)
- $(LINK) $(asm_tst4_LDFLAGS) $(asm_tst4_OBJECTS) $(asm_tst4_LDADD) $(LIBS)
-asm-tst5$(EXEEXT): $(asm_tst5_OBJECTS) $(asm_tst5_DEPENDENCIES)
- @rm -f asm-tst5$(EXEEXT)
- $(LINK) $(asm_tst5_LDFLAGS) $(asm_tst5_OBJECTS) $(asm_tst5_LDADD) $(LIBS)
-asm-tst6$(EXEEXT): $(asm_tst6_OBJECTS) $(asm_tst6_DEPENDENCIES)
- @rm -f asm-tst6$(EXEEXT)
- $(LINK) $(asm_tst6_LDFLAGS) $(asm_tst6_OBJECTS) $(asm_tst6_LDADD) $(LIBS)
-asm-tst7$(EXEEXT): $(asm_tst7_OBJECTS) $(asm_tst7_DEPENDENCIES)
- @rm -f asm-tst7$(EXEEXT)
- $(LINK) $(asm_tst7_LDFLAGS) $(asm_tst7_OBJECTS) $(asm_tst7_LDADD) $(LIBS)
-asm-tst8$(EXEEXT): $(asm_tst8_OBJECTS) $(asm_tst8_DEPENDENCIES)
- @rm -f asm-tst8$(EXEEXT)
- $(LINK) $(asm_tst8_LDFLAGS) $(asm_tst8_OBJECTS) $(asm_tst8_LDADD) $(LIBS)
-asm-tst9$(EXEEXT): $(asm_tst9_OBJECTS) $(asm_tst9_DEPENDENCIES)
- @rm -f asm-tst9$(EXEEXT)
- $(LINK) $(asm_tst9_LDFLAGS) $(asm_tst9_OBJECTS) $(asm_tst9_LDADD) $(LIBS)
-ecp$(EXEEXT): $(ecp_OBJECTS) $(ecp_DEPENDENCIES)
- @rm -f ecp$(EXEEXT)
- $(LINK) $(ecp_LDFLAGS) $(ecp_OBJECTS) $(ecp_LDADD) $(LIBS)
-get-aranges$(EXEEXT): $(get_aranges_OBJECTS) $(get_aranges_DEPENDENCIES)
- @rm -f get-aranges$(EXEEXT)
- $(LINK) $(get_aranges_LDFLAGS) $(get_aranges_OBJECTS) $(get_aranges_LDADD) $(LIBS)
-get-files$(EXEEXT): $(get_files_OBJECTS) $(get_files_DEPENDENCIES)
- @rm -f get-files$(EXEEXT)
- $(LINK) $(get_files_LDFLAGS) $(get_files_OBJECTS) $(get_files_LDADD) $(LIBS)
-get-lines$(EXEEXT): $(get_lines_OBJECTS) $(get_lines_DEPENDENCIES)
- @rm -f get-lines$(EXEEXT)
- $(LINK) $(get_lines_LDFLAGS) $(get_lines_OBJECTS) $(get_lines_LDADD) $(LIBS)
-get-pubnames$(EXEEXT): $(get_pubnames_OBJECTS) $(get_pubnames_DEPENDENCIES)
- @rm -f get-pubnames$(EXEEXT)
- $(LINK) $(get_pubnames_LDFLAGS) $(get_pubnames_OBJECTS) $(get_pubnames_LDADD) $(LIBS)
-hash$(EXEEXT): $(hash_OBJECTS) $(hash_DEPENDENCIES)
- @rm -f hash$(EXEEXT)
- $(LINK) $(hash_LDFLAGS) $(hash_OBJECTS) $(hash_LDADD) $(LIBS)
-msg_tst$(EXEEXT): $(msg_tst_OBJECTS) $(msg_tst_DEPENDENCIES)
- @rm -f msg_tst$(EXEEXT)
- $(LINK) $(msg_tst_LDFLAGS) $(msg_tst_OBJECTS) $(msg_tst_LDADD) $(LIBS)
-newfile$(EXEEXT): $(newfile_OBJECTS) $(newfile_DEPENDENCIES)
- @rm -f newfile$(EXEEXT)
- $(LINK) $(newfile_LDFLAGS) $(newfile_OBJECTS) $(newfile_LDADD) $(LIBS)
-newscn$(EXEEXT): $(newscn_OBJECTS) $(newscn_DEPENDENCIES)
- @rm -f newscn$(EXEEXT)
- $(LINK) $(newscn_LDFLAGS) $(newscn_OBJECTS) $(newscn_LDADD) $(LIBS)
-saridx$(EXEEXT): $(saridx_OBJECTS) $(saridx_DEPENDENCIES)
- @rm -f saridx$(EXEEXT)
- $(LINK) $(saridx_LDFLAGS) $(saridx_OBJECTS) $(saridx_LDADD) $(LIBS)
-scnnames$(EXEEXT): $(scnnames_OBJECTS) $(scnnames_DEPENDENCIES)
- @rm -f scnnames$(EXEEXT)
- $(LINK) $(scnnames_LDFLAGS) $(scnnames_OBJECTS) $(scnnames_LDADD) $(LIBS)
-sectiondump$(EXEEXT): $(sectiondump_OBJECTS) $(sectiondump_DEPENDENCIES)
- @rm -f sectiondump$(EXEEXT)
- $(LINK) $(sectiondump_LDFLAGS) $(sectiondump_OBJECTS) $(sectiondump_LDADD) $(LIBS)
-show-abbrev$(EXEEXT): $(show_abbrev_OBJECTS) $(show_abbrev_DEPENDENCIES)
- @rm -f show-abbrev$(EXEEXT)
- $(LINK) $(show_abbrev_LDFLAGS) $(show_abbrev_OBJECTS) $(show_abbrev_LDADD) $(LIBS)
-show-die-info$(EXEEXT): $(show_die_info_OBJECTS) $(show_die_info_DEPENDENCIES)
- @rm -f show-die-info$(EXEEXT)
- $(LINK) $(show_die_info_LDFLAGS) $(show_die_info_OBJECTS) $(show_die_info_LDADD) $(LIBS)
-showptable$(EXEEXT): $(showptable_OBJECTS) $(showptable_DEPENDENCIES)
- @rm -f showptable$(EXEEXT)
- $(LINK) $(showptable_LDFLAGS) $(showptable_OBJECTS) $(showptable_LDADD) $(LIBS)
-test-nlist$(EXEEXT): $(test_nlist_OBJECTS) $(test_nlist_DEPENDENCIES)
- @rm -f test-nlist$(EXEEXT)
- $(LINK) $(test_nlist_LDFLAGS) $(test_nlist_OBJECTS) $(test_nlist_LDADD) $(LIBS)
-update1$(EXEEXT): $(update1_OBJECTS) $(update1_DEPENDENCIES)
- @rm -f update1$(EXEEXT)
- $(LINK) $(update1_LDFLAGS) $(update1_OBJECTS) $(update1_LDADD) $(LIBS)
-update2$(EXEEXT): $(update2_OBJECTS) $(update2_DEPENDENCIES)
- @rm -f update2$(EXEEXT)
- $(LINK) $(update2_LDFLAGS) $(update2_OBJECTS) $(update2_LDADD) $(LIBS)
-update3$(EXEEXT): $(update3_OBJECTS) $(update3_DEPENDENCIES)
- @rm -f update3$(EXEEXT)
- $(LINK) $(update3_LDFLAGS) $(update3_OBJECTS) $(update3_LDADD) $(LIBS)
-update4$(EXEEXT): $(update4_OBJECTS) $(update4_DEPENDENCIES)
- @rm -f update4$(EXEEXT)
- $(LINK) $(update4_LDFLAGS) $(update4_OBJECTS) $(update4_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/arextract.Po
-include ./$(DEPDIR)/arsymtest.Po
-include ./$(DEPDIR)/asm-tst1.Po
-include ./$(DEPDIR)/asm-tst2.Po
-include ./$(DEPDIR)/asm-tst3.Po
-include ./$(DEPDIR)/asm-tst4.Po
-include ./$(DEPDIR)/asm-tst5.Po
-include ./$(DEPDIR)/asm-tst6.Po
-include ./$(DEPDIR)/asm-tst7.Po
-include ./$(DEPDIR)/asm-tst8.Po
-include ./$(DEPDIR)/asm-tst9.Po
-include ./$(DEPDIR)/ecp.Po
-include ./$(DEPDIR)/get-aranges.Po
-include ./$(DEPDIR)/get-files.Po
-include ./$(DEPDIR)/get-lines.Po
-include ./$(DEPDIR)/get-pubnames.Po
-include ./$(DEPDIR)/hash.Po
-include ./$(DEPDIR)/msg_tst.Po
-include ./$(DEPDIR)/newfile.Po
-include ./$(DEPDIR)/newscn.Po
-include ./$(DEPDIR)/saridx.Po
-include ./$(DEPDIR)/scnnames.Po
-include ./$(DEPDIR)/sectiondump.Po
-include ./$(DEPDIR)/show-abbrev.Po
-include ./$(DEPDIR)/show-die-info.Po
-include ./$(DEPDIR)/showptable.Po
-include ./$(DEPDIR)/test-nlist.Po
-include ./$(DEPDIR)/update1.Po
-include ./$(DEPDIR)/update2.Po
-include ./$(DEPDIR)/update3.Po
-include ./$(DEPDIR)/update4.Po
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
- srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
- if test -n "$$list"; then \
- for tst in $$list; do \
- if test -f ./$$tst; then dir=./; \
- elif test -f $$tst; then dir=; \
- else dir="$(srcdir)/"; fi; \
- if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xpass=`expr $$xpass + 1`; \
- failed=`expr $$failed + 1`; \
- echo "XPASS: $$tst"; \
- ;; \
- *) \
- echo "PASS: $$tst"; \
- ;; \
- esac; \
- elif test $$? -ne 77; then \
- all=`expr $$all + 1`; \
- case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
- xfail=`expr $$xfail + 1`; \
- echo "XFAIL: $$tst"; \
- ;; \
- *) \
- failed=`expr $$failed + 1`; \
- echo "FAIL: $$tst"; \
- ;; \
- esac; \
- else \
- skip=`expr $$skip + 1`; \
- echo "SKIP: $$tst"; \
- fi; \
- done; \
- if test "$$failed" -eq 0; then \
- if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
- else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
- fi; \
- else \
- if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
- else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
- fi; \
- fi; \
- dashes="$$banner"; \
- skipped=""; \
- if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
- test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$skipped"; \
- fi; \
- report=""; \
- if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
- report="Please report to $(PACKAGE_BUGREPORT)"; \
- test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
- dashes="$$report"; \
- fi; \
- dashes=`echo "$$dashes" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- test -z "$$skipped" || echo "$$skipped"; \
- test -z "$$report" || echo "$$report"; \
- echo "$$dashes"; \
- test "$$failed" -eq 0; \
- else :; fi
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-generic clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 1e4f9a8d..b533521c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,46 +1,105 @@
## Process this file with automake to create Makefile.in
-## Configure input file for elfutils.
##
-## Copyright (C) 1996-2002, 2003, 2004 Red Hat, Inc.
+## Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
+## This file is part of Red Hat elfutils.
##
-## This program is Open Source software; you can redistribute it and/or
-## modify it under the terms of the Open Software License version 1.0 as
-## published by the Open Source Initiative.
+## Red Hat elfutils is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by the
+## Free Software Foundation; version 2 of the License.
##
-## You should have received a copy of the Open Software License along
-## with this program; if not, you may obtain a copy of the Open Software
-## License version 1.0 from http://www.opensource.org/licenses/osl.php or
-## by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-## 3001 King Ranch Road, Ukiah, CA 95482.
+## Red Hat elfutils is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with Red Hat elfutils; if not, write to the Free Software Foundation,
+## Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+##
+## Red Hat elfutils is an included package of the Open Invention Network.
+## An included package of the Open Invention Network is a package for which
+## Open Invention Network licensees cross-license their patents. No patent
+## license is granted, either expressly or impliedly, by designation as an
+## included package. Should you wish to participate in the Open Invention
+## Network licensing program, please visit www.openinventionnetwork.com
+## <http://www.openinventionnetwork.com>.
##
DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
-AM_CFLAGS = -Wall -Werror -std=gnu99
-if !MUDFLAP
-AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
+if MUDFLAP
+AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 -fmudflap\
+ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
+BUILD_RPATH = \$$ORIGIN/../backends
+else
+AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 \
+ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
+BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
endif
+
+AM_LDFLAGS =
+
+if !STANDALONE
INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
+ -I$(top_srcdir)/libdwfl \
-I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
-I$(top_srcdir)/lib -I..
+AM_LDFLAGS += -Wl,-rpath-link,../libasm:../libdw:../libelf
+endif !STANDALONE
+
+if TESTS_RPATH
+AM_LDFLAGS += -Wl,-rpath,$(BUILT_RPATH)
+tests_rpath = yes
+else
+tests_rpath = no
+endif
noinst_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
showptable update1 update2 update3 update4 test-nlist \
show-die-info get-files get-lines get-pubnames \
- get-aranges \
- show-abbrev hash asm-tst1 asm-tst2 asm-tst3 \
- asm-tst4 asm-tst5 asm-tst6 asm-tst7 asm-tst8 asm-tst9 \
- msg_tst newscn ecp
+ get-aranges allfcts line2addr addrscopes funcscopes \
+ show-abbrev hash newscn ecp dwflmodtest \
+ find-prologues funcretval allregs rdwrmmap \
+ dwfl-bug-addr-overflow arls dwfl-bug-fd-leak \
+ dwfl-addr-sect dwfl-bug-report early-offscn \
+ dwfl-bug-getmodules
# get-ciefde
+asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
+ asm-tst6 asm-tst7 asm-tst8 asm-tst9
TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
update1 update2 update3 update4 \
run-show-die-info.sh run-get-files.sh run-get-lines.sh \
- run-get-pubnames.sh run-get-aranges.sh \
- run-show-abbrev.sh hash asm-tst1 asm-tst2 \
- asm-tst3 asm-tst4 asm-tst5 asm-tst6 asm-tst7 asm-tst8 asm-tst9 \
- msg_tst newscn run-strip-test.sh run-strip-test2.sh \
- run-strip-test3.sh run-ecp-test.sh run-ecp-test2.sh
+ run-get-pubnames.sh run-get-aranges.sh run-allfcts.sh \
+ run-show-abbrev.sh run-line2addr.sh hash \
+ newscn run-strip-test.sh run-strip-test2.sh \
+ run-strip-test3.sh run-strip-test4.sh run-strip-test5.sh \
+ run-strip-test6.sh run-strip-test7.sh run-strip-test8.sh \
+ run-unstrip-test.sh run-unstrip-test2.sh \
+ run-ecp-test.sh run-ecp-test2.sh \
+ run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
+ run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
+ run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
+ run-find-prologues.sh run-allregs.sh \
+ run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
+ run-readelf-test4.sh \
+ run-native-test.sh run-bug1-test.sh \
+ dwfl-bug-addr-overflow run-addrname-test.sh \
+ dwfl-bug-fd-leak dwfl-bug-report \
+ run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
+ run-disasm-x86.sh run-disasm-x86-64.sh \
+ run-early-offscn.sh
# run-show-ciefde.sh
+if !STANDALONE
+noinst_PROGRAMS += msg_tst sha1-tst
+TESTS += msg_tst sha1-tst
+endif
+
+if HAVE_LIBASM
+noinst_PROGRAMS += $(asm_TESTS)
+TESTS += $(asm_TESTS)
+endif
+
+
EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-show-die-info.sh run-get-files.sh run-get-lines.sh \
run-get-pubnames.sh run-get-aranges.sh \
@@ -49,10 +108,70 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile.bz2 testfile2.bz2 testfile3.bz2 testfile4.bz2 \
testfile5.bz2 testfile6.bz2 testfile7.bz2 testfile8.bz2 \
testfile9.bz2 testfile10.bz2 testfile11.bz2 testfile12.bz2 \
- testfile13.bz2 run-strip-test3.sh
+ testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
+ run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
+ run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
+ run-strip-test7.sh run-strip-test8.sh \
+ run-unstrip-test.sh run-unstrip-test2.sh \
+ run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
+ run-ranlib-test3.sh run-ranlib-test4.sh \
+ run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
+ run-find-prologues.sh run-allregs.sh run-native-test.sh \
+ run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
+ run-dwfl-addr-sect.sh run-early-offscn.sh \
+ testfile15.bz2 testfile15.debug.bz2 \
+ testfile16.bz2 testfile16.debug.bz2 \
+ testfile17.bz2 testfile17.debug.bz2 \
+ testfile18.bz2 testfile19.bz2 testfile19.index.bz2 \
+ testfile20.bz2 testfile20.index.bz2 \
+ testfile21.bz2 testfile21.index.bz2 \
+ testfile22.bz2 testfile23.bz2 testfile24.bz2 testfile25.bz2 \
+ testfile26.bz2 testfile27.bz2 \
+ coverage.sh test-subr.sh test-wrapper.sh \
+ run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
+ run-readelf-test4.sh \
+ run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
+ testfile29.bz2 testfile29.rdwr.bz2 \
+ testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
+ testfile34.bz2 testfile35.bz2 testfile35.debug.bz2 \
+ testfile36.bz2 testfile36.debug.bz2 \
+ testfile37.bz2 testfile37.debug.bz2 \
+ testfile38.bz2 testfile39.bz2 testfile40.bz2 testfile40.debug.bz2 \
+ testfile41.bz2 testfile42.bz2 testfile43.bz2 \
+ testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \
+ testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh \
+ testfile46.bz2 testfile47.bz2 testfile48.bz2 testfile48.debug.bz2 \
+ testfile49.bz2
+
+installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \
+ bindir=$(DESTDIR)$(bindir) \
+ $(srcdir)/test-wrapper.sh \
+ installed $(tests_rpath) \
+ $(program_transform_name)
+if STANDALONE
+TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT)
+else !STANDALONE
+TESTS_ENVIRONMENT = $(srcdir)/test-wrapper.sh \
+ ../libdw:../backends:../libelf:../libasm
+
+installcheck-local:
+ $(MAKE) $(AM_MAKEFLAGS) \
+ TESTS_ENVIRONMENT='$(installed_TESTS_ENVIRONMENT)' check-TESTS
+endif !STANDALONE
if MUDFLAP
-libdw = ../libdw/libdw.a
+static_build=yes
+libmudflap = -lmudflap
+endif
+
+if STANDALONE
+libdw = -ldw
+libelf = -lelf
+libasm = -lasm
+libebl = -lebl
+else !STANDALONE
+if BUILD_STATIC
+libdw = ../libdw/libdw.a $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.a
libasm = ../libasm/libasm.a
else
@@ -61,38 +180,65 @@ libelf = ../libelf/libelf.so
libasm = ../libasm/libasm.so
endif
libebl = ../libebl/libebl.a
+libeu = ../lib/libeu.a
+endif !STANDALONE
+
+arextract_LDADD = $(libelf) $(libmudflap)
+arsymtest_LDADD = $(libelf) $(libmudflap)
+newfile_LDADD = $(libelf) $(libmudflap)
+saridx_LDADD = $(libelf) $(libmudflap)
+scnnames_LDADD = $(libelf) $(libmudflap)
+sectiondump_LDADD = $(libelf) $(libmudflap)
+showptable_LDADD = $(libelf) $(libmudflap)
+hash_LDADD = $(libelf) $(libmudflap)
+test_nlist_LDADD = $(libelf) $(libmudflap)
+msg_tst_LDADD = $(libelf) $(libmudflap)
+newscn_LDADD = $(libelf) $(libmudflap)
+early_offscn_LDADD = $(libelf) $(libmudflap)
+ecp_LDADD = $(libelf) $(libmudflap)
+update1_LDADD = $(libelf) $(libmudflap)
+update2_LDADD = $(libelf) $(libmudflap)
+update3_LDADD = $(libebl) $(libelf) $(libmudflap)
+update4_LDADD = $(libebl) $(libelf) $(libmudflap)
+show_die_info_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_pubnames_LDADD = $(libdw) $(libelf) $(libmudflap)
+show_abbrev_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_lines_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_files_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_aranges_LDADD = $(libdw) $(libelf) $(libmudflap)
+allfcts_LDADD = $(libdw) $(libelf) $(libmudflap)
+line2addr_no_Wformat = yes
+line2addr_LDADD = $(libdw) $(libmudflap)
+addrscopes_LDADD = $(libdw) $(libmudflap)
+funcscopes_LDADD = $(libdw) $(libmudflap)
+funcretval_LDADD = $(libdw) $(libmudflap)
+allregs_LDADD = $(libdw) $(libmudflap)
+find_prologues_LDADD = $(libdw) $(libmudflap)
+#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap)
+asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+rdwrmmap_LDADD = $(libelf)
+dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+arls_LDADD = $(libelf) $(libmudflap)
+dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+sha1_tst_LDADD = $(libeu) $(libmudflap)
-arextract_LDADD = $(libelf)
-arsymtest_LDADD = $(libelf)
-newfile_LDADD = $(libelf)
-saridx_LDADD = $(libelf)
-scnnames_LDADD = $(libelf)
-sectiondump_LDADD = $(libelf)
-showptable_LDADD = $(libelf)
-hash_LDADD = $(libelf)
-test_nlist_LDADD = $(libelf)
-msg_tst_LDADD = $(libelf)
-newscn_LDADD = $(libelf)
-ecp_LDADD = $(libelf)
-update1_LDADD = $(libelf)
-update2_LDADD = $(libelf)
-update3_LDADD = $(libebl) $(libelf)
-update4_LDADD = $(libebl) $(libelf)
-show_die_info_LDADD = $(libdw) $(libelf)
-get_pubnames_LDADD = $(libdw) $(libelf)
-show_abbrev_LDADD = $(libdw) $(libelf)
-get_lines_LDADD = $(libdw) $(libelf)
-get_files_LDADD = $(libdw) $(libelf)
-get_aranges_LDADD = $(libdw) $(libelf)
-#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf)
-asm_tst1_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst2_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst3_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst4_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst5_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst6_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst7_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst8_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst9_LDADD = $(libasm) $(libebl) $(libelf)
-
-CLEANFILES = xxx
+CLEANFILES = xxx *.gcno *.gcda *gconv
+
+if GCOV
+check: check-am coverage
+.PHONY: coverage
+coverage:
+ -$(srcdir)/coverage.sh
+endif
diff --git a/tests/Makefile.in b/tests/Makefile.in
index c5dd6529..47a1cb97 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.2 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,17 +14,11 @@
@SET_MAKE@
-SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c ecp.c get-aranges.c get-files.c get-lines.c get-pubnames.c hash.c msg_tst.c newfile.c newscn.c saridx.c scnnames.c sectiondump.c show-abbrev.c show-die-info.c showptable.c test-nlist.c update1.c update2.c update3.c update4.c
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -38,168 +32,289 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+@STANDALONE_FALSE@am__append_1 = -Wl,-rpath-link,../libasm:../libdw:../libelf
+@TESTS_RPATH_TRUE@am__append_2 = -Wl,-rpath,$(BUILT_RPATH)
noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
update2$(EXEEXT) update3$(EXEEXT) update4$(EXEEXT) \
test-nlist$(EXEEXT) show-die-info$(EXEEXT) get-files$(EXEEXT) \
get-lines$(EXEEXT) get-pubnames$(EXEEXT) get-aranges$(EXEEXT) \
- show-abbrev$(EXEEXT) hash$(EXEEXT) asm-tst1$(EXEEXT) \
- asm-tst2$(EXEEXT) asm-tst3$(EXEEXT) asm-tst4$(EXEEXT) \
- asm-tst5$(EXEEXT) asm-tst6$(EXEEXT) asm-tst7$(EXEEXT) \
- asm-tst8$(EXEEXT) asm-tst9$(EXEEXT) msg_tst$(EXEEXT) \
- newscn$(EXEEXT) ecp$(EXEEXT)
+ allfcts$(EXEEXT) line2addr$(EXEEXT) addrscopes$(EXEEXT) \
+ funcscopes$(EXEEXT) show-abbrev$(EXEEXT) hash$(EXEEXT) \
+ newscn$(EXEEXT) ecp$(EXEEXT) dwflmodtest$(EXEEXT) \
+ find-prologues$(EXEEXT) funcretval$(EXEEXT) allregs$(EXEEXT) \
+ rdwrmmap$(EXEEXT) dwfl-bug-addr-overflow$(EXEEXT) \
+ arls$(EXEEXT) dwfl-bug-fd-leak$(EXEEXT) \
+ dwfl-addr-sect$(EXEEXT) dwfl-bug-report$(EXEEXT) \
+ early-offscn$(EXEEXT) dwfl-bug-getmodules$(EXEEXT) \
+ $(am__EXEEXT_1) $(am__EXEEXT_3)
+TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \
+ test-nlist$(EXEEXT) update1$(EXEEXT) update2$(EXEEXT) \
+ update3$(EXEEXT) update4$(EXEEXT) run-show-die-info.sh \
+ run-get-files.sh run-get-lines.sh run-get-pubnames.sh \
+ run-get-aranges.sh run-allfcts.sh run-show-abbrev.sh \
+ run-line2addr.sh hash$(EXEEXT) newscn$(EXEEXT) \
+ run-strip-test.sh run-strip-test2.sh run-strip-test3.sh \
+ run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
+ run-strip-test7.sh run-strip-test8.sh run-unstrip-test.sh \
+ run-unstrip-test2.sh run-ecp-test.sh run-ecp-test2.sh \
+ run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
+ run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
+ run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
+ run-find-prologues.sh run-allregs.sh run-readelf-test1.sh \
+ run-readelf-test2.sh run-readelf-test3.sh run-readelf-test4.sh \
+ run-native-test.sh run-bug1-test.sh \
+ dwfl-bug-addr-overflow$(EXEEXT) run-addrname-test.sh \
+ dwfl-bug-fd-leak$(EXEEXT) dwfl-bug-report$(EXEEXT) \
+ run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
+ run-disasm-x86.sh run-disasm-x86-64.sh run-early-offscn.sh \
+ $(am__EXEEXT_1) $(am__EXEEXT_3)
+# run-show-ciefde.sh
+@STANDALONE_FALSE@am__append_3 = msg_tst sha1-tst
+@STANDALONE_FALSE@am__append_4 = msg_tst sha1-tst
+@HAVE_LIBASM_TRUE@am__append_5 = $(asm_TESTS)
+@HAVE_LIBASM_TRUE@am__append_6 = $(asm_TESTS)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
+@STANDALONE_FALSE@am__EXEEXT_1 = msg_tst$(EXEEXT) sha1-tst$(EXEEXT)
+am__EXEEXT_2 = asm-tst1$(EXEEXT) asm-tst2$(EXEEXT) asm-tst3$(EXEEXT) \
+ asm-tst4$(EXEEXT) asm-tst5$(EXEEXT) asm-tst6$(EXEEXT) \
+ asm-tst7$(EXEEXT) asm-tst8$(EXEEXT) asm-tst9$(EXEEXT)
+@HAVE_LIBASM_TRUE@am__EXEEXT_3 = $(am__EXEEXT_2)
PROGRAMS = $(noinst_PROGRAMS)
+addrscopes_SOURCES = addrscopes.c
+addrscopes_OBJECTS = addrscopes.$(OBJEXT)
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@am__DEPENDENCIES_1 = \
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@ ../libelf/libelf.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@am__DEPENDENCIES_1 = \
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@ ../libelf/libelf.a
+@STANDALONE_FALSE@am__DEPENDENCIES_2 = ../libebl/libebl.a
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@am__DEPENDENCIES_3 = \
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@ ../libdw/libdw.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@am__DEPENDENCIES_3 = \
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@ ../libdw/libdw.a \
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@ $(am__DEPENDENCIES_1) \
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@ $(am__DEPENDENCIES_2)
+am__DEPENDENCIES_4 =
+addrscopes_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
+allfcts_SOURCES = allfcts.c
+allfcts_OBJECTS = allfcts.$(OBJEXT)
+allfcts_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+allregs_SOURCES = allregs.c
+allregs_OBJECTS = allregs.$(OBJEXT)
+allregs_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
arextract_SOURCES = arextract.c
arextract_OBJECTS = arextract.$(OBJEXT)
-@MUDFLAP_FALSE@am__DEPENDENCIES_1 = ../libelf/libelf.so
-@MUDFLAP_TRUE@am__DEPENDENCIES_1 = ../libelf/libelf.a
-arextract_DEPENDENCIES = $(am__DEPENDENCIES_1)
+arextract_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+arls_SOURCES = arls.c
+arls_OBJECTS = arls.$(OBJEXT)
+arls_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
arsymtest_SOURCES = arsymtest.c
arsymtest_OBJECTS = arsymtest.$(OBJEXT)
-arsymtest_DEPENDENCIES = $(am__DEPENDENCIES_1)
+arsymtest_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst1_SOURCES = asm-tst1.c
asm_tst1_OBJECTS = asm-tst1.$(OBJEXT)
-@MUDFLAP_FALSE@am__DEPENDENCIES_2 = ../libasm/libasm.so
-@MUDFLAP_TRUE@am__DEPENDENCIES_2 = ../libasm/libasm.a
-am__DEPENDENCIES_3 = ../libebl/libebl.a
-asm_tst1_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@am__DEPENDENCIES_5 = \
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@ ../libasm/libasm.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@am__DEPENDENCIES_5 = \
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@ ../libasm/libasm.a
+asm_tst1_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst2_SOURCES = asm-tst2.c
asm_tst2_OBJECTS = asm-tst2.$(OBJEXT)
-asm_tst2_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst2_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst3_SOURCES = asm-tst3.c
asm_tst3_OBJECTS = asm-tst3.$(OBJEXT)
-asm_tst3_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst3_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst4_SOURCES = asm-tst4.c
asm_tst4_OBJECTS = asm-tst4.$(OBJEXT)
-asm_tst4_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst4_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst5_SOURCES = asm-tst5.c
asm_tst5_OBJECTS = asm-tst5.$(OBJEXT)
-asm_tst5_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst5_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst6_SOURCES = asm-tst6.c
asm_tst6_OBJECTS = asm-tst6.$(OBJEXT)
-asm_tst6_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst6_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst7_SOURCES = asm-tst7.c
asm_tst7_OBJECTS = asm-tst7.$(OBJEXT)
-asm_tst7_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst7_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst8_SOURCES = asm-tst8.c
asm_tst8_OBJECTS = asm-tst8.$(OBJEXT)
-asm_tst8_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst8_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
asm_tst9_SOURCES = asm-tst9.c
asm_tst9_OBJECTS = asm-tst9.$(OBJEXT)
-asm_tst9_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+asm_tst9_DEPENDENCIES = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+dwfl_addr_sect_SOURCES = dwfl-addr-sect.c
+dwfl_addr_sect_OBJECTS = dwfl-addr-sect.$(OBJEXT)
+dwfl_addr_sect_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+dwfl_bug_addr_overflow_SOURCES = dwfl-bug-addr-overflow.c
+dwfl_bug_addr_overflow_OBJECTS = dwfl-bug-addr-overflow.$(OBJEXT)
+dwfl_bug_addr_overflow_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+dwfl_bug_fd_leak_SOURCES = dwfl-bug-fd-leak.c
+dwfl_bug_fd_leak_OBJECTS = dwfl-bug-fd-leak.$(OBJEXT)
+dwfl_bug_fd_leak_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+dwfl_bug_getmodules_SOURCES = dwfl-bug-getmodules.c
+dwfl_bug_getmodules_OBJECTS = dwfl-bug-getmodules.$(OBJEXT)
+dwfl_bug_getmodules_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+dwfl_bug_report_SOURCES = dwfl-bug-report.c
+dwfl_bug_report_OBJECTS = dwfl-bug-report.$(OBJEXT)
+dwfl_bug_report_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+dwflmodtest_SOURCES = dwflmodtest.c
+dwflmodtest_OBJECTS = dwflmodtest.$(OBJEXT)
+dwflmodtest_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+early_offscn_SOURCES = early-offscn.c
+early_offscn_OBJECTS = early-offscn.$(OBJEXT)
+early_offscn_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
ecp_SOURCES = ecp.c
ecp_OBJECTS = ecp.$(OBJEXT)
-ecp_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ecp_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+find_prologues_SOURCES = find-prologues.c
+find_prologues_OBJECTS = find-prologues.$(OBJEXT)
+find_prologues_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_4)
+funcretval_SOURCES = funcretval.c
+funcretval_OBJECTS = funcretval.$(OBJEXT)
+funcretval_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
+funcscopes_SOURCES = funcscopes.c
+funcscopes_OBJECTS = funcscopes.$(OBJEXT)
+funcscopes_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
get_aranges_SOURCES = get-aranges.c
get_aranges_OBJECTS = get-aranges.$(OBJEXT)
-@MUDFLAP_FALSE@am__DEPENDENCIES_4 = ../libdw/libdw.so
-@MUDFLAP_TRUE@am__DEPENDENCIES_4 = ../libdw/libdw.a
-get_aranges_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+get_aranges_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
get_files_SOURCES = get-files.c
get_files_OBJECTS = get-files.$(OBJEXT)
-get_files_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+get_files_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
get_lines_SOURCES = get-lines.c
get_lines_OBJECTS = get-lines.$(OBJEXT)
-get_lines_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+get_lines_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
get_pubnames_SOURCES = get-pubnames.c
get_pubnames_OBJECTS = get-pubnames.$(OBJEXT)
-get_pubnames_DEPENDENCIES = $(am__DEPENDENCIES_4) \
- $(am__DEPENDENCIES_1)
+get_pubnames_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
hash_SOURCES = hash.c
hash_OBJECTS = hash.$(OBJEXT)
-hash_DEPENDENCIES = $(am__DEPENDENCIES_1)
+hash_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+line2addr_SOURCES = line2addr.c
+line2addr_OBJECTS = line2addr.$(OBJEXT)
+line2addr_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
msg_tst_SOURCES = msg_tst.c
msg_tst_OBJECTS = msg_tst.$(OBJEXT)
-msg_tst_DEPENDENCIES = $(am__DEPENDENCIES_1)
+msg_tst_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
newfile_SOURCES = newfile.c
newfile_OBJECTS = newfile.$(OBJEXT)
-newfile_DEPENDENCIES = $(am__DEPENDENCIES_1)
+newfile_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
newscn_SOURCES = newscn.c
newscn_OBJECTS = newscn.$(OBJEXT)
-newscn_DEPENDENCIES = $(am__DEPENDENCIES_1)
+newscn_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+rdwrmmap_SOURCES = rdwrmmap.c
+rdwrmmap_OBJECTS = rdwrmmap.$(OBJEXT)
+rdwrmmap_DEPENDENCIES = $(am__DEPENDENCIES_1)
saridx_SOURCES = saridx.c
saridx_OBJECTS = saridx.$(OBJEXT)
-saridx_DEPENDENCIES = $(am__DEPENDENCIES_1)
+saridx_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
scnnames_SOURCES = scnnames.c
scnnames_OBJECTS = scnnames.$(OBJEXT)
-scnnames_DEPENDENCIES = $(am__DEPENDENCIES_1)
+scnnames_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
sectiondump_SOURCES = sectiondump.c
sectiondump_OBJECTS = sectiondump.$(OBJEXT)
-sectiondump_DEPENDENCIES = $(am__DEPENDENCIES_1)
+sectiondump_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
+sha1_tst_SOURCES = sha1-tst.c
+sha1_tst_OBJECTS = sha1-tst.$(OBJEXT)
+sha1_tst_DEPENDENCIES = $(libeu) $(am__DEPENDENCIES_4)
show_abbrev_SOURCES = show-abbrev.c
show_abbrev_OBJECTS = show-abbrev.$(OBJEXT)
-show_abbrev_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
+show_abbrev_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
show_die_info_SOURCES = show-die-info.c
show_die_info_OBJECTS = show-die-info.$(OBJEXT)
-show_die_info_DEPENDENCIES = $(am__DEPENDENCIES_4) \
- $(am__DEPENDENCIES_1)
+show_die_info_DEPENDENCIES = $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
showptable_SOURCES = showptable.c
showptable_OBJECTS = showptable.$(OBJEXT)
-showptable_DEPENDENCIES = $(am__DEPENDENCIES_1)
+showptable_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
test_nlist_SOURCES = test-nlist.c
test_nlist_OBJECTS = test-nlist.$(OBJEXT)
-test_nlist_DEPENDENCIES = $(am__DEPENDENCIES_1)
+test_nlist_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
update1_SOURCES = update1.c
update1_OBJECTS = update1.$(OBJEXT)
-update1_DEPENDENCIES = $(am__DEPENDENCIES_1)
+update1_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
update2_SOURCES = update2.c
update2_OBJECTS = update2.$(OBJEXT)
-update2_DEPENDENCIES = $(am__DEPENDENCIES_1)
+update2_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4)
update3_SOURCES = update3.c
update3_OBJECTS = update3.$(OBJEXT)
-update3_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
+update3_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
update4_SOURCES = update4.c
update4_OBJECTS = update4.$(OBJEXT)
-update4_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+update4_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c \
- asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c \
- asm-tst9.c ecp.c get-aranges.c get-files.c get-lines.c \
- get-pubnames.c hash.c msg_tst.c newfile.c newscn.c saridx.c \
- scnnames.c sectiondump.c show-abbrev.c show-die-info.c \
- showptable.c test-nlist.c update1.c update2.c update3.c \
- update4.c
-DIST_SOURCES = arextract.c arsymtest.c asm-tst1.c asm-tst2.c \
- asm-tst3.c asm-tst4.c asm-tst5.c asm-tst6.c asm-tst7.c \
- asm-tst8.c asm-tst9.c ecp.c get-aranges.c get-files.c \
- get-lines.c get-pubnames.c hash.c msg_tst.c newfile.c newscn.c \
- saridx.c scnnames.c sectiondump.c show-abbrev.c \
- show-die-info.c showptable.c test-nlist.c update1.c update2.c \
- update3.c update4.c
+SOURCES = addrscopes.c allfcts.c allregs.c arextract.c arls.c \
+ arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c \
+ asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c \
+ dwfl-addr-sect.c dwfl-bug-addr-overflow.c dwfl-bug-fd-leak.c \
+ dwfl-bug-getmodules.c dwfl-bug-report.c dwflmodtest.c \
+ early-offscn.c ecp.c find-prologues.c funcretval.c \
+ funcscopes.c get-aranges.c get-files.c get-lines.c \
+ get-pubnames.c hash.c line2addr.c msg_tst.c newfile.c newscn.c \
+ rdwrmmap.c saridx.c scnnames.c sectiondump.c sha1-tst.c \
+ show-abbrev.c show-die-info.c showptable.c test-nlist.c \
+ update1.c update2.c update3.c update4.c
+DIST_SOURCES = addrscopes.c allfcts.c allregs.c arextract.c arls.c \
+ arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c \
+ asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c \
+ dwfl-addr-sect.c dwfl-bug-addr-overflow.c dwfl-bug-fd-leak.c \
+ dwfl-bug-getmodules.c dwfl-bug-report.c dwflmodtest.c \
+ early-offscn.c ecp.c find-prologues.c funcretval.c \
+ funcscopes.c get-aranges.c get-files.c get-lines.c \
+ get-pubnames.c hash.c line2addr.c msg_tst.c newfile.c newscn.c \
+ rdwrmmap.c saridx.c scnnames.c sectiondump.c sha1-tst.c \
+ show-abbrev.c show-die-info.c showptable.c test-nlist.c \
+ update1.c update2.c update3.c update4.c
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -208,43 +323,39 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
+DEBUGPRED = @DEBUGPRED@
DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
+LIBEBL_SUBDIR = @LIBEBL_SUBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LOCALEDIR = @LOCALEDIR@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
-MKINSTALLDIRS = @MKINSTALLDIRS@
+MKDIR_P = @MKDIR_P@
+MODVERSION = @MODVERSION@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
-MUDFLAP_FALSE = @MUDFLAP_FALSE@
-MUDFLAP_TRUE = @MUDFLAP_TRUE@
-NATIVE_LD_FALSE = @NATIVE_LD_FALSE@
-NATIVE_LD_TRUE = @NATIVE_LD_TRUE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -253,7 +364,6 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -261,12 +371,14 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
YACC = @YACC@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -279,45 +391,61 @@ build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+eu_version = @eu_version@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
+localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-AM_CFLAGS = -Wall -Werror -std=gnu99
-@MUDFLAP_FALSE@AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
-INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
- -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
- -I$(top_srcdir)/lib -I..
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 \
+@MUDFLAP_FALSE@ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
+
+@MUDFLAP_TRUE@AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 -fmudflap\
+@MUDFLAP_TRUE@ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
+
+@MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
+@MUDFLAP_FALSE@BUILT_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
+AM_LDFLAGS = $(am__append_1) $(am__append_2)
+@STANDALONE_FALSE@INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
+@STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl \
+@STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
+@STANDALONE_FALSE@ -I$(top_srcdir)/lib -I..
+@TESTS_RPATH_FALSE@tests_rpath = no
+@TESTS_RPATH_TRUE@tests_rpath = yes
# get-ciefde
-TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
- update1 update2 update3 update4 \
- run-show-die-info.sh run-get-files.sh run-get-lines.sh \
- run-get-pubnames.sh run-get-aranges.sh \
- run-show-abbrev.sh hash asm-tst1 asm-tst2 \
- asm-tst3 asm-tst4 asm-tst5 asm-tst6 asm-tst7 asm-tst8 asm-tst9 \
- msg_tst newscn run-strip-test.sh run-strip-test2.sh \
- run-strip-test3.sh run-ecp-test.sh run-ecp-test2.sh
+asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
+ asm-tst6 asm-tst7 asm-tst8 asm-tst9
-# run-show-ciefde.sh
EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-show-die-info.sh run-get-files.sh run-get-lines.sh \
run-get-pubnames.sh run-get-aranges.sh \
@@ -326,53 +454,121 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile.bz2 testfile2.bz2 testfile3.bz2 testfile4.bz2 \
testfile5.bz2 testfile6.bz2 testfile7.bz2 testfile8.bz2 \
testfile9.bz2 testfile10.bz2 testfile11.bz2 testfile12.bz2 \
- testfile13.bz2 run-strip-test3.sh
-
-@MUDFLAP_FALSE@libdw = ../libdw/libdw.so
-@MUDFLAP_TRUE@libdw = ../libdw/libdw.a
-@MUDFLAP_FALSE@libelf = ../libelf/libelf.so
-@MUDFLAP_TRUE@libelf = ../libelf/libelf.a
-@MUDFLAP_FALSE@libasm = ../libasm/libasm.so
-@MUDFLAP_TRUE@libasm = ../libasm/libasm.a
-libebl = ../libebl/libebl.a
-arextract_LDADD = $(libelf)
-arsymtest_LDADD = $(libelf)
-newfile_LDADD = $(libelf)
-saridx_LDADD = $(libelf)
-scnnames_LDADD = $(libelf)
-sectiondump_LDADD = $(libelf)
-showptable_LDADD = $(libelf)
-hash_LDADD = $(libelf)
-test_nlist_LDADD = $(libelf)
-msg_tst_LDADD = $(libelf)
-newscn_LDADD = $(libelf)
-ecp_LDADD = $(libelf)
-update1_LDADD = $(libelf)
-update2_LDADD = $(libelf)
-update3_LDADD = $(libebl) $(libelf)
-update4_LDADD = $(libebl) $(libelf)
-show_die_info_LDADD = $(libdw) $(libelf)
-get_pubnames_LDADD = $(libdw) $(libelf)
-show_abbrev_LDADD = $(libdw) $(libelf)
-get_lines_LDADD = $(libdw) $(libelf)
-get_files_LDADD = $(libdw) $(libelf)
-get_aranges_LDADD = $(libdw) $(libelf)
-#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf)
-asm_tst1_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst2_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst3_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst4_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst5_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst6_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst7_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst8_LDADD = $(libasm) $(libebl) $(libelf)
-asm_tst9_LDADD = $(libasm) $(libebl) $(libelf)
-CLEANFILES = xxx
+ testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
+ run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
+ run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
+ run-strip-test7.sh run-strip-test8.sh \
+ run-unstrip-test.sh run-unstrip-test2.sh \
+ run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
+ run-ranlib-test3.sh run-ranlib-test4.sh \
+ run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
+ run-find-prologues.sh run-allregs.sh run-native-test.sh \
+ run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
+ run-dwfl-addr-sect.sh run-early-offscn.sh \
+ testfile15.bz2 testfile15.debug.bz2 \
+ testfile16.bz2 testfile16.debug.bz2 \
+ testfile17.bz2 testfile17.debug.bz2 \
+ testfile18.bz2 testfile19.bz2 testfile19.index.bz2 \
+ testfile20.bz2 testfile20.index.bz2 \
+ testfile21.bz2 testfile21.index.bz2 \
+ testfile22.bz2 testfile23.bz2 testfile24.bz2 testfile25.bz2 \
+ testfile26.bz2 testfile27.bz2 \
+ coverage.sh test-subr.sh test-wrapper.sh \
+ run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
+ run-readelf-test4.sh \
+ run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
+ testfile29.bz2 testfile29.rdwr.bz2 \
+ testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
+ testfile34.bz2 testfile35.bz2 testfile35.debug.bz2 \
+ testfile36.bz2 testfile36.debug.bz2 \
+ testfile37.bz2 testfile37.debug.bz2 \
+ testfile38.bz2 testfile39.bz2 testfile40.bz2 testfile40.debug.bz2 \
+ testfile41.bz2 testfile42.bz2 testfile43.bz2 \
+ testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \
+ testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh \
+ testfile46.bz2 testfile47.bz2 testfile48.bz2 testfile48.debug.bz2 \
+ testfile49.bz2
+
+installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \
+ bindir=$(DESTDIR)$(bindir) \
+ $(srcdir)/test-wrapper.sh \
+ installed $(tests_rpath) \
+ $(program_transform_name)
+
+@STANDALONE_FALSE@TESTS_ENVIRONMENT = $(srcdir)/test-wrapper.sh \
+@STANDALONE_FALSE@ ../libdw:../backends:../libelf:../libasm
+
+@STANDALONE_TRUE@TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT)
+@MUDFLAP_TRUE@static_build = yes
+@MUDFLAP_TRUE@libmudflap = -lmudflap
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@libdw = ../libdw/libdw.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@libdw = ../libdw/libdw.a $(libelf) $(libebl) -ldl
+@STANDALONE_TRUE@libdw = -ldw
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@libelf = ../libelf/libelf.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@libelf = ../libelf/libelf.a
+@STANDALONE_TRUE@libelf = -lelf
+@BUILD_STATIC_FALSE@@STANDALONE_FALSE@libasm = ../libasm/libasm.so
+@BUILD_STATIC_TRUE@@STANDALONE_FALSE@libasm = ../libasm/libasm.a
+@STANDALONE_TRUE@libasm = -lasm
+@STANDALONE_FALSE@libebl = ../libebl/libebl.a
+@STANDALONE_TRUE@libebl = -lebl
+@STANDALONE_FALSE@libeu = ../lib/libeu.a
+arextract_LDADD = $(libelf) $(libmudflap)
+arsymtest_LDADD = $(libelf) $(libmudflap)
+newfile_LDADD = $(libelf) $(libmudflap)
+saridx_LDADD = $(libelf) $(libmudflap)
+scnnames_LDADD = $(libelf) $(libmudflap)
+sectiondump_LDADD = $(libelf) $(libmudflap)
+showptable_LDADD = $(libelf) $(libmudflap)
+hash_LDADD = $(libelf) $(libmudflap)
+test_nlist_LDADD = $(libelf) $(libmudflap)
+msg_tst_LDADD = $(libelf) $(libmudflap)
+newscn_LDADD = $(libelf) $(libmudflap)
+early_offscn_LDADD = $(libelf) $(libmudflap)
+ecp_LDADD = $(libelf) $(libmudflap)
+update1_LDADD = $(libelf) $(libmudflap)
+update2_LDADD = $(libelf) $(libmudflap)
+update3_LDADD = $(libebl) $(libelf) $(libmudflap)
+update4_LDADD = $(libebl) $(libelf) $(libmudflap)
+show_die_info_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_pubnames_LDADD = $(libdw) $(libelf) $(libmudflap)
+show_abbrev_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_lines_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_files_LDADD = $(libdw) $(libelf) $(libmudflap)
+get_aranges_LDADD = $(libdw) $(libelf) $(libmudflap)
+allfcts_LDADD = $(libdw) $(libelf) $(libmudflap)
+line2addr_no_Wformat = yes
+line2addr_LDADD = $(libdw) $(libmudflap)
+addrscopes_LDADD = $(libdw) $(libmudflap)
+funcscopes_LDADD = $(libdw) $(libmudflap)
+funcretval_LDADD = $(libdw) $(libmudflap)
+allregs_LDADD = $(libdw) $(libmudflap)
+find_prologues_LDADD = $(libdw) $(libmudflap)
+#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap)
+asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
+dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+rdwrmmap_LDADD = $(libelf)
+dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+arls_LDADD = $(libelf) $(libmudflap)
+dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
+sha1_tst_LDADD = $(libeu) $(libmudflap)
+CLEANFILES = xxx *.gcno *.gcda *gconv
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -397,106 +593,157 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(top_srcdir)/configure: $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+addrscopes$(EXEEXT): $(addrscopes_OBJECTS) $(addrscopes_DEPENDENCIES)
+ @rm -f addrscopes$(EXEEXT)
+ $(LINK) $(addrscopes_OBJECTS) $(addrscopes_LDADD) $(LIBS)
+allfcts$(EXEEXT): $(allfcts_OBJECTS) $(allfcts_DEPENDENCIES)
+ @rm -f allfcts$(EXEEXT)
+ $(LINK) $(allfcts_OBJECTS) $(allfcts_LDADD) $(LIBS)
+allregs$(EXEEXT): $(allregs_OBJECTS) $(allregs_DEPENDENCIES)
+ @rm -f allregs$(EXEEXT)
+ $(LINK) $(allregs_OBJECTS) $(allregs_LDADD) $(LIBS)
arextract$(EXEEXT): $(arextract_OBJECTS) $(arextract_DEPENDENCIES)
@rm -f arextract$(EXEEXT)
- $(LINK) $(arextract_LDFLAGS) $(arextract_OBJECTS) $(arextract_LDADD) $(LIBS)
+ $(LINK) $(arextract_OBJECTS) $(arextract_LDADD) $(LIBS)
+arls$(EXEEXT): $(arls_OBJECTS) $(arls_DEPENDENCIES)
+ @rm -f arls$(EXEEXT)
+ $(LINK) $(arls_OBJECTS) $(arls_LDADD) $(LIBS)
arsymtest$(EXEEXT): $(arsymtest_OBJECTS) $(arsymtest_DEPENDENCIES)
@rm -f arsymtest$(EXEEXT)
- $(LINK) $(arsymtest_LDFLAGS) $(arsymtest_OBJECTS) $(arsymtest_LDADD) $(LIBS)
+ $(LINK) $(arsymtest_OBJECTS) $(arsymtest_LDADD) $(LIBS)
asm-tst1$(EXEEXT): $(asm_tst1_OBJECTS) $(asm_tst1_DEPENDENCIES)
@rm -f asm-tst1$(EXEEXT)
- $(LINK) $(asm_tst1_LDFLAGS) $(asm_tst1_OBJECTS) $(asm_tst1_LDADD) $(LIBS)
+ $(LINK) $(asm_tst1_OBJECTS) $(asm_tst1_LDADD) $(LIBS)
asm-tst2$(EXEEXT): $(asm_tst2_OBJECTS) $(asm_tst2_DEPENDENCIES)
@rm -f asm-tst2$(EXEEXT)
- $(LINK) $(asm_tst2_LDFLAGS) $(asm_tst2_OBJECTS) $(asm_tst2_LDADD) $(LIBS)
+ $(LINK) $(asm_tst2_OBJECTS) $(asm_tst2_LDADD) $(LIBS)
asm-tst3$(EXEEXT): $(asm_tst3_OBJECTS) $(asm_tst3_DEPENDENCIES)
@rm -f asm-tst3$(EXEEXT)
- $(LINK) $(asm_tst3_LDFLAGS) $(asm_tst3_OBJECTS) $(asm_tst3_LDADD) $(LIBS)
+ $(LINK) $(asm_tst3_OBJECTS) $(asm_tst3_LDADD) $(LIBS)
asm-tst4$(EXEEXT): $(asm_tst4_OBJECTS) $(asm_tst4_DEPENDENCIES)
@rm -f asm-tst4$(EXEEXT)
- $(LINK) $(asm_tst4_LDFLAGS) $(asm_tst4_OBJECTS) $(asm_tst4_LDADD) $(LIBS)
+ $(LINK) $(asm_tst4_OBJECTS) $(asm_tst4_LDADD) $(LIBS)
asm-tst5$(EXEEXT): $(asm_tst5_OBJECTS) $(asm_tst5_DEPENDENCIES)
@rm -f asm-tst5$(EXEEXT)
- $(LINK) $(asm_tst5_LDFLAGS) $(asm_tst5_OBJECTS) $(asm_tst5_LDADD) $(LIBS)
+ $(LINK) $(asm_tst5_OBJECTS) $(asm_tst5_LDADD) $(LIBS)
asm-tst6$(EXEEXT): $(asm_tst6_OBJECTS) $(asm_tst6_DEPENDENCIES)
@rm -f asm-tst6$(EXEEXT)
- $(LINK) $(asm_tst6_LDFLAGS) $(asm_tst6_OBJECTS) $(asm_tst6_LDADD) $(LIBS)
+ $(LINK) $(asm_tst6_OBJECTS) $(asm_tst6_LDADD) $(LIBS)
asm-tst7$(EXEEXT): $(asm_tst7_OBJECTS) $(asm_tst7_DEPENDENCIES)
@rm -f asm-tst7$(EXEEXT)
- $(LINK) $(asm_tst7_LDFLAGS) $(asm_tst7_OBJECTS) $(asm_tst7_LDADD) $(LIBS)
+ $(LINK) $(asm_tst7_OBJECTS) $(asm_tst7_LDADD) $(LIBS)
asm-tst8$(EXEEXT): $(asm_tst8_OBJECTS) $(asm_tst8_DEPENDENCIES)
@rm -f asm-tst8$(EXEEXT)
- $(LINK) $(asm_tst8_LDFLAGS) $(asm_tst8_OBJECTS) $(asm_tst8_LDADD) $(LIBS)
+ $(LINK) $(asm_tst8_OBJECTS) $(asm_tst8_LDADD) $(LIBS)
asm-tst9$(EXEEXT): $(asm_tst9_OBJECTS) $(asm_tst9_DEPENDENCIES)
@rm -f asm-tst9$(EXEEXT)
- $(LINK) $(asm_tst9_LDFLAGS) $(asm_tst9_OBJECTS) $(asm_tst9_LDADD) $(LIBS)
+ $(LINK) $(asm_tst9_OBJECTS) $(asm_tst9_LDADD) $(LIBS)
+dwfl-addr-sect$(EXEEXT): $(dwfl_addr_sect_OBJECTS) $(dwfl_addr_sect_DEPENDENCIES)
+ @rm -f dwfl-addr-sect$(EXEEXT)
+ $(LINK) $(dwfl_addr_sect_OBJECTS) $(dwfl_addr_sect_LDADD) $(LIBS)
+dwfl-bug-addr-overflow$(EXEEXT): $(dwfl_bug_addr_overflow_OBJECTS) $(dwfl_bug_addr_overflow_DEPENDENCIES)
+ @rm -f dwfl-bug-addr-overflow$(EXEEXT)
+ $(LINK) $(dwfl_bug_addr_overflow_OBJECTS) $(dwfl_bug_addr_overflow_LDADD) $(LIBS)
+dwfl-bug-fd-leak$(EXEEXT): $(dwfl_bug_fd_leak_OBJECTS) $(dwfl_bug_fd_leak_DEPENDENCIES)
+ @rm -f dwfl-bug-fd-leak$(EXEEXT)
+ $(LINK) $(dwfl_bug_fd_leak_OBJECTS) $(dwfl_bug_fd_leak_LDADD) $(LIBS)
+dwfl-bug-getmodules$(EXEEXT): $(dwfl_bug_getmodules_OBJECTS) $(dwfl_bug_getmodules_DEPENDENCIES)
+ @rm -f dwfl-bug-getmodules$(EXEEXT)
+ $(LINK) $(dwfl_bug_getmodules_OBJECTS) $(dwfl_bug_getmodules_LDADD) $(LIBS)
+dwfl-bug-report$(EXEEXT): $(dwfl_bug_report_OBJECTS) $(dwfl_bug_report_DEPENDENCIES)
+ @rm -f dwfl-bug-report$(EXEEXT)
+ $(LINK) $(dwfl_bug_report_OBJECTS) $(dwfl_bug_report_LDADD) $(LIBS)
+dwflmodtest$(EXEEXT): $(dwflmodtest_OBJECTS) $(dwflmodtest_DEPENDENCIES)
+ @rm -f dwflmodtest$(EXEEXT)
+ $(LINK) $(dwflmodtest_OBJECTS) $(dwflmodtest_LDADD) $(LIBS)
+early-offscn$(EXEEXT): $(early_offscn_OBJECTS) $(early_offscn_DEPENDENCIES)
+ @rm -f early-offscn$(EXEEXT)
+ $(LINK) $(early_offscn_OBJECTS) $(early_offscn_LDADD) $(LIBS)
ecp$(EXEEXT): $(ecp_OBJECTS) $(ecp_DEPENDENCIES)
@rm -f ecp$(EXEEXT)
- $(LINK) $(ecp_LDFLAGS) $(ecp_OBJECTS) $(ecp_LDADD) $(LIBS)
+ $(LINK) $(ecp_OBJECTS) $(ecp_LDADD) $(LIBS)
+find-prologues$(EXEEXT): $(find_prologues_OBJECTS) $(find_prologues_DEPENDENCIES)
+ @rm -f find-prologues$(EXEEXT)
+ $(LINK) $(find_prologues_OBJECTS) $(find_prologues_LDADD) $(LIBS)
+funcretval$(EXEEXT): $(funcretval_OBJECTS) $(funcretval_DEPENDENCIES)
+ @rm -f funcretval$(EXEEXT)
+ $(LINK) $(funcretval_OBJECTS) $(funcretval_LDADD) $(LIBS)
+funcscopes$(EXEEXT): $(funcscopes_OBJECTS) $(funcscopes_DEPENDENCIES)
+ @rm -f funcscopes$(EXEEXT)
+ $(LINK) $(funcscopes_OBJECTS) $(funcscopes_LDADD) $(LIBS)
get-aranges$(EXEEXT): $(get_aranges_OBJECTS) $(get_aranges_DEPENDENCIES)
@rm -f get-aranges$(EXEEXT)
- $(LINK) $(get_aranges_LDFLAGS) $(get_aranges_OBJECTS) $(get_aranges_LDADD) $(LIBS)
+ $(LINK) $(get_aranges_OBJECTS) $(get_aranges_LDADD) $(LIBS)
get-files$(EXEEXT): $(get_files_OBJECTS) $(get_files_DEPENDENCIES)
@rm -f get-files$(EXEEXT)
- $(LINK) $(get_files_LDFLAGS) $(get_files_OBJECTS) $(get_files_LDADD) $(LIBS)
+ $(LINK) $(get_files_OBJECTS) $(get_files_LDADD) $(LIBS)
get-lines$(EXEEXT): $(get_lines_OBJECTS) $(get_lines_DEPENDENCIES)
@rm -f get-lines$(EXEEXT)
- $(LINK) $(get_lines_LDFLAGS) $(get_lines_OBJECTS) $(get_lines_LDADD) $(LIBS)
+ $(LINK) $(get_lines_OBJECTS) $(get_lines_LDADD) $(LIBS)
get-pubnames$(EXEEXT): $(get_pubnames_OBJECTS) $(get_pubnames_DEPENDENCIES)
@rm -f get-pubnames$(EXEEXT)
- $(LINK) $(get_pubnames_LDFLAGS) $(get_pubnames_OBJECTS) $(get_pubnames_LDADD) $(LIBS)
+ $(LINK) $(get_pubnames_OBJECTS) $(get_pubnames_LDADD) $(LIBS)
hash$(EXEEXT): $(hash_OBJECTS) $(hash_DEPENDENCIES)
@rm -f hash$(EXEEXT)
- $(LINK) $(hash_LDFLAGS) $(hash_OBJECTS) $(hash_LDADD) $(LIBS)
+ $(LINK) $(hash_OBJECTS) $(hash_LDADD) $(LIBS)
+line2addr$(EXEEXT): $(line2addr_OBJECTS) $(line2addr_DEPENDENCIES)
+ @rm -f line2addr$(EXEEXT)
+ $(LINK) $(line2addr_OBJECTS) $(line2addr_LDADD) $(LIBS)
msg_tst$(EXEEXT): $(msg_tst_OBJECTS) $(msg_tst_DEPENDENCIES)
@rm -f msg_tst$(EXEEXT)
- $(LINK) $(msg_tst_LDFLAGS) $(msg_tst_OBJECTS) $(msg_tst_LDADD) $(LIBS)
+ $(LINK) $(msg_tst_OBJECTS) $(msg_tst_LDADD) $(LIBS)
newfile$(EXEEXT): $(newfile_OBJECTS) $(newfile_DEPENDENCIES)
@rm -f newfile$(EXEEXT)
- $(LINK) $(newfile_LDFLAGS) $(newfile_OBJECTS) $(newfile_LDADD) $(LIBS)
+ $(LINK) $(newfile_OBJECTS) $(newfile_LDADD) $(LIBS)
newscn$(EXEEXT): $(newscn_OBJECTS) $(newscn_DEPENDENCIES)
@rm -f newscn$(EXEEXT)
- $(LINK) $(newscn_LDFLAGS) $(newscn_OBJECTS) $(newscn_LDADD) $(LIBS)
+ $(LINK) $(newscn_OBJECTS) $(newscn_LDADD) $(LIBS)
+rdwrmmap$(EXEEXT): $(rdwrmmap_OBJECTS) $(rdwrmmap_DEPENDENCIES)
+ @rm -f rdwrmmap$(EXEEXT)
+ $(LINK) $(rdwrmmap_OBJECTS) $(rdwrmmap_LDADD) $(LIBS)
saridx$(EXEEXT): $(saridx_OBJECTS) $(saridx_DEPENDENCIES)
@rm -f saridx$(EXEEXT)
- $(LINK) $(saridx_LDFLAGS) $(saridx_OBJECTS) $(saridx_LDADD) $(LIBS)
+ $(LINK) $(saridx_OBJECTS) $(saridx_LDADD) $(LIBS)
scnnames$(EXEEXT): $(scnnames_OBJECTS) $(scnnames_DEPENDENCIES)
@rm -f scnnames$(EXEEXT)
- $(LINK) $(scnnames_LDFLAGS) $(scnnames_OBJECTS) $(scnnames_LDADD) $(LIBS)
+ $(LINK) $(scnnames_OBJECTS) $(scnnames_LDADD) $(LIBS)
sectiondump$(EXEEXT): $(sectiondump_OBJECTS) $(sectiondump_DEPENDENCIES)
@rm -f sectiondump$(EXEEXT)
- $(LINK) $(sectiondump_LDFLAGS) $(sectiondump_OBJECTS) $(sectiondump_LDADD) $(LIBS)
+ $(LINK) $(sectiondump_OBJECTS) $(sectiondump_LDADD) $(LIBS)
+sha1-tst$(EXEEXT): $(sha1_tst_OBJECTS) $(sha1_tst_DEPENDENCIES)
+ @rm -f sha1-tst$(EXEEXT)
+ $(LINK) $(sha1_tst_OBJECTS) $(sha1_tst_LDADD) $(LIBS)
show-abbrev$(EXEEXT): $(show_abbrev_OBJECTS) $(show_abbrev_DEPENDENCIES)
@rm -f show-abbrev$(EXEEXT)
- $(LINK) $(show_abbrev_LDFLAGS) $(show_abbrev_OBJECTS) $(show_abbrev_LDADD) $(LIBS)
+ $(LINK) $(show_abbrev_OBJECTS) $(show_abbrev_LDADD) $(LIBS)
show-die-info$(EXEEXT): $(show_die_info_OBJECTS) $(show_die_info_DEPENDENCIES)
@rm -f show-die-info$(EXEEXT)
- $(LINK) $(show_die_info_LDFLAGS) $(show_die_info_OBJECTS) $(show_die_info_LDADD) $(LIBS)
+ $(LINK) $(show_die_info_OBJECTS) $(show_die_info_LDADD) $(LIBS)
showptable$(EXEEXT): $(showptable_OBJECTS) $(showptable_DEPENDENCIES)
@rm -f showptable$(EXEEXT)
- $(LINK) $(showptable_LDFLAGS) $(showptable_OBJECTS) $(showptable_LDADD) $(LIBS)
+ $(LINK) $(showptable_OBJECTS) $(showptable_LDADD) $(LIBS)
test-nlist$(EXEEXT): $(test_nlist_OBJECTS) $(test_nlist_DEPENDENCIES)
@rm -f test-nlist$(EXEEXT)
- $(LINK) $(test_nlist_LDFLAGS) $(test_nlist_OBJECTS) $(test_nlist_LDADD) $(LIBS)
+ $(LINK) $(test_nlist_OBJECTS) $(test_nlist_LDADD) $(LIBS)
update1$(EXEEXT): $(update1_OBJECTS) $(update1_DEPENDENCIES)
@rm -f update1$(EXEEXT)
- $(LINK) $(update1_LDFLAGS) $(update1_OBJECTS) $(update1_LDADD) $(LIBS)
+ $(LINK) $(update1_OBJECTS) $(update1_LDADD) $(LIBS)
update2$(EXEEXT): $(update2_OBJECTS) $(update2_DEPENDENCIES)
@rm -f update2$(EXEEXT)
- $(LINK) $(update2_LDFLAGS) $(update2_OBJECTS) $(update2_LDADD) $(LIBS)
+ $(LINK) $(update2_OBJECTS) $(update2_LDADD) $(LIBS)
update3$(EXEEXT): $(update3_OBJECTS) $(update3_DEPENDENCIES)
@rm -f update3$(EXEEXT)
- $(LINK) $(update3_LDFLAGS) $(update3_OBJECTS) $(update3_LDADD) $(LIBS)
+ $(LINK) $(update3_OBJECTS) $(update3_LDADD) $(LIBS)
update4$(EXEEXT): $(update4_OBJECTS) $(update4_DEPENDENCIES)
@rm -f update4$(EXEEXT)
- $(LINK) $(update4_LDFLAGS) $(update4_OBJECTS) $(update4_LDADD) $(LIBS)
+ $(LINK) $(update4_OBJECTS) $(update4_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -504,7 +751,11 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrscopes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allfcts.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allregs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arextract.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arls.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arsymtest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst2.Po@am__quote@
@@ -515,18 +766,31 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst7.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst8.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asm-tst9.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-addr-sect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-addr-overflow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-fd-leak.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-getmodules.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwfl-bug-report.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwflmodtest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/early-offscn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find-prologues.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/funcretval.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/funcscopes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-aranges.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-files.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-lines.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-pubnames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/line2addr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_tst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newscn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdwrmmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saridx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scnnames.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sectiondump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1-tst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-abbrev.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-die-info.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/showptable.Po@am__quote@
@@ -537,27 +801,26 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update4.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -569,8 +832,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -580,13 +843,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -600,9 +862,9 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
+ list=' $(TESTS) '; \
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
@@ -611,7 +873,7 @@ check-TESTS: $(TESTS)
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
+ *$$ws$$tst$$ws*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
@@ -623,7 +885,7 @@ check-TESTS: $(TESTS)
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
+ *$$ws$$tst$$ws*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
@@ -673,22 +935,21 @@ check-TESTS: $(TESTS)
else :; fi
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -729,6 +990,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+@STANDALONE_TRUE@installcheck-local:
clean: clean-am
clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
@@ -751,13 +1013,21 @@ info-am:
install-data-am:
+install-dvi: install-dvi-am
+
install-exec-am:
+install-html: install-html-am
+
install-info: install-info-am
install-man:
-installcheck-am:
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am: installcheck-local
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
@@ -776,19 +1046,32 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-info-am
+uninstall-am:
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
clean-generic clean-noinstPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installcheck-local installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+@STANDALONE_FALSE@installcheck-local:
+@STANDALONE_FALSE@ $(MAKE) $(AM_MAKEFLAGS) \
+@STANDALONE_FALSE@ TESTS_ENVIRONMENT='$(installed_TESTS_ENVIRONMENT)' check-TESTS
+@GCOV_TRUE@check: check-am coverage
+@GCOV_TRUE@.PHONY: coverage
+@GCOV_TRUE@coverage:
+@GCOV_TRUE@ -$(srcdir)/coverage.sh
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/tests/addrscopes.c b/tests/addrscopes.c
new file mode 100644
index 00000000..3394cd29
--- /dev/null
+++ b/tests/addrscopes.c
@@ -0,0 +1,203 @@
+/* Test program for dwarf_getscopes.
+ Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+#include <argp.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <error.h>
+#include <string.h>
+
+
+static void
+paddr (const char *prefix, Dwarf_Addr addr, Dwfl_Line *line)
+{
+ const char *src;
+ int lineno, linecol;
+ if (line != NULL
+ && (src = dwfl_lineinfo (line, &addr, &lineno, &linecol,
+ NULL, NULL)) != NULL)
+ {
+ if (linecol != 0)
+ printf ("%s%#" PRIx64 " (%s:%d:%d)",
+ prefix, addr, src, lineno, linecol);
+ else
+ printf ("%s%#" PRIx64 " (%s:%d)",
+ prefix, addr, src, lineno);
+ }
+ else
+ printf ("%s%#" PRIx64, prefix, addr);
+}
+
+static void
+print_vars (unsigned int indent, Dwarf_Die *die)
+{
+ Dwarf_Die child;
+ if (dwarf_child (die, &child) == 0)
+ do
+ switch (dwarf_tag (&child))
+ {
+ case DW_TAG_variable:
+ case DW_TAG_formal_parameter:
+ printf ("%*s%-30s[%6" PRIx64 "]\n", indent, "",
+ dwarf_diename (&child),
+ (uint64_t) dwarf_dieoffset (&child));
+ break;
+ default:
+ break;
+ }
+ while (dwarf_siblingof (&child, &child) == 0);
+
+ Dwarf_Attribute attr_mem;
+ Dwarf_Die origin;
+ if (dwarf_hasattr (die, DW_AT_abstract_origin)
+ && dwarf_formref_die (dwarf_attr (die, DW_AT_abstract_origin, &attr_mem),
+ &origin) != NULL
+ && dwarf_child (&origin, &child) == 0)
+ do
+ switch (dwarf_tag (&child))
+ {
+ case DW_TAG_variable:
+ case DW_TAG_formal_parameter:
+ printf ("%*s%s (abstract)\n", indent, "",
+ dwarf_diename (&child));
+ break;
+ default:
+ break;
+ }
+ while (dwarf_siblingof (&child, &child) == 0);
+}
+
+
+#define INDENT 4
+
+static void
+handle_address (GElf_Addr pc, Dwfl *dwfl)
+{
+ Dwarf_Addr cubias;
+ Dwarf_Die *cudie = dwfl_addrdie (dwfl, pc, &cubias);
+ if (cudie == NULL)
+ error (EXIT_FAILURE, 0, "dwfl_addrdie: %s", dwfl_errmsg (-1));
+
+ Dwarf_Die *scopes;
+ int n = dwarf_getscopes (cudie, pc - cubias, &scopes);
+ if (n < 0)
+ error (EXIT_FAILURE, 0, "dwarf_getscopes: %s", dwarf_errmsg (-1));
+ else if (n == 0)
+ printf ("%#" PRIx64 ": not in any scope\n", pc);
+ else
+ {
+ printf ("%#" PRIx64 ":\n", pc);
+ unsigned int indent = 0;
+ while (n-- > 0)
+ {
+ Dwarf_Die *const die = &scopes[n];
+
+ indent += INDENT;
+ printf ("%*s%s (%#x)", indent, "",
+ dwarf_diename (die) ?: "<unnamed>",
+ dwarf_tag (die));
+
+ Dwarf_Addr lowpc, highpc;
+ if (dwarf_lowpc (die, &lowpc) == 0
+ && dwarf_highpc (die, &highpc) == 0)
+ {
+ lowpc += cubias;
+ highpc += cubias;
+ Dwfl_Line *loline = dwfl_getsrc (dwfl, lowpc);
+ Dwfl_Line *hiline = dwfl_getsrc (dwfl, highpc);
+ paddr (": ", lowpc, loline);
+ if (highpc != lowpc)
+ paddr (" .. ", lowpc, hiline == loline ? NULL : hiline);
+ }
+ puts ("");
+
+ print_vars (indent + INDENT, die);
+ }
+ }
+}
+
+int
+main (int argc, char *argv[])
+{
+ int remaining;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ Dwfl *dwfl = NULL;
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl);
+ assert (dwfl != NULL);
+
+ int result = 0;
+
+ /* Now handle the addresses. In case none are given on the command
+ line, read from stdin. */
+ if (remaining == argc)
+ {
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdin, FSETLOCKING_BYCALLER);
+
+ char *buf = NULL;
+ size_t len = 0;
+ while (!feof_unlocked (stdin))
+ {
+ if (getline (&buf, &len, stdin) < 0)
+ break;
+
+ char *endp;
+ uintmax_t addr = strtoumax (buf, &endp, 0);
+ if (endp != buf)
+ handle_address (addr, dwfl);
+ else
+ result = 1;
+ }
+
+ free (buf);
+ }
+ else
+ {
+ do
+ {
+ char *endp;
+ uintmax_t addr = strtoumax (argv[remaining], &endp, 0);
+ if (endp != argv[remaining])
+ handle_address (addr, dwfl);
+ else
+ result = 1;
+ }
+ while (++remaining < argc);
+ }
+
+ dwfl_end (dwfl);
+
+ return result;
+}
diff --git a/tests/allfcts.c b/tests/allfcts.c
new file mode 100644
index 00000000..5fed8148
--- /dev/null
+++ b/tests/allfcts.c
@@ -0,0 +1,78 @@
+/* Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <fcntl.h>
+#include ELFUTILS_HEADER(dw)
+#include <stdio.h>
+#include <unistd.h>
+
+
+static int
+cb (Dwarf_Die *func, void *arg __attribute__ ((unused)))
+{
+ const char *file = dwarf_decl_file (func);
+ int line = -1;
+ dwarf_decl_line (func, &line);
+ const char *fct = dwarf_diename (func);
+
+ printf ("%s:%d:%s\n", file, line, fct);
+
+ return DWARF_CB_OK;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ for (int i = 1; i < argc; ++i)
+ {
+ int fd = open (argv[i], O_RDONLY);
+
+ Dwarf *dbg = dwarf_begin (fd, DWARF_C_READ);
+ if (dbg != NULL)
+ {
+ Dwarf_Off off = 0;
+ size_t cuhl;
+ Dwarf_Off noff;
+
+ while (dwarf_nextcu (dbg, off, &noff, &cuhl, NULL, NULL, NULL) == 0)
+ {
+ Dwarf_Die die_mem;
+ Dwarf_Die *die = dwarf_offdie (dbg, off + cuhl, &die_mem);
+
+ (void) dwarf_getfuncs (die, cb, NULL, 0);
+
+ off = noff;
+ }
+
+ dwarf_end (dbg);
+ }
+
+ close (fd);
+ }
+}
diff --git a/tests/allregs.c b/tests/allregs.c
new file mode 100644
index 00000000..f1856dfd
--- /dev/null
+++ b/tests/allregs.c
@@ -0,0 +1,229 @@
+/* Copyright (C) 2005, 2006 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <error.h>
+#include <locale.h>
+#include <argp.h>
+#include <assert.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+
+
+static const char *
+dwarf_encoding_string (unsigned int code)
+{
+ static const char *known[] =
+ {
+ [DW_ATE_void] = "void",
+ [DW_ATE_address] = "address",
+ [DW_ATE_boolean] = "boolean",
+ [DW_ATE_complex_float] = "complex_float",
+ [DW_ATE_float] = "float",
+ [DW_ATE_signed] = "signed",
+ [DW_ATE_signed_char] = "signed_char",
+ [DW_ATE_unsigned] = "unsigned",
+ [DW_ATE_unsigned_char] = "unsigned_char",
+ [DW_ATE_imaginary_float] = "imaginary_float",
+ [DW_ATE_packed_decimal] = "packed_decimal",
+ [DW_ATE_numeric_string] = "numeric_string",
+ [DW_ATE_edited] = "edited",
+ [DW_ATE_signed_fixed] = "signed_fixed",
+ [DW_ATE_unsigned_fixed] = "unsigned_fixed",
+ [DW_ATE_decimal_float] = "decimal_float",
+ };
+
+ if (code < sizeof (known) / sizeof (known[0]))
+ return known[code];
+
+ if (code >= DW_ATE_lo_user && code <= DW_ATE_hi_user)
+ {
+ static char buf[30];
+ snprintf (buf, sizeof (buf), "lo_user+%u", code - DW_ATE_lo_user);
+ return buf;
+ }
+
+ return "???";
+}
+
+static int
+first_module (Dwfl_Module *mod,
+ void **userdatap __attribute__ ((unused)),
+ const char *name __attribute__ ((unused)),
+ Dwarf_Addr low_addr __attribute__ ((unused)),
+ void *arg)
+{
+ Dwarf_Addr bias;
+ if (dwfl_module_getelf (mod, &bias) == NULL) /* Not really a module. */
+ return DWARF_CB_OK;
+
+ *(Dwfl_Module **) arg = mod;
+ return DWARF_CB_ABORT;
+}
+
+
+struct state
+{
+ struct reginfo *info;
+ int nregs;
+};
+
+struct reginfo
+{
+ const char *set, *pfx;
+ int regno;
+ int bits;
+ int type;
+ char name[32];
+};
+
+static int
+compare (const void *r1, const void *r2)
+{
+ const struct reginfo *a = r1, *b = r2;
+ if (a->set == b->set)
+ return a->regno - b->regno;
+ if (a->set == NULL)
+ return 1;
+ if (b->set == NULL)
+ return -1;
+ if (!strcmp (a->set, "integer"))
+ return -1;
+ if (!strcmp (b->set, "integer"))
+ return 1;
+ return strcmp (a->set, b->set);
+}
+
+static int
+one_register (void *arg,
+ int regno,
+ const char *setname,
+ const char *prefix,
+ const char *regname,
+ int bits, int type)
+{
+ struct state *state = arg;
+
+ if (regno >= state->nregs)
+ {
+ state->info = realloc (state->info, (regno + 1) * sizeof state->info[0]);
+ memset (&state->info[state->nregs], 0,
+ ((void *) &state->info[regno + 1]
+ - (void *) &state->info[state->nregs]));
+ state->nregs = regno + 1;
+ }
+
+ state->info[regno].regno = regno;
+ state->info[regno].set = setname;
+ state->info[regno].pfx = prefix;
+ state->info[regno].bits = bits;
+ state->info[regno].type = type;
+ assert (strlen (regname) < sizeof state->info[regno].name);
+ strcpy (state->info[regno].name, regname);
+
+ return DWARF_CB_OK;
+}
+
+
+static int
+match_register (void *arg,
+ int regno,
+ const char *setname,
+ const char *prefix,
+ const char *regname,
+ int bits, int type)
+{
+ if (regno == *(int *) arg)
+ printf ("%5d => %s register %s%s %s %d bits\n",
+ regno, setname, prefix, regname,
+ dwarf_encoding_string (type), bits);
+
+ return DWARF_CB_ABORT;
+}
+
+
+int
+main (int argc, char **argv)
+{
+ int remaining;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ Dwfl *dwfl = NULL;
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl);
+ assert (dwfl != NULL);
+
+ Dwfl_Module *mod = NULL;
+ if (dwfl_getmodules (dwfl, &first_module, &mod, 0) < 0)
+ error (EXIT_FAILURE, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1));
+
+ if (remaining == argc)
+ {
+ struct state state = { NULL, 0 };
+ int result = dwfl_module_register_names (mod, &one_register, &state);
+ if (result != 0 || state.nregs == 0)
+ error (EXIT_FAILURE, 0, "dwfl_module_register_names: %s",
+ result ? dwfl_errmsg (-1) : "no backend registers known");
+
+ qsort (state.info, state.nregs, sizeof state.info[0], &compare);
+
+ const char *set = NULL;
+ for (int i = 0; i < state.nregs; ++i)
+ if (state.info[i].set != NULL)
+ {
+ if (set != state.info[i].set)
+ printf ("%s registers:\n", state.info[i].set);
+ set = state.info[i].set;
+
+ printf ("\t%3d: %s%s (%s), %s %d bits\n",
+ state.info[i].regno,
+ state.info[i].pfx ?: "", state.info[i].name,
+ state.info[i].name,
+ dwarf_encoding_string (state.info[i].type),
+ state.info[i].bits);
+ }
+ }
+ else
+ do
+ {
+ const char *arg = argv[remaining++];
+ int regno = atoi (arg);
+ int result = dwfl_module_register_names (mod, &match_register, &regno);
+ if (result != DWARF_CB_ABORT)
+ error (EXIT_FAILURE, 0, "dwfl_module_register_names: %s",
+ result ? dwfl_errmsg (-1) : "no backend registers known");
+ }
+ while (remaining < argc);
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/arextract.c b/tests/arextract.c
index aa86fb4e..5bc4f274 100644
--- a/tests/arextract.c
+++ b/tests/arextract.c
@@ -1,15 +1,27 @@
/* Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1999.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
-
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
diff --git a/tests/arls.c b/tests/arls.c
new file mode 100644
index 00000000..79b867da
--- /dev/null
+++ b/tests/arls.c
@@ -0,0 +1,91 @@
+#include <ar.h>
+#include <fcntl.h>
+#include <libelf.h>
+#include <stdio.h>
+#include <unistd.h>
+
+
+static int handle (const char *fname);
+
+
+int
+main (int argc, char *argv[])
+{
+ elf_version (EV_CURRENT);
+
+ int result = 0;
+ if (argc == 1)
+ result = handle ("a.out");
+ else
+ for (int i = 1; i < argc; ++i)
+ result |= handle (argv[1]);
+
+ return result;
+}
+
+
+static int
+handle (const char *fname)
+{
+ int fd = open (fname, O_RDONLY);
+ if (fd == -1)
+ {
+ printf ("cannot open '%s': %m\n", fname);
+ return 1;
+ }
+
+ Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
+ if (elf == NULL)
+ {
+ printf ("cannot get ELF handling for '%s': %s\n",
+ fname, elf_errmsg (-1));
+ close (fd);
+ return 1;
+ }
+
+ if (elf_kind (elf) != ELF_K_AR)
+ {
+ printf ("'%s' is no archive\n", fname);
+ elf_end (elf);
+ close (fd);
+ return 1;
+ }
+
+ printf ("%s:\n", fname);
+ Elf *subelf = NULL;
+ Elf_Cmd cmd = ELF_C_READ_MMAP;
+ while ((subelf = elf_begin (fd, cmd, elf)) != NULL)
+ {
+ Elf_Arhdr *arhdr = elf_getarhdr (subelf);
+ if (arhdr == NULL)
+ {
+ printf ("cannot get archive header in '%s': %s\n",
+ fname, elf_errmsg (-1));
+ elf_end (subelf);
+ elf_end (elf);
+ close (fd);
+ return 1;
+ }
+
+ off_t off = elf_getaroff (subelf);
+
+ printf ("\nOffset %llu\n"
+ " Name %s\n"
+ " Date %ld\n"
+ " UID %d\n"
+ " GID %d\n"
+ " Mode %o\n"
+ " Size %lld\n",
+ (unsigned long long int) off,
+ arhdr->ar_name, (long int) arhdr->ar_date, (int) arhdr->ar_uid,
+ (int) arhdr->ar_gid,
+ (int) arhdr->ar_mode, (long long int) arhdr->ar_size);
+
+ cmd = elf_next (subelf);
+ elf_end (subelf);
+ }
+
+ close (fd);
+
+ return 0;
+}
diff --git a/tests/arsymtest.c b/tests/arsymtest.c
index e4c2cf09..86d82cf6 100644
--- a/tests/arsymtest.c
+++ b/tests/arsymtest.c
@@ -1,15 +1,27 @@
/* Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1999.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
-
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
diff --git a/tests/asm-tst1.c b/tests/asm-tst1.c
index b76930d0..123346a3 100644
--- a/tests/asm-tst1.c
+++ b/tests/asm-tst1.c
@@ -1,18 +1,34 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <string.h>
@@ -66,7 +82,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -235,5 +258,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst2.c b/tests/asm-tst2.c
index a309976d..7caaf362 100644
--- a/tests/asm-tst2.c
+++ b/tests/asm-tst2.c
@@ -1,18 +1,34 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <string.h>
@@ -65,7 +81,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -257,5 +280,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst3.c b/tests/asm-tst3.c
index fb79ea78..f38feeb1 100644
--- a/tests/asm-tst3.c
+++ b/tests/asm-tst3.c
@@ -1,18 +1,34 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <string.h>
@@ -57,7 +73,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -318,5 +341,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst4.c b/tests/asm-tst4.c
index 29d6485d..54d054c2 100644
--- a/tests/asm-tst4.c
+++ b/tests/asm-tst4.c
@@ -1,18 +1,34 @@
-/* Copyright (C) 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <stdlib.h>
@@ -33,7 +49,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -84,5 +107,7 @@ env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst4-out.o"));
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst5.c b/tests/asm-tst5.c
index 4f761aed..2a8b3f02 100644
--- a/tests/asm-tst5.c
+++ b/tests/asm-tst5.c
@@ -1,18 +1,34 @@
-/* Copyright (C) 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <stdlib.h>
@@ -35,7 +51,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -96,5 +119,7 @@ env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst5-out.o"));
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst6.c b/tests/asm-tst6.c
index ece69bc2..bd6a71df 100644
--- a/tests/asm-tst6.c
+++ b/tests/asm-tst6.c
@@ -1,17 +1,33 @@
-/* Copyright (C) 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 2002, 2004, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
-#include <libasm.h>
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <stdlib.h>
@@ -33,7 +49,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -130,5 +153,7 @@ env LD_LIBRARY_PATH=../libelf ../src/elflint -q asm-tst6-out.o"));
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst7.c b/tests/asm-tst7.c
index ebd45594..329f03ba 100644
--- a/tests/asm-tst7.c
+++ b/tests/asm-tst7.c
@@ -1,19 +1,35 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <inttypes.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <unistd.h>
@@ -33,7 +49,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -160,5 +183,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst8.c b/tests/asm-tst8.c
index 6ce7c9c0..19c7aa96 100644
--- a/tests/asm-tst8.c
+++ b/tests/asm-tst8.c
@@ -1,19 +1,35 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <inttypes.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <unistd.h>
@@ -33,7 +49,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -168,5 +191,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/asm-tst9.c b/tests/asm-tst9.c
index 28bb4787..1797e48c 100644
--- a/tests/asm-tst9.c
+++ b/tests/asm-tst9.c
@@ -1,19 +1,35 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <inttypes.h>
-#include <libasm.h>
+#include ELFUTILS_HEADER(asm)
#include <libelf.h>
#include <stdio.h>
#include <string.h>
@@ -85,7 +101,14 @@ main (void)
elf_version (EV_CURRENT);
- ctx = asm_begin (fname, false, EM_386, ELFCLASS32, ELFDATA2LSB);
+ Ebl *ebl = ebl_openbackend_machine (EM_386);
+ if (ebl == NULL)
+ {
+ puts ("cannot open backend library");
+ return 1;
+ }
+
+ ctx = asm_begin (fname, ebl, false);
if (ctx == NULL)
{
printf ("cannot create assembler context: %s\n", asm_errmsg (-1));
@@ -314,5 +337,7 @@ main (void)
/* We don't need the file anymore. */
unlink (fname);
+ ebl_closebackend (ebl);
+
return result;
}
diff --git a/tests/coverage.sh b/tests/coverage.sh
new file mode 100755
index 00000000..5cc353c9
--- /dev/null
+++ b/tests/coverage.sh
@@ -0,0 +1,40 @@
+#! /bin/bash
+
+if [ "x$1" = "x-v" ]; then
+ verbose=yes
+else
+ verbose=no
+fi
+
+cd ..
+
+for d in lib libasm libdw libdwfl libebl libelf backends src; do
+ tmp=$d-data
+ cd $d
+ unused=0
+ unused_files=
+ for f in *.gcno; do
+ base="$(basename $f .gcno)"
+ fc="$base.c"
+ gcda="$base.gcda"
+ if [ -f "$gcda" ]; then
+ gcov -n -a "$fc" |
+ gawk "/$d.$fc/ { getline; co=gensub(/.*:(.*)% .*/, \"\\\\1\", \"g\"); co=co+0.0; li=\$4+0; printf \"%-35s %6.2f %5d\n\", \"$d/$fc\", co, li } " >> $tmp
+ else
+ unused=$(($unused + 1))
+ unused_files="$unused_files $fc"
+ fi
+ done
+ if [ -f $tmp ]; then
+ gawk "{ copct=\$2; co=(\$3*copct)/100; toco+=(co+0); toli += (\$3+0); } END { printf \"%-12s %6.2f%% covered unused files: %3d\n\", \"$d\", (toco*100)/toli, \"$unused\" }" $tmp
+ rm -f $tmp
+ else
+ printf "%-12s 0.00%% covered unused files: %3d\n" "$d" $unused
+ fi
+ if [ $verbose = yes ]; then
+ for f in $unused_files; do
+ printf '%-42s%s\n' '' $f
+ done
+ fi
+ cd ..
+done
diff --git a/tests/dwfl-addr-sect.c b/tests/dwfl-addr-sect.c
new file mode 100644
index 00000000..62d11541
--- /dev/null
+++ b/tests/dwfl-addr-sect.c
@@ -0,0 +1,88 @@
+/* Test program for libdwfl ... foo
+ Copyright (C) 2007 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdlib.h>
+#include <string.h>
+#include <error.h>
+#include <locale.h>
+#include <argp.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+
+static int
+handle_address (Dwfl *dwfl, Dwarf_Addr address)
+{
+ Dwfl_Module *mod = dwfl_addrmodule (dwfl, address);
+ Dwarf_Addr adjusted = address;
+ Dwarf_Addr bias;
+ Elf_Scn *scn = dwfl_module_address_section (mod, &adjusted, &bias);
+ if (scn == NULL)
+ {
+ error (0, 0, "%#" PRIx64 ": dwfl_module_address_section: %s",
+ address, dwfl_errmsg (-1));
+ return 1;
+ }
+ printf ("address %#" PRIx64 " => module \"%s\" section %zu + %#" PRIx64 "\n",
+ address,
+ dwfl_module_info (mod, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
+ elf_ndxscn (scn), adjusted);
+ return 0;
+}
+
+int
+main (int argc, char **argv)
+{
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ int remaining;
+ Dwfl *dwfl = NULL;
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining, &dwfl);
+ assert (dwfl != NULL);
+
+ int result = 0;
+ for (; remaining < argc; ++remaining)
+ {
+ char *endp;
+ uintmax_t addr = strtoumax (argv[remaining], &endp, 0);
+ if (endp != argv[remaining])
+ result |= handle_address (dwfl, addr);
+ else
+ result = 1;
+ }
+
+ dwfl_end (dwfl);
+
+ return result;
+}
diff --git a/tests/dwfl-bug-addr-overflow.c b/tests/dwfl-bug-addr-overflow.c
new file mode 100644
index 00000000..0e875dac
--- /dev/null
+++ b/tests/dwfl-bug-addr-overflow.c
@@ -0,0 +1,81 @@
+/* Test program for libdwfl basic module tracking, relocation.
+ Copyright (C) 2007 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <error.h>
+#include <locale.h>
+#include ELFUTILS_HEADER(dwfl)
+
+
+static const Dwfl_Callbacks offline_callbacks =
+ {
+ .find_debuginfo = INTUSE(dwfl_standard_find_debuginfo),
+ .section_address = INTUSE(dwfl_offline_section_address),
+ };
+
+
+int
+main (void)
+{
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ Dwfl *dwfl = dwfl_begin (&offline_callbacks);
+ assert (dwfl != NULL);
+
+ Dwfl_Module *high = dwfl_report_module (dwfl, "high",
+ UINT64_C (0xffffffff00010000),
+ UINT64_C (0xffffffff00020000));
+ assert (high);
+ Dwfl_Module *low = dwfl_report_module (dwfl, "low",
+ UINT64_C (0x00010000),
+ UINT64_C (0x00020000));
+ assert (low);
+ Dwfl_Module *middle = dwfl_report_module (dwfl, "middle",
+ UINT64_C (0xffff00010000),
+ UINT64_C (0xffff00020000));
+ assert (middle);
+
+ int ret = dwfl_report_end (dwfl, NULL, NULL);
+ assert (ret == 0);
+
+ Dwfl_Module *mod = dwfl_addrmodule (dwfl, UINT64_C (0xffffffff00010123));
+ assert (mod == high);
+ mod = dwfl_addrmodule (dwfl, UINT64_C (0x00010123));
+ assert (mod == low);
+ mod = dwfl_addrmodule (dwfl, UINT64_C (0xffff00010123));
+ assert (mod == middle);
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/dwfl-bug-fd-leak.c b/tests/dwfl-bug-fd-leak.c
new file mode 100644
index 00000000..37ff402e
--- /dev/null
+++ b/tests/dwfl-bug-fd-leak.c
@@ -0,0 +1,110 @@
+/* Test program for libdwfl file decriptors leakage.
+ Copyright (C) 2007, 2008 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <error.h>
+#include <unistd.h>
+#include <dwarf.h>
+#include <sys/resource.h>
+#include ELFUTILS_HEADER(dwfl)
+
+
+static Dwfl *
+elfutils_open (pid_t pid, Dwarf_Addr address)
+{
+ static char *debuginfo_path;
+ static const Dwfl_Callbacks proc_callbacks =
+ {
+ .find_debuginfo = dwfl_standard_find_debuginfo,
+ .debuginfo_path = &debuginfo_path,
+
+ .find_elf = dwfl_linux_proc_find_elf,
+ };
+ Dwfl *dwfl = dwfl_begin (&proc_callbacks);
+ if (dwfl == NULL)
+ error (2, 0, "dwfl_begin: %s", dwfl_errmsg (-1));
+
+ int result = dwfl_linux_proc_report (dwfl, pid);
+ if (result < 0)
+ error (2, 0, "dwfl_linux_proc_report: %s", dwfl_errmsg (-1));
+ else if (result > 0)
+ error (2, result, "dwfl_linux_proc_report");
+
+ if (dwfl_report_end (dwfl, NULL, NULL) != 0)
+ error (2, 0, "dwfl_report_end: %s", dwfl_errmsg (-1));
+
+ Dwarf_Addr bias;
+ Dwarf *dbg = dwfl_addrdwarf (dwfl, address, &bias);
+ if (dbg != NULL)
+ {
+ Elf *elf = dwarf_getelf (dbg);
+ if (elf == NULL)
+ error (2, 0, "dwarf_getelf: %s", dwarf_errmsg (-1));
+ }
+ else
+ {
+ Elf *elf = dwfl_module_getelf (dwfl_addrmodule (dwfl, address), &bias);
+ if (elf == NULL)
+ error (2, 0, "dwfl_module_getelf: %s", dwfl_errmsg (-1));
+ }
+
+ return dwfl;
+}
+
+static void
+elfutils_close (Dwfl *dwfl)
+{
+ dwfl_end (dwfl);
+}
+
+int
+main (void)
+{
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ struct rlimit fd_limit = { .rlim_cur = 32, .rlim_max = 32 };
+ if (setrlimit (RLIMIT_NOFILE, &fd_limit) < 0)
+ error (2, errno, "setrlimit");
+
+ for (int i = 0; i < 5000; ++i)
+ {
+ Dwfl *dwfl = elfutils_open (getpid (), (Dwarf_Addr) (uintptr_t) &main);
+ elfutils_close (dwfl);
+ }
+
+ return 0;
+}
diff --git a/tests/dwfl-bug-getmodules.c b/tests/dwfl-bug-getmodules.c
new file mode 100644
index 00000000..f7042c02
--- /dev/null
+++ b/tests/dwfl-bug-getmodules.c
@@ -0,0 +1,74 @@
+/* Test program for dwfl_getmodules bug.
+ Copyright (C) 2008 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include ELFUTILS_HEADER(dwfl)
+
+#include <error.h>
+
+static const Dwfl_Callbacks callbacks =
+ {
+ .find_elf = dwfl_linux_proc_find_elf,
+ .find_debuginfo = dwfl_standard_find_debuginfo,
+ };
+
+static int
+iterate (Dwfl_Module *mod __attribute__ ((unused)),
+ void **userdata __attribute__ ((unused)),
+ const char *name __attribute__ ((unused)),
+ Dwarf_Addr base, void *arg)
+{
+ if (base != 0x2000)
+ return DWARF_CB_OK;
+
+ if (dwfl_addrmodule (arg, 0x2100) == NULL)
+ error (1, 0, "dwfl_addrmodule: %s", dwfl_errmsg (-1));
+
+ return DWARF_CB_ABORT;
+}
+
+int
+main (void)
+{
+ Dwfl *dwfl = dwfl_begin (&callbacks);
+
+ dwfl_report_module (dwfl, "m1", 0, 0x1000);
+ dwfl_report_module (dwfl, "m2", 0x2000, 0x3000);
+ dwfl_report_module (dwfl, "m3", 0x4000, 0x5000);
+
+ dwfl_report_end (dwfl, NULL, NULL);
+
+ ptrdiff_t offset = dwfl_getmodules (dwfl, &iterate, dwfl, 0);
+ if (offset <= 0)
+ error (1, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1));
+
+ offset = dwfl_getmodules (dwfl, &iterate, NULL, offset);
+ if (offset != 0)
+ error (1, 0, "dwfl_getmodules (%d): %s", (int) offset, dwfl_errmsg (-1));
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/dwfl-bug-report.c b/tests/dwfl-bug-report.c
new file mode 100644
index 00000000..459a41ae
--- /dev/null
+++ b/tests/dwfl-bug-report.c
@@ -0,0 +1,56 @@
+/* Test program for dwfl_report_end bug.
+ Copyright (C) 2007 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include ELFUTILS_HEADER(dwfl)
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+static const Dwfl_Callbacks callbacks =
+ {
+ .find_elf = dwfl_linux_proc_find_elf,
+ .find_debuginfo = dwfl_standard_find_debuginfo,
+ };
+
+int
+main (void)
+{
+ Dwfl *dwfl = dwfl_begin (&callbacks);
+
+ for (int i = 0; i < 5; ++i)
+ {
+ dwfl_report_begin (dwfl);
+ dwfl_report_module (dwfl, "module1", 0, 10);
+ dwfl_report_end (dwfl, NULL, NULL);
+ }
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/dwflmodtest.c b/tests/dwflmodtest.c
new file mode 100644
index 00000000..94f960fa
--- /dev/null
+++ b/tests/dwflmodtest.c
@@ -0,0 +1,295 @@
+/* Test program for libdwfl basic module tracking, relocation.
+ Copyright (C) 2005, 2007 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <stdlib.h>
+#include <string.h>
+#include <error.h>
+#include <locale.h>
+#include <argp.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+
+static bool show_inlines;
+
+struct info
+{
+ Dwarf_Die *cudie;
+ Dwarf_Addr dwbias;
+};
+
+static int
+print_instance (Dwarf_Die *instance, void *arg)
+{
+ const struct info *info = arg;
+
+ printf (" inlined");
+
+ Dwarf_Files *files;
+ if (dwarf_getsrcfiles (info->cudie, &files, NULL) == 0)
+ {
+ Dwarf_Attribute attr_mem;
+ Dwarf_Word val;
+ if (dwarf_formudata (dwarf_attr (instance, DW_AT_call_file,
+ &attr_mem), &val) == 0)
+ {
+ const char *file = dwarf_filesrc (files, val, NULL, NULL);
+ int lineno = 0, colno = 0;
+ if (dwarf_formudata (dwarf_attr (instance, DW_AT_call_line,
+ &attr_mem), &val) == 0)
+ lineno = val;
+ if (dwarf_formudata (dwarf_attr (instance, DW_AT_call_column,
+ &attr_mem), &val) == 0)
+ colno = val;
+ if (lineno == 0)
+ {
+ if (file != NULL)
+ printf (" from %s", file);
+ }
+ else if (colno == 0)
+ printf (" at %s:%u", file, lineno);
+ else
+ printf (" at %s:%u:%u", file, lineno, colno);
+ }
+ }
+
+ Dwarf_Addr lo = -1, hi = -1, entry = -1;
+ if (dwarf_lowpc (instance, &lo) == 0)
+ lo += info->dwbias;
+ else
+ printf (" (lowpc => %s)", dwarf_errmsg (-1));
+ if (dwarf_highpc (instance, &hi) == 0)
+ hi += info->dwbias;
+ else
+ printf (" (highpc => %s)", dwarf_errmsg (-1));
+
+ Dwarf_Attribute attr_mem;
+ Dwarf_Attribute *attr = dwarf_attr (instance, DW_AT_entry_pc, &attr_mem);
+ if (attr != NULL)
+ {
+ if (dwarf_formaddr (attr, &entry) == 0)
+ entry += info->dwbias;
+ else
+ printf (" (entrypc => %s)", dwarf_errmsg (-1));
+ }
+
+ if (lo != (Dwarf_Addr) -1 || hi != (Dwarf_Addr) -1)
+ printf (" %#" PRIx64 "..%#" PRIx64, lo, hi);
+ if (entry != (Dwarf_Addr) -1)
+ printf (" => %#" PRIx64 "\n", entry);
+ else
+ puts ("");
+
+ return DWARF_CB_OK;
+}
+
+static void
+print_inline (Dwarf_Die *func, void *arg)
+{
+ if (dwarf_func_inline_instances (func, &print_instance, arg) != 0)
+ printf (" error finding instances: %s\n", dwarf_errmsg (-1));
+}
+
+static int
+print_func (Dwarf_Die *func, void *arg)
+{
+ const struct info *info = arg;
+
+ const char *file = dwarf_decl_file (func);
+ int line = -1;
+ dwarf_decl_line (func, &line);
+ const char *fct = dwarf_diename (func);
+
+ printf (" %s:%d: %s:", file, line, fct);
+
+ if (dwarf_func_inline (func))
+ {
+ puts (" inline function");
+ if (show_inlines)
+ print_inline (func, arg);
+ }
+ else
+ {
+ Dwarf_Addr lo = -1, hi = -1, entry = -1;
+ if (dwarf_lowpc (func, &lo) == 0)
+ lo += info->dwbias;
+ else
+ printf (" (lowpc => %s)", dwarf_errmsg (-1));
+ if (dwarf_highpc (func, &hi) == 0)
+ hi += info->dwbias;
+ else
+ printf (" (highpc => %s)", dwarf_errmsg (-1));
+ if (dwarf_entrypc (func, &entry) == 0)
+ entry += info->dwbias;
+ else
+ printf (" (entrypc => %s)", dwarf_errmsg (-1));
+
+ if (lo != (Dwarf_Addr) -1 || hi != (Dwarf_Addr) -1
+ || entry != (Dwarf_Addr) -1)
+ printf (" %#" PRIx64 "..%#" PRIx64 " => %#" PRIx64 "\n",
+ lo, hi, entry);
+ else
+ puts ("");
+ }
+
+ return DWARF_CB_OK;
+}
+
+static int
+list_module (Dwfl_Module *mod __attribute__ ((unused)),
+ void **userdata __attribute__ ((unused)),
+ const char *name, Dwarf_Addr base,
+ void *arg __attribute__ ((unused)))
+{
+ Dwarf_Addr start;
+ Dwarf_Addr end;
+ const char *file;
+ const char *debug;
+ if (dwfl_module_info (mod, NULL, &start, &end,
+ NULL, NULL, &file, &debug) != name
+ || start != base)
+ abort ();
+ printf ("module: %30s %08" PRIx64 "..%08" PRIx64 " %s %s\n",
+ name, start, end, file, debug);
+ return DWARF_CB_OK;
+}
+
+static int
+print_module (Dwfl_Module *mod __attribute__ ((unused)),
+ void **userdata __attribute__ ((unused)),
+ const char *name, Dwarf_Addr base,
+ Dwarf *dw, Dwarf_Addr bias,
+ void *arg)
+{
+ printf ("module: %30s %08" PRIx64 " %s %" PRIx64 " (%s)\n",
+ name, base, dw == NULL ? "no" : "DWARF", bias, dwfl_errmsg (-1));
+
+ if (dw != NULL && *(const bool *) arg)
+ {
+ Dwarf_Off off = 0;
+ size_t cuhl;
+ Dwarf_Off noff;
+
+ while (dwarf_nextcu (dw, off, &noff, &cuhl, NULL, NULL, NULL) == 0)
+ {
+ Dwarf_Die die_mem;
+ struct info info = { dwarf_offdie (dw, off + cuhl, &die_mem), bias };
+ (void) dwarf_getfuncs (info.cudie, print_func, &info, 0);
+
+ off = noff;
+ }
+ }
+
+ return DWARF_CB_OK;
+}
+
+static bool show_functions;
+
+/* gettext helper macro. */
+#undef N_
+#define N_(Str) Str
+
+static const struct argp_option options[] =
+ {
+ { "functions", 'f', NULL, 0, N_("Additionally show function names"), 0 },
+ { "inlines", 'i', NULL, 0, N_("Show instances of inlined functions"), 0 },
+ { NULL, 0, NULL, 0, NULL, 0 }
+ };
+
+static error_t
+parse_opt (int key, char *arg __attribute__ ((unused)),
+ struct argp_state *state __attribute__ ((unused)))
+{
+ switch (key)
+ {
+ case ARGP_KEY_INIT:
+ state->child_inputs[0] = state->input;
+ break;
+
+ case 'f':
+ show_functions = true;
+ break;
+
+ case 'i':
+ show_inlines = show_functions = true;
+ break;
+
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+ return 0;
+}
+
+int
+main (int argc, char **argv)
+{
+ /* We use no threads here which can interfere with handling a stream. */
+ (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ Dwfl *dwfl = NULL;
+ const struct argp_child argp_children[] =
+ {
+ { .argp = dwfl_standard_argp () },
+ { .argp = NULL }
+ };
+ const struct argp argp =
+ {
+ options, parse_opt, NULL, NULL, argp_children, NULL, NULL
+ };
+ (void) argp_parse (&argp, argc, argv, 0, NULL, &dwfl);
+ assert (dwfl != NULL);
+
+ ptrdiff_t p = 0;
+ do
+ p = dwfl_getmodules (dwfl, &list_module, NULL, p);
+ while (p > 0);
+ if (p < 0)
+ error (2, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1));
+
+ do
+ p = dwfl_getdwarf (dwfl, &print_module, &show_functions, p);
+ while (p > 0);
+ if (p < 0)
+ error (2, 0, "dwfl_getdwarf: %s", dwfl_errmsg (-1));
+
+ p = 0;
+ do
+ p = dwfl_getmodules (dwfl, &list_module, NULL, p);
+ while (p > 0);
+ if (p < 0)
+ error (2, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1));
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/early-offscn.c b/tests/early-offscn.c
new file mode 100644
index 00000000..8778d506
--- /dev/null
+++ b/tests/early-offscn.c
@@ -0,0 +1,60 @@
+/* Copyright (C) 2008 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <errno.h>
+#include <error.h>
+#include <fcntl.h>
+#include <gelf.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main (int argc, char *argv[])
+{
+ if (argc < 2)
+ error (1, 0, "Usage: %s FILE OFFSET", argv[0]);
+
+ /* Set the ELF version. */
+ elf_version (EV_CURRENT);
+
+ /* Open the archive. */
+ int fd = open (argv[1], O_RDONLY);
+ if (fd < 0)
+ error (1, errno, "cannot open '%s'", argv[1]);
+
+ Elf *elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ error (2, 0, "elf_begin: %s", elf_errmsg (-1));
+
+ Elf_Scn *scn = gelf_offscn (elf, strtoull (argv[2], NULL, 0));
+ if (scn == NULL)
+ error (3, 0, "gelf_offscn: %s", elf_errmsg (-1));
+
+ elf_end (elf);
+ return 0;
+}
diff --git a/tests/ecp.c b/tests/ecp.c
index 15bc71cc..9d0a706e 100644
--- a/tests/ecp.c
+++ b/tests/ecp.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <errno.h>
#include <error.h>
@@ -82,7 +94,10 @@ main (int argc, char *argv[])
if (elf_update (outelf, ELF_C_WRITE) == -1)
error (EXIT_FAILURE, 0, "elf_update failed: %s", elf_errmsg (-1));
+ elf_end (outelf);
close (outfd);
+ elf_end (inelf);
+
return 0;
}
diff --git a/tests/find-prologues.c b/tests/find-prologues.c
new file mode 100644
index 00000000..c0e73d0d
--- /dev/null
+++ b/tests/find-prologues.c
@@ -0,0 +1,116 @@
+/* Test program for dwarf_entry_breakpoints.
+ Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+#include <argp.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <error.h>
+#include <string.h>
+#include <fnmatch.h>
+
+
+struct args
+{
+ Dwfl *dwfl;
+ Dwarf_Die *cu;
+ Dwarf_Addr dwbias;
+ char **argv;
+};
+
+static int
+handle_function (Dwarf_Die *func, void *arg)
+{
+ struct args *a = arg;
+
+ const char *name = dwarf_diename (func);
+ char **argv = a->argv;
+ if (argv[0] != NULL)
+ {
+ bool match;
+ do
+ match = fnmatch (*argv, name, 0) == 0;
+ while (!match && *++argv);
+ if (!match)
+ return 0;
+ }
+
+ if (dwarf_func_inline (func))
+ return 0;
+
+ Dwarf_Addr entrypc;
+ if (dwarf_entrypc (func, &entrypc) != 0)
+ error (EXIT_FAILURE, 0, "dwarf_entrypc: %s: %s",
+ dwarf_diename (func), dwarf_errmsg (-1));
+ entrypc += a->dwbias;
+
+ printf ("%-16s %#.16" PRIx64, dwarf_diename (func), entrypc);
+
+ Dwarf_Addr *bkpts = NULL;
+ int result = dwarf_entry_breakpoints (func, &bkpts);
+ if (result <= 0)
+ printf ("\t%s\n", dwarf_errmsg (-1));
+ else
+ {
+ for (int i = 0; i < result; ++i)
+ printf (" %#.16" PRIx64 "%s", bkpts[i] + a->dwbias,
+ i == result - 1 ? "\n" : "");
+ free (bkpts);
+ }
+
+ return 0;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ int remaining;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ struct args a = { .dwfl = NULL, .cu = NULL };
+
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining,
+ &a.dwfl);
+ assert (a.dwfl != NULL);
+ a.argv = &argv[remaining];
+
+ int result = 0;
+
+ while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL)
+ dwarf_getfuncs (a.cu, &handle_function, &a, 0);
+
+ dwfl_end (a.dwfl);
+
+ return result;
+}
diff --git a/tests/funcretval.c b/tests/funcretval.c
new file mode 100644
index 00000000..3a8750f6
--- /dev/null
+++ b/tests/funcretval.c
@@ -0,0 +1,114 @@
+/* Test program for dwfl_module_return_value_location.
+ Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+#include <argp.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <error.h>
+#include <string.h>
+#include <fnmatch.h>
+
+
+struct args
+{
+ Dwfl *dwfl;
+ Dwarf_Die *cu;
+ Dwarf_Addr dwbias;
+ char **argv;
+};
+
+static int
+handle_function (Dwarf_Die *funcdie, void *arg)
+{
+ struct args *a = arg;
+
+ const char *name = dwarf_diename (funcdie);
+ char **argv = a->argv;
+ if (argv[0] != NULL)
+ {
+ bool match;
+ do
+ match = fnmatch (*argv, name, 0) == 0;
+ while (!match && *++argv);
+ if (!match)
+ return 0;
+ }
+
+ printf ("(%s) %s: ", dwfl_module_info (dwfl_cumodule (a->cu), NULL,
+ NULL, NULL,
+ NULL, NULL,
+ NULL, NULL), name);
+
+ const Dwarf_Op *locops;
+ int nlocops = dwfl_module_return_value_location (dwfl_cumodule (a->cu),
+ funcdie, &locops);
+ if (nlocops < 0)
+ error (EXIT_FAILURE, 0, "dwfl_module_return_value_location: %s",
+ dwfl_errmsg (-1));
+ else if (nlocops == 0)
+ puts ("returns no value");
+ else
+ {
+ printf ("return value location:");
+ for (int i = 0; i < nlocops; ++i)
+ printf (" {%#x, %#" PRIx64 "}", locops[i].atom, locops[i].number);
+ puts ("");
+ }
+
+ return 0;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ int remaining;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ struct args a = { .dwfl = NULL, .cu = NULL };
+
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining,
+ &a.dwfl);
+ assert (a.dwfl != NULL);
+ a.argv = &argv[remaining];
+
+ int result = 0;
+
+ while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL)
+ dwarf_getfuncs (a.cu, &handle_function, &a, 0);
+
+ dwfl_end (a.dwfl);
+
+ return result;
+}
diff --git a/tests/funcscopes.c b/tests/funcscopes.c
new file mode 100644
index 00000000..4b583698
--- /dev/null
+++ b/tests/funcscopes.c
@@ -0,0 +1,202 @@
+/* Test program for dwarf_getscopes.
+ Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <dwarf.h>
+#include <argp.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <error.h>
+#include <string.h>
+#include <fnmatch.h>
+
+
+static void
+paddr (const char *prefix, Dwarf_Addr addr, Dwfl_Line *line)
+{
+ const char *src;
+ int lineno, linecol;
+ if (line != NULL
+ && (src = dwfl_lineinfo (line, &addr, &lineno, &linecol,
+ NULL, NULL)) != NULL)
+ {
+ if (linecol != 0)
+ printf ("%s%#" PRIx64 " (%s:%d:%d)",
+ prefix, addr, src, lineno, linecol);
+ else
+ printf ("%s%#" PRIx64 " (%s:%d)",
+ prefix, addr, src, lineno);
+ }
+ else
+ printf ("%s%#" PRIx64, prefix, addr);
+}
+
+
+static void
+print_vars (unsigned int indent, Dwarf_Die *die)
+{
+ Dwarf_Die child;
+ if (dwarf_child (die, &child) == 0)
+ do
+ switch (dwarf_tag (&child))
+ {
+ case DW_TAG_variable:
+ case DW_TAG_formal_parameter:
+ printf ("%*s%-30s[%6" PRIx64 "]\n", indent, "",
+ dwarf_diename (&child),
+ (uint64_t) dwarf_dieoffset (&child));
+ break;
+ default:
+ break;
+ }
+ while (dwarf_siblingof (&child, &child) == 0);
+
+ Dwarf_Attribute attr_mem;
+ Dwarf_Die origin;
+ if (dwarf_hasattr (die, DW_AT_abstract_origin)
+ && dwarf_formref_die (dwarf_attr (die, DW_AT_abstract_origin, &attr_mem),
+ &origin) != NULL
+ && dwarf_child (&origin, &child) == 0)
+ do
+ switch (dwarf_tag (&child))
+ {
+ case DW_TAG_variable:
+ case DW_TAG_formal_parameter:
+ printf ("%*s%s (abstract)\n", indent, "",
+ dwarf_diename (&child));
+ break;
+ default:
+ break;
+ }
+ while (dwarf_siblingof (&child, &child) == 0);
+}
+
+
+#define INDENT 4
+
+struct args
+{
+ Dwfl *dwfl;
+ Dwarf_Die *cu;
+ Dwarf_Addr dwbias;
+ char **argv;
+};
+
+static int
+handle_function (Dwarf_Die *funcdie, void *arg)
+{
+ struct args *a = arg;
+
+ const char *name = dwarf_diename (funcdie);
+ char **argv = a->argv;
+ if (argv[0] != NULL)
+ {
+ bool match;
+ do
+ match = fnmatch (*argv, name, 0) == 0;
+ while (!match && *++argv);
+ if (!match)
+ return 0;
+ }
+
+ Dwarf_Die *scopes;
+ int n = dwarf_getscopes_die (funcdie, &scopes);
+ if (n <= 0)
+ error (EXIT_FAILURE, 0, "dwarf_getscopes_die: %s", dwarf_errmsg (-1));
+ else
+ {
+ Dwarf_Addr start, end;
+ const char *fname;
+ const char *modname = dwfl_module_info (dwfl_cumodule (a->cu), NULL,
+ &start, &end,
+ NULL, NULL,
+ &fname, NULL);
+ if (modname == NULL)
+ error (EXIT_FAILURE, 0, "dwfl_module_info: %s", dwarf_errmsg (-1));
+ if (modname[0] == '\0')
+ modname = fname;
+ printf ("%s: %#" PRIx64 " .. %#" PRIx64 "\n", modname, start, end);
+
+ unsigned int indent = 0;
+ while (n-- > 0)
+ {
+ Dwarf_Die *const die = &scopes[n];
+
+ indent += INDENT;
+ printf ("%*s%s (%#x)", indent, "",
+ dwarf_diename (die) ?: "<unnamed>",
+ dwarf_tag (die));
+
+ Dwarf_Addr lowpc, highpc;
+ if (dwarf_lowpc (die, &lowpc) == 0
+ && dwarf_highpc (die, &highpc) == 0)
+ {
+ lowpc += a->dwbias;
+ highpc += a->dwbias;
+ Dwfl_Line *loline = dwfl_getsrc (a->dwfl, lowpc);
+ Dwfl_Line *hiline = dwfl_getsrc (a->dwfl, highpc);
+ paddr (": ", lowpc, loline);
+ if (highpc != lowpc)
+ paddr (" .. ", lowpc, hiline == loline ? NULL : hiline);
+ }
+ puts ("");
+
+ print_vars (indent + INDENT, die);
+ }
+ }
+
+ return 0;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ int remaining;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ struct args a = { .dwfl = NULL, .cu = NULL };
+
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &remaining,
+ &a.dwfl);
+ assert (a.dwfl != NULL);
+ a.argv = &argv[remaining];
+
+ int result = 0;
+
+ while ((a.cu = dwfl_nextcu (a.dwfl, a.cu, &a.dwbias)) != NULL)
+ dwarf_getfuncs (a.cu, &handle_function, &a, 0);
+
+ dwfl_end (a.dwfl);
+
+ return result;
+}
diff --git a/tests/get-aranges.c b/tests/get-aranges.c
index 1be76b2d..c6cd511a 100644
--- a/tests/get-aranges.c
+++ b/tests/get-aranges.c
@@ -1,19 +1,35 @@
/* Copyright (C) 2002, 2004 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <libelf.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <stdio.h>
#include <unistd.h>
diff --git a/tests/get-files.c b/tests/get-files.c
index 537d1eac..81daea27 100644
--- a/tests/get-files.c
+++ b/tests/get-files.c
@@ -1,19 +1,35 @@
-/* Copyright (C) 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 2002, 2004, 2005, 2007 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <libelf.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <stdio.h>
#include <unistd.h>
@@ -68,8 +84,24 @@ main (int argc, char *argv[])
break;
}
- for (int i = 0; i < nfiles; ++i)
- printf (" file[%d] = \"%s\"\n", i,
+ const char *const *dirs;
+ size_t ndirs;
+ if (dwarf_getsrcdirs (files, &dirs, &ndirs) != 0)
+ {
+ printf ("%s: cannot get include directories\n", argv[cnt]);
+ result = 1;
+ break;
+ }
+
+ if (dirs[0] == NULL)
+ puts (" dirs[0] = (null)");
+ else
+ printf (" dirs[0] = \"%s\"\n", dirs[0]);
+ for (size_t i = 1; i < ndirs; ++i)
+ printf (" dirs[%zu] = \"%s\"\n", i, dirs[i]);
+
+ for (size_t i = 0; i < nfiles; ++i)
+ printf (" file[%zu] = \"%s\"\n", i,
dwarf_filesrc (files, i, NULL, NULL));
o = ncu;
diff --git a/tests/get-lines.c b/tests/get-lines.c
index 6a8c0764..45d2c8d1 100644
--- a/tests/get-lines.c
+++ b/tests/get-lines.c
@@ -1,20 +1,36 @@
/* Copyright (C) 2002, 2004 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <inttypes.h>
#include <libelf.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <stdio.h>
#include <unistd.h>
diff --git a/tests/get-pubnames.c b/tests/get-pubnames.c
index 3523f72f..f1361c63 100644
--- a/tests/get-pubnames.c
+++ b/tests/get-pubnames.c
@@ -1,19 +1,35 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <fcntl.h>
#include <libelf.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <stdio.h>
#include <unistd.h>
@@ -21,7 +37,7 @@
static int globcnt;
static int
-callback (Dwarf *dbg, Dwarf_Global *gl, void *arg)
+callback (Dwarf *dbg, Dwarf_Global *gl, void *arg __attribute__ ((unused)))
{
int result = DWARF_CB_OK;
diff --git a/tests/hash.c b/tests/hash.c
index afe853bb..ab7efeb3 100644
--- a/tests/hash.c
+++ b/tests/hash.c
@@ -1,15 +1,27 @@
/* Copyright (C) 2002 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
-
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
diff --git a/tests/line2addr.c b/tests/line2addr.c
new file mode 100644
index 00000000..5630da3c
--- /dev/null
+++ b/tests/line2addr.c
@@ -0,0 +1,156 @@
+/* Copyright (C) 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <inttypes.h>
+#include <assert.h>
+#include ELFUTILS_HEADER(dwfl)
+#include <argp.h>
+#include <stdio.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <error.h>
+
+
+static void
+print_address (Dwfl_Module *mod, Dwarf_Addr address)
+{
+ int n = dwfl_module_relocations (mod);
+ if (n < 0)
+ error (0, 0, "dwfl_module_relocations: %s", dwfl_errmsg (-1));
+ else if (n > 0)
+ {
+ int i = dwfl_module_relocate_address (mod, &address);
+ if (i < 0)
+ error (0, 0, "dwfl_module_relocate_address: %s", dwfl_errmsg (-1));
+ else
+ {
+ const char *modname = dwfl_module_info (mod, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL);
+ const char *secname = dwfl_module_relocation_info (mod, i, NULL);
+ if (n > 1 || secname[0] != '\0')
+ printf ("%s(%s)+%#" PRIx64, modname, secname, address);
+ else
+ printf ("%s+%#" PRIx64, modname, address);
+ return;
+ }
+ }
+
+ printf ("%#" PRIx64, address);
+}
+
+
+struct args
+{
+ const char *arg;
+ char *file;
+ int line;
+};
+
+static int
+handle_module (Dwfl_Module *mod __attribute__ ((unused)),
+ void **udata __attribute__ ((unused)),
+ const char *modname, Dwarf_Addr base __attribute__ ((unused)),
+ Dwarf *dbg __attribute__ ((unused)),
+ Dwarf_Addr bias __attribute__ ((unused)), void *arg)
+{
+ const struct args *const a = arg;
+
+ Dwfl_Line **lines = NULL;
+ size_t nlines = 0;
+
+ if (dwfl_module_getsrc_file (mod, a->file, a->line, 0, &lines, &nlines) == 0)
+ {
+ for (size_t inner = 0; inner < nlines; ++inner)
+ {
+ Dwarf_Addr addr;
+ int line = a->line, col = 0;
+ const char *file = dwfl_lineinfo (lines[inner], &addr, &line, &col,
+ NULL, NULL);
+ if (file != NULL)
+ {
+ printf ("%s -> ", a->arg);
+ print_address (mod, addr);
+ if (modname[0] != '\0')
+ printf (" (%s:", modname);
+ if (strcmp (file, a->file) || line != a->line || col != 0)
+ printf (" %s%s:%d", modname[0] != '\0' ? "" : "(",
+ file, line);
+ if (col != 0)
+ printf (":%d", col);
+ if (modname[0] != '\0'
+ || strcmp (file, a->file) || line != a->line || col != 0)
+ puts (")");
+ else
+ puts ("");
+ }
+ }
+ free (lines);
+ }
+
+ return DWARF_CB_OK;
+}
+
+int
+main (int argc, char *argv[])
+{
+ int cnt;
+
+ /* Set locale. */
+ (void) setlocale (LC_ALL, "");
+
+ Dwfl *dwfl = NULL;
+ (void) argp_parse (dwfl_standard_argp (), argc, argv, 0, &cnt, &dwfl);
+ assert (dwfl != NULL);
+
+ for (; cnt < argc; ++cnt)
+ {
+ struct args a = { .arg = argv[cnt] };
+
+ switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
+ {
+ default:
+ case 0:
+ printf ("ignored %s\n", argv[cnt]);
+ continue;
+ case 1:
+ a.line = 0;
+ break;
+ case 2:
+ break;
+ }
+
+ (void) dwfl_getdwarf (dwfl, &handle_module, &a, 0);
+
+ free (a.file);
+ }
+
+ dwfl_end (dwfl);
+
+ return 0;
+}
diff --git a/tests/msg_tst.c b/tests/msg_tst.c
index 67e63c0e..db078533 100644
--- a/tests/msg_tst.c
+++ b/tests/msg_tst.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 2002 Red Hat, Inc.
+/* Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
@@ -67,9 +79,10 @@ static struct
{ ELF_E_GROUP_NOT_REL,
"only relocatable files can contain section groups" },
{ ELF_E_INVALID_PHDR,
- "program header only allowed in executables and shared objects" },
- { ELF_E_NO_PHDR,
- "file has no program header" }
+ "program header only allowed in executables, shared objects, \
+and core files" },
+ { ELF_E_NO_PHDR, "file has no program header" },
+ { ELF_E_INVALID_OFFSET, "invalid offset" }
};
diff --git a/tests/newfile.c b/tests/newfile.c
index 5efc862a..f8b132f9 100644
--- a/tests/newfile.c
+++ b/tests/newfile.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1999.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
@@ -46,7 +58,7 @@ print_ehdr (Elf32_Ehdr *ehdr)
}
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
Elf *elf;
int result = 0;
diff --git a/tests/newscn.c b/tests/newscn.c
index bc975130..56eae971 100644
--- a/tests/newscn.c
+++ b/tests/newscn.c
@@ -1,14 +1,30 @@
-/* Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include <assert.h>
#include <fcntl.h>
@@ -19,7 +35,7 @@
int
-main (int argc, char *argv[])
+main (void)
{
Elf *elf;
int fd;
diff --git a/tests/rdwrmmap.c b/tests/rdwrmmap.c
new file mode 100644
index 00000000..263be0fd
--- /dev/null
+++ b/tests/rdwrmmap.c
@@ -0,0 +1,29 @@
+#include <errno.h>
+#include <error.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <libelf.h>
+
+int
+main (int argc __attribute__ ((unused)), char *argv[])
+{
+ int fd = open (argv[1], O_RDWR);
+ if (fd < 0)
+ error (2, errno, "open: %s", argv[1]);
+
+ if (elf_version (EV_CURRENT) == EV_NONE)
+ error (1, 0, "libelf version mismatch");
+
+ Elf *elf = elf_begin (fd, ELF_C_RDWR_MMAP, NULL);
+ if (elf == NULL)
+ error (1, 0, "elf_begin: %s", elf_errmsg (-1));
+
+ if (elf_update (elf, ELF_C_WRITE) < 0)
+ error (1, 0, "elf_update: %s", elf_errmsg (-1));
+
+ elf_end (elf);
+ close (fd);
+
+ return 0;
+}
diff --git a/tests/run-addrname-test.sh b/tests/run-addrname-test.sh
new file mode 100755
index 00000000..d525523d
--- /dev/null
+++ b/tests/run-addrname-test.sh
@@ -0,0 +1,222 @@
+#! /bin/sh
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile34 testfile38 testfile41 testfile49
+
+testrun_compare ../src/addr2line -f -e testfile34 \
+ 0x08048074 0x08048075 0x08048076 \
+ 0x08049078 0x08048080 0x08049080 <<\EOF
+foo
+??:0
+bar
+??:0
+_etext
+??:0
+data1
+??:0
+??
+??:0
+_end
+??:0
+EOF
+
+testrun_compare ../src/addr2line -S -e testfile38 0x02 0x10a 0x211 0x31a <<\EOF
+t1_global_outer+0x2
+??:0
+t2_global_symbol+0x2
+??:0
+t3_global_after_0+0x1
+??:0
+(.text)+0x31a
+??:0
+EOF
+
+testrun_compare ../src/addr2line -S -e testfile41 0x1 0x104 <<\EOF
+small_global_at_large_global+0x1
+??:0
+small_global_first_at_large_global+0x1
+??:0
+EOF
+
+testfiles testfile12 testfile14
+tempfiles testmaps
+
+cat > testmaps <<EOF
+00400000-00401000 r-xp 00000000 fd:01 4006812 `pwd`/testfile14
+00500000-00501000 rw-p 00000000 fd:01 4006812 `pwd`/testfile14
+01000000-01001000 r-xp 00000000 fd:01 1234567 `pwd`/testfile12
+01100000-01011000 rw-p 00000000 fd:01 1234567 `pwd`/testfile12
+2aaaaaaab000-2aaaaaaad000 rw-p 2aaaaaaab000 00:00 0
+2aaaaaae2000-2aaaaaae3000 rw-p 2aaaaaae2000 00:00 0
+7fff61068000-7fff6107d000 rw-p 7ffffffea000 00:00 0 [stack]
+7fff611fe000-7fff61200000 r-xp 7fff611fe000 00:00 0 [vdso]
+ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
+EOF
+
+testrun_compare ../src/addr2line -S -M testmaps 0x40047c 0x10009db <<\EOF
+caller+0x14
+/home/drepper/local/elfutils-build/20050425/v.c:11
+foo+0xb
+/home/drepper/local/elfutils-build/20030710/u.c:5
+EOF
+
+# .section .text
+# nop #0
+#sizeless_foo:
+# nop #1
+# nop #2
+#sized_bar:
+# nop #3
+# nop #4
+#sizeless_baz:
+# nop #5
+# nop #6
+# .size sized_bar, . - sized_bar
+# nop #7
+# nop #8
+#sizeless_x:
+# nop #9
+# .org 0x100
+# nop #0
+# .globl global_outer
+#global_outer:
+# nop #1
+# nop #2
+# .globl global_in_global
+#global_in_global:
+# nop #3
+# nop #4
+# .size global_in_global, . - global_in_global
+#local_in_global:
+# nop #5
+# nop #6
+# .size local_in_global, . - local_in_global
+# nop #7
+# nop #8
+#.Lsizeless1:
+# nop #9
+# nop #10
+# .size global_outer, . - global_outer
+# nop #11
+# .org 0x200
+# nop #0
+#local_outer:
+# nop #1
+# nop #2
+# .globl global_in_local
+#global_in_local:
+# nop #3
+# nop #4
+# .size global_in_local, . - global_in_local
+#local_in_local:
+# nop #5
+# nop #6
+# .size local_in_local, . - local_in_local
+# nop #7
+# nop #8
+#.Lsizeless2:
+# nop #9
+# nop #10
+# .size local_outer, . - local_outer
+# nop #11
+testrun_compare ../src/addr2line -S -e testfile49 \
+ 0 1 2 3 4 5 6 7 8 9 \
+ 0x100 0x101 0x102 0x103 0x104 0x105 \
+ 0x106 0x107 0x108 0x109 0x10a 0x10b \
+ 0x200 0x201 0x202 0x203 0x204 0x205 \
+ 0x206 0x207 0x208 0x209 0x20a 0x20b <<\EOF
+(.text)+0
+??:0
+sizeless_foo
+??:0
+sizeless_foo+0x1
+??:0
+sized_bar
+??:0
+sized_bar+0x1
+??:0
+sized_bar+0x2
+??:0
+sized_bar+0x3
+??:0
+(.text)+0x7
+??:0
+(.text)+0x8
+??:0
+sizeless_x
+??:0
+sizeless_x+0xf7
+??:0
+global_outer
+??:0
+global_outer+0x1
+??:0
+global_in_global
+??:0
+global_in_global+0x1
+??:0
+global_outer+0x4
+??:0
+global_outer+0x5
+??:0
+global_outer+0x6
+??:0
+global_outer+0x7
+??:0
+global_outer+0x8
+??:0
+global_outer+0x9
+??:0
+(.text)+0x10b
+??:0
+(.text)+0x200
+??:0
+local_outer
+??:0
+local_outer+0x1
+??:0
+global_in_local
+??:0
+global_in_local+0x1
+??:0
+local_in_local
+??:0
+local_in_local+0x1
+??:0
+local_outer+0x6
+??:0
+local_outer+0x7
+??:0
+local_outer+0x8
+??:0
+local_outer+0x9
+??:0
+(.text)+0x20b
+??:0
+EOF
+
+exit 0
diff --git a/tests/run-addrscopes.sh b/tests/run-addrscopes.sh
new file mode 100755
index 00000000..d13c55df
--- /dev/null
+++ b/tests/run-addrscopes.sh
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile22
+
+testrun_compare ./addrscopes -e testfile22 0x8048353 <<\EOF
+0x8048353:
+ tests/foo.c (0x11): 0x8048348 (tests/foo.c:5) .. 0x804837e (tests/foo.c:16)
+ global [ be]
+ function (0x2e): 0x8048348 (tests/foo.c:5) .. 0x804835b (tests/foo.c:14)
+ local [ 8f]
+EOF
+
+test_cleanup
+
+testfiles testfile24
+testrun_compare ./addrscopes -e testfile24 0x804834e <<\EOF
+0x804834e:
+ inline-test.c (0x11): 0x8048348 (/home/roland/build/stock-elfutils/inline-test.c:7) .. 0x8048364 (/home/roland/build/stock-elfutils/inline-test.c:16)
+ add (0x1d): 0x804834e (/home/roland/build/stock-elfutils/inline-test.c:3) .. 0x8048350 (/home/roland/build/stock-elfutils/inline-test.c:9)
+ y [ 9d]
+ x [ a2]
+ x (abstract)
+ y (abstract)
+EOF
+
+exit 0
diff --git a/tests/run-allfcts.sh b/tests/run-allfcts.sh
new file mode 100755
index 00000000..e990a63e
--- /dev/null
+++ b/tests/run-allfcts.sh
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile testfile2 testfile8
+
+testrun_compare ./allfcts testfile testfile2 testfile8 <<\EOF
+/home/drepper/gnu/new-bu/build/ttt/m.c:5:main
+/home/drepper/gnu/new-bu/build/ttt/b.c:4:bar
+/home/drepper/gnu/new-bu/build/ttt/f.c:3:foo
+/shoggoth/drepper/b.c:4:bar
+/shoggoth/drepper/f.c:3:foo
+/shoggoth/drepper/m.c:5:main
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:107:main
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:159:print_version
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:173:parse_opt
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:201:more_help
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:217:process_file
+/usr/include/sys/stat.h:375:stat64
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:291:crc32_file
+/home/drepper/gnu/elfutils/build/src/../../src/strip.c:313:handle_elf
+EOF
+
+exit 0
diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
new file mode 100755
index 00000000..7ebaa719
--- /dev/null
+++ b/tests/run-allregs.sh
@@ -0,0 +1,2595 @@
+#! /bin/sh
+# Copyright (C) 2005, 2006, 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+regs_test()
+{
+ tempfiles good.regs
+ cat > good.regs
+ testfiles "$@"
+ for f; do testrun_compare ./allregs -e $f < good.regs; done
+ test_cleanup
+}
+
+regs_test testfile11 <<\EOF
+integer registers:
+ 0: %eax (eax), signed 32 bits
+ 1: %ecx (ecx), signed 32 bits
+ 2: %edx (edx), signed 32 bits
+ 3: %ebx (ebx), signed 32 bits
+ 4: %esp (esp), address 32 bits
+ 5: %ebp (ebp), address 32 bits
+ 6: %esi (esi), signed 32 bits
+ 7: %edi (edi), signed 32 bits
+ 8: %eip (eip), address 32 bits
+ 9: %eflags (eflags), unsigned 32 bits
+ 10: %trapno (trapno), unsigned 32 bits
+FPU-control registers:
+ 37: %fctrl (fctrl), unsigned 16 bits
+ 38: %fstat (fstat), unsigned 16 bits
+ 39: %mxcsr (mxcsr), unsigned 32 bits
+MMX registers:
+ 29: %mm0 (mm0), unsigned 64 bits
+ 30: %mm1 (mm1), unsigned 64 bits
+ 31: %mm2 (mm2), unsigned 64 bits
+ 32: %mm3 (mm3), unsigned 64 bits
+ 33: %mm4 (mm4), unsigned 64 bits
+ 34: %mm5 (mm5), unsigned 64 bits
+ 35: %mm6 (mm6), unsigned 64 bits
+ 36: %mm7 (mm7), unsigned 64 bits
+SSE registers:
+ 21: %xmm0 (xmm0), unsigned 128 bits
+ 22: %xmm1 (xmm1), unsigned 128 bits
+ 23: %xmm2 (xmm2), unsigned 128 bits
+ 24: %xmm3 (xmm3), unsigned 128 bits
+ 25: %xmm4 (xmm4), unsigned 128 bits
+ 26: %xmm5 (xmm5), unsigned 128 bits
+ 27: %xmm6 (xmm6), unsigned 128 bits
+ 28: %xmm7 (xmm7), unsigned 128 bits
+segment registers:
+ 40: %es (es), unsigned 16 bits
+ 41: %cs (cs), unsigned 16 bits
+ 42: %ss (ss), unsigned 16 bits
+ 43: %ds (ds), unsigned 16 bits
+ 44: %fs (fs), unsigned 16 bits
+ 45: %gs (gs), unsigned 16 bits
+x87 registers:
+ 11: %st0 (st0), float 80 bits
+ 12: %st1 (st1), float 80 bits
+ 13: %st2 (st2), float 80 bits
+ 14: %st3 (st3), float 80 bits
+ 15: %st4 (st4), float 80 bits
+ 16: %st5 (st5), float 80 bits
+ 17: %st6 (st6), float 80 bits
+ 18: %st7 (st7), float 80 bits
+EOF
+
+regs_test testfile12 <<\EOF
+integer registers:
+ 0: %rax (rax), signed 64 bits
+ 1: %rdx (rdx), signed 64 bits
+ 2: %rcx (rcx), signed 64 bits
+ 3: %rbx (rbx), signed 64 bits
+ 4: %rsi (rsi), signed 64 bits
+ 5: %rdi (rdi), signed 64 bits
+ 6: %rbp (rbp), address 64 bits
+ 7: %rsp (rsp), address 64 bits
+ 8: %r8 (r8), signed 64 bits
+ 9: %r9 (r9), signed 64 bits
+ 10: %r10 (r10), signed 64 bits
+ 11: %r11 (r11), signed 64 bits
+ 12: %r12 (r12), signed 64 bits
+ 13: %r13 (r13), signed 64 bits
+ 14: %r14 (r14), signed 64 bits
+ 15: %r15 (r15), signed 64 bits
+ 16: %rip (rip), address 64 bits
+ 49: %rflags (rflags), unsigned 64 bits
+MMX registers:
+ 41: %mm0 (mm0), unsigned 64 bits
+ 42: %mm1 (mm1), unsigned 64 bits
+ 43: %mm2 (mm2), unsigned 64 bits
+ 44: %mm3 (mm3), unsigned 64 bits
+ 45: %mm4 (mm4), unsigned 64 bits
+ 46: %mm5 (mm5), unsigned 64 bits
+ 47: %mm6 (mm6), unsigned 64 bits
+ 48: %mm7 (mm7), unsigned 64 bits
+SSE registers:
+ 17: %xmm0 (xmm0), unsigned 128 bits
+ 18: %xmm1 (xmm1), unsigned 128 bits
+ 19: %xmm2 (xmm2), unsigned 128 bits
+ 20: %xmm3 (xmm3), unsigned 128 bits
+ 21: %xmm4 (xmm4), unsigned 128 bits
+ 22: %xmm5 (xmm5), unsigned 128 bits
+ 23: %xmm6 (xmm6), unsigned 128 bits
+ 24: %xmm7 (xmm7), unsigned 128 bits
+ 25: %xmm8 (xmm8), unsigned 128 bits
+ 26: %xmm9 (xmm9), unsigned 128 bits
+ 27: %xmm10 (xmm10), unsigned 128 bits
+ 28: %xmm11 (xmm11), unsigned 128 bits
+ 29: %xmm12 (xmm12), unsigned 128 bits
+ 30: %xmm13 (xmm13), unsigned 128 bits
+ 31: %xmm14 (xmm14), unsigned 128 bits
+ 32: %xmm15 (xmm15), unsigned 128 bits
+control registers:
+ 62: %tr (tr), unsigned 64 bits
+ 63: %ldtr (ldtr), unsigned 64 bits
+ 64: %mxcsr (mxcsr), unsigned 64 bits
+ 65: %fcw (fcw), unsigned 16 bits
+ 66: %fsw (fsw), unsigned 16 bits
+segment registers:
+ 50: %es (es), unsigned 16 bits
+ 51: %cs (cs), unsigned 16 bits
+ 52: %ss (ss), unsigned 16 bits
+ 53: %ds (ds), unsigned 16 bits
+ 54: %fs (fs), unsigned 16 bits
+ 55: %gs (gs), unsigned 16 bits
+ 58: %fs.base (fs.base), address 64 bits
+ 59: %gs.base (gs.base), address 64 bits
+x87 registers:
+ 33: %st0 (st0), float 80 bits
+ 34: %st1 (st1), float 80 bits
+ 35: %st2 (st2), float 80 bits
+ 36: %st3 (st3), float 80 bits
+ 37: %st4 (st4), float 80 bits
+ 38: %st5 (st5), float 80 bits
+ 39: %st6 (st6), float 80 bits
+ 40: %st7 (st7), float 80 bits
+EOF
+
+regs_test testfile2 <<\EOF
+integer registers:
+ 0: r0 (r0), signed 32 bits
+ 1: r1 (r1), signed 32 bits
+ 2: r2 (r2), signed 32 bits
+ 3: r3 (r3), signed 32 bits
+ 4: r4 (r4), signed 32 bits
+ 5: r5 (r5), signed 32 bits
+ 6: r6 (r6), signed 32 bits
+ 7: r7 (r7), signed 32 bits
+ 8: r8 (r8), signed 32 bits
+ 9: r9 (r9), signed 32 bits
+ 10: r10 (r10), signed 32 bits
+ 11: r11 (r11), signed 32 bits
+ 12: r12 (r12), signed 32 bits
+ 13: r13 (r13), signed 32 bits
+ 14: r14 (r14), signed 32 bits
+ 15: r15 (r15), signed 32 bits
+ 16: r16 (r16), signed 32 bits
+ 17: r17 (r17), signed 32 bits
+ 18: r18 (r18), signed 32 bits
+ 19: r19 (r19), signed 32 bits
+ 20: r20 (r20), signed 32 bits
+ 21: r21 (r21), signed 32 bits
+ 22: r22 (r22), signed 32 bits
+ 23: r23 (r23), signed 32 bits
+ 24: r24 (r24), signed 32 bits
+ 25: r25 (r25), signed 32 bits
+ 26: r26 (r26), signed 32 bits
+ 27: r27 (r27), signed 32 bits
+ 28: r28 (r28), signed 32 bits
+ 29: r29 (r29), signed 32 bits
+ 30: r30 (r30), signed 32 bits
+ 31: r31 (r31), signed 32 bits
+ 64: cr (cr), unsigned 32 bits
+ 66: msr (msr), unsigned 32 bits
+FPU registers:
+ 32: f0 (f0), float 64 bits
+ 33: f1 (f1), float 64 bits
+ 34: f2 (f2), float 64 bits
+ 35: f3 (f3), float 64 bits
+ 36: f4 (f4), float 64 bits
+ 37: f5 (f5), float 64 bits
+ 38: f6 (f6), float 64 bits
+ 39: f7 (f7), float 64 bits
+ 40: f8 (f8), float 64 bits
+ 41: f9 (f9), float 64 bits
+ 42: f10 (f10), float 64 bits
+ 43: f11 (f11), float 64 bits
+ 44: f12 (f12), float 64 bits
+ 45: f13 (f13), float 64 bits
+ 46: f14 (f14), float 64 bits
+ 47: f15 (f15), float 64 bits
+ 48: f16 (f16), float 64 bits
+ 49: f17 (f17), float 64 bits
+ 50: f18 (f18), float 64 bits
+ 51: f19 (f19), float 64 bits
+ 52: f20 (f20), float 64 bits
+ 53: f21 (f21), float 64 bits
+ 54: f22 (f22), float 64 bits
+ 55: f23 (f23), float 64 bits
+ 56: f24 (f24), float 64 bits
+ 57: f25 (f25), float 64 bits
+ 58: f26 (f26), float 64 bits
+ 59: f27 (f27), float 64 bits
+ 60: f28 (f28), float 64 bits
+ 61: f29 (f29), float 64 bits
+ 62: f30 (f30), float 64 bits
+ 63: f31 (f31), float 64 bits
+ 65: fpscr (fpscr), unsigned 32 bits
+privileged registers:
+ 70: sr0 (sr0), unsigned 32 bits
+ 71: sr1 (sr1), unsigned 32 bits
+ 72: sr2 (sr2), unsigned 32 bits
+ 73: sr3 (sr3), unsigned 32 bits
+ 74: sr4 (sr4), unsigned 32 bits
+ 75: sr5 (sr5), unsigned 32 bits
+ 76: sr6 (sr6), unsigned 32 bits
+ 77: sr7 (sr7), unsigned 32 bits
+ 78: sr8 (sr8), unsigned 32 bits
+ 79: sr9 (sr9), unsigned 32 bits
+ 80: sr10 (sr10), unsigned 32 bits
+ 81: sr11 (sr11), unsigned 32 bits
+ 82: sr12 (sr12), unsigned 32 bits
+ 83: sr13 (sr13), unsigned 32 bits
+ 84: sr14 (sr14), unsigned 32 bits
+ 85: sr15 (sr15), unsigned 32 bits
+ 100: mq (mq), unsigned 32 bits
+ 101: xer (xer), unsigned 32 bits
+ 102: spr2 (spr2), unsigned 32 bits
+ 103: spr3 (spr3), unsigned 32 bits
+ 104: spr4 (spr4), unsigned 32 bits
+ 105: spr5 (spr5), unsigned 32 bits
+ 106: spr6 (spr6), unsigned 32 bits
+ 107: spr7 (spr7), unsigned 32 bits
+ 108: lr (lr), unsigned 32 bits
+ 109: ctr (ctr), unsigned 32 bits
+ 110: spr10 (spr10), unsigned 32 bits
+ 111: spr11 (spr11), unsigned 32 bits
+ 112: spr12 (spr12), unsigned 32 bits
+ 113: spr13 (spr13), unsigned 32 bits
+ 114: spr14 (spr14), unsigned 32 bits
+ 115: spr15 (spr15), unsigned 32 bits
+ 116: spr16 (spr16), unsigned 32 bits
+ 117: spr17 (spr17), unsigned 32 bits
+ 118: dsisr (dsisr), unsigned 32 bits
+ 119: dar (dar), unsigned 32 bits
+ 120: spr20 (spr20), unsigned 32 bits
+ 121: spr21 (spr21), unsigned 32 bits
+ 122: dec (dec), unsigned 32 bits
+ 123: spr23 (spr23), unsigned 32 bits
+ 124: spr24 (spr24), unsigned 32 bits
+ 125: spr25 (spr25), unsigned 32 bits
+ 126: spr26 (spr26), unsigned 32 bits
+ 127: spr27 (spr27), unsigned 32 bits
+ 128: spr28 (spr28), unsigned 32 bits
+ 129: spr29 (spr29), unsigned 32 bits
+ 130: spr30 (spr30), unsigned 32 bits
+ 131: spr31 (spr31), unsigned 32 bits
+ 132: spr32 (spr32), unsigned 32 bits
+ 133: spr33 (spr33), unsigned 32 bits
+ 134: spr34 (spr34), unsigned 32 bits
+ 135: spr35 (spr35), unsigned 32 bits
+ 136: spr36 (spr36), unsigned 32 bits
+ 137: spr37 (spr37), unsigned 32 bits
+ 138: spr38 (spr38), unsigned 32 bits
+ 139: spr39 (spr39), unsigned 32 bits
+ 140: spr40 (spr40), unsigned 32 bits
+ 141: spr41 (spr41), unsigned 32 bits
+ 142: spr42 (spr42), unsigned 32 bits
+ 143: spr43 (spr43), unsigned 32 bits
+ 144: spr44 (spr44), unsigned 32 bits
+ 145: spr45 (spr45), unsigned 32 bits
+ 146: spr46 (spr46), unsigned 32 bits
+ 147: spr47 (spr47), unsigned 32 bits
+ 148: spr48 (spr48), unsigned 32 bits
+ 149: spr49 (spr49), unsigned 32 bits
+ 150: spr50 (spr50), unsigned 32 bits
+ 151: spr51 (spr51), unsigned 32 bits
+ 152: spr52 (spr52), unsigned 32 bits
+ 153: spr53 (spr53), unsigned 32 bits
+ 154: spr54 (spr54), unsigned 32 bits
+ 155: spr55 (spr55), unsigned 32 bits
+ 156: spr56 (spr56), unsigned 32 bits
+ 157: spr57 (spr57), unsigned 32 bits
+ 158: spr58 (spr58), unsigned 32 bits
+ 159: spr59 (spr59), unsigned 32 bits
+ 160: spr60 (spr60), unsigned 32 bits
+ 161: spr61 (spr61), unsigned 32 bits
+ 162: spr62 (spr62), unsigned 32 bits
+ 163: spr63 (spr63), unsigned 32 bits
+ 164: spr64 (spr64), unsigned 32 bits
+ 165: spr65 (spr65), unsigned 32 bits
+ 166: spr66 (spr66), unsigned 32 bits
+ 167: spr67 (spr67), unsigned 32 bits
+ 168: spr68 (spr68), unsigned 32 bits
+ 169: spr69 (spr69), unsigned 32 bits
+ 170: spr70 (spr70), unsigned 32 bits
+ 171: spr71 (spr71), unsigned 32 bits
+ 172: spr72 (spr72), unsigned 32 bits
+ 173: spr73 (spr73), unsigned 32 bits
+ 174: spr74 (spr74), unsigned 32 bits
+ 175: spr75 (spr75), unsigned 32 bits
+ 176: spr76 (spr76), unsigned 32 bits
+ 177: spr77 (spr77), unsigned 32 bits
+ 178: spr78 (spr78), unsigned 32 bits
+ 179: spr79 (spr79), unsigned 32 bits
+ 180: spr80 (spr80), unsigned 32 bits
+ 181: spr81 (spr81), unsigned 32 bits
+ 182: spr82 (spr82), unsigned 32 bits
+ 183: spr83 (spr83), unsigned 32 bits
+ 184: spr84 (spr84), unsigned 32 bits
+ 185: spr85 (spr85), unsigned 32 bits
+ 186: spr86 (spr86), unsigned 32 bits
+ 187: spr87 (spr87), unsigned 32 bits
+ 188: spr88 (spr88), unsigned 32 bits
+ 189: spr89 (spr89), unsigned 32 bits
+ 190: spr90 (spr90), unsigned 32 bits
+ 191: spr91 (spr91), unsigned 32 bits
+ 192: spr92 (spr92), unsigned 32 bits
+ 193: spr93 (spr93), unsigned 32 bits
+ 194: spr94 (spr94), unsigned 32 bits
+ 195: spr95 (spr95), unsigned 32 bits
+ 196: spr96 (spr96), unsigned 32 bits
+ 197: spr97 (spr97), unsigned 32 bits
+ 198: spr98 (spr98), unsigned 32 bits
+ 199: spr99 (spr99), unsigned 32 bits
+ 200: spr100 (spr100), unsigned 32 bits
+ 201: spr101 (spr101), unsigned 32 bits
+ 202: spr102 (spr102), unsigned 32 bits
+ 203: spr103 (spr103), unsigned 32 bits
+ 204: spr104 (spr104), unsigned 32 bits
+ 205: spr105 (spr105), unsigned 32 bits
+ 206: spr106 (spr106), unsigned 32 bits
+ 207: spr107 (spr107), unsigned 32 bits
+ 208: spr108 (spr108), unsigned 32 bits
+ 209: spr109 (spr109), unsigned 32 bits
+ 210: spr110 (spr110), unsigned 32 bits
+ 211: spr111 (spr111), unsigned 32 bits
+ 212: spr112 (spr112), unsigned 32 bits
+ 213: spr113 (spr113), unsigned 32 bits
+ 214: spr114 (spr114), unsigned 32 bits
+ 215: spr115 (spr115), unsigned 32 bits
+ 216: spr116 (spr116), unsigned 32 bits
+ 217: spr117 (spr117), unsigned 32 bits
+ 218: spr118 (spr118), unsigned 32 bits
+ 219: spr119 (spr119), unsigned 32 bits
+ 220: spr120 (spr120), unsigned 32 bits
+ 221: spr121 (spr121), unsigned 32 bits
+ 222: spr122 (spr122), unsigned 32 bits
+ 223: spr123 (spr123), unsigned 32 bits
+ 224: spr124 (spr124), unsigned 32 bits
+ 225: spr125 (spr125), unsigned 32 bits
+ 226: spr126 (spr126), unsigned 32 bits
+ 227: spr127 (spr127), unsigned 32 bits
+ 228: spr128 (spr128), unsigned 32 bits
+ 229: spr129 (spr129), unsigned 32 bits
+ 230: spr130 (spr130), unsigned 32 bits
+ 231: spr131 (spr131), unsigned 32 bits
+ 232: spr132 (spr132), unsigned 32 bits
+ 233: spr133 (spr133), unsigned 32 bits
+ 234: spr134 (spr134), unsigned 32 bits
+ 235: spr135 (spr135), unsigned 32 bits
+ 236: spr136 (spr136), unsigned 32 bits
+ 237: spr137 (spr137), unsigned 32 bits
+ 238: spr138 (spr138), unsigned 32 bits
+ 239: spr139 (spr139), unsigned 32 bits
+ 240: spr140 (spr140), unsigned 32 bits
+ 241: spr141 (spr141), unsigned 32 bits
+ 242: spr142 (spr142), unsigned 32 bits
+ 243: spr143 (spr143), unsigned 32 bits
+ 244: spr144 (spr144), unsigned 32 bits
+ 245: spr145 (spr145), unsigned 32 bits
+ 246: spr146 (spr146), unsigned 32 bits
+ 247: spr147 (spr147), unsigned 32 bits
+ 248: spr148 (spr148), unsigned 32 bits
+ 249: spr149 (spr149), unsigned 32 bits
+ 250: spr150 (spr150), unsigned 32 bits
+ 251: spr151 (spr151), unsigned 32 bits
+ 252: spr152 (spr152), unsigned 32 bits
+ 253: spr153 (spr153), unsigned 32 bits
+ 254: spr154 (spr154), unsigned 32 bits
+ 255: spr155 (spr155), unsigned 32 bits
+ 256: spr156 (spr156), unsigned 32 bits
+ 257: spr157 (spr157), unsigned 32 bits
+ 258: spr158 (spr158), unsigned 32 bits
+ 259: spr159 (spr159), unsigned 32 bits
+ 260: spr160 (spr160), unsigned 32 bits
+ 261: spr161 (spr161), unsigned 32 bits
+ 262: spr162 (spr162), unsigned 32 bits
+ 263: spr163 (spr163), unsigned 32 bits
+ 264: spr164 (spr164), unsigned 32 bits
+ 265: spr165 (spr165), unsigned 32 bits
+ 266: spr166 (spr166), unsigned 32 bits
+ 267: spr167 (spr167), unsigned 32 bits
+ 268: spr168 (spr168), unsigned 32 bits
+ 269: spr169 (spr169), unsigned 32 bits
+ 270: spr170 (spr170), unsigned 32 bits
+ 271: spr171 (spr171), unsigned 32 bits
+ 272: spr172 (spr172), unsigned 32 bits
+ 273: spr173 (spr173), unsigned 32 bits
+ 274: spr174 (spr174), unsigned 32 bits
+ 275: spr175 (spr175), unsigned 32 bits
+ 276: spr176 (spr176), unsigned 32 bits
+ 277: spr177 (spr177), unsigned 32 bits
+ 278: spr178 (spr178), unsigned 32 bits
+ 279: spr179 (spr179), unsigned 32 bits
+ 280: spr180 (spr180), unsigned 32 bits
+ 281: spr181 (spr181), unsigned 32 bits
+ 282: spr182 (spr182), unsigned 32 bits
+ 283: spr183 (spr183), unsigned 32 bits
+ 284: spr184 (spr184), unsigned 32 bits
+ 285: spr185 (spr185), unsigned 32 bits
+ 286: spr186 (spr186), unsigned 32 bits
+ 287: spr187 (spr187), unsigned 32 bits
+ 288: spr188 (spr188), unsigned 32 bits
+ 289: spr189 (spr189), unsigned 32 bits
+ 290: spr190 (spr190), unsigned 32 bits
+ 291: spr191 (spr191), unsigned 32 bits
+ 292: spr192 (spr192), unsigned 32 bits
+ 293: spr193 (spr193), unsigned 32 bits
+ 294: spr194 (spr194), unsigned 32 bits
+ 295: spr195 (spr195), unsigned 32 bits
+ 296: spr196 (spr196), unsigned 32 bits
+ 297: spr197 (spr197), unsigned 32 bits
+ 298: spr198 (spr198), unsigned 32 bits
+ 299: spr199 (spr199), unsigned 32 bits
+ 300: spr200 (spr200), unsigned 32 bits
+ 301: spr201 (spr201), unsigned 32 bits
+ 302: spr202 (spr202), unsigned 32 bits
+ 303: spr203 (spr203), unsigned 32 bits
+ 304: spr204 (spr204), unsigned 32 bits
+ 305: spr205 (spr205), unsigned 32 bits
+ 306: spr206 (spr206), unsigned 32 bits
+ 307: spr207 (spr207), unsigned 32 bits
+ 308: spr208 (spr208), unsigned 32 bits
+ 309: spr209 (spr209), unsigned 32 bits
+ 310: spr210 (spr210), unsigned 32 bits
+ 311: spr211 (spr211), unsigned 32 bits
+ 312: spr212 (spr212), unsigned 32 bits
+ 313: spr213 (spr213), unsigned 32 bits
+ 314: spr214 (spr214), unsigned 32 bits
+ 315: spr215 (spr215), unsigned 32 bits
+ 316: spr216 (spr216), unsigned 32 bits
+ 317: spr217 (spr217), unsigned 32 bits
+ 318: spr218 (spr218), unsigned 32 bits
+ 319: spr219 (spr219), unsigned 32 bits
+ 320: spr220 (spr220), unsigned 32 bits
+ 321: spr221 (spr221), unsigned 32 bits
+ 322: spr222 (spr222), unsigned 32 bits
+ 323: spr223 (spr223), unsigned 32 bits
+ 324: spr224 (spr224), unsigned 32 bits
+ 325: spr225 (spr225), unsigned 32 bits
+ 326: spr226 (spr226), unsigned 32 bits
+ 327: spr227 (spr227), unsigned 32 bits
+ 328: spr228 (spr228), unsigned 32 bits
+ 329: spr229 (spr229), unsigned 32 bits
+ 330: spr230 (spr230), unsigned 32 bits
+ 331: spr231 (spr231), unsigned 32 bits
+ 332: spr232 (spr232), unsigned 32 bits
+ 333: spr233 (spr233), unsigned 32 bits
+ 334: spr234 (spr234), unsigned 32 bits
+ 335: spr235 (spr235), unsigned 32 bits
+ 336: spr236 (spr236), unsigned 32 bits
+ 337: spr237 (spr237), unsigned 32 bits
+ 338: spr238 (spr238), unsigned 32 bits
+ 339: spr239 (spr239), unsigned 32 bits
+ 340: spr240 (spr240), unsigned 32 bits
+ 341: spr241 (spr241), unsigned 32 bits
+ 342: spr242 (spr242), unsigned 32 bits
+ 343: spr243 (spr243), unsigned 32 bits
+ 344: spr244 (spr244), unsigned 32 bits
+ 345: spr245 (spr245), unsigned 32 bits
+ 346: spr246 (spr246), unsigned 32 bits
+ 347: spr247 (spr247), unsigned 32 bits
+ 348: spr248 (spr248), unsigned 32 bits
+ 349: spr249 (spr249), unsigned 32 bits
+ 350: spr250 (spr250), unsigned 32 bits
+ 351: spr251 (spr251), unsigned 32 bits
+ 352: spr252 (spr252), unsigned 32 bits
+ 353: spr253 (spr253), unsigned 32 bits
+ 354: spr254 (spr254), unsigned 32 bits
+ 355: spr255 (spr255), unsigned 32 bits
+ 357: spr257 (spr257), unsigned 32 bits
+ 358: spr258 (spr258), unsigned 32 bits
+ 359: spr259 (spr259), unsigned 32 bits
+ 360: spr260 (spr260), unsigned 32 bits
+ 361: spr261 (spr261), unsigned 32 bits
+ 362: spr262 (spr262), unsigned 32 bits
+ 363: spr263 (spr263), unsigned 32 bits
+ 364: spr264 (spr264), unsigned 32 bits
+ 365: spr265 (spr265), unsigned 32 bits
+ 366: spr266 (spr266), unsigned 32 bits
+ 367: spr267 (spr267), unsigned 32 bits
+ 368: spr268 (spr268), unsigned 32 bits
+ 369: spr269 (spr269), unsigned 32 bits
+ 370: spr270 (spr270), unsigned 32 bits
+ 371: spr271 (spr271), unsigned 32 bits
+ 372: spr272 (spr272), unsigned 32 bits
+ 373: spr273 (spr273), unsigned 32 bits
+ 374: spr274 (spr274), unsigned 32 bits
+ 375: spr275 (spr275), unsigned 32 bits
+ 376: spr276 (spr276), unsigned 32 bits
+ 377: spr277 (spr277), unsigned 32 bits
+ 378: spr278 (spr278), unsigned 32 bits
+ 379: spr279 (spr279), unsigned 32 bits
+ 380: spr280 (spr280), unsigned 32 bits
+ 381: spr281 (spr281), unsigned 32 bits
+ 382: spr282 (spr282), unsigned 32 bits
+ 383: spr283 (spr283), unsigned 32 bits
+ 384: spr284 (spr284), unsigned 32 bits
+ 385: spr285 (spr285), unsigned 32 bits
+ 386: spr286 (spr286), unsigned 32 bits
+ 387: spr287 (spr287), unsigned 32 bits
+ 388: spr288 (spr288), unsigned 32 bits
+ 389: spr289 (spr289), unsigned 32 bits
+ 390: spr290 (spr290), unsigned 32 bits
+ 391: spr291 (spr291), unsigned 32 bits
+ 392: spr292 (spr292), unsigned 32 bits
+ 393: spr293 (spr293), unsigned 32 bits
+ 394: spr294 (spr294), unsigned 32 bits
+ 395: spr295 (spr295), unsigned 32 bits
+ 396: spr296 (spr296), unsigned 32 bits
+ 397: spr297 (spr297), unsigned 32 bits
+ 398: spr298 (spr298), unsigned 32 bits
+ 399: spr299 (spr299), unsigned 32 bits
+ 400: spr300 (spr300), unsigned 32 bits
+ 401: spr301 (spr301), unsigned 32 bits
+ 402: spr302 (spr302), unsigned 32 bits
+ 403: spr303 (spr303), unsigned 32 bits
+ 404: spr304 (spr304), unsigned 32 bits
+ 405: spr305 (spr305), unsigned 32 bits
+ 406: spr306 (spr306), unsigned 32 bits
+ 407: spr307 (spr307), unsigned 32 bits
+ 408: spr308 (spr308), unsigned 32 bits
+ 409: spr309 (spr309), unsigned 32 bits
+ 410: spr310 (spr310), unsigned 32 bits
+ 411: spr311 (spr311), unsigned 32 bits
+ 412: spr312 (spr312), unsigned 32 bits
+ 413: spr313 (spr313), unsigned 32 bits
+ 414: spr314 (spr314), unsigned 32 bits
+ 415: spr315 (spr315), unsigned 32 bits
+ 416: spr316 (spr316), unsigned 32 bits
+ 417: spr317 (spr317), unsigned 32 bits
+ 418: spr318 (spr318), unsigned 32 bits
+ 419: spr319 (spr319), unsigned 32 bits
+ 420: spr320 (spr320), unsigned 32 bits
+ 421: spr321 (spr321), unsigned 32 bits
+ 422: spr322 (spr322), unsigned 32 bits
+ 423: spr323 (spr323), unsigned 32 bits
+ 424: spr324 (spr324), unsigned 32 bits
+ 425: spr325 (spr325), unsigned 32 bits
+ 426: spr326 (spr326), unsigned 32 bits
+ 427: spr327 (spr327), unsigned 32 bits
+ 428: spr328 (spr328), unsigned 32 bits
+ 429: spr329 (spr329), unsigned 32 bits
+ 430: spr330 (spr330), unsigned 32 bits
+ 431: spr331 (spr331), unsigned 32 bits
+ 432: spr332 (spr332), unsigned 32 bits
+ 433: spr333 (spr333), unsigned 32 bits
+ 434: spr334 (spr334), unsigned 32 bits
+ 435: spr335 (spr335), unsigned 32 bits
+ 436: spr336 (spr336), unsigned 32 bits
+ 437: spr337 (spr337), unsigned 32 bits
+ 438: spr338 (spr338), unsigned 32 bits
+ 439: spr339 (spr339), unsigned 32 bits
+ 440: spr340 (spr340), unsigned 32 bits
+ 441: spr341 (spr341), unsigned 32 bits
+ 442: spr342 (spr342), unsigned 32 bits
+ 443: spr343 (spr343), unsigned 32 bits
+ 444: spr344 (spr344), unsigned 32 bits
+ 445: spr345 (spr345), unsigned 32 bits
+ 446: spr346 (spr346), unsigned 32 bits
+ 447: spr347 (spr347), unsigned 32 bits
+ 448: spr348 (spr348), unsigned 32 bits
+ 449: spr349 (spr349), unsigned 32 bits
+ 450: spr350 (spr350), unsigned 32 bits
+ 451: spr351 (spr351), unsigned 32 bits
+ 452: spr352 (spr352), unsigned 32 bits
+ 453: spr353 (spr353), unsigned 32 bits
+ 454: spr354 (spr354), unsigned 32 bits
+ 455: spr355 (spr355), unsigned 32 bits
+ 456: spr356 (spr356), unsigned 32 bits
+ 457: spr357 (spr357), unsigned 32 bits
+ 458: spr358 (spr358), unsigned 32 bits
+ 459: spr359 (spr359), unsigned 32 bits
+ 460: spr360 (spr360), unsigned 32 bits
+ 461: spr361 (spr361), unsigned 32 bits
+ 462: spr362 (spr362), unsigned 32 bits
+ 463: spr363 (spr363), unsigned 32 bits
+ 464: spr364 (spr364), unsigned 32 bits
+ 465: spr365 (spr365), unsigned 32 bits
+ 466: spr366 (spr366), unsigned 32 bits
+ 467: spr367 (spr367), unsigned 32 bits
+ 468: spr368 (spr368), unsigned 32 bits
+ 469: spr369 (spr369), unsigned 32 bits
+ 470: spr370 (spr370), unsigned 32 bits
+ 471: spr371 (spr371), unsigned 32 bits
+ 472: spr372 (spr372), unsigned 32 bits
+ 473: spr373 (spr373), unsigned 32 bits
+ 474: spr374 (spr374), unsigned 32 bits
+ 475: spr375 (spr375), unsigned 32 bits
+ 476: spr376 (spr376), unsigned 32 bits
+ 477: spr377 (spr377), unsigned 32 bits
+ 478: spr378 (spr378), unsigned 32 bits
+ 479: spr379 (spr379), unsigned 32 bits
+ 480: spr380 (spr380), unsigned 32 bits
+ 481: spr381 (spr381), unsigned 32 bits
+ 482: spr382 (spr382), unsigned 32 bits
+ 483: spr383 (spr383), unsigned 32 bits
+ 484: spr384 (spr384), unsigned 32 bits
+ 485: spr385 (spr385), unsigned 32 bits
+ 486: spr386 (spr386), unsigned 32 bits
+ 487: spr387 (spr387), unsigned 32 bits
+ 488: spr388 (spr388), unsigned 32 bits
+ 489: spr389 (spr389), unsigned 32 bits
+ 490: spr390 (spr390), unsigned 32 bits
+ 491: spr391 (spr391), unsigned 32 bits
+ 492: spr392 (spr392), unsigned 32 bits
+ 493: spr393 (spr393), unsigned 32 bits
+ 494: spr394 (spr394), unsigned 32 bits
+ 495: spr395 (spr395), unsigned 32 bits
+ 496: spr396 (spr396), unsigned 32 bits
+ 497: spr397 (spr397), unsigned 32 bits
+ 498: spr398 (spr398), unsigned 32 bits
+ 499: spr399 (spr399), unsigned 32 bits
+ 500: spr400 (spr400), unsigned 32 bits
+ 501: spr401 (spr401), unsigned 32 bits
+ 502: spr402 (spr402), unsigned 32 bits
+ 503: spr403 (spr403), unsigned 32 bits
+ 504: spr404 (spr404), unsigned 32 bits
+ 505: spr405 (spr405), unsigned 32 bits
+ 506: spr406 (spr406), unsigned 32 bits
+ 507: spr407 (spr407), unsigned 32 bits
+ 508: spr408 (spr408), unsigned 32 bits
+ 509: spr409 (spr409), unsigned 32 bits
+ 510: spr410 (spr410), unsigned 32 bits
+ 511: spr411 (spr411), unsigned 32 bits
+ 512: spr412 (spr412), unsigned 32 bits
+ 513: spr413 (spr413), unsigned 32 bits
+ 514: spr414 (spr414), unsigned 32 bits
+ 515: spr415 (spr415), unsigned 32 bits
+ 516: spr416 (spr416), unsigned 32 bits
+ 517: spr417 (spr417), unsigned 32 bits
+ 518: spr418 (spr418), unsigned 32 bits
+ 519: spr419 (spr419), unsigned 32 bits
+ 520: spr420 (spr420), unsigned 32 bits
+ 521: spr421 (spr421), unsigned 32 bits
+ 522: spr422 (spr422), unsigned 32 bits
+ 523: spr423 (spr423), unsigned 32 bits
+ 524: spr424 (spr424), unsigned 32 bits
+ 525: spr425 (spr425), unsigned 32 bits
+ 526: spr426 (spr426), unsigned 32 bits
+ 527: spr427 (spr427), unsigned 32 bits
+ 528: spr428 (spr428), unsigned 32 bits
+ 529: spr429 (spr429), unsigned 32 bits
+ 530: spr430 (spr430), unsigned 32 bits
+ 531: spr431 (spr431), unsigned 32 bits
+ 532: spr432 (spr432), unsigned 32 bits
+ 533: spr433 (spr433), unsigned 32 bits
+ 534: spr434 (spr434), unsigned 32 bits
+ 535: spr435 (spr435), unsigned 32 bits
+ 536: spr436 (spr436), unsigned 32 bits
+ 537: spr437 (spr437), unsigned 32 bits
+ 538: spr438 (spr438), unsigned 32 bits
+ 539: spr439 (spr439), unsigned 32 bits
+ 540: spr440 (spr440), unsigned 32 bits
+ 541: spr441 (spr441), unsigned 32 bits
+ 542: spr442 (spr442), unsigned 32 bits
+ 543: spr443 (spr443), unsigned 32 bits
+ 544: spr444 (spr444), unsigned 32 bits
+ 545: spr445 (spr445), unsigned 32 bits
+ 546: spr446 (spr446), unsigned 32 bits
+ 547: spr447 (spr447), unsigned 32 bits
+ 548: spr448 (spr448), unsigned 32 bits
+ 549: spr449 (spr449), unsigned 32 bits
+ 550: spr450 (spr450), unsigned 32 bits
+ 551: spr451 (spr451), unsigned 32 bits
+ 552: spr452 (spr452), unsigned 32 bits
+ 553: spr453 (spr453), unsigned 32 bits
+ 554: spr454 (spr454), unsigned 32 bits
+ 555: spr455 (spr455), unsigned 32 bits
+ 556: spr456 (spr456), unsigned 32 bits
+ 557: spr457 (spr457), unsigned 32 bits
+ 558: spr458 (spr458), unsigned 32 bits
+ 559: spr459 (spr459), unsigned 32 bits
+ 560: spr460 (spr460), unsigned 32 bits
+ 561: spr461 (spr461), unsigned 32 bits
+ 562: spr462 (spr462), unsigned 32 bits
+ 563: spr463 (spr463), unsigned 32 bits
+ 564: spr464 (spr464), unsigned 32 bits
+ 565: spr465 (spr465), unsigned 32 bits
+ 566: spr466 (spr466), unsigned 32 bits
+ 567: spr467 (spr467), unsigned 32 bits
+ 568: spr468 (spr468), unsigned 32 bits
+ 569: spr469 (spr469), unsigned 32 bits
+ 570: spr470 (spr470), unsigned 32 bits
+ 571: spr471 (spr471), unsigned 32 bits
+ 572: spr472 (spr472), unsigned 32 bits
+ 573: spr473 (spr473), unsigned 32 bits
+ 574: spr474 (spr474), unsigned 32 bits
+ 575: spr475 (spr475), unsigned 32 bits
+ 576: spr476 (spr476), unsigned 32 bits
+ 577: spr477 (spr477), unsigned 32 bits
+ 578: spr478 (spr478), unsigned 32 bits
+ 579: spr479 (spr479), unsigned 32 bits
+ 580: spr480 (spr480), unsigned 32 bits
+ 581: spr481 (spr481), unsigned 32 bits
+ 582: spr482 (spr482), unsigned 32 bits
+ 583: spr483 (spr483), unsigned 32 bits
+ 584: spr484 (spr484), unsigned 32 bits
+ 585: spr485 (spr485), unsigned 32 bits
+ 586: spr486 (spr486), unsigned 32 bits
+ 587: spr487 (spr487), unsigned 32 bits
+ 588: spr488 (spr488), unsigned 32 bits
+ 589: spr489 (spr489), unsigned 32 bits
+ 590: spr490 (spr490), unsigned 32 bits
+ 591: spr491 (spr491), unsigned 32 bits
+ 592: spr492 (spr492), unsigned 32 bits
+ 593: spr493 (spr493), unsigned 32 bits
+ 594: spr494 (spr494), unsigned 32 bits
+ 595: spr495 (spr495), unsigned 32 bits
+ 596: spr496 (spr496), unsigned 32 bits
+ 597: spr497 (spr497), unsigned 32 bits
+ 598: spr498 (spr498), unsigned 32 bits
+ 599: spr499 (spr499), unsigned 32 bits
+ 600: spr500 (spr500), unsigned 32 bits
+ 601: spr501 (spr501), unsigned 32 bits
+ 602: spr502 (spr502), unsigned 32 bits
+ 603: spr503 (spr503), unsigned 32 bits
+ 604: spr504 (spr504), unsigned 32 bits
+ 605: spr505 (spr505), unsigned 32 bits
+ 606: spr506 (spr506), unsigned 32 bits
+ 607: spr507 (spr507), unsigned 32 bits
+ 608: spr508 (spr508), unsigned 32 bits
+ 609: spr509 (spr509), unsigned 32 bits
+ 610: spr510 (spr510), unsigned 32 bits
+ 611: spr511 (spr511), unsigned 32 bits
+ 613: spr513 (spr513), unsigned 32 bits
+ 614: spr514 (spr514), unsigned 32 bits
+ 615: spr515 (spr515), unsigned 32 bits
+ 616: spr516 (spr516), unsigned 32 bits
+ 617: spr517 (spr517), unsigned 32 bits
+ 618: spr518 (spr518), unsigned 32 bits
+ 619: spr519 (spr519), unsigned 32 bits
+ 620: spr520 (spr520), unsigned 32 bits
+ 621: spr521 (spr521), unsigned 32 bits
+ 622: spr522 (spr522), unsigned 32 bits
+ 623: spr523 (spr523), unsigned 32 bits
+ 624: spr524 (spr524), unsigned 32 bits
+ 625: spr525 (spr525), unsigned 32 bits
+ 626: spr526 (spr526), unsigned 32 bits
+ 627: spr527 (spr527), unsigned 32 bits
+ 628: spr528 (spr528), unsigned 32 bits
+ 629: spr529 (spr529), unsigned 32 bits
+ 630: spr530 (spr530), unsigned 32 bits
+ 631: spr531 (spr531), unsigned 32 bits
+ 632: spr532 (spr532), unsigned 32 bits
+ 633: spr533 (spr533), unsigned 32 bits
+ 634: spr534 (spr534), unsigned 32 bits
+ 635: spr535 (spr535), unsigned 32 bits
+ 636: spr536 (spr536), unsigned 32 bits
+ 637: spr537 (spr537), unsigned 32 bits
+ 638: spr538 (spr538), unsigned 32 bits
+ 639: spr539 (spr539), unsigned 32 bits
+ 640: spr540 (spr540), unsigned 32 bits
+ 641: spr541 (spr541), unsigned 32 bits
+ 642: spr542 (spr542), unsigned 32 bits
+ 643: spr543 (spr543), unsigned 32 bits
+ 644: spr544 (spr544), unsigned 32 bits
+ 645: spr545 (spr545), unsigned 32 bits
+ 646: spr546 (spr546), unsigned 32 bits
+ 647: spr547 (spr547), unsigned 32 bits
+ 648: spr548 (spr548), unsigned 32 bits
+ 649: spr549 (spr549), unsigned 32 bits
+ 650: spr550 (spr550), unsigned 32 bits
+ 651: spr551 (spr551), unsigned 32 bits
+ 652: spr552 (spr552), unsigned 32 bits
+ 653: spr553 (spr553), unsigned 32 bits
+ 654: spr554 (spr554), unsigned 32 bits
+ 655: spr555 (spr555), unsigned 32 bits
+ 656: spr556 (spr556), unsigned 32 bits
+ 657: spr557 (spr557), unsigned 32 bits
+ 658: spr558 (spr558), unsigned 32 bits
+ 659: spr559 (spr559), unsigned 32 bits
+ 660: spr560 (spr560), unsigned 32 bits
+ 661: spr561 (spr561), unsigned 32 bits
+ 662: spr562 (spr562), unsigned 32 bits
+ 663: spr563 (spr563), unsigned 32 bits
+ 664: spr564 (spr564), unsigned 32 bits
+ 665: spr565 (spr565), unsigned 32 bits
+ 666: spr566 (spr566), unsigned 32 bits
+ 667: spr567 (spr567), unsigned 32 bits
+ 668: spr568 (spr568), unsigned 32 bits
+ 669: spr569 (spr569), unsigned 32 bits
+ 670: spr570 (spr570), unsigned 32 bits
+ 671: spr571 (spr571), unsigned 32 bits
+ 672: spr572 (spr572), unsigned 32 bits
+ 673: spr573 (spr573), unsigned 32 bits
+ 674: spr574 (spr574), unsigned 32 bits
+ 675: spr575 (spr575), unsigned 32 bits
+ 676: spr576 (spr576), unsigned 32 bits
+ 677: spr577 (spr577), unsigned 32 bits
+ 678: spr578 (spr578), unsigned 32 bits
+ 679: spr579 (spr579), unsigned 32 bits
+ 680: spr580 (spr580), unsigned 32 bits
+ 681: spr581 (spr581), unsigned 32 bits
+ 682: spr582 (spr582), unsigned 32 bits
+ 683: spr583 (spr583), unsigned 32 bits
+ 684: spr584 (spr584), unsigned 32 bits
+ 685: spr585 (spr585), unsigned 32 bits
+ 686: spr586 (spr586), unsigned 32 bits
+ 687: spr587 (spr587), unsigned 32 bits
+ 688: spr588 (spr588), unsigned 32 bits
+ 689: spr589 (spr589), unsigned 32 bits
+ 690: spr590 (spr590), unsigned 32 bits
+ 691: spr591 (spr591), unsigned 32 bits
+ 692: spr592 (spr592), unsigned 32 bits
+ 693: spr593 (spr593), unsigned 32 bits
+ 694: spr594 (spr594), unsigned 32 bits
+ 695: spr595 (spr595), unsigned 32 bits
+ 696: spr596 (spr596), unsigned 32 bits
+ 697: spr597 (spr597), unsigned 32 bits
+ 698: spr598 (spr598), unsigned 32 bits
+ 699: spr599 (spr599), unsigned 32 bits
+ 700: spr600 (spr600), unsigned 32 bits
+ 701: spr601 (spr601), unsigned 32 bits
+ 702: spr602 (spr602), unsigned 32 bits
+ 703: spr603 (spr603), unsigned 32 bits
+ 704: spr604 (spr604), unsigned 32 bits
+ 705: spr605 (spr605), unsigned 32 bits
+ 706: spr606 (spr606), unsigned 32 bits
+ 707: spr607 (spr607), unsigned 32 bits
+ 708: spr608 (spr608), unsigned 32 bits
+ 709: spr609 (spr609), unsigned 32 bits
+ 710: spr610 (spr610), unsigned 32 bits
+ 711: spr611 (spr611), unsigned 32 bits
+ 712: spr612 (spr612), unsigned 32 bits
+ 713: spr613 (spr613), unsigned 32 bits
+ 714: spr614 (spr614), unsigned 32 bits
+ 715: spr615 (spr615), unsigned 32 bits
+ 716: spr616 (spr616), unsigned 32 bits
+ 717: spr617 (spr617), unsigned 32 bits
+ 718: spr618 (spr618), unsigned 32 bits
+ 719: spr619 (spr619), unsigned 32 bits
+ 720: spr620 (spr620), unsigned 32 bits
+ 721: spr621 (spr621), unsigned 32 bits
+ 722: spr622 (spr622), unsigned 32 bits
+ 723: spr623 (spr623), unsigned 32 bits
+ 724: spr624 (spr624), unsigned 32 bits
+ 725: spr625 (spr625), unsigned 32 bits
+ 726: spr626 (spr626), unsigned 32 bits
+ 727: spr627 (spr627), unsigned 32 bits
+ 728: spr628 (spr628), unsigned 32 bits
+ 729: spr629 (spr629), unsigned 32 bits
+ 730: spr630 (spr630), unsigned 32 bits
+ 731: spr631 (spr631), unsigned 32 bits
+ 732: spr632 (spr632), unsigned 32 bits
+ 733: spr633 (spr633), unsigned 32 bits
+ 734: spr634 (spr634), unsigned 32 bits
+ 735: spr635 (spr635), unsigned 32 bits
+ 736: spr636 (spr636), unsigned 32 bits
+ 737: spr637 (spr637), unsigned 32 bits
+ 738: spr638 (spr638), unsigned 32 bits
+ 739: spr639 (spr639), unsigned 32 bits
+ 740: spr640 (spr640), unsigned 32 bits
+ 741: spr641 (spr641), unsigned 32 bits
+ 742: spr642 (spr642), unsigned 32 bits
+ 743: spr643 (spr643), unsigned 32 bits
+ 744: spr644 (spr644), unsigned 32 bits
+ 745: spr645 (spr645), unsigned 32 bits
+ 746: spr646 (spr646), unsigned 32 bits
+ 747: spr647 (spr647), unsigned 32 bits
+ 748: spr648 (spr648), unsigned 32 bits
+ 749: spr649 (spr649), unsigned 32 bits
+ 750: spr650 (spr650), unsigned 32 bits
+ 751: spr651 (spr651), unsigned 32 bits
+ 752: spr652 (spr652), unsigned 32 bits
+ 753: spr653 (spr653), unsigned 32 bits
+ 754: spr654 (spr654), unsigned 32 bits
+ 755: spr655 (spr655), unsigned 32 bits
+ 756: spr656 (spr656), unsigned 32 bits
+ 757: spr657 (spr657), unsigned 32 bits
+ 758: spr658 (spr658), unsigned 32 bits
+ 759: spr659 (spr659), unsigned 32 bits
+ 760: spr660 (spr660), unsigned 32 bits
+ 761: spr661 (spr661), unsigned 32 bits
+ 762: spr662 (spr662), unsigned 32 bits
+ 763: spr663 (spr663), unsigned 32 bits
+ 764: spr664 (spr664), unsigned 32 bits
+ 765: spr665 (spr665), unsigned 32 bits
+ 766: spr666 (spr666), unsigned 32 bits
+ 767: spr667 (spr667), unsigned 32 bits
+ 768: spr668 (spr668), unsigned 32 bits
+ 769: spr669 (spr669), unsigned 32 bits
+ 770: spr670 (spr670), unsigned 32 bits
+ 771: spr671 (spr671), unsigned 32 bits
+ 772: spr672 (spr672), unsigned 32 bits
+ 773: spr673 (spr673), unsigned 32 bits
+ 774: spr674 (spr674), unsigned 32 bits
+ 775: spr675 (spr675), unsigned 32 bits
+ 776: spr676 (spr676), unsigned 32 bits
+ 777: spr677 (spr677), unsigned 32 bits
+ 778: spr678 (spr678), unsigned 32 bits
+ 779: spr679 (spr679), unsigned 32 bits
+ 780: spr680 (spr680), unsigned 32 bits
+ 781: spr681 (spr681), unsigned 32 bits
+ 782: spr682 (spr682), unsigned 32 bits
+ 783: spr683 (spr683), unsigned 32 bits
+ 784: spr684 (spr684), unsigned 32 bits
+ 785: spr685 (spr685), unsigned 32 bits
+ 786: spr686 (spr686), unsigned 32 bits
+ 787: spr687 (spr687), unsigned 32 bits
+ 788: spr688 (spr688), unsigned 32 bits
+ 789: spr689 (spr689), unsigned 32 bits
+ 790: spr690 (spr690), unsigned 32 bits
+ 791: spr691 (spr691), unsigned 32 bits
+ 792: spr692 (spr692), unsigned 32 bits
+ 793: spr693 (spr693), unsigned 32 bits
+ 794: spr694 (spr694), unsigned 32 bits
+ 795: spr695 (spr695), unsigned 32 bits
+ 796: spr696 (spr696), unsigned 32 bits
+ 797: spr697 (spr697), unsigned 32 bits
+ 798: spr698 (spr698), unsigned 32 bits
+ 799: spr699 (spr699), unsigned 32 bits
+ 800: spr700 (spr700), unsigned 32 bits
+ 801: spr701 (spr701), unsigned 32 bits
+ 802: spr702 (spr702), unsigned 32 bits
+ 803: spr703 (spr703), unsigned 32 bits
+ 804: spr704 (spr704), unsigned 32 bits
+ 805: spr705 (spr705), unsigned 32 bits
+ 806: spr706 (spr706), unsigned 32 bits
+ 807: spr707 (spr707), unsigned 32 bits
+ 808: spr708 (spr708), unsigned 32 bits
+ 809: spr709 (spr709), unsigned 32 bits
+ 810: spr710 (spr710), unsigned 32 bits
+ 811: spr711 (spr711), unsigned 32 bits
+ 812: spr712 (spr712), unsigned 32 bits
+ 813: spr713 (spr713), unsigned 32 bits
+ 814: spr714 (spr714), unsigned 32 bits
+ 815: spr715 (spr715), unsigned 32 bits
+ 816: spr716 (spr716), unsigned 32 bits
+ 817: spr717 (spr717), unsigned 32 bits
+ 818: spr718 (spr718), unsigned 32 bits
+ 819: spr719 (spr719), unsigned 32 bits
+ 820: spr720 (spr720), unsigned 32 bits
+ 821: spr721 (spr721), unsigned 32 bits
+ 822: spr722 (spr722), unsigned 32 bits
+ 823: spr723 (spr723), unsigned 32 bits
+ 824: spr724 (spr724), unsigned 32 bits
+ 825: spr725 (spr725), unsigned 32 bits
+ 826: spr726 (spr726), unsigned 32 bits
+ 827: spr727 (spr727), unsigned 32 bits
+ 828: spr728 (spr728), unsigned 32 bits
+ 829: spr729 (spr729), unsigned 32 bits
+ 830: spr730 (spr730), unsigned 32 bits
+ 831: spr731 (spr731), unsigned 32 bits
+ 832: spr732 (spr732), unsigned 32 bits
+ 833: spr733 (spr733), unsigned 32 bits
+ 834: spr734 (spr734), unsigned 32 bits
+ 835: spr735 (spr735), unsigned 32 bits
+ 836: spr736 (spr736), unsigned 32 bits
+ 837: spr737 (spr737), unsigned 32 bits
+ 838: spr738 (spr738), unsigned 32 bits
+ 839: spr739 (spr739), unsigned 32 bits
+ 840: spr740 (spr740), unsigned 32 bits
+ 841: spr741 (spr741), unsigned 32 bits
+ 842: spr742 (spr742), unsigned 32 bits
+ 843: spr743 (spr743), unsigned 32 bits
+ 844: spr744 (spr744), unsigned 32 bits
+ 845: spr745 (spr745), unsigned 32 bits
+ 846: spr746 (spr746), unsigned 32 bits
+ 847: spr747 (spr747), unsigned 32 bits
+ 848: spr748 (spr748), unsigned 32 bits
+ 849: spr749 (spr749), unsigned 32 bits
+ 850: spr750 (spr750), unsigned 32 bits
+ 851: spr751 (spr751), unsigned 32 bits
+ 852: spr752 (spr752), unsigned 32 bits
+ 853: spr753 (spr753), unsigned 32 bits
+ 854: spr754 (spr754), unsigned 32 bits
+ 855: spr755 (spr755), unsigned 32 bits
+ 856: spr756 (spr756), unsigned 32 bits
+ 857: spr757 (spr757), unsigned 32 bits
+ 858: spr758 (spr758), unsigned 32 bits
+ 859: spr759 (spr759), unsigned 32 bits
+ 860: spr760 (spr760), unsigned 32 bits
+ 861: spr761 (spr761), unsigned 32 bits
+ 862: spr762 (spr762), unsigned 32 bits
+ 863: spr763 (spr763), unsigned 32 bits
+ 864: spr764 (spr764), unsigned 32 bits
+ 865: spr765 (spr765), unsigned 32 bits
+ 866: spr766 (spr766), unsigned 32 bits
+ 867: spr767 (spr767), unsigned 32 bits
+ 868: spr768 (spr768), unsigned 32 bits
+ 869: spr769 (spr769), unsigned 32 bits
+ 870: spr770 (spr770), unsigned 32 bits
+ 871: spr771 (spr771), unsigned 32 bits
+ 872: spr772 (spr772), unsigned 32 bits
+ 873: spr773 (spr773), unsigned 32 bits
+ 874: spr774 (spr774), unsigned 32 bits
+ 875: spr775 (spr775), unsigned 32 bits
+ 876: spr776 (spr776), unsigned 32 bits
+ 877: spr777 (spr777), unsigned 32 bits
+ 878: spr778 (spr778), unsigned 32 bits
+ 879: spr779 (spr779), unsigned 32 bits
+ 880: spr780 (spr780), unsigned 32 bits
+ 881: spr781 (spr781), unsigned 32 bits
+ 882: spr782 (spr782), unsigned 32 bits
+ 883: spr783 (spr783), unsigned 32 bits
+ 884: spr784 (spr784), unsigned 32 bits
+ 885: spr785 (spr785), unsigned 32 bits
+ 886: spr786 (spr786), unsigned 32 bits
+ 887: spr787 (spr787), unsigned 32 bits
+ 888: spr788 (spr788), unsigned 32 bits
+ 889: spr789 (spr789), unsigned 32 bits
+ 890: spr790 (spr790), unsigned 32 bits
+ 891: spr791 (spr791), unsigned 32 bits
+ 892: spr792 (spr792), unsigned 32 bits
+ 893: spr793 (spr793), unsigned 32 bits
+ 894: spr794 (spr794), unsigned 32 bits
+ 895: spr795 (spr795), unsigned 32 bits
+ 896: spr796 (spr796), unsigned 32 bits
+ 897: spr797 (spr797), unsigned 32 bits
+ 898: spr798 (spr798), unsigned 32 bits
+ 899: spr799 (spr799), unsigned 32 bits
+ 900: spr800 (spr800), unsigned 32 bits
+ 901: spr801 (spr801), unsigned 32 bits
+ 902: spr802 (spr802), unsigned 32 bits
+ 903: spr803 (spr803), unsigned 32 bits
+ 904: spr804 (spr804), unsigned 32 bits
+ 905: spr805 (spr805), unsigned 32 bits
+ 906: spr806 (spr806), unsigned 32 bits
+ 907: spr807 (spr807), unsigned 32 bits
+ 908: spr808 (spr808), unsigned 32 bits
+ 909: spr809 (spr809), unsigned 32 bits
+ 910: spr810 (spr810), unsigned 32 bits
+ 911: spr811 (spr811), unsigned 32 bits
+ 912: spr812 (spr812), unsigned 32 bits
+ 913: spr813 (spr813), unsigned 32 bits
+ 914: spr814 (spr814), unsigned 32 bits
+ 915: spr815 (spr815), unsigned 32 bits
+ 916: spr816 (spr816), unsigned 32 bits
+ 917: spr817 (spr817), unsigned 32 bits
+ 918: spr818 (spr818), unsigned 32 bits
+ 919: spr819 (spr819), unsigned 32 bits
+ 920: spr820 (spr820), unsigned 32 bits
+ 921: spr821 (spr821), unsigned 32 bits
+ 922: spr822 (spr822), unsigned 32 bits
+ 923: spr823 (spr823), unsigned 32 bits
+ 924: spr824 (spr824), unsigned 32 bits
+ 925: spr825 (spr825), unsigned 32 bits
+ 926: spr826 (spr826), unsigned 32 bits
+ 927: spr827 (spr827), unsigned 32 bits
+ 928: spr828 (spr828), unsigned 32 bits
+ 929: spr829 (spr829), unsigned 32 bits
+ 930: spr830 (spr830), unsigned 32 bits
+ 931: spr831 (spr831), unsigned 32 bits
+ 932: spr832 (spr832), unsigned 32 bits
+ 933: spr833 (spr833), unsigned 32 bits
+ 934: spr834 (spr834), unsigned 32 bits
+ 935: spr835 (spr835), unsigned 32 bits
+ 936: spr836 (spr836), unsigned 32 bits
+ 937: spr837 (spr837), unsigned 32 bits
+ 938: spr838 (spr838), unsigned 32 bits
+ 939: spr839 (spr839), unsigned 32 bits
+ 940: spr840 (spr840), unsigned 32 bits
+ 941: spr841 (spr841), unsigned 32 bits
+ 942: spr842 (spr842), unsigned 32 bits
+ 943: spr843 (spr843), unsigned 32 bits
+ 944: spr844 (spr844), unsigned 32 bits
+ 945: spr845 (spr845), unsigned 32 bits
+ 946: spr846 (spr846), unsigned 32 bits
+ 947: spr847 (spr847), unsigned 32 bits
+ 948: spr848 (spr848), unsigned 32 bits
+ 949: spr849 (spr849), unsigned 32 bits
+ 950: spr850 (spr850), unsigned 32 bits
+ 951: spr851 (spr851), unsigned 32 bits
+ 952: spr852 (spr852), unsigned 32 bits
+ 953: spr853 (spr853), unsigned 32 bits
+ 954: spr854 (spr854), unsigned 32 bits
+ 955: spr855 (spr855), unsigned 32 bits
+ 956: spr856 (spr856), unsigned 32 bits
+ 957: spr857 (spr857), unsigned 32 bits
+ 958: spr858 (spr858), unsigned 32 bits
+ 959: spr859 (spr859), unsigned 32 bits
+ 960: spr860 (spr860), unsigned 32 bits
+ 961: spr861 (spr861), unsigned 32 bits
+ 962: spr862 (spr862), unsigned 32 bits
+ 963: spr863 (spr863), unsigned 32 bits
+ 964: spr864 (spr864), unsigned 32 bits
+ 965: spr865 (spr865), unsigned 32 bits
+ 966: spr866 (spr866), unsigned 32 bits
+ 967: spr867 (spr867), unsigned 32 bits
+ 968: spr868 (spr868), unsigned 32 bits
+ 969: spr869 (spr869), unsigned 32 bits
+ 970: spr870 (spr870), unsigned 32 bits
+ 971: spr871 (spr871), unsigned 32 bits
+ 972: spr872 (spr872), unsigned 32 bits
+ 973: spr873 (spr873), unsigned 32 bits
+ 974: spr874 (spr874), unsigned 32 bits
+ 975: spr875 (spr875), unsigned 32 bits
+ 976: spr876 (spr876), unsigned 32 bits
+ 977: spr877 (spr877), unsigned 32 bits
+ 978: spr878 (spr878), unsigned 32 bits
+ 979: spr879 (spr879), unsigned 32 bits
+ 980: spr880 (spr880), unsigned 32 bits
+ 981: spr881 (spr881), unsigned 32 bits
+ 982: spr882 (spr882), unsigned 32 bits
+ 983: spr883 (spr883), unsigned 32 bits
+ 984: spr884 (spr884), unsigned 32 bits
+ 985: spr885 (spr885), unsigned 32 bits
+ 986: spr886 (spr886), unsigned 32 bits
+ 987: spr887 (spr887), unsigned 32 bits
+ 988: spr888 (spr888), unsigned 32 bits
+ 989: spr889 (spr889), unsigned 32 bits
+ 990: spr890 (spr890), unsigned 32 bits
+ 991: spr891 (spr891), unsigned 32 bits
+ 992: spr892 (spr892), unsigned 32 bits
+ 993: spr893 (spr893), unsigned 32 bits
+ 994: spr894 (spr894), unsigned 32 bits
+ 995: spr895 (spr895), unsigned 32 bits
+ 996: spr896 (spr896), unsigned 32 bits
+ 997: spr897 (spr897), unsigned 32 bits
+ 998: spr898 (spr898), unsigned 32 bits
+ 999: spr899 (spr899), unsigned 32 bits
+vector registers:
+ 67: vscr (vscr), unsigned 32 bits
+ 356: vrsave (vrsave), unsigned 32 bits
+ 612: spefscr (spefscr), unsigned 32 bits
+ 1124: vr0 (vr0), unsigned 128 bits
+ 1125: vr1 (vr1), unsigned 128 bits
+ 1126: vr2 (vr2), unsigned 128 bits
+ 1127: vr3 (vr3), unsigned 128 bits
+ 1128: vr4 (vr4), unsigned 128 bits
+ 1129: vr5 (vr5), unsigned 128 bits
+ 1130: vr6 (vr6), unsigned 128 bits
+ 1131: vr7 (vr7), unsigned 128 bits
+ 1132: vr8 (vr8), unsigned 128 bits
+ 1133: vr9 (vr9), unsigned 128 bits
+ 1134: vr10 (vr10), unsigned 128 bits
+ 1135: vr11 (vr11), unsigned 128 bits
+ 1136: vr12 (vr12), unsigned 128 bits
+ 1137: vr13 (vr13), unsigned 128 bits
+ 1138: vr14 (vr14), unsigned 128 bits
+ 1139: vr15 (vr15), unsigned 128 bits
+ 1140: vr16 (vr16), unsigned 128 bits
+ 1141: vr17 (vr17), unsigned 128 bits
+ 1142: vr18 (vr18), unsigned 128 bits
+ 1143: vr19 (vr19), unsigned 128 bits
+ 1144: vr20 (vr20), unsigned 128 bits
+ 1145: vr21 (vr21), unsigned 128 bits
+ 1146: vr22 (vr22), unsigned 128 bits
+ 1147: vr23 (vr23), unsigned 128 bits
+ 1148: vr24 (vr24), unsigned 128 bits
+ 1149: vr25 (vr25), unsigned 128 bits
+ 1150: vr26 (vr26), unsigned 128 bits
+ 1151: vr27 (vr27), unsigned 128 bits
+ 1152: vr28 (vr28), unsigned 128 bits
+ 1153: vr29 (vr29), unsigned 128 bits
+ 1154: vr30 (vr30), unsigned 128 bits
+ 1155: vr31 (vr31), unsigned 128 bits
+EOF
+
+regs_test testfile23 <<\EOF
+integer registers:
+ 0: r0 (r0), signed 64 bits
+ 1: r1 (r1), signed 64 bits
+ 2: r2 (r2), signed 64 bits
+ 3: r3 (r3), signed 64 bits
+ 4: r4 (r4), signed 64 bits
+ 5: r5 (r5), signed 64 bits
+ 6: r6 (r6), signed 64 bits
+ 7: r7 (r7), signed 64 bits
+ 8: r8 (r8), signed 64 bits
+ 9: r9 (r9), signed 64 bits
+ 10: r10 (r10), signed 64 bits
+ 11: r11 (r11), signed 64 bits
+ 12: r12 (r12), signed 64 bits
+ 13: r13 (r13), signed 64 bits
+ 14: r14 (r14), signed 64 bits
+ 15: r15 (r15), signed 64 bits
+ 16: r16 (r16), signed 64 bits
+ 17: r17 (r17), signed 64 bits
+ 18: r18 (r18), signed 64 bits
+ 19: r19 (r19), signed 64 bits
+ 20: r20 (r20), signed 64 bits
+ 21: r21 (r21), signed 64 bits
+ 22: r22 (r22), signed 64 bits
+ 23: r23 (r23), signed 64 bits
+ 24: r24 (r24), signed 64 bits
+ 25: r25 (r25), signed 64 bits
+ 26: r26 (r26), signed 64 bits
+ 27: r27 (r27), signed 64 bits
+ 28: r28 (r28), signed 64 bits
+ 29: r29 (r29), signed 64 bits
+ 30: r30 (r30), signed 64 bits
+ 31: r31 (r31), signed 64 bits
+ 64: cr (cr), unsigned 64 bits
+ 66: msr (msr), unsigned 64 bits
+FPU registers:
+ 32: f0 (f0), float 64 bits
+ 33: f1 (f1), float 64 bits
+ 34: f2 (f2), float 64 bits
+ 35: f3 (f3), float 64 bits
+ 36: f4 (f4), float 64 bits
+ 37: f5 (f5), float 64 bits
+ 38: f6 (f6), float 64 bits
+ 39: f7 (f7), float 64 bits
+ 40: f8 (f8), float 64 bits
+ 41: f9 (f9), float 64 bits
+ 42: f10 (f10), float 64 bits
+ 43: f11 (f11), float 64 bits
+ 44: f12 (f12), float 64 bits
+ 45: f13 (f13), float 64 bits
+ 46: f14 (f14), float 64 bits
+ 47: f15 (f15), float 64 bits
+ 48: f16 (f16), float 64 bits
+ 49: f17 (f17), float 64 bits
+ 50: f18 (f18), float 64 bits
+ 51: f19 (f19), float 64 bits
+ 52: f20 (f20), float 64 bits
+ 53: f21 (f21), float 64 bits
+ 54: f22 (f22), float 64 bits
+ 55: f23 (f23), float 64 bits
+ 56: f24 (f24), float 64 bits
+ 57: f25 (f25), float 64 bits
+ 58: f26 (f26), float 64 bits
+ 59: f27 (f27), float 64 bits
+ 60: f28 (f28), float 64 bits
+ 61: f29 (f29), float 64 bits
+ 62: f30 (f30), float 64 bits
+ 63: f31 (f31), float 64 bits
+ 65: fpscr (fpscr), unsigned 64 bits
+privileged registers:
+ 70: sr0 (sr0), unsigned 64 bits
+ 71: sr1 (sr1), unsigned 64 bits
+ 72: sr2 (sr2), unsigned 64 bits
+ 73: sr3 (sr3), unsigned 64 bits
+ 74: sr4 (sr4), unsigned 64 bits
+ 75: sr5 (sr5), unsigned 64 bits
+ 76: sr6 (sr6), unsigned 64 bits
+ 77: sr7 (sr7), unsigned 64 bits
+ 78: sr8 (sr8), unsigned 64 bits
+ 79: sr9 (sr9), unsigned 64 bits
+ 80: sr10 (sr10), unsigned 64 bits
+ 81: sr11 (sr11), unsigned 64 bits
+ 82: sr12 (sr12), unsigned 64 bits
+ 83: sr13 (sr13), unsigned 64 bits
+ 84: sr14 (sr14), unsigned 64 bits
+ 85: sr15 (sr15), unsigned 64 bits
+ 100: spr0 (spr0), unsigned 64 bits
+ 101: xer (xer), unsigned 64 bits
+ 102: spr2 (spr2), unsigned 64 bits
+ 103: spr3 (spr3), unsigned 64 bits
+ 104: spr4 (spr4), unsigned 64 bits
+ 105: spr5 (spr5), unsigned 64 bits
+ 106: spr6 (spr6), unsigned 64 bits
+ 107: spr7 (spr7), unsigned 64 bits
+ 108: lr (lr), unsigned 64 bits
+ 109: ctr (ctr), unsigned 64 bits
+ 110: spr10 (spr10), unsigned 64 bits
+ 111: spr11 (spr11), unsigned 64 bits
+ 112: spr12 (spr12), unsigned 64 bits
+ 113: spr13 (spr13), unsigned 64 bits
+ 114: spr14 (spr14), unsigned 64 bits
+ 115: spr15 (spr15), unsigned 64 bits
+ 116: spr16 (spr16), unsigned 64 bits
+ 117: spr17 (spr17), unsigned 64 bits
+ 118: dsisr (dsisr), unsigned 64 bits
+ 119: dar (dar), unsigned 64 bits
+ 120: spr20 (spr20), unsigned 64 bits
+ 121: spr21 (spr21), unsigned 64 bits
+ 122: dec (dec), unsigned 64 bits
+ 123: spr23 (spr23), unsigned 64 bits
+ 124: spr24 (spr24), unsigned 64 bits
+ 125: spr25 (spr25), unsigned 64 bits
+ 126: spr26 (spr26), unsigned 64 bits
+ 127: spr27 (spr27), unsigned 64 bits
+ 128: spr28 (spr28), unsigned 64 bits
+ 129: spr29 (spr29), unsigned 64 bits
+ 130: spr30 (spr30), unsigned 64 bits
+ 131: spr31 (spr31), unsigned 64 bits
+ 132: spr32 (spr32), unsigned 64 bits
+ 133: spr33 (spr33), unsigned 64 bits
+ 134: spr34 (spr34), unsigned 64 bits
+ 135: spr35 (spr35), unsigned 64 bits
+ 136: spr36 (spr36), unsigned 64 bits
+ 137: spr37 (spr37), unsigned 64 bits
+ 138: spr38 (spr38), unsigned 64 bits
+ 139: spr39 (spr39), unsigned 64 bits
+ 140: spr40 (spr40), unsigned 64 bits
+ 141: spr41 (spr41), unsigned 64 bits
+ 142: spr42 (spr42), unsigned 64 bits
+ 143: spr43 (spr43), unsigned 64 bits
+ 144: spr44 (spr44), unsigned 64 bits
+ 145: spr45 (spr45), unsigned 64 bits
+ 146: spr46 (spr46), unsigned 64 bits
+ 147: spr47 (spr47), unsigned 64 bits
+ 148: spr48 (spr48), unsigned 64 bits
+ 149: spr49 (spr49), unsigned 64 bits
+ 150: spr50 (spr50), unsigned 64 bits
+ 151: spr51 (spr51), unsigned 64 bits
+ 152: spr52 (spr52), unsigned 64 bits
+ 153: spr53 (spr53), unsigned 64 bits
+ 154: spr54 (spr54), unsigned 64 bits
+ 155: spr55 (spr55), unsigned 64 bits
+ 156: spr56 (spr56), unsigned 64 bits
+ 157: spr57 (spr57), unsigned 64 bits
+ 158: spr58 (spr58), unsigned 64 bits
+ 159: spr59 (spr59), unsigned 64 bits
+ 160: spr60 (spr60), unsigned 64 bits
+ 161: spr61 (spr61), unsigned 64 bits
+ 162: spr62 (spr62), unsigned 64 bits
+ 163: spr63 (spr63), unsigned 64 bits
+ 164: spr64 (spr64), unsigned 64 bits
+ 165: spr65 (spr65), unsigned 64 bits
+ 166: spr66 (spr66), unsigned 64 bits
+ 167: spr67 (spr67), unsigned 64 bits
+ 168: spr68 (spr68), unsigned 64 bits
+ 169: spr69 (spr69), unsigned 64 bits
+ 170: spr70 (spr70), unsigned 64 bits
+ 171: spr71 (spr71), unsigned 64 bits
+ 172: spr72 (spr72), unsigned 64 bits
+ 173: spr73 (spr73), unsigned 64 bits
+ 174: spr74 (spr74), unsigned 64 bits
+ 175: spr75 (spr75), unsigned 64 bits
+ 176: spr76 (spr76), unsigned 64 bits
+ 177: spr77 (spr77), unsigned 64 bits
+ 178: spr78 (spr78), unsigned 64 bits
+ 179: spr79 (spr79), unsigned 64 bits
+ 180: spr80 (spr80), unsigned 64 bits
+ 181: spr81 (spr81), unsigned 64 bits
+ 182: spr82 (spr82), unsigned 64 bits
+ 183: spr83 (spr83), unsigned 64 bits
+ 184: spr84 (spr84), unsigned 64 bits
+ 185: spr85 (spr85), unsigned 64 bits
+ 186: spr86 (spr86), unsigned 64 bits
+ 187: spr87 (spr87), unsigned 64 bits
+ 188: spr88 (spr88), unsigned 64 bits
+ 189: spr89 (spr89), unsigned 64 bits
+ 190: spr90 (spr90), unsigned 64 bits
+ 191: spr91 (spr91), unsigned 64 bits
+ 192: spr92 (spr92), unsigned 64 bits
+ 193: spr93 (spr93), unsigned 64 bits
+ 194: spr94 (spr94), unsigned 64 bits
+ 195: spr95 (spr95), unsigned 64 bits
+ 196: spr96 (spr96), unsigned 64 bits
+ 197: spr97 (spr97), unsigned 64 bits
+ 198: spr98 (spr98), unsigned 64 bits
+ 199: spr99 (spr99), unsigned 64 bits
+ 200: spr100 (spr100), unsigned 64 bits
+ 201: spr101 (spr101), unsigned 64 bits
+ 202: spr102 (spr102), unsigned 64 bits
+ 203: spr103 (spr103), unsigned 64 bits
+ 204: spr104 (spr104), unsigned 64 bits
+ 205: spr105 (spr105), unsigned 64 bits
+ 206: spr106 (spr106), unsigned 64 bits
+ 207: spr107 (spr107), unsigned 64 bits
+ 208: spr108 (spr108), unsigned 64 bits
+ 209: spr109 (spr109), unsigned 64 bits
+ 210: spr110 (spr110), unsigned 64 bits
+ 211: spr111 (spr111), unsigned 64 bits
+ 212: spr112 (spr112), unsigned 64 bits
+ 213: spr113 (spr113), unsigned 64 bits
+ 214: spr114 (spr114), unsigned 64 bits
+ 215: spr115 (spr115), unsigned 64 bits
+ 216: spr116 (spr116), unsigned 64 bits
+ 217: spr117 (spr117), unsigned 64 bits
+ 218: spr118 (spr118), unsigned 64 bits
+ 219: spr119 (spr119), unsigned 64 bits
+ 220: spr120 (spr120), unsigned 64 bits
+ 221: spr121 (spr121), unsigned 64 bits
+ 222: spr122 (spr122), unsigned 64 bits
+ 223: spr123 (spr123), unsigned 64 bits
+ 224: spr124 (spr124), unsigned 64 bits
+ 225: spr125 (spr125), unsigned 64 bits
+ 226: spr126 (spr126), unsigned 64 bits
+ 227: spr127 (spr127), unsigned 64 bits
+ 228: spr128 (spr128), unsigned 64 bits
+ 229: spr129 (spr129), unsigned 64 bits
+ 230: spr130 (spr130), unsigned 64 bits
+ 231: spr131 (spr131), unsigned 64 bits
+ 232: spr132 (spr132), unsigned 64 bits
+ 233: spr133 (spr133), unsigned 64 bits
+ 234: spr134 (spr134), unsigned 64 bits
+ 235: spr135 (spr135), unsigned 64 bits
+ 236: spr136 (spr136), unsigned 64 bits
+ 237: spr137 (spr137), unsigned 64 bits
+ 238: spr138 (spr138), unsigned 64 bits
+ 239: spr139 (spr139), unsigned 64 bits
+ 240: spr140 (spr140), unsigned 64 bits
+ 241: spr141 (spr141), unsigned 64 bits
+ 242: spr142 (spr142), unsigned 64 bits
+ 243: spr143 (spr143), unsigned 64 bits
+ 244: spr144 (spr144), unsigned 64 bits
+ 245: spr145 (spr145), unsigned 64 bits
+ 246: spr146 (spr146), unsigned 64 bits
+ 247: spr147 (spr147), unsigned 64 bits
+ 248: spr148 (spr148), unsigned 64 bits
+ 249: spr149 (spr149), unsigned 64 bits
+ 250: spr150 (spr150), unsigned 64 bits
+ 251: spr151 (spr151), unsigned 64 bits
+ 252: spr152 (spr152), unsigned 64 bits
+ 253: spr153 (spr153), unsigned 64 bits
+ 254: spr154 (spr154), unsigned 64 bits
+ 255: spr155 (spr155), unsigned 64 bits
+ 256: spr156 (spr156), unsigned 64 bits
+ 257: spr157 (spr157), unsigned 64 bits
+ 258: spr158 (spr158), unsigned 64 bits
+ 259: spr159 (spr159), unsigned 64 bits
+ 260: spr160 (spr160), unsigned 64 bits
+ 261: spr161 (spr161), unsigned 64 bits
+ 262: spr162 (spr162), unsigned 64 bits
+ 263: spr163 (spr163), unsigned 64 bits
+ 264: spr164 (spr164), unsigned 64 bits
+ 265: spr165 (spr165), unsigned 64 bits
+ 266: spr166 (spr166), unsigned 64 bits
+ 267: spr167 (spr167), unsigned 64 bits
+ 268: spr168 (spr168), unsigned 64 bits
+ 269: spr169 (spr169), unsigned 64 bits
+ 270: spr170 (spr170), unsigned 64 bits
+ 271: spr171 (spr171), unsigned 64 bits
+ 272: spr172 (spr172), unsigned 64 bits
+ 273: spr173 (spr173), unsigned 64 bits
+ 274: spr174 (spr174), unsigned 64 bits
+ 275: spr175 (spr175), unsigned 64 bits
+ 276: spr176 (spr176), unsigned 64 bits
+ 277: spr177 (spr177), unsigned 64 bits
+ 278: spr178 (spr178), unsigned 64 bits
+ 279: spr179 (spr179), unsigned 64 bits
+ 280: spr180 (spr180), unsigned 64 bits
+ 281: spr181 (spr181), unsigned 64 bits
+ 282: spr182 (spr182), unsigned 64 bits
+ 283: spr183 (spr183), unsigned 64 bits
+ 284: spr184 (spr184), unsigned 64 bits
+ 285: spr185 (spr185), unsigned 64 bits
+ 286: spr186 (spr186), unsigned 64 bits
+ 287: spr187 (spr187), unsigned 64 bits
+ 288: spr188 (spr188), unsigned 64 bits
+ 289: spr189 (spr189), unsigned 64 bits
+ 290: spr190 (spr190), unsigned 64 bits
+ 291: spr191 (spr191), unsigned 64 bits
+ 292: spr192 (spr192), unsigned 64 bits
+ 293: spr193 (spr193), unsigned 64 bits
+ 294: spr194 (spr194), unsigned 64 bits
+ 295: spr195 (spr195), unsigned 64 bits
+ 296: spr196 (spr196), unsigned 64 bits
+ 297: spr197 (spr197), unsigned 64 bits
+ 298: spr198 (spr198), unsigned 64 bits
+ 299: spr199 (spr199), unsigned 64 bits
+ 300: spr200 (spr200), unsigned 64 bits
+ 301: spr201 (spr201), unsigned 64 bits
+ 302: spr202 (spr202), unsigned 64 bits
+ 303: spr203 (spr203), unsigned 64 bits
+ 304: spr204 (spr204), unsigned 64 bits
+ 305: spr205 (spr205), unsigned 64 bits
+ 306: spr206 (spr206), unsigned 64 bits
+ 307: spr207 (spr207), unsigned 64 bits
+ 308: spr208 (spr208), unsigned 64 bits
+ 309: spr209 (spr209), unsigned 64 bits
+ 310: spr210 (spr210), unsigned 64 bits
+ 311: spr211 (spr211), unsigned 64 bits
+ 312: spr212 (spr212), unsigned 64 bits
+ 313: spr213 (spr213), unsigned 64 bits
+ 314: spr214 (spr214), unsigned 64 bits
+ 315: spr215 (spr215), unsigned 64 bits
+ 316: spr216 (spr216), unsigned 64 bits
+ 317: spr217 (spr217), unsigned 64 bits
+ 318: spr218 (spr218), unsigned 64 bits
+ 319: spr219 (spr219), unsigned 64 bits
+ 320: spr220 (spr220), unsigned 64 bits
+ 321: spr221 (spr221), unsigned 64 bits
+ 322: spr222 (spr222), unsigned 64 bits
+ 323: spr223 (spr223), unsigned 64 bits
+ 324: spr224 (spr224), unsigned 64 bits
+ 325: spr225 (spr225), unsigned 64 bits
+ 326: spr226 (spr226), unsigned 64 bits
+ 327: spr227 (spr227), unsigned 64 bits
+ 328: spr228 (spr228), unsigned 64 bits
+ 329: spr229 (spr229), unsigned 64 bits
+ 330: spr230 (spr230), unsigned 64 bits
+ 331: spr231 (spr231), unsigned 64 bits
+ 332: spr232 (spr232), unsigned 64 bits
+ 333: spr233 (spr233), unsigned 64 bits
+ 334: spr234 (spr234), unsigned 64 bits
+ 335: spr235 (spr235), unsigned 64 bits
+ 336: spr236 (spr236), unsigned 64 bits
+ 337: spr237 (spr237), unsigned 64 bits
+ 338: spr238 (spr238), unsigned 64 bits
+ 339: spr239 (spr239), unsigned 64 bits
+ 340: spr240 (spr240), unsigned 64 bits
+ 341: spr241 (spr241), unsigned 64 bits
+ 342: spr242 (spr242), unsigned 64 bits
+ 343: spr243 (spr243), unsigned 64 bits
+ 344: spr244 (spr244), unsigned 64 bits
+ 345: spr245 (spr245), unsigned 64 bits
+ 346: spr246 (spr246), unsigned 64 bits
+ 347: spr247 (spr247), unsigned 64 bits
+ 348: spr248 (spr248), unsigned 64 bits
+ 349: spr249 (spr249), unsigned 64 bits
+ 350: spr250 (spr250), unsigned 64 bits
+ 351: spr251 (spr251), unsigned 64 bits
+ 352: spr252 (spr252), unsigned 64 bits
+ 353: spr253 (spr253), unsigned 64 bits
+ 354: spr254 (spr254), unsigned 64 bits
+ 355: spr255 (spr255), unsigned 64 bits
+ 357: spr257 (spr257), unsigned 64 bits
+ 358: spr258 (spr258), unsigned 64 bits
+ 359: spr259 (spr259), unsigned 64 bits
+ 360: spr260 (spr260), unsigned 64 bits
+ 361: spr261 (spr261), unsigned 64 bits
+ 362: spr262 (spr262), unsigned 64 bits
+ 363: spr263 (spr263), unsigned 64 bits
+ 364: spr264 (spr264), unsigned 64 bits
+ 365: spr265 (spr265), unsigned 64 bits
+ 366: spr266 (spr266), unsigned 64 bits
+ 367: spr267 (spr267), unsigned 64 bits
+ 368: spr268 (spr268), unsigned 64 bits
+ 369: spr269 (spr269), unsigned 64 bits
+ 370: spr270 (spr270), unsigned 64 bits
+ 371: spr271 (spr271), unsigned 64 bits
+ 372: spr272 (spr272), unsigned 64 bits
+ 373: spr273 (spr273), unsigned 64 bits
+ 374: spr274 (spr274), unsigned 64 bits
+ 375: spr275 (spr275), unsigned 64 bits
+ 376: spr276 (spr276), unsigned 64 bits
+ 377: spr277 (spr277), unsigned 64 bits
+ 378: spr278 (spr278), unsigned 64 bits
+ 379: spr279 (spr279), unsigned 64 bits
+ 380: spr280 (spr280), unsigned 64 bits
+ 381: spr281 (spr281), unsigned 64 bits
+ 382: spr282 (spr282), unsigned 64 bits
+ 383: spr283 (spr283), unsigned 64 bits
+ 384: spr284 (spr284), unsigned 64 bits
+ 385: spr285 (spr285), unsigned 64 bits
+ 386: spr286 (spr286), unsigned 64 bits
+ 387: spr287 (spr287), unsigned 64 bits
+ 388: spr288 (spr288), unsigned 64 bits
+ 389: spr289 (spr289), unsigned 64 bits
+ 390: spr290 (spr290), unsigned 64 bits
+ 391: spr291 (spr291), unsigned 64 bits
+ 392: spr292 (spr292), unsigned 64 bits
+ 393: spr293 (spr293), unsigned 64 bits
+ 394: spr294 (spr294), unsigned 64 bits
+ 395: spr295 (spr295), unsigned 64 bits
+ 396: spr296 (spr296), unsigned 64 bits
+ 397: spr297 (spr297), unsigned 64 bits
+ 398: spr298 (spr298), unsigned 64 bits
+ 399: spr299 (spr299), unsigned 64 bits
+ 400: spr300 (spr300), unsigned 64 bits
+ 401: spr301 (spr301), unsigned 64 bits
+ 402: spr302 (spr302), unsigned 64 bits
+ 403: spr303 (spr303), unsigned 64 bits
+ 404: spr304 (spr304), unsigned 64 bits
+ 405: spr305 (spr305), unsigned 64 bits
+ 406: spr306 (spr306), unsigned 64 bits
+ 407: spr307 (spr307), unsigned 64 bits
+ 408: spr308 (spr308), unsigned 64 bits
+ 409: spr309 (spr309), unsigned 64 bits
+ 410: spr310 (spr310), unsigned 64 bits
+ 411: spr311 (spr311), unsigned 64 bits
+ 412: spr312 (spr312), unsigned 64 bits
+ 413: spr313 (spr313), unsigned 64 bits
+ 414: spr314 (spr314), unsigned 64 bits
+ 415: spr315 (spr315), unsigned 64 bits
+ 416: spr316 (spr316), unsigned 64 bits
+ 417: spr317 (spr317), unsigned 64 bits
+ 418: spr318 (spr318), unsigned 64 bits
+ 419: spr319 (spr319), unsigned 64 bits
+ 420: spr320 (spr320), unsigned 64 bits
+ 421: spr321 (spr321), unsigned 64 bits
+ 422: spr322 (spr322), unsigned 64 bits
+ 423: spr323 (spr323), unsigned 64 bits
+ 424: spr324 (spr324), unsigned 64 bits
+ 425: spr325 (spr325), unsigned 64 bits
+ 426: spr326 (spr326), unsigned 64 bits
+ 427: spr327 (spr327), unsigned 64 bits
+ 428: spr328 (spr328), unsigned 64 bits
+ 429: spr329 (spr329), unsigned 64 bits
+ 430: spr330 (spr330), unsigned 64 bits
+ 431: spr331 (spr331), unsigned 64 bits
+ 432: spr332 (spr332), unsigned 64 bits
+ 433: spr333 (spr333), unsigned 64 bits
+ 434: spr334 (spr334), unsigned 64 bits
+ 435: spr335 (spr335), unsigned 64 bits
+ 436: spr336 (spr336), unsigned 64 bits
+ 437: spr337 (spr337), unsigned 64 bits
+ 438: spr338 (spr338), unsigned 64 bits
+ 439: spr339 (spr339), unsigned 64 bits
+ 440: spr340 (spr340), unsigned 64 bits
+ 441: spr341 (spr341), unsigned 64 bits
+ 442: spr342 (spr342), unsigned 64 bits
+ 443: spr343 (spr343), unsigned 64 bits
+ 444: spr344 (spr344), unsigned 64 bits
+ 445: spr345 (spr345), unsigned 64 bits
+ 446: spr346 (spr346), unsigned 64 bits
+ 447: spr347 (spr347), unsigned 64 bits
+ 448: spr348 (spr348), unsigned 64 bits
+ 449: spr349 (spr349), unsigned 64 bits
+ 450: spr350 (spr350), unsigned 64 bits
+ 451: spr351 (spr351), unsigned 64 bits
+ 452: spr352 (spr352), unsigned 64 bits
+ 453: spr353 (spr353), unsigned 64 bits
+ 454: spr354 (spr354), unsigned 64 bits
+ 455: spr355 (spr355), unsigned 64 bits
+ 456: spr356 (spr356), unsigned 64 bits
+ 457: spr357 (spr357), unsigned 64 bits
+ 458: spr358 (spr358), unsigned 64 bits
+ 459: spr359 (spr359), unsigned 64 bits
+ 460: spr360 (spr360), unsigned 64 bits
+ 461: spr361 (spr361), unsigned 64 bits
+ 462: spr362 (spr362), unsigned 64 bits
+ 463: spr363 (spr363), unsigned 64 bits
+ 464: spr364 (spr364), unsigned 64 bits
+ 465: spr365 (spr365), unsigned 64 bits
+ 466: spr366 (spr366), unsigned 64 bits
+ 467: spr367 (spr367), unsigned 64 bits
+ 468: spr368 (spr368), unsigned 64 bits
+ 469: spr369 (spr369), unsigned 64 bits
+ 470: spr370 (spr370), unsigned 64 bits
+ 471: spr371 (spr371), unsigned 64 bits
+ 472: spr372 (spr372), unsigned 64 bits
+ 473: spr373 (spr373), unsigned 64 bits
+ 474: spr374 (spr374), unsigned 64 bits
+ 475: spr375 (spr375), unsigned 64 bits
+ 476: spr376 (spr376), unsigned 64 bits
+ 477: spr377 (spr377), unsigned 64 bits
+ 478: spr378 (spr378), unsigned 64 bits
+ 479: spr379 (spr379), unsigned 64 bits
+ 480: spr380 (spr380), unsigned 64 bits
+ 481: spr381 (spr381), unsigned 64 bits
+ 482: spr382 (spr382), unsigned 64 bits
+ 483: spr383 (spr383), unsigned 64 bits
+ 484: spr384 (spr384), unsigned 64 bits
+ 485: spr385 (spr385), unsigned 64 bits
+ 486: spr386 (spr386), unsigned 64 bits
+ 487: spr387 (spr387), unsigned 64 bits
+ 488: spr388 (spr388), unsigned 64 bits
+ 489: spr389 (spr389), unsigned 64 bits
+ 490: spr390 (spr390), unsigned 64 bits
+ 491: spr391 (spr391), unsigned 64 bits
+ 492: spr392 (spr392), unsigned 64 bits
+ 493: spr393 (spr393), unsigned 64 bits
+ 494: spr394 (spr394), unsigned 64 bits
+ 495: spr395 (spr395), unsigned 64 bits
+ 496: spr396 (spr396), unsigned 64 bits
+ 497: spr397 (spr397), unsigned 64 bits
+ 498: spr398 (spr398), unsigned 64 bits
+ 499: spr399 (spr399), unsigned 64 bits
+ 500: spr400 (spr400), unsigned 64 bits
+ 501: spr401 (spr401), unsigned 64 bits
+ 502: spr402 (spr402), unsigned 64 bits
+ 503: spr403 (spr403), unsigned 64 bits
+ 504: spr404 (spr404), unsigned 64 bits
+ 505: spr405 (spr405), unsigned 64 bits
+ 506: spr406 (spr406), unsigned 64 bits
+ 507: spr407 (spr407), unsigned 64 bits
+ 508: spr408 (spr408), unsigned 64 bits
+ 509: spr409 (spr409), unsigned 64 bits
+ 510: spr410 (spr410), unsigned 64 bits
+ 511: spr411 (spr411), unsigned 64 bits
+ 512: spr412 (spr412), unsigned 64 bits
+ 513: spr413 (spr413), unsigned 64 bits
+ 514: spr414 (spr414), unsigned 64 bits
+ 515: spr415 (spr415), unsigned 64 bits
+ 516: spr416 (spr416), unsigned 64 bits
+ 517: spr417 (spr417), unsigned 64 bits
+ 518: spr418 (spr418), unsigned 64 bits
+ 519: spr419 (spr419), unsigned 64 bits
+ 520: spr420 (spr420), unsigned 64 bits
+ 521: spr421 (spr421), unsigned 64 bits
+ 522: spr422 (spr422), unsigned 64 bits
+ 523: spr423 (spr423), unsigned 64 bits
+ 524: spr424 (spr424), unsigned 64 bits
+ 525: spr425 (spr425), unsigned 64 bits
+ 526: spr426 (spr426), unsigned 64 bits
+ 527: spr427 (spr427), unsigned 64 bits
+ 528: spr428 (spr428), unsigned 64 bits
+ 529: spr429 (spr429), unsigned 64 bits
+ 530: spr430 (spr430), unsigned 64 bits
+ 531: spr431 (spr431), unsigned 64 bits
+ 532: spr432 (spr432), unsigned 64 bits
+ 533: spr433 (spr433), unsigned 64 bits
+ 534: spr434 (spr434), unsigned 64 bits
+ 535: spr435 (spr435), unsigned 64 bits
+ 536: spr436 (spr436), unsigned 64 bits
+ 537: spr437 (spr437), unsigned 64 bits
+ 538: spr438 (spr438), unsigned 64 bits
+ 539: spr439 (spr439), unsigned 64 bits
+ 540: spr440 (spr440), unsigned 64 bits
+ 541: spr441 (spr441), unsigned 64 bits
+ 542: spr442 (spr442), unsigned 64 bits
+ 543: spr443 (spr443), unsigned 64 bits
+ 544: spr444 (spr444), unsigned 64 bits
+ 545: spr445 (spr445), unsigned 64 bits
+ 546: spr446 (spr446), unsigned 64 bits
+ 547: spr447 (spr447), unsigned 64 bits
+ 548: spr448 (spr448), unsigned 64 bits
+ 549: spr449 (spr449), unsigned 64 bits
+ 550: spr450 (spr450), unsigned 64 bits
+ 551: spr451 (spr451), unsigned 64 bits
+ 552: spr452 (spr452), unsigned 64 bits
+ 553: spr453 (spr453), unsigned 64 bits
+ 554: spr454 (spr454), unsigned 64 bits
+ 555: spr455 (spr455), unsigned 64 bits
+ 556: spr456 (spr456), unsigned 64 bits
+ 557: spr457 (spr457), unsigned 64 bits
+ 558: spr458 (spr458), unsigned 64 bits
+ 559: spr459 (spr459), unsigned 64 bits
+ 560: spr460 (spr460), unsigned 64 bits
+ 561: spr461 (spr461), unsigned 64 bits
+ 562: spr462 (spr462), unsigned 64 bits
+ 563: spr463 (spr463), unsigned 64 bits
+ 564: spr464 (spr464), unsigned 64 bits
+ 565: spr465 (spr465), unsigned 64 bits
+ 566: spr466 (spr466), unsigned 64 bits
+ 567: spr467 (spr467), unsigned 64 bits
+ 568: spr468 (spr468), unsigned 64 bits
+ 569: spr469 (spr469), unsigned 64 bits
+ 570: spr470 (spr470), unsigned 64 bits
+ 571: spr471 (spr471), unsigned 64 bits
+ 572: spr472 (spr472), unsigned 64 bits
+ 573: spr473 (spr473), unsigned 64 bits
+ 574: spr474 (spr474), unsigned 64 bits
+ 575: spr475 (spr475), unsigned 64 bits
+ 576: spr476 (spr476), unsigned 64 bits
+ 577: spr477 (spr477), unsigned 64 bits
+ 578: spr478 (spr478), unsigned 64 bits
+ 579: spr479 (spr479), unsigned 64 bits
+ 580: spr480 (spr480), unsigned 64 bits
+ 581: spr481 (spr481), unsigned 64 bits
+ 582: spr482 (spr482), unsigned 64 bits
+ 583: spr483 (spr483), unsigned 64 bits
+ 584: spr484 (spr484), unsigned 64 bits
+ 585: spr485 (spr485), unsigned 64 bits
+ 586: spr486 (spr486), unsigned 64 bits
+ 587: spr487 (spr487), unsigned 64 bits
+ 588: spr488 (spr488), unsigned 64 bits
+ 589: spr489 (spr489), unsigned 64 bits
+ 590: spr490 (spr490), unsigned 64 bits
+ 591: spr491 (spr491), unsigned 64 bits
+ 592: spr492 (spr492), unsigned 64 bits
+ 593: spr493 (spr493), unsigned 64 bits
+ 594: spr494 (spr494), unsigned 64 bits
+ 595: spr495 (spr495), unsigned 64 bits
+ 596: spr496 (spr496), unsigned 64 bits
+ 597: spr497 (spr497), unsigned 64 bits
+ 598: spr498 (spr498), unsigned 64 bits
+ 599: spr499 (spr499), unsigned 64 bits
+ 600: spr500 (spr500), unsigned 64 bits
+ 601: spr501 (spr501), unsigned 64 bits
+ 602: spr502 (spr502), unsigned 64 bits
+ 603: spr503 (spr503), unsigned 64 bits
+ 604: spr504 (spr504), unsigned 64 bits
+ 605: spr505 (spr505), unsigned 64 bits
+ 606: spr506 (spr506), unsigned 64 bits
+ 607: spr507 (spr507), unsigned 64 bits
+ 608: spr508 (spr508), unsigned 64 bits
+ 609: spr509 (spr509), unsigned 64 bits
+ 610: spr510 (spr510), unsigned 64 bits
+ 611: spr511 (spr511), unsigned 64 bits
+ 613: spr513 (spr513), unsigned 64 bits
+ 614: spr514 (spr514), unsigned 64 bits
+ 615: spr515 (spr515), unsigned 64 bits
+ 616: spr516 (spr516), unsigned 64 bits
+ 617: spr517 (spr517), unsigned 64 bits
+ 618: spr518 (spr518), unsigned 64 bits
+ 619: spr519 (spr519), unsigned 64 bits
+ 620: spr520 (spr520), unsigned 64 bits
+ 621: spr521 (spr521), unsigned 64 bits
+ 622: spr522 (spr522), unsigned 64 bits
+ 623: spr523 (spr523), unsigned 64 bits
+ 624: spr524 (spr524), unsigned 64 bits
+ 625: spr525 (spr525), unsigned 64 bits
+ 626: spr526 (spr526), unsigned 64 bits
+ 627: spr527 (spr527), unsigned 64 bits
+ 628: spr528 (spr528), unsigned 64 bits
+ 629: spr529 (spr529), unsigned 64 bits
+ 630: spr530 (spr530), unsigned 64 bits
+ 631: spr531 (spr531), unsigned 64 bits
+ 632: spr532 (spr532), unsigned 64 bits
+ 633: spr533 (spr533), unsigned 64 bits
+ 634: spr534 (spr534), unsigned 64 bits
+ 635: spr535 (spr535), unsigned 64 bits
+ 636: spr536 (spr536), unsigned 64 bits
+ 637: spr537 (spr537), unsigned 64 bits
+ 638: spr538 (spr538), unsigned 64 bits
+ 639: spr539 (spr539), unsigned 64 bits
+ 640: spr540 (spr540), unsigned 64 bits
+ 641: spr541 (spr541), unsigned 64 bits
+ 642: spr542 (spr542), unsigned 64 bits
+ 643: spr543 (spr543), unsigned 64 bits
+ 644: spr544 (spr544), unsigned 64 bits
+ 645: spr545 (spr545), unsigned 64 bits
+ 646: spr546 (spr546), unsigned 64 bits
+ 647: spr547 (spr547), unsigned 64 bits
+ 648: spr548 (spr548), unsigned 64 bits
+ 649: spr549 (spr549), unsigned 64 bits
+ 650: spr550 (spr550), unsigned 64 bits
+ 651: spr551 (spr551), unsigned 64 bits
+ 652: spr552 (spr552), unsigned 64 bits
+ 653: spr553 (spr553), unsigned 64 bits
+ 654: spr554 (spr554), unsigned 64 bits
+ 655: spr555 (spr555), unsigned 64 bits
+ 656: spr556 (spr556), unsigned 64 bits
+ 657: spr557 (spr557), unsigned 64 bits
+ 658: spr558 (spr558), unsigned 64 bits
+ 659: spr559 (spr559), unsigned 64 bits
+ 660: spr560 (spr560), unsigned 64 bits
+ 661: spr561 (spr561), unsigned 64 bits
+ 662: spr562 (spr562), unsigned 64 bits
+ 663: spr563 (spr563), unsigned 64 bits
+ 664: spr564 (spr564), unsigned 64 bits
+ 665: spr565 (spr565), unsigned 64 bits
+ 666: spr566 (spr566), unsigned 64 bits
+ 667: spr567 (spr567), unsigned 64 bits
+ 668: spr568 (spr568), unsigned 64 bits
+ 669: spr569 (spr569), unsigned 64 bits
+ 670: spr570 (spr570), unsigned 64 bits
+ 671: spr571 (spr571), unsigned 64 bits
+ 672: spr572 (spr572), unsigned 64 bits
+ 673: spr573 (spr573), unsigned 64 bits
+ 674: spr574 (spr574), unsigned 64 bits
+ 675: spr575 (spr575), unsigned 64 bits
+ 676: spr576 (spr576), unsigned 64 bits
+ 677: spr577 (spr577), unsigned 64 bits
+ 678: spr578 (spr578), unsigned 64 bits
+ 679: spr579 (spr579), unsigned 64 bits
+ 680: spr580 (spr580), unsigned 64 bits
+ 681: spr581 (spr581), unsigned 64 bits
+ 682: spr582 (spr582), unsigned 64 bits
+ 683: spr583 (spr583), unsigned 64 bits
+ 684: spr584 (spr584), unsigned 64 bits
+ 685: spr585 (spr585), unsigned 64 bits
+ 686: spr586 (spr586), unsigned 64 bits
+ 687: spr587 (spr587), unsigned 64 bits
+ 688: spr588 (spr588), unsigned 64 bits
+ 689: spr589 (spr589), unsigned 64 bits
+ 690: spr590 (spr590), unsigned 64 bits
+ 691: spr591 (spr591), unsigned 64 bits
+ 692: spr592 (spr592), unsigned 64 bits
+ 693: spr593 (spr593), unsigned 64 bits
+ 694: spr594 (spr594), unsigned 64 bits
+ 695: spr595 (spr595), unsigned 64 bits
+ 696: spr596 (spr596), unsigned 64 bits
+ 697: spr597 (spr597), unsigned 64 bits
+ 698: spr598 (spr598), unsigned 64 bits
+ 699: spr599 (spr599), unsigned 64 bits
+ 700: spr600 (spr600), unsigned 64 bits
+ 701: spr601 (spr601), unsigned 64 bits
+ 702: spr602 (spr602), unsigned 64 bits
+ 703: spr603 (spr603), unsigned 64 bits
+ 704: spr604 (spr604), unsigned 64 bits
+ 705: spr605 (spr605), unsigned 64 bits
+ 706: spr606 (spr606), unsigned 64 bits
+ 707: spr607 (spr607), unsigned 64 bits
+ 708: spr608 (spr608), unsigned 64 bits
+ 709: spr609 (spr609), unsigned 64 bits
+ 710: spr610 (spr610), unsigned 64 bits
+ 711: spr611 (spr611), unsigned 64 bits
+ 712: spr612 (spr612), unsigned 64 bits
+ 713: spr613 (spr613), unsigned 64 bits
+ 714: spr614 (spr614), unsigned 64 bits
+ 715: spr615 (spr615), unsigned 64 bits
+ 716: spr616 (spr616), unsigned 64 bits
+ 717: spr617 (spr617), unsigned 64 bits
+ 718: spr618 (spr618), unsigned 64 bits
+ 719: spr619 (spr619), unsigned 64 bits
+ 720: spr620 (spr620), unsigned 64 bits
+ 721: spr621 (spr621), unsigned 64 bits
+ 722: spr622 (spr622), unsigned 64 bits
+ 723: spr623 (spr623), unsigned 64 bits
+ 724: spr624 (spr624), unsigned 64 bits
+ 725: spr625 (spr625), unsigned 64 bits
+ 726: spr626 (spr626), unsigned 64 bits
+ 727: spr627 (spr627), unsigned 64 bits
+ 728: spr628 (spr628), unsigned 64 bits
+ 729: spr629 (spr629), unsigned 64 bits
+ 730: spr630 (spr630), unsigned 64 bits
+ 731: spr631 (spr631), unsigned 64 bits
+ 732: spr632 (spr632), unsigned 64 bits
+ 733: spr633 (spr633), unsigned 64 bits
+ 734: spr634 (spr634), unsigned 64 bits
+ 735: spr635 (spr635), unsigned 64 bits
+ 736: spr636 (spr636), unsigned 64 bits
+ 737: spr637 (spr637), unsigned 64 bits
+ 738: spr638 (spr638), unsigned 64 bits
+ 739: spr639 (spr639), unsigned 64 bits
+ 740: spr640 (spr640), unsigned 64 bits
+ 741: spr641 (spr641), unsigned 64 bits
+ 742: spr642 (spr642), unsigned 64 bits
+ 743: spr643 (spr643), unsigned 64 bits
+ 744: spr644 (spr644), unsigned 64 bits
+ 745: spr645 (spr645), unsigned 64 bits
+ 746: spr646 (spr646), unsigned 64 bits
+ 747: spr647 (spr647), unsigned 64 bits
+ 748: spr648 (spr648), unsigned 64 bits
+ 749: spr649 (spr649), unsigned 64 bits
+ 750: spr650 (spr650), unsigned 64 bits
+ 751: spr651 (spr651), unsigned 64 bits
+ 752: spr652 (spr652), unsigned 64 bits
+ 753: spr653 (spr653), unsigned 64 bits
+ 754: spr654 (spr654), unsigned 64 bits
+ 755: spr655 (spr655), unsigned 64 bits
+ 756: spr656 (spr656), unsigned 64 bits
+ 757: spr657 (spr657), unsigned 64 bits
+ 758: spr658 (spr658), unsigned 64 bits
+ 759: spr659 (spr659), unsigned 64 bits
+ 760: spr660 (spr660), unsigned 64 bits
+ 761: spr661 (spr661), unsigned 64 bits
+ 762: spr662 (spr662), unsigned 64 bits
+ 763: spr663 (spr663), unsigned 64 bits
+ 764: spr664 (spr664), unsigned 64 bits
+ 765: spr665 (spr665), unsigned 64 bits
+ 766: spr666 (spr666), unsigned 64 bits
+ 767: spr667 (spr667), unsigned 64 bits
+ 768: spr668 (spr668), unsigned 64 bits
+ 769: spr669 (spr669), unsigned 64 bits
+ 770: spr670 (spr670), unsigned 64 bits
+ 771: spr671 (spr671), unsigned 64 bits
+ 772: spr672 (spr672), unsigned 64 bits
+ 773: spr673 (spr673), unsigned 64 bits
+ 774: spr674 (spr674), unsigned 64 bits
+ 775: spr675 (spr675), unsigned 64 bits
+ 776: spr676 (spr676), unsigned 64 bits
+ 777: spr677 (spr677), unsigned 64 bits
+ 778: spr678 (spr678), unsigned 64 bits
+ 779: spr679 (spr679), unsigned 64 bits
+ 780: spr680 (spr680), unsigned 64 bits
+ 781: spr681 (spr681), unsigned 64 bits
+ 782: spr682 (spr682), unsigned 64 bits
+ 783: spr683 (spr683), unsigned 64 bits
+ 784: spr684 (spr684), unsigned 64 bits
+ 785: spr685 (spr685), unsigned 64 bits
+ 786: spr686 (spr686), unsigned 64 bits
+ 787: spr687 (spr687), unsigned 64 bits
+ 788: spr688 (spr688), unsigned 64 bits
+ 789: spr689 (spr689), unsigned 64 bits
+ 790: spr690 (spr690), unsigned 64 bits
+ 791: spr691 (spr691), unsigned 64 bits
+ 792: spr692 (spr692), unsigned 64 bits
+ 793: spr693 (spr693), unsigned 64 bits
+ 794: spr694 (spr694), unsigned 64 bits
+ 795: spr695 (spr695), unsigned 64 bits
+ 796: spr696 (spr696), unsigned 64 bits
+ 797: spr697 (spr697), unsigned 64 bits
+ 798: spr698 (spr698), unsigned 64 bits
+ 799: spr699 (spr699), unsigned 64 bits
+ 800: spr700 (spr700), unsigned 64 bits
+ 801: spr701 (spr701), unsigned 64 bits
+ 802: spr702 (spr702), unsigned 64 bits
+ 803: spr703 (spr703), unsigned 64 bits
+ 804: spr704 (spr704), unsigned 64 bits
+ 805: spr705 (spr705), unsigned 64 bits
+ 806: spr706 (spr706), unsigned 64 bits
+ 807: spr707 (spr707), unsigned 64 bits
+ 808: spr708 (spr708), unsigned 64 bits
+ 809: spr709 (spr709), unsigned 64 bits
+ 810: spr710 (spr710), unsigned 64 bits
+ 811: spr711 (spr711), unsigned 64 bits
+ 812: spr712 (spr712), unsigned 64 bits
+ 813: spr713 (spr713), unsigned 64 bits
+ 814: spr714 (spr714), unsigned 64 bits
+ 815: spr715 (spr715), unsigned 64 bits
+ 816: spr716 (spr716), unsigned 64 bits
+ 817: spr717 (spr717), unsigned 64 bits
+ 818: spr718 (spr718), unsigned 64 bits
+ 819: spr719 (spr719), unsigned 64 bits
+ 820: spr720 (spr720), unsigned 64 bits
+ 821: spr721 (spr721), unsigned 64 bits
+ 822: spr722 (spr722), unsigned 64 bits
+ 823: spr723 (spr723), unsigned 64 bits
+ 824: spr724 (spr724), unsigned 64 bits
+ 825: spr725 (spr725), unsigned 64 bits
+ 826: spr726 (spr726), unsigned 64 bits
+ 827: spr727 (spr727), unsigned 64 bits
+ 828: spr728 (spr728), unsigned 64 bits
+ 829: spr729 (spr729), unsigned 64 bits
+ 830: spr730 (spr730), unsigned 64 bits
+ 831: spr731 (spr731), unsigned 64 bits
+ 832: spr732 (spr732), unsigned 64 bits
+ 833: spr733 (spr733), unsigned 64 bits
+ 834: spr734 (spr734), unsigned 64 bits
+ 835: spr735 (spr735), unsigned 64 bits
+ 836: spr736 (spr736), unsigned 64 bits
+ 837: spr737 (spr737), unsigned 64 bits
+ 838: spr738 (spr738), unsigned 64 bits
+ 839: spr739 (spr739), unsigned 64 bits
+ 840: spr740 (spr740), unsigned 64 bits
+ 841: spr741 (spr741), unsigned 64 bits
+ 842: spr742 (spr742), unsigned 64 bits
+ 843: spr743 (spr743), unsigned 64 bits
+ 844: spr744 (spr744), unsigned 64 bits
+ 845: spr745 (spr745), unsigned 64 bits
+ 846: spr746 (spr746), unsigned 64 bits
+ 847: spr747 (spr747), unsigned 64 bits
+ 848: spr748 (spr748), unsigned 64 bits
+ 849: spr749 (spr749), unsigned 64 bits
+ 850: spr750 (spr750), unsigned 64 bits
+ 851: spr751 (spr751), unsigned 64 bits
+ 852: spr752 (spr752), unsigned 64 bits
+ 853: spr753 (spr753), unsigned 64 bits
+ 854: spr754 (spr754), unsigned 64 bits
+ 855: spr755 (spr755), unsigned 64 bits
+ 856: spr756 (spr756), unsigned 64 bits
+ 857: spr757 (spr757), unsigned 64 bits
+ 858: spr758 (spr758), unsigned 64 bits
+ 859: spr759 (spr759), unsigned 64 bits
+ 860: spr760 (spr760), unsigned 64 bits
+ 861: spr761 (spr761), unsigned 64 bits
+ 862: spr762 (spr762), unsigned 64 bits
+ 863: spr763 (spr763), unsigned 64 bits
+ 864: spr764 (spr764), unsigned 64 bits
+ 865: spr765 (spr765), unsigned 64 bits
+ 866: spr766 (spr766), unsigned 64 bits
+ 867: spr767 (spr767), unsigned 64 bits
+ 868: spr768 (spr768), unsigned 64 bits
+ 869: spr769 (spr769), unsigned 64 bits
+ 870: spr770 (spr770), unsigned 64 bits
+ 871: spr771 (spr771), unsigned 64 bits
+ 872: spr772 (spr772), unsigned 64 bits
+ 873: spr773 (spr773), unsigned 64 bits
+ 874: spr774 (spr774), unsigned 64 bits
+ 875: spr775 (spr775), unsigned 64 bits
+ 876: spr776 (spr776), unsigned 64 bits
+ 877: spr777 (spr777), unsigned 64 bits
+ 878: spr778 (spr778), unsigned 64 bits
+ 879: spr779 (spr779), unsigned 64 bits
+ 880: spr780 (spr780), unsigned 64 bits
+ 881: spr781 (spr781), unsigned 64 bits
+ 882: spr782 (spr782), unsigned 64 bits
+ 883: spr783 (spr783), unsigned 64 bits
+ 884: spr784 (spr784), unsigned 64 bits
+ 885: spr785 (spr785), unsigned 64 bits
+ 886: spr786 (spr786), unsigned 64 bits
+ 887: spr787 (spr787), unsigned 64 bits
+ 888: spr788 (spr788), unsigned 64 bits
+ 889: spr789 (spr789), unsigned 64 bits
+ 890: spr790 (spr790), unsigned 64 bits
+ 891: spr791 (spr791), unsigned 64 bits
+ 892: spr792 (spr792), unsigned 64 bits
+ 893: spr793 (spr793), unsigned 64 bits
+ 894: spr794 (spr794), unsigned 64 bits
+ 895: spr795 (spr795), unsigned 64 bits
+ 896: spr796 (spr796), unsigned 64 bits
+ 897: spr797 (spr797), unsigned 64 bits
+ 898: spr798 (spr798), unsigned 64 bits
+ 899: spr799 (spr799), unsigned 64 bits
+ 900: spr800 (spr800), unsigned 64 bits
+ 901: spr801 (spr801), unsigned 64 bits
+ 902: spr802 (spr802), unsigned 64 bits
+ 903: spr803 (spr803), unsigned 64 bits
+ 904: spr804 (spr804), unsigned 64 bits
+ 905: spr805 (spr805), unsigned 64 bits
+ 906: spr806 (spr806), unsigned 64 bits
+ 907: spr807 (spr807), unsigned 64 bits
+ 908: spr808 (spr808), unsigned 64 bits
+ 909: spr809 (spr809), unsigned 64 bits
+ 910: spr810 (spr810), unsigned 64 bits
+ 911: spr811 (spr811), unsigned 64 bits
+ 912: spr812 (spr812), unsigned 64 bits
+ 913: spr813 (spr813), unsigned 64 bits
+ 914: spr814 (spr814), unsigned 64 bits
+ 915: spr815 (spr815), unsigned 64 bits
+ 916: spr816 (spr816), unsigned 64 bits
+ 917: spr817 (spr817), unsigned 64 bits
+ 918: spr818 (spr818), unsigned 64 bits
+ 919: spr819 (spr819), unsigned 64 bits
+ 920: spr820 (spr820), unsigned 64 bits
+ 921: spr821 (spr821), unsigned 64 bits
+ 922: spr822 (spr822), unsigned 64 bits
+ 923: spr823 (spr823), unsigned 64 bits
+ 924: spr824 (spr824), unsigned 64 bits
+ 925: spr825 (spr825), unsigned 64 bits
+ 926: spr826 (spr826), unsigned 64 bits
+ 927: spr827 (spr827), unsigned 64 bits
+ 928: spr828 (spr828), unsigned 64 bits
+ 929: spr829 (spr829), unsigned 64 bits
+ 930: spr830 (spr830), unsigned 64 bits
+ 931: spr831 (spr831), unsigned 64 bits
+ 932: spr832 (spr832), unsigned 64 bits
+ 933: spr833 (spr833), unsigned 64 bits
+ 934: spr834 (spr834), unsigned 64 bits
+ 935: spr835 (spr835), unsigned 64 bits
+ 936: spr836 (spr836), unsigned 64 bits
+ 937: spr837 (spr837), unsigned 64 bits
+ 938: spr838 (spr838), unsigned 64 bits
+ 939: spr839 (spr839), unsigned 64 bits
+ 940: spr840 (spr840), unsigned 64 bits
+ 941: spr841 (spr841), unsigned 64 bits
+ 942: spr842 (spr842), unsigned 64 bits
+ 943: spr843 (spr843), unsigned 64 bits
+ 944: spr844 (spr844), unsigned 64 bits
+ 945: spr845 (spr845), unsigned 64 bits
+ 946: spr846 (spr846), unsigned 64 bits
+ 947: spr847 (spr847), unsigned 64 bits
+ 948: spr848 (spr848), unsigned 64 bits
+ 949: spr849 (spr849), unsigned 64 bits
+ 950: spr850 (spr850), unsigned 64 bits
+ 951: spr851 (spr851), unsigned 64 bits
+ 952: spr852 (spr852), unsigned 64 bits
+ 953: spr853 (spr853), unsigned 64 bits
+ 954: spr854 (spr854), unsigned 64 bits
+ 955: spr855 (spr855), unsigned 64 bits
+ 956: spr856 (spr856), unsigned 64 bits
+ 957: spr857 (spr857), unsigned 64 bits
+ 958: spr858 (spr858), unsigned 64 bits
+ 959: spr859 (spr859), unsigned 64 bits
+ 960: spr860 (spr860), unsigned 64 bits
+ 961: spr861 (spr861), unsigned 64 bits
+ 962: spr862 (spr862), unsigned 64 bits
+ 963: spr863 (spr863), unsigned 64 bits
+ 964: spr864 (spr864), unsigned 64 bits
+ 965: spr865 (spr865), unsigned 64 bits
+ 966: spr866 (spr866), unsigned 64 bits
+ 967: spr867 (spr867), unsigned 64 bits
+ 968: spr868 (spr868), unsigned 64 bits
+ 969: spr869 (spr869), unsigned 64 bits
+ 970: spr870 (spr870), unsigned 64 bits
+ 971: spr871 (spr871), unsigned 64 bits
+ 972: spr872 (spr872), unsigned 64 bits
+ 973: spr873 (spr873), unsigned 64 bits
+ 974: spr874 (spr874), unsigned 64 bits
+ 975: spr875 (spr875), unsigned 64 bits
+ 976: spr876 (spr876), unsigned 64 bits
+ 977: spr877 (spr877), unsigned 64 bits
+ 978: spr878 (spr878), unsigned 64 bits
+ 979: spr879 (spr879), unsigned 64 bits
+ 980: spr880 (spr880), unsigned 64 bits
+ 981: spr881 (spr881), unsigned 64 bits
+ 982: spr882 (spr882), unsigned 64 bits
+ 983: spr883 (spr883), unsigned 64 bits
+ 984: spr884 (spr884), unsigned 64 bits
+ 985: spr885 (spr885), unsigned 64 bits
+ 986: spr886 (spr886), unsigned 64 bits
+ 987: spr887 (spr887), unsigned 64 bits
+ 988: spr888 (spr888), unsigned 64 bits
+ 989: spr889 (spr889), unsigned 64 bits
+ 990: spr890 (spr890), unsigned 64 bits
+ 991: spr891 (spr891), unsigned 64 bits
+ 992: spr892 (spr892), unsigned 64 bits
+ 993: spr893 (spr893), unsigned 64 bits
+ 994: spr894 (spr894), unsigned 64 bits
+ 995: spr895 (spr895), unsigned 64 bits
+ 996: spr896 (spr896), unsigned 64 bits
+ 997: spr897 (spr897), unsigned 64 bits
+ 998: spr898 (spr898), unsigned 64 bits
+ 999: spr899 (spr899), unsigned 64 bits
+vector registers:
+ 67: vscr (vscr), unsigned 32 bits
+ 356: vrsave (vrsave), unsigned 32 bits
+ 612: spefscr (spefscr), unsigned 32 bits
+ 1124: vr0 (vr0), unsigned 128 bits
+ 1125: vr1 (vr1), unsigned 128 bits
+ 1126: vr2 (vr2), unsigned 128 bits
+ 1127: vr3 (vr3), unsigned 128 bits
+ 1128: vr4 (vr4), unsigned 128 bits
+ 1129: vr5 (vr5), unsigned 128 bits
+ 1130: vr6 (vr6), unsigned 128 bits
+ 1131: vr7 (vr7), unsigned 128 bits
+ 1132: vr8 (vr8), unsigned 128 bits
+ 1133: vr9 (vr9), unsigned 128 bits
+ 1134: vr10 (vr10), unsigned 128 bits
+ 1135: vr11 (vr11), unsigned 128 bits
+ 1136: vr12 (vr12), unsigned 128 bits
+ 1137: vr13 (vr13), unsigned 128 bits
+ 1138: vr14 (vr14), unsigned 128 bits
+ 1139: vr15 (vr15), unsigned 128 bits
+ 1140: vr16 (vr16), unsigned 128 bits
+ 1141: vr17 (vr17), unsigned 128 bits
+ 1142: vr18 (vr18), unsigned 128 bits
+ 1143: vr19 (vr19), unsigned 128 bits
+ 1144: vr20 (vr20), unsigned 128 bits
+ 1145: vr21 (vr21), unsigned 128 bits
+ 1146: vr22 (vr22), unsigned 128 bits
+ 1147: vr23 (vr23), unsigned 128 bits
+ 1148: vr24 (vr24), unsigned 128 bits
+ 1149: vr25 (vr25), unsigned 128 bits
+ 1150: vr26 (vr26), unsigned 128 bits
+ 1151: vr27 (vr27), unsigned 128 bits
+ 1152: vr28 (vr28), unsigned 128 bits
+ 1153: vr29 (vr29), unsigned 128 bits
+ 1154: vr30 (vr30), unsigned 128 bits
+ 1155: vr31 (vr31), unsigned 128 bits
+EOF
+
+regs_test testfile26 <<\EOF
+integer registers:
+ 0: %r0 (r0), signed 32 bits
+ 1: %r1 (r1), signed 32 bits
+ 2: %r2 (r2), signed 32 bits
+ 3: %r3 (r3), signed 32 bits
+ 4: %r4 (r4), signed 32 bits
+ 5: %r5 (r5), signed 32 bits
+ 6: %r6 (r6), signed 32 bits
+ 7: %r7 (r7), signed 32 bits
+ 8: %r8 (r8), signed 32 bits
+ 9: %r9 (r9), signed 32 bits
+ 10: %r10 (r10), signed 32 bits
+ 11: %r11 (r11), signed 32 bits
+ 12: %r12 (r12), signed 32 bits
+ 13: %r13 (r13), signed 32 bits
+ 14: %r14 (r14), signed 32 bits
+ 15: %r15 (r15), signed 32 bits
+FPU registers:
+ 16: %f0 (f0), float 64 bits
+ 17: %f2 (f2), float 64 bits
+ 18: %f4 (f4), float 64 bits
+ 19: %f6 (f6), float 64 bits
+ 20: %f1 (f1), float 64 bits
+ 21: %f3 (f3), float 64 bits
+ 22: %f5 (f5), float 64 bits
+ 23: %f7 (f7), float 64 bits
+ 24: %f8 (f8), float 64 bits
+ 25: %f10 (f10), float 64 bits
+ 26: %f12 (f12), float 64 bits
+ 27: %f14 (f14), float 64 bits
+ 28: %f9 (f9), float 64 bits
+ 29: %f11 (f11), float 64 bits
+ 30: %f13 (f13), float 64 bits
+ 31: %f15 (f15), float 64 bits
+access registers:
+ 48: %a0 (a0), unsigned 32 bits
+ 49: %a1 (a1), unsigned 32 bits
+ 50: %a2 (a2), unsigned 32 bits
+ 51: %a3 (a3), unsigned 32 bits
+ 52: %a4 (a4), unsigned 32 bits
+ 53: %a5 (a5), unsigned 32 bits
+ 54: %a6 (a6), unsigned 32 bits
+ 55: %a7 (a7), unsigned 32 bits
+ 56: %a8 (a8), unsigned 32 bits
+ 57: %a9 (a9), unsigned 32 bits
+ 58: %a10 (a10), unsigned 32 bits
+ 59: %a11 (a11), unsigned 32 bits
+ 60: %a12 (a12), unsigned 32 bits
+ 61: %a13 (a13), unsigned 32 bits
+ 62: %a14 (a14), unsigned 32 bits
+ 63: %a15 (a15), unsigned 32 bits
+control registers:
+ 32: %c0 (c0), unsigned 32 bits
+ 33: %c1 (c1), unsigned 32 bits
+ 34: %c2 (c2), unsigned 32 bits
+ 35: %c3 (c3), unsigned 32 bits
+ 36: %c4 (c4), unsigned 32 bits
+ 37: %c5 (c5), unsigned 32 bits
+ 38: %c6 (c6), unsigned 32 bits
+ 39: %c7 (c7), unsigned 32 bits
+ 40: %c8 (c8), unsigned 32 bits
+ 41: %c9 (c9), unsigned 32 bits
+ 42: %c10 (c10), unsigned 32 bits
+ 43: %c11 (c11), unsigned 32 bits
+ 44: %c12 (c12), unsigned 32 bits
+ 45: %c13 (c13), unsigned 32 bits
+ 46: %c14 (c14), unsigned 32 bits
+ 47: %c15 (c15), unsigned 32 bits
+ 64: %pswm (pswm), unsigned 32 bits
+ 65: %pswa (pswa), address 32 bits
+EOF
+
+regs_test testfile27 <<\EOF
+integer registers:
+ 0: %r0 (r0), signed 64 bits
+ 1: %r1 (r1), signed 64 bits
+ 2: %r2 (r2), signed 64 bits
+ 3: %r3 (r3), signed 64 bits
+ 4: %r4 (r4), signed 64 bits
+ 5: %r5 (r5), signed 64 bits
+ 6: %r6 (r6), signed 64 bits
+ 7: %r7 (r7), signed 64 bits
+ 8: %r8 (r8), signed 64 bits
+ 9: %r9 (r9), signed 64 bits
+ 10: %r10 (r10), signed 64 bits
+ 11: %r11 (r11), signed 64 bits
+ 12: %r12 (r12), signed 64 bits
+ 13: %r13 (r13), signed 64 bits
+ 14: %r14 (r14), signed 64 bits
+ 15: %r15 (r15), signed 64 bits
+FPU registers:
+ 16: %f0 (f0), float 64 bits
+ 17: %f2 (f2), float 64 bits
+ 18: %f4 (f4), float 64 bits
+ 19: %f6 (f6), float 64 bits
+ 20: %f1 (f1), float 64 bits
+ 21: %f3 (f3), float 64 bits
+ 22: %f5 (f5), float 64 bits
+ 23: %f7 (f7), float 64 bits
+ 24: %f8 (f8), float 64 bits
+ 25: %f10 (f10), float 64 bits
+ 26: %f12 (f12), float 64 bits
+ 27: %f14 (f14), float 64 bits
+ 28: %f9 (f9), float 64 bits
+ 29: %f11 (f11), float 64 bits
+ 30: %f13 (f13), float 64 bits
+ 31: %f15 (f15), float 64 bits
+access registers:
+ 48: %a0 (a0), unsigned 32 bits
+ 49: %a1 (a1), unsigned 32 bits
+ 50: %a2 (a2), unsigned 32 bits
+ 51: %a3 (a3), unsigned 32 bits
+ 52: %a4 (a4), unsigned 32 bits
+ 53: %a5 (a5), unsigned 32 bits
+ 54: %a6 (a6), unsigned 32 bits
+ 55: %a7 (a7), unsigned 32 bits
+ 56: %a8 (a8), unsigned 32 bits
+ 57: %a9 (a9), unsigned 32 bits
+ 58: %a10 (a10), unsigned 32 bits
+ 59: %a11 (a11), unsigned 32 bits
+ 60: %a12 (a12), unsigned 32 bits
+ 61: %a13 (a13), unsigned 32 bits
+ 62: %a14 (a14), unsigned 32 bits
+ 63: %a15 (a15), unsigned 32 bits
+control registers:
+ 32: %c0 (c0), unsigned 64 bits
+ 33: %c1 (c1), unsigned 64 bits
+ 34: %c2 (c2), unsigned 64 bits
+ 35: %c3 (c3), unsigned 64 bits
+ 36: %c4 (c4), unsigned 64 bits
+ 37: %c5 (c5), unsigned 64 bits
+ 38: %c6 (c6), unsigned 64 bits
+ 39: %c7 (c7), unsigned 64 bits
+ 40: %c8 (c8), unsigned 64 bits
+ 41: %c9 (c9), unsigned 64 bits
+ 42: %c10 (c10), unsigned 64 bits
+ 43: %c11 (c11), unsigned 64 bits
+ 44: %c12 (c12), unsigned 64 bits
+ 45: %c13 (c13), unsigned 64 bits
+ 46: %c14 (c14), unsigned 64 bits
+ 47: %c15 (c15), unsigned 64 bits
+ 64: %pswm (pswm), unsigned 64 bits
+ 65: %pswa (pswa), address 64 bits
+EOF
+
+regs_test testfile30 <<\EOF
+integer registers:
+ 0: %g0 (g0), signed 32 bits
+ 1: %g1 (g1), signed 32 bits
+ 2: %g2 (g2), signed 32 bits
+ 3: %g3 (g3), signed 32 bits
+ 4: %g4 (g4), signed 32 bits
+ 5: %g5 (g5), signed 32 bits
+ 6: %g6 (g6), signed 32 bits
+ 7: %g7 (g7), signed 32 bits
+ 8: %o0 (o0), signed 32 bits
+ 9: %o1 (o1), signed 32 bits
+ 10: %o2 (o2), signed 32 bits
+ 11: %o3 (o3), signed 32 bits
+ 12: %o4 (o4), signed 32 bits
+ 13: %o5 (o5), signed 32 bits
+ 14: %o6 (o6), address 32 bits
+ 15: %o7 (o7), signed 32 bits
+ 16: %l0 (l0), signed 32 bits
+ 17: %l1 (l1), signed 32 bits
+ 18: %l2 (l2), signed 32 bits
+ 19: %l3 (l3), signed 32 bits
+ 20: %l4 (l4), signed 32 bits
+ 21: %l5 (l5), signed 32 bits
+ 22: %l6 (l6), signed 32 bits
+ 23: %l7 (l7), signed 32 bits
+ 24: %i0 (i0), signed 32 bits
+ 25: %i1 (i1), signed 32 bits
+ 26: %i2 (i2), signed 32 bits
+ 27: %i3 (i3), signed 32 bits
+ 28: %i4 (i4), signed 32 bits
+ 29: %i5 (i5), signed 32 bits
+ 30: %i6 (i6), address 32 bits
+ 31: %i7 (i7), signed 32 bits
+FPU registers:
+ 32: %f0 (f0), float 32 bits
+ 33: %f1 (f1), float 32 bits
+ 34: %f2 (f2), float 32 bits
+ 35: %f3 (f3), float 32 bits
+ 36: %f4 (f4), float 32 bits
+ 37: %f5 (f5), float 32 bits
+ 38: %f6 (f6), float 32 bits
+ 39: %f7 (f7), float 32 bits
+ 40: %f8 (f8), float 32 bits
+ 41: %f9 (f9), float 32 bits
+ 42: %f10 (f10), float 32 bits
+ 43: %f11 (f11), float 32 bits
+ 44: %f12 (f12), float 32 bits
+ 45: %f13 (f13), float 32 bits
+ 46: %f14 (f14), float 32 bits
+ 47: %f15 (f15), float 32 bits
+ 48: %f16 (f16), float 32 bits
+ 49: %f17 (f17), float 32 bits
+ 50: %f18 (f18), float 32 bits
+ 51: %f19 (f19), float 32 bits
+ 52: %f20 (f20), float 32 bits
+ 53: %f21 (f21), float 32 bits
+ 54: %f22 (f22), float 32 bits
+ 55: %f23 (f23), float 32 bits
+ 56: %f24 (f24), float 32 bits
+ 57: %f25 (f25), float 32 bits
+ 58: %f26 (f26), float 32 bits
+ 59: %f27 (f27), float 32 bits
+ 60: %f28 (f28), float 32 bits
+ 61: %f29 (f29), float 32 bits
+ 62: %f30 (f30), float 32 bits
+ 63: %f31 (f31), float 32 bits
+control registers:
+ 64: %y (y), unsigned 32 bits
+ 65: %psr (psr), unsigned 32 bits
+ 66: %wim (wim), unsigned 32 bits
+ 67: %tbr (tbr), unsigned 32 bits
+ 68: %pc (pc), address 32 bits
+ 69: %npc (npc), address 32 bits
+ 70: %fsr (fsr), unsigned 32 bits
+ 71: %csr (csr), unsigned 32 bits
+EOF
+
+regs_test testfile31 <<\EOF
+integer registers:
+ 0: %g0 (g0), signed 64 bits
+ 1: %g1 (g1), signed 64 bits
+ 2: %g2 (g2), signed 64 bits
+ 3: %g3 (g3), signed 64 bits
+ 4: %g4 (g4), signed 64 bits
+ 5: %g5 (g5), signed 64 bits
+ 6: %g6 (g6), signed 64 bits
+ 7: %g7 (g7), signed 64 bits
+ 8: %o0 (o0), signed 64 bits
+ 9: %o1 (o1), signed 64 bits
+ 10: %o2 (o2), signed 64 bits
+ 11: %o3 (o3), signed 64 bits
+ 12: %o4 (o4), signed 64 bits
+ 13: %o5 (o5), signed 64 bits
+ 14: %o6 (o6), address 64 bits
+ 15: %o7 (o7), signed 64 bits
+ 16: %l0 (l0), signed 64 bits
+ 17: %l1 (l1), signed 64 bits
+ 18: %l2 (l2), signed 64 bits
+ 19: %l3 (l3), signed 64 bits
+ 20: %l4 (l4), signed 64 bits
+ 21: %l5 (l5), signed 64 bits
+ 22: %l6 (l6), signed 64 bits
+ 23: %l7 (l7), signed 64 bits
+ 24: %i0 (i0), signed 64 bits
+ 25: %i1 (i1), signed 64 bits
+ 26: %i2 (i2), signed 64 bits
+ 27: %i3 (i3), signed 64 bits
+ 28: %i4 (i4), signed 64 bits
+ 29: %i5 (i5), signed 64 bits
+ 30: %i6 (i6), address 64 bits
+ 31: %i7 (i7), signed 64 bits
+FPU registers:
+ 32: %f0 (f0), float 32 bits
+ 33: %f1 (f1), float 32 bits
+ 34: %f2 (f2), float 32 bits
+ 35: %f3 (f3), float 32 bits
+ 36: %f4 (f4), float 32 bits
+ 37: %f5 (f5), float 32 bits
+ 38: %f6 (f6), float 32 bits
+ 39: %f7 (f7), float 32 bits
+ 40: %f8 (f8), float 32 bits
+ 41: %f9 (f9), float 32 bits
+ 42: %f10 (f10), float 32 bits
+ 43: %f11 (f11), float 32 bits
+ 44: %f12 (f12), float 32 bits
+ 45: %f13 (f13), float 32 bits
+ 46: %f14 (f14), float 32 bits
+ 47: %f15 (f15), float 32 bits
+ 48: %f16 (f16), float 32 bits
+ 49: %f17 (f17), float 32 bits
+ 50: %f18 (f18), float 32 bits
+ 51: %f19 (f19), float 32 bits
+ 52: %f20 (f20), float 32 bits
+ 53: %f21 (f21), float 32 bits
+ 54: %f22 (f22), float 32 bits
+ 55: %f23 (f23), float 32 bits
+ 56: %f24 (f24), float 32 bits
+ 57: %f25 (f25), float 32 bits
+ 58: %f26 (f26), float 32 bits
+ 59: %f27 (f27), float 32 bits
+ 60: %f28 (f28), float 32 bits
+ 61: %f29 (f29), float 32 bits
+ 62: %f30 (f30), float 32 bits
+ 63: %f31 (f31), float 32 bits
+ 64: %f32 (f32), float 64 bits
+ 65: %f34 (f34), float 64 bits
+ 66: %f36 (f36), float 64 bits
+ 67: %f38 (f38), float 64 bits
+ 68: %f40 (f40), float 64 bits
+ 69: %f42 (f42), float 64 bits
+ 70: %f44 (f44), float 64 bits
+ 71: %f46 (f46), float 64 bits
+ 72: %f48 (f48), float 64 bits
+ 73: %f50 (f50), float 64 bits
+ 74: %f52 (f52), float 64 bits
+ 75: %f54 (f54), float 64 bits
+ 76: %f56 (f56), float 64 bits
+ 77: %f58 (f58), float 64 bits
+ 78: %f60 (f60), float 64 bits
+ 79: %f62 (f62), float 64 bits
+control registers:
+ 80: %pc (pc), address 64 bits
+ 81: %npc (npc), address 64 bits
+ 82: %state (state), unsigned 64 bits
+ 83: %fsr (fsr), unsigned 64 bits
+ 84: %fprs (fprs), unsigned 64 bits
+ 85: %y (y), unsigned 64 bits
+EOF
+
+regs_test testfile10 <<\EOF
+integer registers:
+ 0: $v0 (v0), signed 64 bits
+ 1: $t0 (t0), signed 64 bits
+ 2: $t1 (t1), signed 64 bits
+ 3: $t2 (t2), signed 64 bits
+ 4: $t3 (t3), signed 64 bits
+ 5: $t4 (t4), signed 64 bits
+ 6: $t5 (t5), signed 64 bits
+ 7: $t6 (t6), signed 64 bits
+ 8: $t7 (t7), signed 64 bits
+ 9: $s0 (s0), signed 64 bits
+ 10: $s1 (s1), signed 64 bits
+ 11: $s2 (s2), signed 64 bits
+ 12: $s3 (s3), signed 64 bits
+ 13: $s4 (s4), signed 64 bits
+ 14: $s5 (s5), signed 64 bits
+ 15: $s6 (s6), signed 64 bits
+ 16: $a0 (a0), signed 64 bits
+ 17: $a1 (a1), signed 64 bits
+ 18: $a2 (a2), signed 64 bits
+ 19: $a3 (a3), signed 64 bits
+ 20: $a4 (a4), signed 64 bits
+ 21: $a5 (a5), signed 64 bits
+ 22: $t8 (t8), signed 64 bits
+ 23: $t9 (t9), signed 64 bits
+ 24: $t10 (t10), signed 64 bits
+ 25: $t11 (t11), signed 64 bits
+ 26: $ra (ra), address 64 bits
+ 27: $t12 (t12), signed 64 bits
+ 28: $at (at), signed 64 bits
+ 29: $gp (gp), address 64 bits
+ 30: $sp (sp), address 64 bits
+ 31: $zero (zero), signed 64 bits
+ 64: $pc (pc), address 64 bits
+ 66: $unique (unique), address 64 bits
+FPU registers:
+ 32: $f0 (f0), float 64 bits
+ 33: $f1 (f1), float 64 bits
+ 34: $f2 (f2), float 64 bits
+ 35: $f3 (f3), float 64 bits
+ 36: $f4 (f4), float 64 bits
+ 37: $f5 (f5), float 64 bits
+ 38: $f6 (f6), float 64 bits
+ 39: $f7 (f7), float 64 bits
+ 40: $f8 (f8), float 64 bits
+ 41: $f9 (f9), float 64 bits
+ 42: $f10 (f10), float 64 bits
+ 43: $f11 (f11), float 64 bits
+ 44: $f12 (f12), float 64 bits
+ 45: $f13 (f13), float 64 bits
+ 46: $f14 (f14), float 64 bits
+ 47: $f15 (f15), float 64 bits
+ 48: $f16 (f16), float 64 bits
+ 49: $f17 (f17), float 64 bits
+ 50: $f18 (f18), float 64 bits
+ 51: $f19 (f19), float 64 bits
+ 52: $f20 (f20), float 64 bits
+ 53: $f21 (f21), float 64 bits
+ 54: $f22 (f22), float 64 bits
+ 55: $f23 (f23), float 64 bits
+ 56: $f24 (f24), float 64 bits
+ 57: $f25 (f25), float 64 bits
+ 58: $f26 (f26), float 64 bits
+ 59: $f27 (f27), float 64 bits
+ 60: $f28 (f28), float 64 bits
+ 61: $f29 (f29), float 64 bits
+ 62: $f30 (f30), float 64 bits
+ 63: $fpcr (fpcr), unsigned 64 bits
+EOF
+
+exit 0
diff --git a/tests/run-arextract.sh b/tests/run-arextract.sh
index 839a6792..29119a13 100644
--- a/tests/run-arextract.sh
+++ b/tests/run-arextract.sh
@@ -1,31 +1,45 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2005, 2006 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+tempfiles arextract.test
-archive=../libelf/.libs/libelf.a
-test -f $archive || archive=../libelf/libelf.a
+archive=../libelf/libelf.a
if test -f $archive; then
# The file is really available (i.e., no shared-only built).
echo -n "Extracting symbols... $ac_c"
# The files we are looking at.
for f in ../libelf/*.o; do
- ./arextract $archive `basename $f` arextract.test || exit 1
+ testrun ./arextract $archive `basename $f` arextract.test || exit 1
cmp $f arextract.test || {
echo "Extraction of $1 failed"
exit 1
}
- rm -f ${objpfx}arextract.test
done
echo "done"
diff --git a/tests/run-arsymtest.sh b/tests/run-arsymtest.sh
index 793cdb8f..d47df7a7 100644
--- a/tests/run-arsymtest.sh
+++ b/tests/run-arsymtest.sh
@@ -1,23 +1,39 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2006 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
lib=../libelf/libelf.a
okfile=arsymtest.ok
tmpfile=arsymtest.tmp
testfile=arsymtest.test
-result=0
+tempfiles $okfile $tmpfile $testfile
+
+result=77
if test -f $lib; then
# Generate list using `nm' we check against.
nm -s $lib |
@@ -25,14 +41,12 @@ if test -f $lib; then
sort > $okfile
# Now run our program using libelf.
- ./arsymtest $lib $tmpfile || exit 1
+ testrun ./arsymtest $lib $tmpfile || exit 1
sort $tmpfile > $testfile
- rm $tmpfile
# Compare the outputs.
if cmp $okfile $testfile; then
result=0
- rm $testfile $okfile
else
result=1
fi
diff --git a/tests/run-bug1-test.sh b/tests/run-bug1-test.sh
new file mode 100755
index 00000000..7367a4ed
--- /dev/null
+++ b/tests/run-bug1-test.sh
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2006 Red Hat, Inc.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2006.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile28 testfile28.rdwr
+
+testrun ./rdwrmmap testfile28
+
+cmp testfile28 testfile28.rdwr
+
+test_cleanup
+
+testfiles testfile29 testfile29.rdwr
+
+testrun ./rdwrmmap testfile29
+
+cmp testfile29 testfile29.rdwr
+
+exit 0
diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh
new file mode 100755
index 00000000..01803c0a
--- /dev/null
+++ b/tests/run-disasm-x86-64.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+# Run x86-64 test.
+case "`uname -m`" in
+ x86_64)
+ tempfiles testfile45.o
+ testfiles testfile45.S testfile45.expect
+ gcc -m64 -c -o testfile45.o testfile45.S
+ testrun_compare ../src/objdump -d testfile45.o < testfile45.expect
+ ;;
+esac
diff --git a/tests/run-disasm-x86.sh b/tests/run-disasm-x86.sh
new file mode 100755
index 00000000..efd734c0
--- /dev/null
+++ b/tests/run-disasm-x86.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+# Run x86 test.
+case "`uname -m`" in
+ x86_64 | i?86 )
+ tempfiles testfile44.o
+ testfiles testfile44.S testfile44.expect
+ gcc -m32 -c -o testfile44.o testfile44.S
+ testrun_compare ../src/objdump -d testfile44.o < testfile44.expect
+ ;;
+esac
diff --git a/tests/run-dwfl-addr-sect.sh b/tests/run-dwfl-addr-sect.sh
new file mode 100755
index 00000000..98666f37
--- /dev/null
+++ b/tests/run-dwfl-addr-sect.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile43
+
+testrun_compare ./dwfl-addr-sect -e testfile43 0x64 0x8 0x98 <<\EOF
+address 0x64 => module "" section 4 + 0
+address 0x8 => module "" section 1 + 0x8
+address 0x98 => module "" section 7 + 0
+EOF
+
+exit 0
diff --git a/tests/run-dwfl-bug-offline-rel.sh b/tests/run-dwfl-bug-offline-rel.sh
new file mode 100755
index 00000000..d1f6149a
--- /dev/null
+++ b/tests/run-dwfl-bug-offline-rel.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile36 testfile36.debug
+
+testrun_compare ./dwflmodtest -e testfile36 <<\EOF
+module: 00000000..00002308 testfile36 (null)
+module: 00000000 DWARF 0 (no error)
+module: 00000000..00002308 testfile36 testfile36.debug
+EOF
+
+exit 0
diff --git a/tests/run-early-offscn.sh b/tests/run-early-offscn.sh
new file mode 100755
index 00000000..70be2192
--- /dev/null
+++ b/tests/run-early-offscn.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile
+
+testrun ./early-offscn testfile 0x500
+
+exit 0
diff --git a/tests/run-ecp-test.sh b/tests/run-ecp-test.sh
index e4304965..941f3e96 100644
--- a/tests/run-ecp-test.sh
+++ b/tests/run-ecp-test.sh
@@ -1,25 +1,36 @@
#! /bin/sh
-# Copyright (C) 2002 Red Hat, Inc.
+# Copyright (C) 2002, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Jakub Jelinek <jakub@redhat.com>, 2002.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile10.bz2 > testfile10 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./ecp testfile10 testfile10.tmp
+testfiles testfile10
+tempfiles testfile10.tmp
-cmp testfile10 testfile10.tmp
+testrun ./ecp testfile10 testfile10.tmp
-rm -f testfile10 testfile10.tmp
+cmp testfile10 testfile10.tmp
exit 0
diff --git a/tests/run-ecp-test2.sh b/tests/run-ecp-test2.sh
index 143c70a6..42317080 100644
--- a/tests/run-ecp-test2.sh
+++ b/tests/run-ecp-test2.sh
@@ -1,23 +1,34 @@
#! /bin/sh
-# Copyright (C) 2002 Red Hat, Inc.
+# Copyright (C) 2002, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Jakub Jelinek <jakub@redhat.com>, 2002.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./ecp testfile2 testfile2.tmp
+testfiles testfile2
+tempfiles testfile2.tmp
-rm -f testfile2 testfile2.tmp
+testrun ./ecp testfile2 testfile2.tmp
exit 0
diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh
new file mode 100755
index 00000000..7da0886a
--- /dev/null
+++ b/tests/run-elflint-self.sh
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2005, 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+status=0
+runtest() {
+# Uncomment for debuging
+# echo $1
+ if [ -f $1 ]; then
+ testrun ../src/elflint --quiet --gnu-ld $1 ||
+ { echo "*** failure in $1"; status=1; }
+ fi
+}
+
+runtest ../src/addr2line
+runtest ../src/elfcmp
+runtest ../src/elflint
+runtest ../src/findtextrel
+runtest ../src/ld
+runtest ../src/nm
+runtest ../src/objdump
+runtest ../src/readelf
+runtest ../src/size
+runtest ../src/strip
+runtest ../libelf/libelf.so
+runtest ../libdw/libdw.so
+runtest ../libasm/libasm.so
+runtest ../libebl/libebl_alpha.so
+runtest ../libebl/libebl_arm.so
+runtest ../libebl/libebl_i386.so
+runtest ../libebl/libebl_ia64.so
+runtest ../libebl/libebl_ppc.so
+runtest ../libebl/libebl_ppc64.so
+runtest ../libebl/libebl_sh.so
+runtest ../libebl/libebl_sparc.so
+runtest ../libebl/libebl_x86_64.so
+
+exit $status
diff --git a/tests/run-elflint-test.sh b/tests/run-elflint-test.sh
new file mode 100755
index 00000000..e0e1c547
--- /dev/null
+++ b/tests/run-elflint-test.sh
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2005, 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile18
+
+testrun_compare ../src/elflint --gnu-ld testfile18 <<\EOF
+section [ 8] '.rela.dyn': relocation 1: copy relocation against symbol of type FUNC
+EOF
+
+testfiles testfile32
+testrun ../src/elflint -q testfile32
+
+testfiles testfile33
+testrun ../src/elflint -q testfile33
+
+testfiles testfile42
+testrun ../src/elflint -q --gnu-ld testfile42
+
+testfiles testfile46
+testrun ../src/elflint -q testfile46
+
+exit 0
diff --git a/tests/run-find-prologues.sh b/tests/run-find-prologues.sh
new file mode 100755
index 00000000..eddc9ee7
--- /dev/null
+++ b/tests/run-find-prologues.sh
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile testfile11 testfile22 testfile24 \
+ testfile25 testfile3 testfile4 testfile5 testfile6
+
+testrun_compare ./find-prologues -e testfile <<\EOF
+main 0x000000000804842c 0x0000000008048432
+bar 0x000000000804845c 0x000000000804845f
+foo 0x0000000008048468 0x000000000804846b
+EOF
+
+testrun_compare ./find-prologues -e testfile11 <<\EOF
+main 0x00000000080489b8 0x00000000080489cd
+gnu_obj_2 0x0000000008048c9e 0x0000000008048ca4
+gnu_obj_3 0x0000000008048cd8 0x0000000008048cde
+gnu_obj_2 0x0000000008048cf4 0x0000000008048cfa
+~invalid_argument 0x0000000008048d2e 0x0000000008048d34
+gnu_obj_1 0x0000000008048d62 0x0000000008048d65
+gnu_obj_1 0x0000000008048d8a 0x0000000008048d8d
+~invalid_argument 0x0000000008048db2 0x0000000008048db8
+EOF
+
+testrun_compare ./find-prologues -e testfile22 <<\EOF
+function 0x0000000008048348 0x000000000804834e
+main 0x000000000804835b 0x0000000008048377
+EOF
+
+testrun_compare ./find-prologues -e testfile24 <<\EOF
+incr 0x0000000008048348 0x000000000804834e
+main 0x0000000008048354 0x0000000008048360
+EOF
+
+testrun_compare ./find-prologues -e testfile25 <<\EOF
+incr 0x0000000008048348 0x000000000804834c
+EOF
+
+testrun_compare ./find-prologues -e testfile3 <<\EOF
+main 0x000000000804842c 0x0000000008048433
+bar 0x0000000008048458 0x000000000804845b
+foo 0x0000000008048464 0x0000000008048467
+EOF
+
+testrun_compare ./find-prologues -e testfile4 <<\EOF
+get 0x00000000080493fc 0x0000000008049402
+main 0x0000000008049498 0x000000000804949e
+a 0x000000000804d85c 0x000000000804d85c
+__tfPCc 0x000000000804d86c 0x000000000804d872
+__tfCc 0x000000000804d8a4 0x000000000804d8a4
+EOF
+
+testrun_compare ./find-prologues -e testfile5 <<\EOF
+bar 0x000000000804842c 0x000000000804842f
+foo 0x0000000008048438 0x000000000804843b
+main 0x0000000008048444 0x000000000804844a
+EOF
+
+testrun_compare ./find-prologues -e testfile6 <<\EOF
+main 0x00000000080489b8 0x00000000080489cd
+gnu_obj_2 0x0000000008048c9e 0x0000000008048ca4
+gnu_obj_3 0x0000000008048cd8 0x0000000008048cde
+gnu_obj_2 0x0000000008048cf4 0x0000000008048cfa
+~invalid_argument 0x0000000008048d2e 0x0000000008048d34
+gnu_obj_1 0x0000000008048d62 0x0000000008048d65
+gnu_obj_1 0x0000000008048d8a 0x0000000008048d8d
+~invalid_argument 0x0000000008048db2 0x0000000008048db8
+EOF
+
+exit 0
diff --git a/tests/run-funcscopes.sh b/tests/run-funcscopes.sh
new file mode 100755
index 00000000..52e50f40
--- /dev/null
+++ b/tests/run-funcscopes.sh
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile25
+
+testrun_compare ./funcscopes -e testfile25 incr <<\EOF
+testfile25: 0x8048000 .. 0x8049528
+ inline-test.c (0x11): 0x8048348 (/home/roland/build/stock-elfutils/inline-test.c:7) .. 0x804834f (/home/roland/build/stock-elfutils/inline-test.c:9)
+ incr (0x2e): 0x8048348 (/home/roland/build/stock-elfutils/inline-test.c:7) .. 0x804834f (/home/roland/build/stock-elfutils/inline-test.c:9)
+ x [ 66]
+EOF
+
+exit 0
diff --git a/tests/run-get-aranges.sh b/tests/run-get-aranges.sh
index 26b29863..f78a4a1d 100644
--- a/tests/run-get-aranges.sh
+++ b/tests/run-get-aranges.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile.bz2 > testfile 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./get-aranges testfile testfile2 > get-aranges.out
+testfiles testfile testfile2
-cmp get-aranges.out - <<"EOF"
+testrun_compare ./get-aranges testfile testfile2 <<\EOF
0x804842b: not in range
CU name: "m.c"
CU name: "m.c"
@@ -66,6 +73,4 @@ CU name: "f.c"
CU name: "m.c"
EOF
-rm -f testfile testfile2 get-aranges.out
-
exit 0
diff --git a/tests/run-get-files.sh b/tests/run-get-files.sh
index 7af5c139..7d51f5fc 100644
--- a/tests/run-get-files.sh
+++ b/tests/run-get-files.sh
@@ -1,31 +1,40 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2004 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2004, 2005, 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile.bz2 > testfile 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./get-files testfile testfile2 > get-files.out
+testfiles testfile testfile2
-diff -u get-files.out - <<"EOF"
+testrun_compare ./get-files testfile testfile2 <<\EOF
cuhl = 11, o = 0, asz = 4, osz = 4, ncu = 191
+ dirs[0] = "/home/drepper/gnu/new-bu/build/ttt"
file[0] = "???"
file[1] = "/home/drepper/gnu/new-bu/build/ttt/m.c"
cuhl = 11, o = 114, asz = 4, osz = 4, ncu = 5617
+ dirs[0] = "/home/drepper/gnu/new-bu/build/ttt"
file[0] = "???"
file[1] = "/home/drepper/gnu/new-bu/build/ttt/b.c"
file[2] = "/usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h"
@@ -39,9 +48,11 @@ cuhl = 11, o = 114, asz = 4, osz = 4, ncu = 5617
file[10] = "/usr/include/_G_config.h"
file[11] = "/usr/include/gconv.h"
cuhl = 11, o = 412, asz = 4, osz = 4, ncu = 5752
+ dirs[0] = "/home/drepper/gnu/new-bu/build/ttt"
file[0] = "???"
file[1] = "/home/drepper/gnu/new-bu/build/ttt/f.c"
cuhl = 11, o = 0, asz = 4, osz = 4, ncu = 2418
+ dirs[0] = "/shoggoth/drepper"
file[0] = "???"
file[1] = "/shoggoth/drepper/b.c"
file[2] = "/home/geoffk/objs/laurel-000912-branch/lib/gcc-lib/powerpc-unknown-linux-gnu/2.96-laurel-000912/include/stddef.h"
@@ -52,13 +63,13 @@ cuhl = 11, o = 0, asz = 4, osz = 4, ncu = 2418
file[7] = "/usr/include/libio.h"
file[8] = "/usr/include/_G_config.h"
cuhl = 11, o = 213, asz = 4, osz = 4, ncu = 2521
+ dirs[0] = "/shoggoth/drepper"
file[0] = "???"
file[1] = "/shoggoth/drepper/f.c"
cuhl = 11, o = 267, asz = 4, osz = 4, ncu = 2680
+ dirs[0] = "/shoggoth/drepper"
file[0] = "???"
file[1] = "/shoggoth/drepper/m.c"
EOF
-rm -f testfile testfil2 get-files.out
-
exit 0
diff --git a/tests/run-get-lines.sh b/tests/run-get-lines.sh
index 70c9cd84..fb675dc7 100644
--- a/tests/run-get-lines.sh
+++ b/tests/run-get-lines.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2004 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2004, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile.bz2 > testfile 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./get-lines testfile testfile2 > get-lines.out
+testfiles testfile testfile2
-diff -u get-lines.out - <<"EOF"
+testrun_compare ./get-lines testfile testfile2 <<\EOF
cuhl = 11, o = 0, asz = 4, osz = 4, ncu = 191
5 lines
804842c: /home/drepper/gnu/new-bu/build/ttt/m.c:5:0: is_stmt:yes, end_seq:no, bb:no, prologue:no, epilogue:no
@@ -62,6 +69,4 @@ cuhl = 11, o = 267, asz = 4, osz = 4, ncu = 2680
10000514: /shoggoth/drepper/m.c:8:0: is_stmt:yes, end_seq:yes, bb:no, prologue:no, epilogue:no
EOF
-rm -f testfile testfile2 get-lines.out
-
exit 0
diff --git a/tests/run-get-pubnames.sh b/tests/run-get-pubnames.sh
index a232bfd2..131baf0d 100644
--- a/tests/run-get-pubnames.sh
+++ b/tests/run-get-pubnames.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2003 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile.bz2 > testfile 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./get-pubnames testfile testfile2 > get-pubnames.out
+testfiles testfile testfile2
-diff -u get-pubnames.out - <<"EOF"
+testrun_compare ./get-pubnames testfile testfile2 <<\EOF
[ 0] "main", die: 104, cu: 11
CU name: "m.c"
object name: "main"
@@ -48,6 +55,4 @@ CU name: "m.c"
object name: "a"
EOF
-rm -f testfile testfile2 get-pubnames.out
-
exit 0
diff --git a/tests/run-line2addr.sh b/tests/run-line2addr.sh
new file mode 100755
index 00000000..3fb6f471
--- /dev/null
+++ b/tests/run-line2addr.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile testfile2 testfile8 testfile14 testfile23
+
+testrun_compare ./line2addr -e testfile f.c:4 testfile f.c:8 <<\EOF
+f.c:4 -> 0x804846b (/home/drepper/gnu/new-bu/build/ttt/f.c:4)
+EOF
+
+testrun_compare ./line2addr -e testfile2 m.c:6 b.c:1 <<\EOF
+m.c:6 -> 0x100004cc (/shoggoth/drepper/m.c:6)
+b.c:1 -> 0x10000470 (/shoggoth/drepper/b.c:4)
+EOF
+
+testrun_compare ./line2addr -e testfile8 strip.c:953 strip.c:365 <<\EOF
+strip.c:953 -> (.text)+0x169f (/home/drepper/gnu/elfutils/build/src/../../src/strip.c:953)
+strip.c:953 -> (.text)+0x16aa (/home/drepper/gnu/elfutils/build/src/../../src/strip.c:953)
+strip.c:365 -> (.text)+0x278b (/home/drepper/gnu/elfutils/build/src/../../src/strip.c:365)
+strip.c:365 -> (.text)+0x2797 (/home/drepper/gnu/elfutils/build/src/../../src/strip.c:365)
+EOF
+
+testrun_compare ./line2addr -e testfile14 v.c:6 <<\EOF
+v.c:6 -> 0x400468 (/home/drepper/local/elfutils-build/20050425/v.c:6)
+v.c:6 -> 0x400487 (/home/drepper/local/elfutils-build/20050425/v.c:6)
+EOF
+
+testrun_compare ./line2addr -e testfile23 foo.c:2 foo.c:6 <<\EOF
+foo.c:2 -> (.init.text)+0xc (/home/roland/stock-elfutils-build/foo.c:2)
+foo.c:6 -> (.text)+0xc (/home/roland/stock-elfutils-build/foo.c:6)
+EOF
+
+exit 0
diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
new file mode 100755
index 00000000..99926b03
--- /dev/null
+++ b/tests/run-native-test.sh
@@ -0,0 +1,89 @@
+#! /bin/sh
+# Copyright (C) 2005, 2006 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+
+. $srcdir/test-subr.sh
+
+# This tests all the miscellaneous components of backend support
+# against whatever this build is running on. A platform will fail
+# this test if it is missing parts of the backend implementation.
+#
+# As new backend code is added to satisfy the test, be sure to update
+# the fixed test cases (run-allregs.sh et al) to test that backend
+# in all builds.
+
+tempfiles native.c native
+echo 'main () { while (1) pause (); }' > native.c
+
+native=0
+kill_native()
+{
+ test $native -eq 0 || {
+ kill -9 $native 2> /dev/null || :
+ wait $native 2> /dev/null || :
+ }
+ native=0
+}
+
+native_cleanup()
+{
+ kill_native
+ test_cleanup
+}
+
+trap native_cleanup 0 1 2 15
+
+for cc in "$HOSTCC" "$HOST_CC" cc gcc "$CC"; do
+ test "x$cc" != x || continue
+ $cc -o native -g native.c > /dev/null 2>&1 &&
+ # Some shell versions don't do this right without the braces.
+ { ./native > /dev/null 2>&1 & native=$! ; } &&
+ sleep 1 && kill -0 $native 2> /dev/null &&
+ break ||
+ native=0
+done
+
+native_test()
+{
+ # Try the build against itself, i.e. $config_host.
+ testrun "$@" -e $1 > /dev/null
+
+ # Try the build against a presumed native process, running this sh.
+ # For tests requiring debug information, this may not test anything.
+ testrun "$@" -p $$ > /dev/null
+
+ # Try the build against the trivial native program we just built with -g.
+ test $native -eq 0 || testrun "$@" -p $native > /dev/null
+}
+
+native_test ./allregs
+native_test ./funcretval
+
+# We do this explicitly rather than letting the trap 0 cover it,
+# because as of version 3.1 bash prints the "Killed" report for
+# $native when we do the kill inside the exit handler.
+native_cleanup
+
+exit 0
diff --git a/tests/run-ranlib-test.sh b/tests/run-ranlib-test.sh
new file mode 100755
index 00000000..01c0d0b7
--- /dev/null
+++ b/tests/run-ranlib-test.sh
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+tempfiles ranlib-test.a ranlib-test.a-copy
+
+cat > ranlib-test.a <<"EOF"
+!<arch>
+foo/ 1124128960 500 500 100664 4 `
+foo
+bar/ 1124128965 500 500 100664 4 `
+bar
+EOF
+
+cp ranlib-test.a ranlib-test.a-copy
+
+testrun ../src/ranlib ranlib-test.a
+
+# The ranlib call should not have changed anything.
+cmp ranlib-test.a ranlib-test.a-copy
+
+exit 0
diff --git a/tests/run-ranlib-test2.sh b/tests/run-ranlib-test2.sh
new file mode 100755
index 00000000..87040376
--- /dev/null
+++ b/tests/run-ranlib-test2.sh
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+original=${original:-testfile19}
+indexed=${indexed:-testfile19.index}
+
+testfiles $original $indexed
+
+testrun ../src/ranlib $original
+
+if test -z "$noindex"; then
+ # The date in the index is different. The reference file has it blanked
+ # out, we do the same here.
+ echo " " |
+ dd of=$original seek=24 bs=1 count=12 conv=notrunc 2>/dev/null
+fi
+
+cmp $original $indexed
+
+exit 0
diff --git a/tests/run-ranlib-test3.sh b/tests/run-ranlib-test3.sh
new file mode 100755
index 00000000..7be6ddd3
--- /dev/null
+++ b/tests/run-ranlib-test3.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+
+original=testfile20
+indexed=testfile20.index
+. $srcdir/run-ranlib-test2.sh
diff --git a/tests/run-ranlib-test4.sh b/tests/run-ranlib-test4.sh
new file mode 100755
index 00000000..eeeb56fb
--- /dev/null
+++ b/tests/run-ranlib-test4.sh
@@ -0,0 +1,31 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+
+original=testfile21
+indexed=testfile21.index
+noindex=1
+. $srcdir/run-ranlib-test2.sh
diff --git a/tests/run-readelf-test1.sh b/tests/run-readelf-test1.sh
new file mode 100755
index 00000000..aaa03edb
--- /dev/null
+++ b/tests/run-readelf-test1.sh
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+original=${original:-testfile11}
+stripped=${stripped:-testfile7}
+debugout=${debugfile:+-f testfile.debug.temp -F $debugfile}
+
+testfiles testfile3
+
+tempfiles testfile.temp
+
+testrun ../src/readelf -r testfile3 > testfile.temp
+
+diff -u - testfile.temp <<EOF
+
+Relocation section [ 8] '.rel.got' for section [19] '.got' at offset 0x294 contains 1 entry:
+ Offset Type Value Name
+ 0x08049544 386_GLOB_DAT 0000000000 __gmon_start__
+
+Relocation section [ 9] '.rel.plt' for section [11] '.plt' at offset 0x29c contains 4 entries:
+ Offset Type Value Name
+ 0x08049534 386_JMP_SLOT 0x080482e4 __register_frame_info
+ 0x08049538 386_JMP_SLOT 0x080482f4 __deregister_frame_info
+ 0x0804953c 386_JMP_SLOT 0x08048304 __libc_start_main
+ 0x08049540 386_JMP_SLOT 0x08048314 __cxa_finalize
+EOF
+
+exit 0
diff --git a/tests/run-readelf-test2.sh b/tests/run-readelf-test2.sh
new file mode 100755
index 00000000..4edaea6c
--- /dev/null
+++ b/tests/run-readelf-test2.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile28
+
+testrun_compare ../src/readelf -x .strtab testfile28 <<\EOF
+
+Hex dump of section [6] '.strtab', 1 bytes at offset 0x290:
+ 0x00000000 00 .
+EOF
+
+exit 0
diff --git a/tests/run-readelf-test3.sh b/tests/run-readelf-test3.sh
new file mode 100755
index 00000000..71dd8aea
--- /dev/null
+++ b/tests/run-readelf-test3.sh
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile40.debug
+
+testrun_compare ../src/readelf -n testfile40.debug <<\EOF
+
+Note section [ 6] '.note' of 60 bytes at offset 0x120:
+ Owner Data size Type
+ GNU 20 GNU_BUILD_ID
+ Build ID: 34072edcd87ef6728f4b4a7956167b2fcfc3f1d3
+ Linux 4 <unknown>: 0
+EOF
+
+exit 0
diff --git a/tests/run-readelf-test4.sh b/tests/run-readelf-test4.sh
new file mode 100755
index 00000000..85e76ed0
--- /dev/null
+++ b/tests/run-readelf-test4.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+testfiles testfile19.index
+
+testrun_compare ../src/readelf -c testfile19.index <<\EOF
+
+Index of archive 'testfile19.index' has 4 entries:
+Archive member 'u1.o' contains:
+ a
+Archive member 'u2.o' contains:
+ aa
+Archive member 'u3.o' contains:
+ a
+EOF
+
+exit 0
diff --git a/tests/run-show-abbrev.sh b/tests/run-show-abbrev.sh
index 78812a5f..a148dffb 100644
--- a/tests/run-show-abbrev.sh
+++ b/tests/run-show-abbrev.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2003, 2004 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile.bz2 > testfile 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./show-abbrev testfile testfile2 > show-abbrev.out
+testfiles testfile testfile2
-diff -u show-abbrev.out - <<"EOF"
+testrun_compare ./show-abbrev testfile testfile2 <<\EOF
abbrev[0]: code = 1, tag = 17, children = 1
abbrev[0]: attr[0]: code = 16, form = 6, offset = 0
abbrev[0]: attr[1]: code = 18, form = 1, offset = 2
@@ -350,6 +357,4 @@ abbrev[96]: attr[4]: code = 63, form = 12, offset = 371
abbrev[96]: attr[5]: code = 2, form = 10, offset = 373
EOF
-rm -f testfile testfile2 show-abbrev.out
-
exit 0
diff --git a/tests/run-show-ciefde.sh b/tests/run-show-ciefde.sh
index b3355334..37505c00 100644
--- a/tests/run-show-ciefde.sh
+++ b/tests/run-show-ciefde.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile3.bz2 > testfile3 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile4.bz2 > testfile4 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./show-ciefde testfile3 testfile4 > show-ciefde.out
+testfiles testfile3 testfile4
-diff -u show-ciefde.out - <<"EOF"
+testrun_compare ./show-ciefde testfile3 testfile4 <<\EOF
testfile3 has 1 CIEs and 1 FDEs
CIE[0]: bytes_in_cie = 16, version = 1, augmenter = ""
CIE[0]: code_alignment_factor = 1
@@ -314,6 +321,4 @@ no FDE at 8048455
FDE[@80493fc]: cie_offset = 0, cie_index = 0, fde_offset = 28
EOF
-rm -f testfile3 testfile4 show-ciefde.out
-
exit 0
diff --git a/tests/run-show-die-info.sh b/tests/run-show-die-info.sh
index 04263268..47b51513 100644
--- a/tests/run-show-die-info.sh
+++ b/tests/run-show-die-info.sh
@@ -1,27 +1,34 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2003, 2004 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile5.bz2 > testfile5 2>/dev/null || exit 0
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile2.bz2 > testfile2 2>/dev/null || exit 0
+. $srcdir/test-subr.sh
-./show-die-info testfile5 testfile2 > show-die-info.out
+testfiles testfile5 testfile2
-diff -u show-die-info.out - <<"EOF"
+testrun_compare ./show-die-info testfile5 testfile2 <<\EOF
file: testfile5
New CU: off = 0, hsize = 11, ab = 0, as = 4, os = 4
DW_TAG_compile_unit
@@ -983,6 +990,4 @@ New CU: off = 2521, hsize = 11, ab = 267, as = 4, os = 4
Attrs : location name decl_file decl_line external type
EOF
-rm -f testfile2 testfile5 show-die-info.out
-
exit 0
diff --git a/tests/run-strings-test.sh b/tests/run-strings-test.sh
new file mode 100755
index 00000000..a5dac634
--- /dev/null
+++ b/tests/run-strings-test.sh
@@ -0,0 +1,478 @@
+#! /bin/sh
+# Copyright (C) 2005, 2006, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2005.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+files="testfile `seq 2 9 | while read n; do echo testfile$n; done`"
+testfiles $files
+
+testrun_compare ../src/strings -tx -f $files <<\EOF
+testfile: f4 /lib/ld-linux.so.2
+testfile: 1c9 __gmon_start__
+testfile: 1d8 libc.so.6
+testfile: 1e2 __cxa_finalize
+testfile: 1f1 __deregister_frame_info
+testfile: 209 _IO_stdin_used
+testfile: 218 __libc_start_main
+testfile: 22a __register_frame_info
+testfile: 240 GLIBC_2.1.3
+testfile: 24c GLIBC_2.0
+testfile: 338 PTRh
+testfile: 345 QVh,
+testfile2: 114 /lib/ld.so.1
+testfile2: 1f1 __gmon_start__
+testfile2: 200 __deregister_frame_info
+testfile2: 218 __register_frame_info
+testfile2: 22e libc.so.6
+testfile2: 238 __cxa_finalize
+testfile2: 247 _IO_stdin_used
+testfile2: 256 __libc_start_main
+testfile2: 268 GLIBC_2.1.3
+testfile2: 274 GLIBC_2.0
+testfile2: 488 }a[xN
+testfile2: 4a8 }a[xN
+testfile2: 50c }a[xN
+testfile2: 540 }?Kx
+testfile3: f4 /lib/ld-linux.so.2
+testfile3: 1c9 __gmon_start__
+testfile3: 1d8 libc.so.6
+testfile3: 1e2 __cxa_finalize
+testfile3: 1f1 __deregister_frame_info
+testfile3: 209 _IO_stdin_used
+testfile3: 218 __libc_start_main
+testfile3: 22a __register_frame_info
+testfile3: 240 GLIBC_2.1.3
+testfile3: 24c GLIBC_2.0
+testfile3: 338 PTRh
+testfile3: 345 QVh,
+testfile4: f4 /lib/ld-linux.so.2
+testfile4: 8e1 __gmon_start__
+testfile4: 8f0 __terminate_func
+testfile4: 901 stderr
+testfile4: 908 __tf9type_info
+testfile4: 917 __tf16__user_type_info
+testfile4: 92e __tf19__pointer_type_info
+testfile4: 948 __tf16__attr_type_info
+testfile4: 95f __tf16__func_type_info
+testfile4: 976 __vt_9type_info
+testfile4: 986 __vt_19__pointer_type_info
+testfile4: 9a1 __vt_16__attr_type_info
+testfile4: 9b9 __vt_16__func_type_info
+testfile4: 9d1 __vt_16__ptmf_type_info
+testfile4: 9e9 __vt_16__ptmd_type_info
+testfile4: a01 __vt_17__array_type_info
+testfile4: a1a __tiv
+testfile4: a20 __vt_19__builtin_type_info
+testfile4: a3b __tix
+testfile4: a41 __til
+testfile4: a47 __tii
+testfile4: a4d __tis
+testfile4: a53 __tib
+testfile4: a59 __tic
+testfile4: a5f __tiw
+testfile4: a65 __tir
+testfile4: a6b __tid
+testfile4: a71 __tif
+testfile4: a77 __tiUi
+testfile4: a7e __tiUl
+testfile4: a85 __tiUx
+testfile4: a8c __tiUs
+testfile4: a93 __tiUc
+testfile4: a9a __tiSc
+testfile4: aa1 __ti19__pointer_type_info
+testfile4: abb __ti9type_info
+testfile4: aca __ti16__attr_type_info
+testfile4: ae1 __ti19__builtin_type_info
+testfile4: afb __ti16__func_type_info
+testfile4: b12 __ti16__ptmf_type_info
+testfile4: b29 __ti16__ptmd_type_info
+testfile4: b40 __ti17__array_type_info
+testfile4: b58 __cplus_type_matcher
+testfile4: b6d __vt_13bad_exception
+testfile4: b82 __vt_9exception
+testfile4: b92 _._13bad_exception
+testfile4: ba5 __vt_8bad_cast
+testfile4: bb4 _._8bad_cast
+testfile4: bc1 __vt_10bad_typeid
+testfile4: bd3 _._10bad_typeid
+testfile4: be3 __ti9exception
+testfile4: bf2 __ti13bad_exception
+testfile4: c06 __vt_16__user_type_info
+testfile4: c1e __vt_17__class_type_info
+testfile4: c37 __vt_14__si_type_info
+testfile4: c4d __ti8bad_cast
+testfile4: c5b __ti10bad_typeid
+testfile4: c6c __ti16__user_type_info
+testfile4: c83 __ti14__si_type_info
+testfile4: c98 __ti17__class_type_info
+testfile4: cb0 libc.so.6
+testfile4: cba __register_frame
+testfile4: ccb pthread_create
+testfile4: cda pthread_getspecific
+testfile4: cee pthread_key_delete
+testfile4: d01 __cxa_finalize
+testfile4: d10 malloc
+testfile4: d17 __frame_state_for
+testfile4: d29 abort
+testfile4: d2f __register_frame_table
+testfile4: d46 fprintf
+testfile4: d4e pthread_once
+testfile4: d5b __deregister_frame_info
+testfile4: d73 pthread_key_create
+testfile4: d86 memset
+testfile4: d8d strcmp
+testfile4: d94 pthread_mutex_unlock
+testfile4: da9 __deregister_frame
+testfile4: dbc pthread_mutex_lock
+testfile4: dcf _IO_stdin_used
+testfile4: dde __libc_start_main
+testfile4: df0 strlen
+testfile4: df7 __register_frame_info_table
+testfile4: e13 __register_frame_info
+testfile4: e29 pthread_setspecific
+testfile4: e3d free
+testfile4: e42 GLIBC_2.1.3
+testfile4: e4e GLIBC_2.0
+testfile4: 1308 PTRh<
+testfile4: 194b [^_]
+testfile4: 19bf [^_]
+testfile4: 1dd9 wT9L>
+testfile4: 1f3b [^_]
+testfile4: 1fae [^_]
+testfile4: 21c1 BZQRP
+testfile4: 237f [^_]
+testfile4: 2431 JWRV
+testfile4: 2454 [^_]
+testfile4: 2506 JWRV
+testfile4: 2529 [^_]
+testfile4: 2b6c [^_]
+testfile4: 2b9d ZYPV
+testfile4: 2c28 [^_]
+testfile4: 2c4d ZYPV
+testfile4: 2ce2 [^_]
+testfile4: 2dfb X^_]
+testfile4: 2fc8 [^_]
+testfile4: 307d tq;F
+testfile4: 315a [^_]
+testfile4: 31a5 :zt 1
+testfile4: 3238 [^_]
+testfile4: 32f8 AXY_VR
+testfile4: 334a [^_]
+testfile4: 37ab [^_]
+testfile4: 38b8 sU;E
+testfile4: 38f2 QRPV
+testfile4: 3926 [^_]
+testfile4: 3bfe QRWP
+testfile4: 3e65 [^_]
+testfile4: 4136 [^_]
+testfile4: 472d [^_]
+testfile4: 47a5 0[^_]
+testfile4: 48ab [^_]
+testfile4: 4ab1 _ZPV
+testfile4: 4b53 _ZPV
+testfile4: 4bd3 _ZPV
+testfile4: 4e05 PQWj
+testfile4: 4f75 [^_]
+testfile4: 4f9b u$;E u
+testfile4: 4feb [^_]
+testfile4: 5080 [^_]
+testfile4: 50a8 }$9u
+testfile4: 5149 [^_]
+testfile4: 51b0 [^_]
+testfile4: 539b [^_]
+testfile4: 53b5 E 9E
+testfile4: 540d x!)E
+testfile4: 5598 U$ B
+testfile4: 571c [^_]
+testfile4: 5819 [^_]
+testfile4: 5922 [^_]
+testfile4: 59c2 [^_]
+testfile4: 5a62 [^_]
+testfile4: 5b02 [^_]
+testfile4: 5ba2 [^_]
+testfile4: 5c42 [^_]
+testfile4: 5ce2 [^_]
+testfile4: 6112 [^_]
+testfile4: 62bb [^_]
+testfile4: 639b [^_]
+testfile4: 6436 [^_]
+testfile4: 6468 val is zero
+testfile4: 6480 Internal Compiler Bug: No runtime type matcher.
+testfile4: 64dc 19__pointer_type_info
+testfile4: 64f2 16__attr_type_info
+testfile4: 6505 19__builtin_type_info
+testfile4: 651b 16__func_type_info
+testfile4: 652e 16__ptmf_type_info
+testfile4: 6541 16__ptmd_type_info
+testfile4: 6554 17__array_type_info
+testfile4: 6568 9exception
+testfile4: 6573 13bad_exception
+testfile4: 6583 9type_info
+testfile4: 658e 8bad_cast
+testfile4: 6598 10bad_typeid
+testfile4: 65a5 16__user_type_info
+testfile4: 65b8 14__si_type_info
+testfile4: 65c9 17__class_type_info
+testfile4: 6fc1 H. $
+testfile5: f4 /lib/ld-linux.so.2
+testfile5: 1c9 __gmon_start__
+testfile5: 1d8 libc.so.6
+testfile5: 1e2 __cxa_finalize
+testfile5: 1f1 __deregister_frame_info
+testfile5: 209 _IO_stdin_used
+testfile5: 218 __libc_start_main
+testfile5: 22a __register_frame_info
+testfile5: 240 GLIBC_2.1.3
+testfile5: 24c GLIBC_2.0
+testfile5: 338 PTRh
+testfile5: 345 QVhD
+testfile6: 114 /lib/ld-linux.so.2
+testfile6: 3d9 libstdc++.so.5
+testfile6: 3e8 _ZTVSt16invalid_argument
+testfile6: 401 _ZNSaIcEC1Ev
+testfile6: 40e _ZTSSt16invalid_argument
+testfile6: 427 _ZTVN10__cxxabiv120__si_class_type_infoE
+testfile6: 450 _ZNSsD1Ev
+testfile6: 45a _ZdlPv
+testfile6: 461 __cxa_end_catch
+testfile6: 471 __gxx_personality_v0
+testfile6: 486 _ZTISt9exception
+testfile6: 497 _ZNSaIcED1Ev
+testfile6: 4a4 _ZTISt11logic_error
+testfile6: 4b8 _ZNSt16invalid_argumentD1Ev
+testfile6: 4d4 _ZTVN10__cxxabiv117__class_type_infoE
+testfile6: 4fa __cxa_throw
+testfile6: 506 _ZNSt16invalid_argumentC1ERKSs
+testfile6: 525 _ZNSsC1EPKcRKSaIcE
+testfile6: 538 _ZNSt11logic_errorD2Ev
+testfile6: 54f _ZTVN10__cxxabiv121__vmi_class_type_infoE
+testfile6: 579 _ZNSt16invalid_argumentD0Ev
+testfile6: 595 __cxa_begin_catch
+testfile6: 5a7 __cxa_allocate_exception
+testfile6: 5c0 _ZNKSt11logic_error4whatEv
+testfile6: 5db _Jv_RegisterClasses
+testfile6: 5ef _ZTISt16invalid_argument
+testfile6: 608 __gmon_start__
+testfile6: 617 libm.so.6
+testfile6: 621 _IO_stdin_used
+testfile6: 630 libgcc_s.so.1
+testfile6: 63e _Unwind_Resume
+testfile6: 64d libc.so.6
+testfile6: 657 __libc_start_main
+testfile6: 669 GCC_3.0
+testfile6: 671 GLIBC_2.0
+testfile6: 67b GLIBCPP_3.2
+testfile6: 687 CXXABI_1.2
+testfile6: 908 PTRh
+testfile6: e48 gdb.1
+testfile6: ec8 N10__gnu_test9gnu_obj_1E
+testfile6: ee1 N10__gnu_test9gnu_obj_2IiEE
+testfile6: efd N10__gnu_test9gnu_obj_2IlEE
+testfile6: f19 St16invalid_argument
+testfile7: 114 /lib/ld-linux.so.2
+testfile7: 3d9 libstdc++.so.5
+testfile7: 3e8 _ZTVSt16invalid_argument
+testfile7: 401 _ZNSaIcEC1Ev
+testfile7: 40e _ZTSSt16invalid_argument
+testfile7: 427 _ZTVN10__cxxabiv120__si_class_type_infoE
+testfile7: 450 _ZNSsD1Ev
+testfile7: 45a _ZdlPv
+testfile7: 461 __cxa_end_catch
+testfile7: 471 __gxx_personality_v0
+testfile7: 486 _ZTISt9exception
+testfile7: 497 _ZNSaIcED1Ev
+testfile7: 4a4 _ZTISt11logic_error
+testfile7: 4b8 _ZNSt16invalid_argumentD1Ev
+testfile7: 4d4 _ZTVN10__cxxabiv117__class_type_infoE
+testfile7: 4fa __cxa_throw
+testfile7: 506 _ZNSt16invalid_argumentC1ERKSs
+testfile7: 525 _ZNSsC1EPKcRKSaIcE
+testfile7: 538 _ZNSt11logic_errorD2Ev
+testfile7: 54f _ZTVN10__cxxabiv121__vmi_class_type_infoE
+testfile7: 579 _ZNSt16invalid_argumentD0Ev
+testfile7: 595 __cxa_begin_catch
+testfile7: 5a7 __cxa_allocate_exception
+testfile7: 5c0 _ZNKSt11logic_error4whatEv
+testfile7: 5db _Jv_RegisterClasses
+testfile7: 5ef _ZTISt16invalid_argument
+testfile7: 608 __gmon_start__
+testfile7: 617 libm.so.6
+testfile7: 621 _IO_stdin_used
+testfile7: 630 libgcc_s.so.1
+testfile7: 63e _Unwind_Resume
+testfile7: 64d libc.so.6
+testfile7: 657 __libc_start_main
+testfile7: 669 GCC_3.0
+testfile7: 671 GLIBC_2.0
+testfile7: 67b GLIBCPP_3.2
+testfile7: 687 CXXABI_1.2
+testfile7: 908 PTRh
+testfile7: e48 gdb.1
+testfile7: ec8 N10__gnu_test9gnu_obj_1E
+testfile7: ee1 N10__gnu_test9gnu_obj_2IiEE
+testfile7: efd N10__gnu_test9gnu_obj_2IlEE
+testfile7: f19 St16invalid_argument
+testfile8: 79 XZh;
+testfile8: 87 YXh<
+testfile8: 14f SQh[
+testfile8: 259 t5Wj
+testfile8: 502 WRVQ
+testfile8: 1fe7 ZYPj
+testfile8: 2115 u'Pj
+testfile8: 7bba FILE
+testfile8: 7bbf preserve-dates
+testfile8: 7bce remove-comment
+testfile8: 7bdd Remove .comment section
+testfile8: 7bf6 ${prefix}/share
+testfile8: 7c06 elfutils
+testfile8: 7c0f a.out
+testfile8: 7c15 0.58
+testfile8: 7c1a strip (Red Hat %s) %s
+testfile8: 7c31 2002
+testfile8: 7c36 Ulrich Drepper
+testfile8: 7c45 Written by %s.
+testfile8: 7c55 cannot stat input file "%s"
+testfile8: 7c71 %s: INTERNAL ERROR: %s
+testfile8: 7c88 while opening "%s"
+testfile8: 7c9b handle_elf
+testfile8: 7ca6 ../../src/strip.c
+testfile8: 7cb8 shdr_info[cnt].group_idx != 0
+testfile8: 7cd6 illformed file `%s'
+testfile8: 7cea elf_ndxscn (scn) == cnt
+testfile8: 7d02 .shstrtab
+testfile8: 7d0c while writing `%s': %s
+testfile8: 7d23 ((sym->st_info) & 0xf) == 3
+testfile8: 7d3f shndxdata != ((void *)0)
+testfile8: 7d58 scn != ((void *)0)
+testfile8: 7d6b .gnu_debuglink
+testfile8: 7d7a .comment
+testfile8: 7d83 cannot open `%s'
+testfile8: 7da0 Place stripped output into FILE
+testfile8: 7dc0 Extract the removed sections into FILE
+testfile8: 7e00 Copy modified/access timestamps to the output
+testfile8: 7e40 Only one input file allowed together with '-o' and '-f'
+testfile8: 7e80 Copyright (C) %s Red Hat, Inc.
+testfile8: 7e9f This is free software; see the source for copying conditions. There is NO
+testfile8: 7eea warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+testfile8: 7f40 Report bugs to <drepper@redhat.com>.
+testfile8: 7f80 %s: File format not recognized
+testfile8: 7fa0 cannot set access and modification date of "%s"
+testfile8: 7fe0 cannot create new file `%s': %s
+testfile8: 8000 error while finishing `%s': %s
+testfile8: 8020 shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0
+testfile8: 8060 shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0
+testfile8: 80a0 %s: error while creating ELF header: %s
+testfile8: 80e0 %s: error while reading the file: %s
+testfile8: 8120 sec < 0xff00 || shndxdata != ((void *)0)
+testfile8: 8160 (versiondata->d_size / sizeof (GElf_Versym)) >= shdr_info[cnt].data->d_size / elsize
+testfile8: 81c0 shdr_info[cnt].shdr.sh_type == 11
+testfile8: 8200 (versiondata->d_size / sizeof (Elf32_Word)) >= shdr_info[cnt].data->d_size / elsize
+testfile8: 8260 shdr_info[cnt].shdr.sh_type == 18
+testfile8: 82a0 shdr_info[cnt].data != ((void *)0)
+testfile8: 82e0 elf_ndxscn (shdr_info[cnt].newscn) == idx
+testfile8: 8320 while create section header section: %s
+testfile8: 8360 cannot allocate section data: %s
+testfile8: 83a0 elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx
+testfile8: 83e0 while generating output file: %s
+testfile8: 8420 while preparing output for `%s'
+testfile8: 8440 shdr_info[cnt].shdr.sh_type == 2
+testfile8: 8480 shdr_info[idx].data != ((void *)0)
+testfile8: 84c0 cannot determine number of sections: %s
+testfile8: 8500 cannot get section header string table index
+testfile8: 85c0 Discard symbols from object files.
+testfile8: 85e3 [FILE...]
+testfile9: 79 XZh;
+testfile9: 87 YXh<
+testfile9: 14f SQh[
+testfile9: 259 t5Wj
+testfile9: 502 WRVQ
+testfile9: 1fe7 ZYPj
+testfile9: 2115 u'Pj
+testfile9: 3414 FILE
+testfile9: 3419 preserve-dates
+testfile9: 3428 remove-comment
+testfile9: 3437 Remove .comment section
+testfile9: 3450 ${prefix}/share
+testfile9: 3460 elfutils
+testfile9: 3469 a.out
+testfile9: 346f 0.58
+testfile9: 3474 strip (Red Hat %s) %s
+testfile9: 348b 2002
+testfile9: 3490 Ulrich Drepper
+testfile9: 349f Written by %s.
+testfile9: 34af cannot stat input file "%s"
+testfile9: 34cb %s: INTERNAL ERROR: %s
+testfile9: 34e2 while opening "%s"
+testfile9: 34f5 handle_elf
+testfile9: 3500 ../../src/strip.c
+testfile9: 3512 shdr_info[cnt].group_idx != 0
+testfile9: 3530 illformed file `%s'
+testfile9: 3544 elf_ndxscn (scn) == cnt
+testfile9: 355c .shstrtab
+testfile9: 3566 while writing `%s': %s
+testfile9: 357d ((sym->st_info) & 0xf) == 3
+testfile9: 3599 shndxdata != ((void *)0)
+testfile9: 35b2 scn != ((void *)0)
+testfile9: 35c5 .gnu_debuglink
+testfile9: 35d4 .comment
+testfile9: 35dd cannot open `%s'
+testfile9: 3600 Place stripped output into FILE
+testfile9: 3620 Extract the removed sections into FILE
+testfile9: 3660 Copy modified/access timestamps to the output
+testfile9: 36a0 Only one input file allowed together with '-o' and '-f'
+testfile9: 36e0 Copyright (C) %s Red Hat, Inc.
+testfile9: 36ff This is free software; see the source for copying conditions. There is NO
+testfile9: 374a warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+testfile9: 37a0 Report bugs to <drepper@redhat.com>.
+testfile9: 37e0 %s: File format not recognized
+testfile9: 3800 cannot set access and modification date of "%s"
+testfile9: 3840 cannot create new file `%s': %s
+testfile9: 3860 error while finishing `%s': %s
+testfile9: 3880 shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0
+testfile9: 38c0 shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0
+testfile9: 3900 %s: error while creating ELF header: %s
+testfile9: 3940 %s: error while reading the file: %s
+testfile9: 3980 sec < 0xff00 || shndxdata != ((void *)0)
+testfile9: 39c0 (versiondata->d_size / sizeof (GElf_Versym)) >= shdr_info[cnt].data->d_size / elsize
+testfile9: 3a20 shdr_info[cnt].shdr.sh_type == 11
+testfile9: 3a60 (versiondata->d_size / sizeof (Elf32_Word)) >= shdr_info[cnt].data->d_size / elsize
+testfile9: 3ac0 shdr_info[cnt].shdr.sh_type == 18
+testfile9: 3b00 shdr_info[cnt].data != ((void *)0)
+testfile9: 3b40 elf_ndxscn (shdr_info[cnt].newscn) == idx
+testfile9: 3b80 while create section header section: %s
+testfile9: 3bc0 cannot allocate section data: %s
+testfile9: 3c00 elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx
+testfile9: 3c40 while generating output file: %s
+testfile9: 3c80 while preparing output for `%s'
+testfile9: 3ca0 shdr_info[cnt].shdr.sh_type == 2
+testfile9: 3ce0 shdr_info[idx].data != ((void *)0)
+testfile9: 3d20 cannot determine number of sections: %s
+testfile9: 3d60 cannot get section header string table index
+testfile9: 3e20 Discard symbols from object files.
+testfile9: 3e43 [FILE...]
+EOF
+
+exit 0
diff --git a/tests/run-strip-test.sh b/tests/run-strip-test.sh
index aab37f48..e056f890 100644
--- a/tests/run-strip-test.sh
+++ b/tests/run-strip-test.sh
@@ -1,33 +1,64 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2003 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+original=${original:-testfile11}
+stripped=${stripped:-testfile7}
+debugout=${debugfile:+-f testfile.debug.temp -F $debugfile}
+
+testfiles $original
+test x$stripped = xtestfile.temp || testfiles $stripped $debugfile
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile11.bz2 > testfile11 2>/dev/null || exit 0
+tempfiles testfile.temp testfile.debug.temp testfile.unstrip
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile7.bz2 > testfile7 2>/dev/null || exit 0
+testrun ../src/strip -o testfile.temp $debugout $original
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/strip -o testfile.temp testfile11
+status=0
-cmp testfile7 testfile.temp
+cmp $stripped testfile.temp || status=$?
# Check elflint and the expected result.
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/elflint -q testfile.temp
+testrun ../src/elflint -q testfile.temp || status=$?
+
+test -z "$debugfile" || {
+cmp $debugfile testfile.debug.temp || status=$?
+
+# Check elflint and the expected result.
+testrun ../src/elflint -q -d testfile.debug.temp || status=$?
+
+# Now test unstrip recombining those files.
+testrun ../src/unstrip -o testfile.unstrip testfile.temp testfile.debug.temp
+
+# Check that it came back whole.
+testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
+}
-rm -f testfile11 testfile7 testfile.temp
+tempfiles testfile.sections
+testrun ../src/readelf -S testfile.temp > testfile.sections || status=$?
+fgrep ' .debug_' testfile.sections && status=1
-exit 0
+exit $status
diff --git a/tests/run-strip-test2.sh b/tests/run-strip-test2.sh
index f385a865..a5858d2e 100644
--- a/tests/run-strip-test2.sh
+++ b/tests/run-strip-test2.sh
@@ -1,33 +1,30 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile8.bz2 > testfile8 2>/dev/null || exit 0
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile9.bz2 > testfile9 2>/dev/null || exit 0
-
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/strip -o testfile.temp testfile8
-
-cmp testfile9 testfile.temp
-
-# Check elflint and the expected result.
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/elflint -q testfile.temp
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-rm -f testfile8 testfile9 testfile.temp
-exit 0
+original=testfile8
+stripped=testfile9
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test3.sh b/tests/run-strip-test3.sh
index 5ff4a5a9..3d52f6e9 100644
--- a/tests/run-strip-test3.sh
+++ b/tests/run-strip-test3.sh
@@ -1,33 +1,30 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2003 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2003, 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
-# This program is Open Source software; you can redistribute it and/or
-# modify it under the terms of the Open Software License version 1.0 as
-# published by the Open Source Initiative.
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
#
-# You should have received a copy of the Open Software License along
-# with this program; if not, you may obtain a copy of the Open Software
-# License version 1.0 from http://www.opensource.org/licenses/osl.php or
-# by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
-# 3001 King Ranch Road, Ukiah, CA 95482.
-set -e
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile12.bz2 > testfile12 2>/dev/null || exit 0
-
-# Don't fail if we cannot decompress the file.
-bunzip2 -c $srcdir/testfile13.bz2 > testfile13 2>/dev/null || exit 0
-
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/strip -o testfile.temp testfile12
-
-cmp testfile13 testfile.temp
-
-# Check elflint and the expected result.
-LD_LIBRARY_PATH=../libebl:../libelf${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
- ../src/elflint -q testfile.temp
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
-rm -f testfile12 testfile13 testfile.temp
-exit 0
+original=testfile12
+stripped=testfile13
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test4.sh b/tests/run-strip-test4.sh
new file mode 100755
index 00000000..64924a92
--- /dev/null
+++ b/tests/run-strip-test4.sh
@@ -0,0 +1,5 @@
+original=testfile11
+stripped=testfile37
+debugfile=testfile37.debug
+
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test5.sh b/tests/run-strip-test5.sh
new file mode 100755
index 00000000..9fa9ebef
--- /dev/null
+++ b/tests/run-strip-test5.sh
@@ -0,0 +1,5 @@
+original=testfile8
+stripped=testfile16
+debugfile=testfile16.debug
+
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test6.sh b/tests/run-strip-test6.sh
new file mode 100755
index 00000000..c59bf5e4
--- /dev/null
+++ b/tests/run-strip-test6.sh
@@ -0,0 +1,5 @@
+original=testfile12
+stripped=testfile35
+debugfile=testfile35.debug
+
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test7.sh b/tests/run-strip-test7.sh
new file mode 100755
index 00000000..c65cd050
--- /dev/null
+++ b/tests/run-strip-test7.sh
@@ -0,0 +1,5 @@
+original=testfile39
+stripped=testfile40
+debugfile=testfile40.debug
+
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-strip-test8.sh b/tests/run-strip-test8.sh
new file mode 100755
index 00000000..fb9fa087
--- /dev/null
+++ b/tests/run-strip-test8.sh
@@ -0,0 +1,5 @@
+original=testfile47
+stripped=testfile48
+debugfile=testfile48.debug
+
+. $srcdir/run-strip-test.sh
diff --git a/tests/run-unstrip-test.sh b/tests/run-unstrip-test.sh
new file mode 100755
index 00000000..8f0fc698
--- /dev/null
+++ b/tests/run-unstrip-test.sh
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2007 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/test-subr.sh
+
+original=${original:-testfile12}
+stripped=${stripped:-testfile17}
+debugfile=${debugfile:-${stripped}.debug}
+
+testfiles $original $stripped $debugfile
+tempfiles testfile.unstrip
+
+# These are old reference output from run-test-strip6.sh, when
+# strip left the .debug file with unchanged sh_size in
+# stripped sections that shrank in the stripped file. strip
+# no longer does that, but unstrip must still handle it.
+
+testrun ../src/unstrip -o testfile.unstrip $stripped $debugfile
+
+testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
diff --git a/tests/run-unstrip-test2.sh b/tests/run-unstrip-test2.sh
new file mode 100755
index 00000000..44074c19
--- /dev/null
+++ b/tests/run-unstrip-test2.sh
@@ -0,0 +1,5 @@
+original=testfile11
+stripped=testfile15
+debugfile=testfile15.debug
+
+. $srcdir/run-unstrip-test.sh
diff --git a/tests/saridx.c b/tests/saridx.c
index 4abc892f..d95777f9 100644
--- a/tests/saridx.c
+++ b/tests/saridx.c
@@ -1,15 +1,27 @@
/* Copyright (C) 1998, 1999, 2000, 2002 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
diff --git a/tests/scnnames.c b/tests/scnnames.c
index de30312e..4ced85c4 100644
--- a/tests/scnnames.c
+++ b/tests/scnnames.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 1998, 1999, 2000, 2002 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
@@ -29,6 +41,12 @@ main (int argc, char *argv[])
size_t strndx;
Elf_Scn *scn;
+ if (argc < 2)
+ {
+ puts ("missing parameter");
+ exit (1);
+ }
+
fd = open (argv[1], O_RDONLY);
if (fd == -1)
{
diff --git a/tests/sectiondump.c b/tests/sectiondump.c
index f19a2151..3fdde54b 100644
--- a/tests/sectiondump.c
+++ b/tests/sectiondump.c
@@ -1,15 +1,27 @@
/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
-
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
diff --git a/tests/sha1-tst.c b/tests/sha1-tst.c
new file mode 100644
index 00000000..9ff8141b
--- /dev/null
+++ b/tests/sha1-tst.c
@@ -0,0 +1,79 @@
+/* Copyright (C) 2008 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2008.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
+
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
+
+#include <stdio.h>
+#include <string.h>
+
+#include <sha1.h>
+
+
+int
+main (void)
+{
+ char buf[1000];
+ int result = 0;
+
+ struct sha1_ctx ctx;
+ sha1_init_ctx (&ctx);
+ sha1_process_bytes ("abc", 3, &ctx);
+ sha1_finish_ctx (&ctx, buf);
+ static const char expected1[SHA1_DIGEST_SIZE] =
+ "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
+ "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d";
+ if (memcmp (buf, expected1, SHA1_DIGEST_SIZE) != 0)
+ {
+ puts ("test 1 failed");
+ result = 1;
+ }
+
+ sha1_init_ctx (&ctx);
+ sha1_process_bytes ("\
+abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 56, &ctx);
+ sha1_finish_ctx (&ctx, buf);
+ static const char expected2[SHA1_DIGEST_SIZE] =
+ "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
+ "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1";
+ if (memcmp (buf, expected2, SHA1_DIGEST_SIZE) != 0)
+ {
+ puts ("test 2 failed");
+ result = 1;
+ }
+
+ sha1_init_ctx (&ctx);
+ memset (buf, 'a', sizeof (buf));
+ for (int i = 0; i < 1000; ++i)
+ sha1_process_bytes (buf, sizeof (buf), &ctx);
+ sha1_finish_ctx (&ctx, buf);
+ static const char expected3[SHA1_DIGEST_SIZE] =
+ "\x34\xaa\x97\x3c\xd4\xc4\xda\xa4\xf6\x1e"
+ "\xeb\x2b\xdb\xad\x27\x31\x65\x34\x01\x6f";
+ if (memcmp (buf, expected3, SHA1_DIGEST_SIZE) != 0)
+ {
+ puts ("test 3 failed");
+ result = 1;
+ }
+
+ return result;
+}
diff --git a/tests/show-abbrev.c b/tests/show-abbrev.c
index 7017932f..75fddf5e 100644
--- a/tests/show-abbrev.c
+++ b/tests/show-abbrev.c
@@ -1,21 +1,33 @@
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
#include <fcntl.h>
#include <inttypes.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <stdio.h>
#include <unistd.h>
@@ -53,7 +65,7 @@ main (int argc, char *argv[])
{
size_t length;
Dwarf_Abbrev *abbrev = dwarf_getabbrev (&die, offset, &length);
- if (abbrev == NULL)
+ if (abbrev == NULL || abbrev == DWARF_END_ABBREV)
/* End of the list. */
break;
diff --git a/tests/show-die-info.c b/tests/show-die-info.c
index d4f992f3..19015ca1 100644
--- a/tests/show-die-info.c
+++ b/tests/show-die-info.c
@@ -1,22 +1,34 @@
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
#include <dwarf.h>
#include <inttypes.h>
#include <libelf.h>
-#include <libdw.h>
+#include ELFUTILS_HEADER(dw)
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
@@ -65,13 +77,24 @@ static const char *tagnames[] =
[DW_TAG_namelist_item] = "DW_TAG_namelist_item",
[DW_TAG_packed_type] = "DW_TAG_packed_type",
[DW_TAG_subprogram] = "DW_TAG_subprogram",
- [DW_TAG_template_type_param] = "DW_TAG_template_type_param",
- [DW_TAG_template_value_param] = "DW_TAG_template_value_param",
+ [DW_TAG_template_type_parameter] = "DW_TAG_template_type_parameter",
+ [DW_TAG_template_value_parameter] = "DW_TAG_template_value_parameter",
[DW_TAG_thrown_type] = "DW_TAG_thrown_type",
[DW_TAG_try_block] = "DW_TAG_try_block",
[DW_TAG_variant_part] = "DW_TAG_variant_part",
[DW_TAG_variable] = "DW_TAG_variable",
- [DW_TAG_volatile_type] = "DW_TAG_volatile_type"
+ [DW_TAG_volatile_type] = "DW_TAG_volatile_type",
+ [DW_TAG_dwarf_procedure] = "DW_TAG_dwarf_procedure",
+ [DW_TAG_restrict_type] = "DW_TAG_restrict_type",
+ [DW_TAG_interface_type] = "DW_TAG_interface_type",
+ [DW_TAG_namespace] = "DW_TAG_namespace",
+ [DW_TAG_imported_module] = "DW_TAG_imported_module",
+ [DW_TAG_unspecified_type] = "DW_TAG_unspecified_type",
+ [DW_TAG_partial_unit] = "DW_TAG_partial_unit",
+ [DW_TAG_imported_unit] = "DW_TAG_imported_unit",
+ [DW_TAG_mutable_type] = "DW_TAG_mutable_type",
+ [DW_TAG_condition] = "DW_TAG_condition",
+ [DW_TAG_shared_type] = "DW_TAG_shared_type",
};
#define ntagnames (sizeof (tagnames) / sizeof (tagnames[0]))
@@ -113,7 +136,7 @@ const struct
{ DW_AT_prototyped, "prototyped" },
{ DW_AT_return_addr, "return_addr" },
{ DW_AT_start_scope, "start_scope" },
- { DW_AT_stride_size, "stride_size" },
+ { DW_AT_bit_stride, "bit_stride" },
{ DW_AT_upper_bound, "upper_bound" },
{ DW_AT_abstract_origin, "abstract_origin" },
{ DW_AT_accessibility, "accessibility" },
@@ -134,7 +157,7 @@ const struct
{ DW_AT_friend, "friend" },
{ DW_AT_identifier_case, "identifier_case" },
{ DW_AT_macro_info, "macro_info" },
- { DW_AT_namelist_items, "namelist_items" },
+ { DW_AT_namelist_item, "namelist_item" },
{ DW_AT_priority, "priority" },
{ DW_AT_segment, "segment" },
{ DW_AT_specification, "specification" },
@@ -144,6 +167,33 @@ const struct
{ DW_AT_variable_parameter, "variable_parameter" },
{ DW_AT_virtuality, "virtuality" },
{ DW_AT_vtable_elem_location, "vtable_elem_location" },
+ { DW_AT_allocated, "allocated" },
+ { DW_AT_associated, "associated" },
+ { DW_AT_data_location, "data_location" },
+ { DW_AT_byte_stride, "byte_stride" },
+ { DW_AT_entry_pc, "entry_pc" },
+ { DW_AT_use_UTF8, "use_UTF8" },
+ { DW_AT_extension, "extension" },
+ { DW_AT_ranges, "ranges" },
+ { DW_AT_trampoline, "trampoline" },
+ { DW_AT_call_column, "call_column" },
+ { DW_AT_call_file, "call_file" },
+ { DW_AT_call_line, "call_line" },
+ { DW_AT_description, "description" },
+ { DW_AT_binary_scale, "binary_scale" },
+ { DW_AT_decimal_scale, "decimal_scale" },
+ { DW_AT_small, "small" },
+ { DW_AT_decimal_sign, "decimal_sign" },
+ { DW_AT_digit_count, "digit_count" },
+ { DW_AT_picture_string, "picture_string" },
+ { DW_AT_mutable, "mutable" },
+ { DW_AT_threads_scaled, "threads_scaled" },
+ { DW_AT_explicit, "explicit" },
+ { DW_AT_object_pointer, "object_pointer" },
+ { DW_AT_endianity, "endianity" },
+ { DW_AT_elemental, "elemental" },
+ { DW_AT_pure, "pure" },
+ { DW_AT_recursive, "recursive" },
{ DW_AT_MIPS_fde, "MIPS_fde" },
{ DW_AT_MIPS_loop_begin, "MIPS_loop_begin" },
{ DW_AT_MIPS_tail_loop_begin, "MIPS_tail_loop_begin" },
@@ -166,7 +216,7 @@ const struct
{ DW_AT_mac_info, "mac_info" },
{ DW_AT_src_coords, "src_coords" },
{ DW_AT_body_begin, "body_begin" },
- { DW_AT_body_end, "body_end" }
+ { DW_AT_body_end, "body_end" },
};
#define nattrs (sizeof (attrs) / sizeof (attrs[0]))
diff --git a/tests/showptable.c b/tests/showptable.c
index afc1f26d..bae17f3b 100644
--- a/tests/showptable.c
+++ b/tests/showptable.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <config.h>
@@ -28,6 +40,12 @@ main (int argc, char *argv[])
GElf_Ehdr ehdr;
int cnt;
+ if (argc < 2)
+ {
+ puts ("missing parameter");
+ exit (1);
+ }
+
fd = open (argv[1], O_RDONLY);
if (fd == -1)
{
diff --git a/tests/test-nlist.c b/tests/test-nlist.c
index 40eb320a..f73955f7 100644
--- a/tests/test-nlist.c
+++ b/tests/test-nlist.c
@@ -1,15 +1,27 @@
-/* Copyright (C) 2000, 2002 Red Hat, Inc.
+/* Copyright (C) 2000, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#include <nlist.h>
#include <stdio.h>
@@ -28,7 +40,7 @@ foo (int a)
}
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
struct nlist nl[6] =
{
diff --git a/tests/test-subr.sh b/tests/test-subr.sh
new file mode 100644
index 00000000..cb34b93b
--- /dev/null
+++ b/tests/test-subr.sh
@@ -0,0 +1,112 @@
+#! /bin/sh
+# Copyright (C) 2005, 2007, 2008 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+
+# This file is sourced by ". $srcdir/test-subr.sh" at the start of
+# each test script. It defines some functions they use and sets up
+# canonical sh state for test runs.
+
+set -e
+
+#LC_ALL=C
+#export LC_ALL
+
+remove_files=
+trap 'rm -f $remove_files' 0
+
+tempfiles()
+{
+ remove_files="$remove_files $*"
+}
+
+testfiles()
+{
+ for file; do
+ bunzip2 -c $srcdir/${file}.bz2 > ${file} 2>/dev/null || exit 77
+ remove_files="$remove_files $file"
+ done
+}
+
+testrun_out()
+{
+ outfile="$1"
+ shift
+ remove_files="$remove_files $outfile"
+ testrun "$@" > $outfile 2>&1 || :
+}
+
+testrun_compare()
+{
+ outfile="${1##*/}.out"
+ testrun_out $outfile "$@"
+ diff -u $outfile -
+ # diff's exit status will kill the script.
+}
+
+test_cleanup()
+{
+ rm -f $remove_files
+ remove_files=
+}
+
+# See test-wrapper.sh, which sets the environment for this.
+testrun()
+{
+ ${elfutils_testrun}_testrun "$@"
+}
+
+built_testrun()
+{
+ LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"\
+ "$@"
+}
+
+installed_testrun()
+{
+ program="$1"
+ shift
+ case "$program" in
+ ./*)
+ if [ "x$elfutils_tests_rpath" != xno ]; then
+ echo >&2 installcheck not possible with --enable-tests-rpath
+ exit 77
+ fi
+ ;;
+ ../*)
+ program=${bindir}/`program_transform ${program##*/}`
+ ;;
+ esac
+ if [ "${libdir}" != /usr/lib ] && [ "${libdir}" != /usr/lib64 ]; then
+ LD_LIBRARY_PATH="${libdir}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" \
+ $program ${1+"$@"}
+ else
+ $program ${1+"$@"}
+ fi
+}
+
+program_transform()
+{
+ echo "$*" | sed "${program_transform_name}"
+}
diff --git a/tests/test-wrapper.sh b/tests/test-wrapper.sh
new file mode 100755
index 00000000..3477e382
--- /dev/null
+++ b/tests/test-wrapper.sh
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2005 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+
+# We don't compile in an rpath because we want "make installcheck" to
+# use the installed libraries. So for local test runs we need to point
+# the library path at this build.
+
+# This wrapper script is called by the makefile, in one of two ways:
+# $(srcdir)/test-wrapper.sh ../libelf:... run-test.sh ...
+# or:
+# $(srcdir)/test-wrapper.sh installed s,^,eu-, run-test.sh ...
+
+if [ "$1" = installed ]; then
+ shift
+ elfutils_tests_rpath=$1
+ shift
+ program_transform_name="$1"
+ shift
+ elfutils_testrun=installed
+else
+ built_library_path="$1"
+ shift
+ elfutils_testrun=built
+fi
+
+case "$1" in
+*.sh)
+ export built_library_path program_transform_name elfutils_testrun
+ export elfutils_tests_rpath
+ ;;
+*)
+ if [ $elfutils_testrun = built ]; then
+ LD_LIBRARY_PATH="$built_library_path${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+ elif [ $elfutils_tests_rpath = yes ]; then
+ echo >&2 installcheck not possible with --enable-tests-rpath
+ exit 77
+ elif [ "x$libdir" != x/usr/lib ] && [ "x$libdir" != x/usr/lib64 ]; then
+ LD_LIBRARY_PATH="$libdir${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+ fi
+ ;;
+esac
+
+exec "$@"
diff --git a/tests/testfile14.bz2 b/tests/testfile14.bz2
new file mode 100644
index 00000000..ac7c69e1
--- /dev/null
+++ b/tests/testfile14.bz2
Binary files differ
diff --git a/tests/testfile15.bz2 b/tests/testfile15.bz2
new file mode 100644
index 00000000..e75f4575
--- /dev/null
+++ b/tests/testfile15.bz2
Binary files differ
diff --git a/tests/testfile15.debug.bz2 b/tests/testfile15.debug.bz2
new file mode 100644
index 00000000..5c869001
--- /dev/null
+++ b/tests/testfile15.debug.bz2
Binary files differ
diff --git a/tests/testfile16.bz2 b/tests/testfile16.bz2
new file mode 100644
index 00000000..4d7160c0
--- /dev/null
+++ b/tests/testfile16.bz2
Binary files differ
diff --git a/tests/testfile16.debug.bz2 b/tests/testfile16.debug.bz2
new file mode 100644
index 00000000..f02a9723
--- /dev/null
+++ b/tests/testfile16.debug.bz2
Binary files differ
diff --git a/tests/testfile17.bz2 b/tests/testfile17.bz2
new file mode 100644
index 00000000..5a123204
--- /dev/null
+++ b/tests/testfile17.bz2
Binary files differ
diff --git a/tests/testfile17.debug.bz2 b/tests/testfile17.debug.bz2
new file mode 100644
index 00000000..86a76ab7
--- /dev/null
+++ b/tests/testfile17.debug.bz2
Binary files differ
diff --git a/tests/testfile18.bz2 b/tests/testfile18.bz2
new file mode 100644
index 00000000..8b5326cc
--- /dev/null
+++ b/tests/testfile18.bz2
Binary files differ
diff --git a/tests/testfile19.bz2 b/tests/testfile19.bz2
new file mode 100644
index 00000000..f3e6512e
--- /dev/null
+++ b/tests/testfile19.bz2
Binary files differ
diff --git a/tests/testfile19.index.bz2 b/tests/testfile19.index.bz2
new file mode 100644
index 00000000..c0a0a7ac
--- /dev/null
+++ b/tests/testfile19.index.bz2
Binary files differ
diff --git a/tests/testfile20.bz2 b/tests/testfile20.bz2
new file mode 100644
index 00000000..a379f6bf
--- /dev/null
+++ b/tests/testfile20.bz2
Binary files differ
diff --git a/tests/testfile20.index.bz2 b/tests/testfile20.index.bz2
new file mode 100644
index 00000000..08dedaf4
--- /dev/null
+++ b/tests/testfile20.index.bz2
Binary files differ
diff --git a/tests/testfile21.bz2 b/tests/testfile21.bz2
new file mode 100644
index 00000000..bab7e6d1
--- /dev/null
+++ b/tests/testfile21.bz2
Binary files differ
diff --git a/tests/testfile21.index.bz2 b/tests/testfile21.index.bz2
new file mode 100644
index 00000000..5192219b
--- /dev/null
+++ b/tests/testfile21.index.bz2
Binary files differ
diff --git a/tests/testfile22.bz2 b/tests/testfile22.bz2
new file mode 100644
index 00000000..8c262709
--- /dev/null
+++ b/tests/testfile22.bz2
Binary files differ
diff --git a/tests/testfile23.bz2 b/tests/testfile23.bz2
new file mode 100644
index 00000000..cf0ce559
--- /dev/null
+++ b/tests/testfile23.bz2
Binary files differ
diff --git a/tests/testfile24.bz2 b/tests/testfile24.bz2
new file mode 100644
index 00000000..2320acb3
--- /dev/null
+++ b/tests/testfile24.bz2
Binary files differ
diff --git a/tests/testfile25.bz2 b/tests/testfile25.bz2
new file mode 100644
index 00000000..51e04213
--- /dev/null
+++ b/tests/testfile25.bz2
Binary files differ
diff --git a/tests/testfile26.bz2 b/tests/testfile26.bz2
new file mode 100644
index 00000000..1f86285c
--- /dev/null
+++ b/tests/testfile26.bz2
Binary files differ
diff --git a/tests/testfile27.bz2 b/tests/testfile27.bz2
new file mode 100644
index 00000000..9d06cd93
--- /dev/null
+++ b/tests/testfile27.bz2
Binary files differ
diff --git a/tests/testfile28.bz2 b/tests/testfile28.bz2
new file mode 100644
index 00000000..ca0dff3d
--- /dev/null
+++ b/tests/testfile28.bz2
Binary files differ
diff --git a/tests/testfile28.rdwr.bz2 b/tests/testfile28.rdwr.bz2
new file mode 100644
index 00000000..4c658484
--- /dev/null
+++ b/tests/testfile28.rdwr.bz2
Binary files differ
diff --git a/tests/testfile29.bz2 b/tests/testfile29.bz2
new file mode 100644
index 00000000..b46451bf
--- /dev/null
+++ b/tests/testfile29.bz2
Binary files differ
diff --git a/tests/testfile29.rdwr.bz2 b/tests/testfile29.rdwr.bz2
new file mode 100644
index 00000000..42eadc70
--- /dev/null
+++ b/tests/testfile29.rdwr.bz2
Binary files differ
diff --git a/tests/testfile30.bz2 b/tests/testfile30.bz2
new file mode 100644
index 00000000..9ee93c00
--- /dev/null
+++ b/tests/testfile30.bz2
Binary files differ
diff --git a/tests/testfile31.bz2 b/tests/testfile31.bz2
new file mode 100644
index 00000000..73451d22
--- /dev/null
+++ b/tests/testfile31.bz2
Binary files differ
diff --git a/tests/testfile32.bz2 b/tests/testfile32.bz2
new file mode 100644
index 00000000..7e3c73e6
--- /dev/null
+++ b/tests/testfile32.bz2
Binary files differ
diff --git a/tests/testfile33.bz2 b/tests/testfile33.bz2
new file mode 100644
index 00000000..f3dbc73c
--- /dev/null
+++ b/tests/testfile33.bz2
Binary files differ
diff --git a/tests/testfile34.bz2 b/tests/testfile34.bz2
new file mode 100644
index 00000000..a417fcb5
--- /dev/null
+++ b/tests/testfile34.bz2
Binary files differ
diff --git a/tests/testfile35.bz2 b/tests/testfile35.bz2
new file mode 100644
index 00000000..b5913015
--- /dev/null
+++ b/tests/testfile35.bz2
Binary files differ
diff --git a/tests/testfile35.debug.bz2 b/tests/testfile35.debug.bz2
new file mode 100644
index 00000000..f1918627
--- /dev/null
+++ b/tests/testfile35.debug.bz2
Binary files differ
diff --git a/tests/testfile36.bz2 b/tests/testfile36.bz2
new file mode 100644
index 00000000..e912a197
--- /dev/null
+++ b/tests/testfile36.bz2
Binary files differ
diff --git a/tests/testfile36.debug.bz2 b/tests/testfile36.debug.bz2
new file mode 100644
index 00000000..76aca42e
--- /dev/null
+++ b/tests/testfile36.debug.bz2
Binary files differ
diff --git a/tests/testfile37.bz2 b/tests/testfile37.bz2
new file mode 100644
index 00000000..254ce324
--- /dev/null
+++ b/tests/testfile37.bz2
Binary files differ
diff --git a/tests/testfile37.debug.bz2 b/tests/testfile37.debug.bz2
new file mode 100644
index 00000000..74e46a87
--- /dev/null
+++ b/tests/testfile37.debug.bz2
Binary files differ
diff --git a/tests/testfile38.bz2 b/tests/testfile38.bz2
new file mode 100644
index 00000000..42adb774
--- /dev/null
+++ b/tests/testfile38.bz2
Binary files differ
diff --git a/tests/testfile39.bz2 b/tests/testfile39.bz2
new file mode 100644
index 00000000..42d0fbce
--- /dev/null
+++ b/tests/testfile39.bz2
Binary files differ
diff --git a/tests/testfile40.bz2 b/tests/testfile40.bz2
new file mode 100644
index 00000000..ad41985c
--- /dev/null
+++ b/tests/testfile40.bz2
Binary files differ
diff --git a/tests/testfile40.debug.bz2 b/tests/testfile40.debug.bz2
new file mode 100644
index 00000000..2eec4d7a
--- /dev/null
+++ b/tests/testfile40.debug.bz2
Binary files differ
diff --git a/tests/testfile41.bz2 b/tests/testfile41.bz2
new file mode 100644
index 00000000..f9bf5a48
--- /dev/null
+++ b/tests/testfile41.bz2
Binary files differ
diff --git a/tests/testfile42.bz2 b/tests/testfile42.bz2
new file mode 100644
index 00000000..2530aba2
--- /dev/null
+++ b/tests/testfile42.bz2
Binary files differ
diff --git a/tests/testfile43.bz2 b/tests/testfile43.bz2
new file mode 100644
index 00000000..c99db24a
--- /dev/null
+++ b/tests/testfile43.bz2
Binary files differ
diff --git a/tests/testfile44.S.bz2 b/tests/testfile44.S.bz2
new file mode 100644
index 00000000..fb401e52
--- /dev/null
+++ b/tests/testfile44.S.bz2
Binary files differ
diff --git a/tests/testfile44.expect.bz2 b/tests/testfile44.expect.bz2
new file mode 100644
index 00000000..9e504621
--- /dev/null
+++ b/tests/testfile44.expect.bz2
Binary files differ
diff --git a/tests/testfile45.S.bz2 b/tests/testfile45.S.bz2
new file mode 100644
index 00000000..58bb16b8
--- /dev/null
+++ b/tests/testfile45.S.bz2
Binary files differ
diff --git a/tests/testfile45.expect.bz2 b/tests/testfile45.expect.bz2
new file mode 100644
index 00000000..2cf60b77
--- /dev/null
+++ b/tests/testfile45.expect.bz2
Binary files differ
diff --git a/tests/testfile46.bz2 b/tests/testfile46.bz2
new file mode 100644
index 00000000..db83b278
--- /dev/null
+++ b/tests/testfile46.bz2
Binary files differ
diff --git a/tests/testfile47.bz2 b/tests/testfile47.bz2
new file mode 100644
index 00000000..334bd6c4
--- /dev/null
+++ b/tests/testfile47.bz2
Binary files differ
diff --git a/tests/testfile48.bz2 b/tests/testfile48.bz2
new file mode 100644
index 00000000..da0d9dab
--- /dev/null
+++ b/tests/testfile48.bz2
Binary files differ
diff --git a/tests/testfile48.debug.bz2 b/tests/testfile48.debug.bz2
new file mode 100644
index 00000000..7b84c4ca
--- /dev/null
+++ b/tests/testfile48.debug.bz2
Binary files differ
diff --git a/tests/testfile49.bz2 b/tests/testfile49.bz2
new file mode 100644
index 00000000..8741a6b3
--- /dev/null
+++ b/tests/testfile49.bz2
Binary files differ
diff --git a/tests/update1.c b/tests/update1.c
index decb09ba..6c038c9a 100644
--- a/tests/update1.c
+++ b/tests/update1.c
@@ -1,16 +1,28 @@
/* Test program for elf_update function.
- Copyright (C) 2000, 2002 Red Hat, Inc.
+ Copyright (C) 2000, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -25,7 +37,7 @@
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
const char *fname = "xxx";
int fd;
diff --git a/tests/update2.c b/tests/update2.c
index c595fba7..330e731f 100644
--- a/tests/update2.c
+++ b/tests/update2.c
@@ -1,16 +1,28 @@
/* Test program for elf_update function.
- Copyright (C) 2000, 2002 Red Hat, Inc.
+ Copyright (C) 2000, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -25,7 +37,7 @@
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
const char *fname = "xxx";
int fd;
diff --git a/tests/update3.c b/tests/update3.c
index 06bc8ff6..756d0159 100644
--- a/tests/update3.c
+++ b/tests/update3.c
@@ -1,16 +1,28 @@
/* Test program for elf_update function.
- Copyright (C) 2000, 2002 Red Hat, Inc.
+ Copyright (C) 2000, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -23,11 +35,11 @@
#include <stdlib.h>
#include <string.h>
-#include <libebl.h>
+#include ELFUTILS_HEADER(ebl)
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
const char *fname = "xxx";
int fd;
diff --git a/tests/update4.c b/tests/update4.c
index 17ef4702..e4263783 100644
--- a/tests/update4.c
+++ b/tests/update4.c
@@ -1,16 +1,28 @@
/* Test program for elf_update function.
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
+ Copyright (C) 2000, 2001, 2002, 2005 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
- This program is Open Source software; you can redistribute it and/or
- modify it under the terms of the Open Software License version 1.0 as
- published by the Open Source Initiative.
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by the
+ Free Software Foundation; version 2 of the License.
- You should have received a copy of the Open Software License along
- with this program; if not, you may obtain a copy of the Open Software
- License version 1.0 from http://www.opensource.org/licenses/osl.php or
- by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
- 3001 King Ranch Road, Ukiah, CA 95482. */
+ Red Hat elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with Red Hat elfutils; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+
+ Red Hat elfutils is an included package of the Open Invention Network.
+ An included package of the Open Invention Network is a package for which
+ Open Invention Network licensees cross-license their patents. No patent
+ license is granted, either expressly or impliedly, by designation as an
+ included package. Should you wish to participate in the Open Invention
+ Network licensing program, please visit www.openinventionnetwork.com
+ <http://www.openinventionnetwork.com>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -24,11 +36,11 @@
#include <string.h>
#include <unistd.h>
-#include <libebl.h>
+#include ELFUTILS_HEADER(ebl)
int
-main (int argc, char *argv[])
+main (int argc, char *argv[] __attribute__ ((unused)))
{
const char fname[] = "xxx";
int fd;