Mark Wielaard 8641676
diff --git a/lib/ChangeLog b/lib/ChangeLog
Mark Wielaard 8641676
index 1b8b42b..cf77688 100644
Mark Wielaard 8641676
--- a/lib/ChangeLog
Mark Wielaard 8641676
+++ b/lib/ChangeLog
Mark Wielaard 8641676
@@ -1,3 +1,13 @@
Mark Wielaard 8641676
+2011-07-09  Roland McGrath  <roland@hack.frob.com>
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+	* sha1.c (be64_copy): New function.
Mark Wielaard 8641676
+	(sha1_finish_ctx): Use it.
Mark Wielaard 8641676
+	* md5.c (le64_copy): New function.
Mark Wielaard 8641676
+	(md5_finish_ctx): Use it.
Mark Wielaard 8641676
+	* system.h (LE32, BE32): New macros, using <endian.h> and <byteswap.h>.
Mark Wielaard 8641676
+	* md5.c (SWAP): Use LE32.
Mark Wielaard 8641676
+	* sha1.c (SWAP): Use BE32.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
 2010-06-16  Roland McGrath  <roland@redhat.com>
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 	* dynamicsizehash.h (HASHTYPE): New macro.
Mark Wielaard 8641676
diff --git a/lib/md5.c b/lib/md5.c
Mark Wielaard 8641676
index 0770561..1f2d5d3 100644
Mark Wielaard 8641676
--- a/lib/md5.c
Mark Wielaard 8641676
+++ b/lib/md5.c
Mark Wielaard 8641676
@@ -1,6 +1,6 @@
Mark Wielaard 8641676
 /* Functions to compute MD5 message digest of files or memory blocks.
Mark Wielaard 8641676
    according to the definition of MD5 in RFC 1321 from April 1992.
Mark Wielaard 8641676
-   Copyright (C) 1995,1996,1997,1999,2000,2001,2005 Red Hat, Inc.
Mark Wielaard 8641676
+   Copyright (C) 1995-2011 Red Hat, Inc.
Mark Wielaard 8641676
    This file is part of Red Hat elfutils.
Mark Wielaard 8641676
    Written by Ulrich Drepper <drepper@redhat.com>, 1995.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
@@ -29,20 +29,14 @@
Mark Wielaard 8641676
 # include <config.h>
Mark Wielaard 8641676
 #endif
Mark Wielaard 8641676
 
Mark Wielaard 8641676
-#include <endian.h>
Mark Wielaard 8641676
 #include <stdlib.h>
Mark Wielaard 8641676
 #include <string.h>
Mark Wielaard 8641676
 #include <sys/types.h>
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 #include "md5.h"
Mark Wielaard 8641676
+#include "system.h"
Mark Wielaard 8641676
 
Mark Wielaard 8641676
-#if __BYTE_ORDER == __BIG_ENDIAN
Mark Wielaard 8641676
-# define SWAP(n)							\
Mark Wielaard 8641676
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
Mark Wielaard 8641676
-#else
Mark Wielaard 8641676
-# define SWAP(n) (n)
Mark Wielaard 8641676
-#endif
Mark Wielaard 8641676
-
Mark Wielaard 8641676
+#define SWAP(n) LE32 (n)
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 /* This array contains the bytes used to pad the buffer to the next
Mark Wielaard 8641676
    64-byte boundary.  (RFC 1321, 3.1: Step 1)  */
Mark Wielaard 8641676
@@ -82,6 +76,16 @@ md5_read_ctx (ctx, resbuf)
Mark Wielaard 8641676
   return resbuf;
Mark Wielaard 8641676
 }
Mark Wielaard 8641676
 
Mark Wielaard 8641676
+static void
Mark Wielaard 8641676
+le64_copy (char *dest, uint64_t x)
Mark Wielaard 8641676
+{
Mark Wielaard 8641676
+  for (size_t i = 0; i < 8; ++i)
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      dest[i] = (uint8_t) x;
Mark Wielaard 8641676
+      x >>= 8;
Mark Wielaard 8641676
+    }
Mark Wielaard 8641676
+}
Mark Wielaard 8641676
+
Mark Wielaard 8641676
 /* Process the remaining bytes in the internal buffer and the usual
Mark Wielaard 8641676
    prolog according to the standard and write the result to RESBUF.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
@@ -105,9 +109,10 @@ md5_finish_ctx (ctx, resbuf)
Mark Wielaard 8641676
   memcpy (&ctx->buffer[bytes], fillbuf, pad);
Mark Wielaard 8641676
 
Mark Wielaard 8641676
   /* Put the 64-bit file length in *bits* at the end of the buffer.  */
Mark Wielaard 8641676
-  *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
Mark Wielaard 8641676
-  *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
Mark Wielaard 8641676
-							(ctx->total[0] >> 29));
Mark Wielaard 8641676
+  const uint64_t bit_length = ((ctx->total[0] << 3)
Mark Wielaard 8641676
+			       + ((uint64_t) ((ctx->total[1] << 3) |
Mark Wielaard 8641676
+					      (ctx->total[0] >> 29)) << 32));
Mark Wielaard 8641676
+  le64_copy (&ctx->buffer[bytes + pad], bit_length);
Mark Wielaard 8641676
 
Mark Wielaard 8641676
   /* Process last bytes.  */
Mark Wielaard 8641676
   md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
Mark Wielaard 8641676
diff --git a/lib/sha1.c b/lib/sha1.c
Mark Wielaard 8641676
index 0459cd6..53ddb78 100644
Mark Wielaard 8641676
--- a/lib/sha1.c
Mark Wielaard 8641676
+++ b/lib/sha1.c
Mark Wielaard 8641676
@@ -1,6 +1,6 @@
Mark Wielaard 8641676
 /* Functions to compute SHA1 message digest of files or memory blocks.
Mark Wielaard 8641676
    according to the definition of SHA1 in FIPS 180-1 from April 1997.
Mark Wielaard 8641676
-   Copyright (C) 2008 Red Hat, Inc.
Mark Wielaard 8641676
+   Copyright (C) 2008-2011 Red Hat, Inc.
Mark Wielaard 8641676
    This file is part of Red Hat elfutils.
Mark Wielaard 8641676
    Written by Ulrich Drepper <drepper@redhat.com>, 2008.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
@@ -29,20 +29,14 @@
Mark Wielaard 8641676
 # include <config.h>
Mark Wielaard 8641676
 #endif
Mark Wielaard 8641676
 
Mark Wielaard 8641676
-#include <endian.h>
Mark Wielaard 8641676
 #include <stdlib.h>
Mark Wielaard 8641676
 #include <string.h>
Mark Wielaard 8641676
 #include <sys/types.h>
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 #include "sha1.h"
Mark Wielaard 8641676
+#include "system.h"
Mark Wielaard 8641676
 
Mark Wielaard 8641676
-#if __BYTE_ORDER == __LITTLE_ENDIAN
Mark Wielaard 8641676
-# include <byteswap.h>
Mark Wielaard 8641676
-# define SWAP(n) bswap_32 (n)
Mark Wielaard 8641676
-#else
Mark Wielaard 8641676
-# define SWAP(n) (n)
Mark Wielaard 8641676
-#endif
Mark Wielaard 8641676
-
Mark Wielaard 8641676
+#define SWAP(n) BE32 (n)
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 /* This array contains the bytes used to pad the buffer to the next
Mark Wielaard 8641676
    64-byte boundary.  */
Mark Wielaard 8641676
@@ -83,6 +77,13 @@ sha1_read_ctx (ctx, resbuf)
Mark Wielaard 8641676
   return resbuf;
Mark Wielaard 8641676
 }
Mark Wielaard 8641676
 
Mark Wielaard 8641676
+static void
Mark Wielaard 8641676
+be64_copy (char *dest, uint64_t x)
Mark Wielaard 8641676
+{
Mark Wielaard 8641676
+  for (size_t i = 8; i-- > 0; x >>= 8)
Mark Wielaard 8641676
+    dest[i] = (uint8_t) x;
Mark Wielaard 8641676
+}
Mark Wielaard 8641676
+
Mark Wielaard 8641676
 /* Process the remaining bytes in the internal buffer and the usual
Mark Wielaard 8641676
    prolog according to the standard and write the result to RESBUF.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
@@ -106,9 +107,10 @@ sha1_finish_ctx (ctx, resbuf)
Mark Wielaard 8641676
   memcpy (&ctx->buffer[bytes], fillbuf, pad);
Mark Wielaard 8641676
 
Mark Wielaard 8641676
   /* Put the 64-bit file length in *bits* at the end of the buffer.  */
Mark Wielaard 8641676
-  *(sha1_uint32 *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) |
Mark Wielaard 8641676
-						     (ctx->total[0] >> 29));
Mark Wielaard 8641676
-  *(sha1_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3);
Mark Wielaard 8641676
+  const uint64_t bit_length = ((ctx->total[0] << 3)
Mark Wielaard 8641676
+			       + ((uint64_t) ((ctx->total[1] << 3) |
Mark Wielaard 8641676
+					      (ctx->total[0] >> 29)) << 32));
Mark Wielaard 8641676
+  be64_copy (&ctx->buffer[bytes + pad], bit_length);
Mark Wielaard 8641676
 
Mark Wielaard 8641676
   /* Process last bytes.  */
Mark Wielaard 8641676
   sha1_process_block (ctx->buffer, bytes + pad + 8, ctx);
Mark Wielaard 8641676
diff --git a/lib/system.h b/lib/system.h
Mark Wielaard 8641676
index 10b4734..2695426 100644
Mark Wielaard 8641676
--- a/lib/system.h
Mark Wielaard 8641676
+++ b/lib/system.h
Mark Wielaard 8641676
@@ -1,5 +1,5 @@
Mark Wielaard 8641676
 /* Declarations for common convenience functions.
Mark Wielaard 8641676
-   Copyright (C) 2006, 2009 Red Hat, Inc.
Mark Wielaard 8641676
+   Copyright (C) 2006-2011 Red Hat, Inc.
Mark Wielaard 8641676
    This file is part of Red Hat elfutils.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
    Red Hat elfutils is free software; you can redistribute it and/or modify
Mark Wielaard 8641676
@@ -51,6 +51,18 @@
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 #include <stddef.h>
Mark Wielaard 8641676
 #include <stdint.h>
Mark Wielaard 8641676
+#include <endian.h>
Mark Wielaard 8641676
+#include <byteswap.h>
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#if __BYTE_ORDER == __LITTLE_ENDIAN
Mark Wielaard 8641676
+# define LE32(n)	(n)
Mark Wielaard 8641676
+# define BE32(n)	bswap_32 (n)
Mark Wielaard 8641676
+#elif __BYTE_ORDER == __BIG_ENDIAN
Mark Wielaard 8641676
+# define BE32(n)	(n)
Mark Wielaard 8641676
+# define LE32(n)	bswap_32 (n)
Mark Wielaard 8641676
+#else
Mark Wielaard 8641676
+# error "Unknown byte order"
Mark Wielaard 8641676
+#endif
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 extern void *xmalloc (size_t) __attribute__ ((__malloc__));
Mark Wielaard 8641676
 extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
Mark Wielaard 8641676
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
Mark Wielaard 8641676
index 0cbeb85..720b767 100644
Mark Wielaard 8641676
--- a/libdwfl/ChangeLog
Mark Wielaard 8641676
+++ b/libdwfl/ChangeLog
Mark Wielaard 8641676
@@ -1,3 +1,7 @@
Mark Wielaard 8641676
+2011-07-09  Roland McGrath  <roland@hack.frob.com>
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+	* image-header.c (LE32): Macro removed (now in lib/system.h).
Mark Wielaard 8641676
+
Mark Wielaard 8641676
 2011-02-11  Roland McGrath  <roland@redhat.com>
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 	* linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
Mark Wielaard 8641676
diff --git a/libdwfl/image-header.c b/libdwfl/image-header.c
Mark Wielaard 8641676
index 6341fc8..c36d10c 100644
Mark Wielaard 8641676
--- a/libdwfl/image-header.c
Mark Wielaard 8641676
+++ b/libdwfl/image-header.c
Mark Wielaard 8641676
@@ -1,5 +1,5 @@
Mark Wielaard 8641676
 /* Linux kernel image support for libdwfl.
Mark Wielaard 8641676
-   Copyright (C) 2009 Red Hat, Inc.
Mark Wielaard 8641676
+   Copyright (C) 2009-2011 Red Hat, Inc.
Mark Wielaard 8641676
    This file is part of Red Hat elfutils.
Mark Wielaard 8641676
 
Mark Wielaard 8641676
    Red Hat elfutils is free software; you can redistribute it and/or modify
Mark Wielaard 8641676
@@ -55,10 +55,8 @@
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 #if BYTE_ORDER == LITTLE_ENDIAN
Mark Wielaard 8641676
 # define LE16(x)	(x)
Mark Wielaard 8641676
-# define LE32(x)	(x)
Mark Wielaard 8641676
 #else
Mark Wielaard 8641676
 # define LE16(x)	bswap_16 (x)
Mark Wielaard 8641676
-# define LE32(x)	bswap_32 (x)
Mark Wielaard 8641676
 #endif
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 /* See Documentation/x86/boot.txt in Linux kernel sources
Mark Wielaard 8641676
diff --git a/tests/ChangeLog b/tests/ChangeLog
Mark Wielaard 8641676
index bc78843..61027de 100644
Mark Wielaard 8641676
--- a/tests/ChangeLog
Mark Wielaard 8641676
+++ b/tests/ChangeLog
Mark Wielaard 8641676
@@ -1,3 +1,13 @@
Mark Wielaard 8641676
+2011-07-09  Roland McGrath  <roland@hack.frob.com>
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+	* sha1-tst.c: File removed.
Mark Wielaard 8641676
+	* Makefile.am (noinst_PROGRAMS, TESTS): Remove it.
Mark Wielaard 8641676
+	(sha1_tst_LDADD): Variable removed.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+	* md5-sha1-test.c: New file.
Mark Wielaard 8641676
+	* Makefile.am [!STANDALONE] (noinst_PROGRAMS, TESTS): Add it.
Mark Wielaard 8641676
+	(md5_sha1_test_LDADD): New variable.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
 2011-02-02  Josh Stone  <jistone@redhat.com>
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 	* run-prelink-addr-test.sh: Add testfile55, 32 and 64-bit.
Mark Wielaard 8641676
diff --git a/tests/Makefile.am b/tests/Makefile.am
Mark Wielaard 8641676
index b317553..e05cd92 100644
Mark Wielaard 8641676
--- a/tests/Makefile.am
Mark Wielaard 8641676
+++ b/tests/Makefile.am
Mark Wielaard 8641676
@@ -57,7 +57,7 @@ noinst_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
Mark Wielaard 8641676
 		  dwfl-bug-addr-overflow arls dwfl-bug-fd-leak \
Mark Wielaard 8641676
 		  dwfl-addr-sect dwfl-bug-report early-offscn \
Mark Wielaard 8641676
 		  dwfl-bug-getmodules dwarf-getmacros addrcfi \
Mark Wielaard 8641676
-		  test-flag-nobits
Mark Wielaard 8641676
+		  test-flag-nobits md5-sha1-test
Mark Wielaard 8641676
 asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
Mark Wielaard 8641676
 	    asm-tst6 asm-tst7 asm-tst8 asm-tst9
Mark Wielaard 8641676
 
Mark Wielaard 8641676
@@ -87,8 +87,8 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
Mark Wielaard 8641676
 # run-show-ciefde.sh
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 if !STANDALONE
Mark Wielaard 8641676
-noinst_PROGRAMS += msg_tst sha1-tst
Mark Wielaard 8641676
-TESTS += msg_tst sha1-tst
Mark Wielaard 8641676
+noinst_PROGRAMS += msg_tst md5-sha1-test
Mark Wielaard 8641676
+TESTS += msg_tst md5-sha1-test
Mark Wielaard 8641676
 endif
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 if HAVE_LIBASM
Mark Wielaard 8641676
@@ -244,10 +244,10 @@ dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
-sha1_tst_LDADD = $(libeu) $(libmudflap)
Mark Wielaard 8641676
 dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
Mark Wielaard 8641676
 addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 test_flag_nobits_LDADD = $(libelf) $(libmudflap)
Mark Wielaard 8641676
+md5_sha1_test_LDADD = $(libeu)
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 if GCOV
Mark Wielaard 8641676
 check: check-am coverage
Mark Wielaard 8641676
diff --git a/tests/md5-sha1-test.c b/tests/md5-sha1-test.c
Mark Wielaard 8641676
new file mode 100644
Mark Wielaard 8641676
index 0000000..af2e80a
Mark Wielaard 8641676
--- /dev/null
Mark Wielaard 8641676
+++ b/tests/md5-sha1-test.c
Mark Wielaard 8641676
@@ -0,0 +1,109 @@
Mark Wielaard 8641676
+/* Copyright (C) 2011 Red Hat, Inc.
Mark Wielaard 8641676
+   This file is part of Red Hat elfutils.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+   Red Hat elfutils is free software; you can redistribute it and/or modify
Mark Wielaard 8641676
+   it under the terms of the GNU General Public License as published by the
Mark Wielaard 8641676
+   Free Software Foundation; version 2 of the License.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+   Red Hat elfutils is distributed in the hope that it will be useful, but
Mark Wielaard 8641676
+   WITHOUT ANY WARRANTY; without even the implied warranty of
Mark Wielaard 8641676
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Mark Wielaard 8641676
+   General Public License for more details.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+   You should have received a copy of the GNU General Public License along
Mark Wielaard 8641676
+   with Red Hat elfutils; if not, write to the Free Software Foundation,
Mark Wielaard 8641676
+   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+   Red Hat elfutils is an included package of the Open Invention Network.
Mark Wielaard 8641676
+   An included package of the Open Invention Network is a package for which
Mark Wielaard 8641676
+   Open Invention Network licensees cross-license their patents.  No patent
Mark Wielaard 8641676
+   license is granted, either expressly or impliedly, by designation as an
Mark Wielaard 8641676
+   included package.  Should you wish to participate in the Open Invention
Mark Wielaard 8641676
+   Network licensing program, please visit www.openinventionnetwork.com
Mark Wielaard 8641676
+   <http://www.openinventionnetwork.com>.  */
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#ifdef HAVE_CONFIG_H
Mark Wielaard 8641676
+# include <config.h>
Mark Wielaard 8641676
+#endif
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#include <string.h>
Mark Wielaard 8641676
+#include <error.h>
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#include "md5.h"
Mark Wielaard 8641676
+#include "sha1.h"
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+static const struct expected
Mark Wielaard 8641676
+{
Mark Wielaard 8641676
+  const char *sample;
Mark Wielaard 8641676
+  const char *md5_expected;
Mark Wielaard 8641676
+  const char *sha1_expected;
Mark Wielaard 8641676
+} tests[] =
Mark Wielaard 8641676
+  {
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      "abc",
Mark Wielaard 8641676
+      "\x90\x01\x50\x98\x3c\xd2\x4f\xb0\xd6\x96\x3f\x7d\x28\xe1\x7f\x72",
Mark Wielaard 8641676
+      "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
Mark Wielaard 8641676
+      "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d"
Mark Wielaard 8641676
+    },
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
Mark Wielaard 8641676
+      "\x82\x15\xef\x07\x96\xa2\x0b\xca\xaa\xe1\x16\xd3\x87\x6c\x66\x4a",
Mark Wielaard 8641676
+      "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
Mark Wielaard 8641676
+      "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1"
Mark Wielaard 8641676
+    },
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      "\0a",
Mark Wielaard 8641676
+      "\x77\x07\xd6\xae\x4e\x02\x7c\x70\xee\xa2\xa9\x35\xc2\x29\x6f\x21",
Mark Wielaard 8641676
+      "\x34\xaa\x97\x3c\xd4\xc4\xda\xa4\xf6\x1e"
Mark Wielaard 8641676
+      "\xeb\x2b\xdb\xad\x27\x31\x65\x34\x01\x6f",
Mark Wielaard 8641676
+    },
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      "When in the Course of human events it becomes necessary",
Mark Wielaard 8641676
+      "\x62\x6b\x5e\x22\xcd\x3d\x02\xea\x07\xde\xd4\x50\x62\x3d\xb9\x96",
Mark Wielaard 8641676
+      "\x66\xc3\xc6\x8d\x62\x91\xc5\x1e\x63\x0c"
Mark Wielaard 8641676
+      "\x85\xc8\x6c\xc4\x4b\x3a\x79\x3e\x07\x28",
Mark Wielaard 8641676
+    },
Mark Wielaard 8641676
+  };
Mark Wielaard 8641676
+#define NTESTS (sizeof tests / sizeof tests[0])
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#define md5_size	16
Mark Wielaard 8641676
+#define sha1_size	20
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+static const char md5_expected[] =
Mark Wielaard 8641676
+  {
Mark Wielaard 8641676
+  };
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+static const char sha1_expected[] =
Mark Wielaard 8641676
+  {
Mark Wielaard 8641676
+  };
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+#define TEST_HASH(ALGO, I)						      \
Mark Wielaard 8641676
+  {									      \
Mark Wielaard 8641676
+    struct ALGO##_ctx ctx;						      \
Mark Wielaard 8641676
+    uint32_t result_buffer[(ALGO##_size + 3) / 4];			      \
Mark Wielaard 8641676
+    ALGO##_init_ctx (&ctx;;						      \
Mark Wielaard 8641676
+    if (tests[I].sample[0] == '\0')					      \
Mark Wielaard 8641676
+      {									      \
Mark Wielaard 8641676
+	char input_buffer[1000];					      \
Mark Wielaard 8641676
+	memset (input_buffer, tests[I].sample[1], sizeof input_buffer);	      \
Mark Wielaard 8641676
+	for (int rept = 0; rept < 1000; ++rept)				      \
Mark Wielaard 8641676
+	  ALGO##_process_bytes (input_buffer, sizeof input_buffer, &ctx;;     \
Mark Wielaard 8641676
+      }									      \
Mark Wielaard 8641676
+    else								      \
Mark Wielaard 8641676
+      ALGO##_process_bytes (tests[I].sample, strlen (tests[I].sample), &ctx;; \
Mark Wielaard 8641676
+    char *result = ALGO##_finish_ctx (&ctx, result_buffer);		      \
Mark Wielaard 8641676
+    if (result != (void *) result_buffer				      \
Mark Wielaard 8641676
+	|| memcmp (result, tests[I].ALGO##_expected, ALGO##_size) != 0)	      \
Mark Wielaard 8641676
+      error (0, 0, #ALGO " test %zu failed", 1 + I);			      \
Mark Wielaard 8641676
+  }
Mark Wielaard 8641676
+
Mark Wielaard 8641676
+int
Mark Wielaard 8641676
+main (void)
Mark Wielaard 8641676
+{
Mark Wielaard 8641676
+  for (size_t i = 0; i < NTESTS; ++i)
Mark Wielaard 8641676
+    {
Mark Wielaard 8641676
+      TEST_HASH (md5, i);
Mark Wielaard 8641676
+      TEST_HASH (sha1, i);
Mark Wielaard 8641676
+    }
Mark Wielaard 8641676
+  return error_message_count;
Mark Wielaard 8641676
+}
Mark Wielaard 8641676
diff --git a/tests/sha1-tst.c b/tests/sha1-tst.c
Mark Wielaard 8641676
deleted file mode 100644
Mark Wielaard 8641676
index 9ff8141..0000000
Mark Wielaard 8641676
--- a/tests/sha1-tst.c
Mark Wielaard 8641676
+++ /dev/null
Mark Wielaard 8641676
@@ -1,79 +0,0 @@
Mark Wielaard 8641676
-/* Copyright (C) 2008 Red Hat, Inc.
Mark Wielaard 8641676
-   This file is part of Red Hat elfutils.
Mark Wielaard 8641676
-   Written by Ulrich Drepper <drepper@redhat.com>, 2008.
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-   Red Hat elfutils is free software; you can redistribute it and/or modify
Mark Wielaard 8641676
-   it under the terms of the GNU General Public License as published by the
Mark Wielaard 8641676
-   Free Software Foundation; version 2 of the License.
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-   Red Hat elfutils is distributed in the hope that it will be useful, but
Mark Wielaard 8641676
-   WITHOUT ANY WARRANTY; without even the implied warranty of
Mark Wielaard 8641676
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Mark Wielaard 8641676
-   General Public License for more details.
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-   You should have received a copy of the GNU General Public License along
Mark Wielaard 8641676
-   with Red Hat elfutils; if not, write to the Free Software Foundation,
Mark Wielaard 8641676
-   Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-   Red Hat elfutils is an included package of the Open Invention Network.
Mark Wielaard 8641676
-   An included package of the Open Invention Network is a package for which
Mark Wielaard 8641676
-   Open Invention Network licensees cross-license their patents.  No patent
Mark Wielaard 8641676
-   license is granted, either expressly or impliedly, by designation as an
Mark Wielaard 8641676
-   included package.  Should you wish to participate in the Open Invention
Mark Wielaard 8641676
-   Network licensing program, please visit www.openinventionnetwork.com
Mark Wielaard 8641676
-   <http://www.openinventionnetwork.com>.  */
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-#include <stdio.h>
Mark Wielaard 8641676
-#include <string.h>
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-#include <sha1.h>
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-int
Mark Wielaard 8641676
-main (void)
Mark Wielaard 8641676
-{
Mark Wielaard 8641676
-  char buf[1000];
Mark Wielaard 8641676
-  int result = 0;
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-  struct sha1_ctx ctx;
Mark Wielaard 8641676
-  sha1_init_ctx (&ctx;;
Mark Wielaard 8641676
-  sha1_process_bytes ("abc", 3, &ctx;;
Mark Wielaard 8641676
-  sha1_finish_ctx (&ctx, buf);
Mark Wielaard 8641676
-  static const char expected1[SHA1_DIGEST_SIZE] =
Mark Wielaard 8641676
-    "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
Mark Wielaard 8641676
-    "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d";
Mark Wielaard 8641676
-  if (memcmp (buf, expected1, SHA1_DIGEST_SIZE) != 0)
Mark Wielaard 8641676
-    {
Mark Wielaard 8641676
-      puts ("test 1 failed");
Mark Wielaard 8641676
-      result = 1;
Mark Wielaard 8641676
-    }
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-  sha1_init_ctx (&ctx;;
Mark Wielaard 8641676
-  sha1_process_bytes ("\
Mark Wielaard 8641676
-abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", 56, &ctx;;
Mark Wielaard 8641676
-  sha1_finish_ctx (&ctx, buf);
Mark Wielaard 8641676
-  static const char expected2[SHA1_DIGEST_SIZE] =
Mark Wielaard 8641676
-    "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
Mark Wielaard 8641676
-    "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1";
Mark Wielaard 8641676
-  if (memcmp (buf, expected2, SHA1_DIGEST_SIZE) != 0)
Mark Wielaard 8641676
-    {
Mark Wielaard 8641676
-      puts ("test 2 failed");
Mark Wielaard 8641676
-      result = 1;
Mark Wielaard 8641676
-    }
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-  sha1_init_ctx (&ctx;;
Mark Wielaard 8641676
-  memset (buf, 'a', sizeof (buf));
Mark Wielaard 8641676
-  for (int i = 0; i < 1000; ++i)
Mark Wielaard 8641676
-    sha1_process_bytes (buf, sizeof (buf), &ctx;;
Mark Wielaard 8641676
-  sha1_finish_ctx (&ctx, buf);
Mark Wielaard 8641676
-  static const char expected3[SHA1_DIGEST_SIZE] =
Mark Wielaard 8641676
-    "\x34\xaa\x97\x3c\xd4\xc4\xda\xa4\xf6\x1e"
Mark Wielaard 8641676
-    "\xeb\x2b\xdb\xad\x27\x31\x65\x34\x01\x6f";
Mark Wielaard 8641676
-  if (memcmp (buf, expected3, SHA1_DIGEST_SIZE) != 0)
Mark Wielaard 8641676
-    {
Mark Wielaard 8641676
-      puts ("test 3 failed");
Mark Wielaard 8641676
-      result = 1;
Mark Wielaard 8641676
-    }
Mark Wielaard 8641676
-
Mark Wielaard 8641676
-  return result;
Mark Wielaard 8641676
-}
Mark Wielaard 8641676
--- elfutils-0.152/tests/Makefile.in	2011-02-15 15:30:26.000000000 +0100
Mark Wielaard 8641676
+++ /home/mark/src/elfutils/tests/Makefile.in	2012-01-20 21:23:50.626395712 +0100
Mark Wielaard 8641676
@@ -59,7 +59,8 @@
Mark Wielaard 8641676
 	dwfl-addr-sect$(EXEEXT) dwfl-bug-report$(EXEEXT) \
Mark Wielaard 8641676
 	early-offscn$(EXEEXT) dwfl-bug-getmodules$(EXEEXT) \
Mark Wielaard 8641676
 	dwarf-getmacros$(EXEEXT) addrcfi$(EXEEXT) \
Mark Wielaard 8641676
-	test-flag-nobits$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_3)
Mark Wielaard 8641676
+	test-flag-nobits$(EXEEXT) md5-sha1-test$(EXEEXT) \
Mark Wielaard 8641676
+	$(am__EXEEXT_1) $(am__EXEEXT_3)
Mark Wielaard 8641676
 TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \
Mark Wielaard 8641676
 	test-nlist$(EXEEXT) update1$(EXEEXT) update2$(EXEEXT) \
Mark Wielaard 8641676
 	update3$(EXEEXT) update4$(EXEEXT) run-show-die-info.sh \
Mark Wielaard 8641676
@@ -83,8 +84,8 @@
Mark Wielaard 8641676
 	run-dwarf-getmacros.sh run-test-flag-nobits.sh \
Mark Wielaard 8641676
 	run-prelink-addr-test.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
Mark Wielaard 8641676
 # run-show-ciefde.sh
Mark Wielaard 8641676
-@STANDALONE_FALSE@am__append_5 = msg_tst sha1-tst
Mark Wielaard 8641676
-@STANDALONE_FALSE@am__append_6 = msg_tst sha1-tst
Mark Wielaard 8641676
+@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
Mark Wielaard 8641676
+@STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
Mark Wielaard 8641676
 @HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
Mark Wielaard 8641676
 @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
Mark Wielaard 8641676
 subdir = tests
Mark Wielaard 8641676
@@ -98,7 +99,8 @@
Mark Wielaard 8641676
 CONFIG_HEADER = $(top_builddir)/config.h
Mark Wielaard 8641676
 CONFIG_CLEAN_FILES =
Mark Wielaard 8641676
 CONFIG_CLEAN_VPATH_FILES =
Mark Wielaard 8641676
-@STANDALONE_FALSE@am__EXEEXT_1 = msg_tst$(EXEEXT) sha1-tst$(EXEEXT)
Mark Wielaard 8641676
+@STANDALONE_FALSE@am__EXEEXT_1 = msg_tst$(EXEEXT) \
Mark Wielaard 8641676
+@STANDALONE_FALSE@	md5-sha1-test$(EXEEXT)
Mark Wielaard 8641676
 am__EXEEXT_2 = asm-tst1$(EXEEXT) asm-tst2$(EXEEXT) asm-tst3$(EXEEXT) \
Mark Wielaard 8641676
 	asm-tst4$(EXEEXT) asm-tst5$(EXEEXT) asm-tst6$(EXEEXT) \
Mark Wielaard 8641676
 	asm-tst7$(EXEEXT) asm-tst8$(EXEEXT) asm-tst9$(EXEEXT)
Mark Wielaard 8641676
@@ -252,6 +254,9 @@
Mark Wielaard 8641676
 line2addr_SOURCES = line2addr.c
Mark Wielaard 8641676
 line2addr_OBJECTS = line2addr.$(OBJEXT)
Mark Wielaard 8641676
 line2addr_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1)
Mark Wielaard 8641676
+md5_sha1_test_SOURCES = md5-sha1-test.c
Mark Wielaard 8641676
+md5_sha1_test_OBJECTS = md5-sha1-test.$(OBJEXT)
Mark Wielaard 8641676
+md5_sha1_test_DEPENDENCIES = $(libeu)
Mark Wielaard 8641676
 msg_tst_SOURCES = msg_tst.c
Mark Wielaard 8641676
 msg_tst_OBJECTS = msg_tst.$(OBJEXT)
Mark Wielaard 8641676
 msg_tst_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
Mark Wielaard 8641676
@@ -273,9 +278,6 @@
Mark Wielaard 8641676
 sectiondump_SOURCES = sectiondump.c
Mark Wielaard 8641676
 sectiondump_OBJECTS = sectiondump.$(OBJEXT)
Mark Wielaard 8641676
 sectiondump_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
Mark Wielaard 8641676
-sha1_tst_SOURCES = sha1-tst.c
Mark Wielaard 8641676
-sha1_tst_OBJECTS = sha1-tst.$(OBJEXT)
Mark Wielaard 8641676
-sha1_tst_DEPENDENCIES = $(libeu) $(am__DEPENDENCIES_1)
Mark Wielaard 8641676
 show_abbrev_SOURCES = show-abbrev.c
Mark Wielaard 8641676
 show_abbrev_OBJECTS = show-abbrev.$(OBJEXT)
Mark Wielaard 8641676
 show_abbrev_DEPENDENCIES = $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_2) \
Mark Wielaard 8641676
@@ -323,11 +325,11 @@
Mark Wielaard 8641676
 	dwfl-bug-fd-leak.c dwfl-bug-getmodules.c dwfl-bug-report.c \
Mark Wielaard 8641676
 	dwflmodtest.c early-offscn.c ecp.c find-prologues.c \
Mark Wielaard 8641676
 	funcretval.c funcscopes.c get-aranges.c get-files.c \
Mark Wielaard 8641676
-	get-lines.c get-pubnames.c hash.c line2addr.c msg_tst.c \
Mark Wielaard 8641676
-	newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
Mark Wielaard 8641676
-	sectiondump.c sha1-tst.c show-abbrev.c show-die-info.c \
Mark Wielaard 8641676
-	showptable.c test-flag-nobits.c test-nlist.c update1.c \
Mark Wielaard 8641676
-	update2.c update3.c update4.c
Mark Wielaard 8641676
+	get-lines.c get-pubnames.c hash.c line2addr.c md5-sha1-test.c \
Mark Wielaard 8641676
+	msg_tst.c newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
Mark Wielaard 8641676
+	sectiondump.c show-abbrev.c show-die-info.c showptable.c \
Mark Wielaard 8641676
+	test-flag-nobits.c test-nlist.c update1.c update2.c update3.c \
Mark Wielaard 8641676
+	update4.c
Mark Wielaard 8641676
 DIST_SOURCES = addrcfi.c addrscopes.c allfcts.c allregs.c arextract.c \
Mark Wielaard 8641676
 	arls.c arsymtest.c asm-tst1.c asm-tst2.c asm-tst3.c asm-tst4.c \
Mark Wielaard 8641676
 	asm-tst5.c asm-tst6.c asm-tst7.c asm-tst8.c asm-tst9.c \
Mark Wielaard 8641676
@@ -335,11 +337,11 @@
Mark Wielaard 8641676
 	dwfl-bug-fd-leak.c dwfl-bug-getmodules.c dwfl-bug-report.c \
Mark Wielaard 8641676
 	dwflmodtest.c early-offscn.c ecp.c find-prologues.c \
Mark Wielaard 8641676
 	funcretval.c funcscopes.c get-aranges.c get-files.c \
Mark Wielaard 8641676
-	get-lines.c get-pubnames.c hash.c line2addr.c msg_tst.c \
Mark Wielaard 8641676
-	newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
Mark Wielaard 8641676
-	sectiondump.c sha1-tst.c show-abbrev.c show-die-info.c \
Mark Wielaard 8641676
-	showptable.c test-flag-nobits.c test-nlist.c update1.c \
Mark Wielaard 8641676
-	update2.c update3.c update4.c
Mark Wielaard 8641676
+	get-lines.c get-pubnames.c hash.c line2addr.c md5-sha1-test.c \
Mark Wielaard 8641676
+	msg_tst.c newfile.c newscn.c rdwrmmap.c saridx.c scnnames.c \
Mark Wielaard 8641676
+	sectiondump.c show-abbrev.c show-die-info.c showptable.c \
Mark Wielaard 8641676
+	test-flag-nobits.c test-nlist.c update1.c update2.c update3.c \
Mark Wielaard 8641676
+	update4.c
Mark Wielaard 8641676
 ETAGS = etags
Mark Wielaard 8641676
 CTAGS = ctags
Mark Wielaard 8641676
 am__tty_colors = \
Mark Wielaard 8641676
@@ -611,10 +613,10 @@
Mark Wielaard 8641676
 dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
-sha1_tst_LDADD = $(libeu) $(libmudflap)
Mark Wielaard 8641676
 dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
Mark Wielaard 8641676
 addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
Mark Wielaard 8641676
 test_flag_nobits_LDADD = $(libelf) $(libmudflap)
Mark Wielaard 8641676
+md5_sha1_test_LDADD = $(libeu)
Mark Wielaard 8641676
 all: all-am
Mark Wielaard 8641676
 
Mark Wielaard 8641676
 .SUFFIXES:
Mark Wielaard 8641676
@@ -754,6 +756,9 @@
Mark Wielaard 8641676
 line2addr$(EXEEXT): $(line2addr_OBJECTS) $(line2addr_DEPENDENCIES) 
Mark Wielaard 8641676
 	@rm -f line2addr$(EXEEXT)
Mark Wielaard 8641676
 	$(LINK) $(line2addr_OBJECTS) $(line2addr_LDADD) $(LIBS)
Mark Wielaard 8641676
+md5-sha1-test$(EXEEXT): $(md5_sha1_test_OBJECTS) $(md5_sha1_test_DEPENDENCIES) 
Mark Wielaard 8641676
+	@rm -f md5-sha1-test$(EXEEXT)
Mark Wielaard 8641676
+	$(LINK) $(md5_sha1_test_OBJECTS) $(md5_sha1_test_LDADD) $(LIBS)
Mark Wielaard 8641676
 msg_tst$(EXEEXT): $(msg_tst_OBJECTS) $(msg_tst_DEPENDENCIES) 
Mark Wielaard 8641676
 	@rm -f msg_tst$(EXEEXT)
Mark Wielaard 8641676
 	$(LINK) $(msg_tst_OBJECTS) $(msg_tst_LDADD) $(LIBS)
Mark Wielaard 8641676
@@ -775,9 +780,6 @@
Mark Wielaard 8641676
 sectiondump$(EXEEXT): $(sectiondump_OBJECTS) $(sectiondump_DEPENDENCIES) 
Mark Wielaard 8641676
 	@rm -f sectiondump$(EXEEXT)
Mark Wielaard 8641676
 	$(LINK) $(sectiondump_OBJECTS) $(sectiondump_LDADD) $(LIBS)
Mark Wielaard 8641676
-sha1-tst$(EXEEXT): $(sha1_tst_OBJECTS) $(sha1_tst_DEPENDENCIES) 
Mark Wielaard 8641676
-	@rm -f sha1-tst$(EXEEXT)
Mark Wielaard 8641676
-	$(LINK) $(sha1_tst_OBJECTS) $(sha1_tst_LDADD) $(LIBS)
Mark Wielaard 8641676
 show-abbrev$(EXEEXT): $(show_abbrev_OBJECTS) $(show_abbrev_DEPENDENCIES) 
Mark Wielaard 8641676
 	@rm -f show-abbrev$(EXEEXT)
Mark Wielaard 8641676
 	$(LINK) $(show_abbrev_OBJECTS) $(show_abbrev_LDADD) $(LIBS)
Mark Wielaard 8641676
@@ -846,6 +848,7 @@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-pubnames.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/line2addr.Po@am__quote@
Mark Wielaard 8641676
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5-sha1-test.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_tst.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfile.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newscn.Po@am__quote@
Mark Wielaard 8641676
@@ -853,7 +856,6 @@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saridx.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scnnames.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sectiondump.Po@am__quote@
Mark Wielaard 8641676
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1-tst.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-abbrev.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/show-die-info.Po@am__quote@
Mark Wielaard 8641676
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/showptable.Po@am__quote@