-diff -ruN busybox-1.1.0-pre1-old/libbb/hash_fd.c busybox-1.1.0-pre1-new/libbb/hash_fd.c
---- busybox-1.1.0-pre1-old/libbb/hash_fd.c 2005-11-01 00:55:29.000000000 +0100
-+++ busybox-1.1.0-pre1-new/libbb/hash_fd.c 2005-12-07 21:25:30.000000000 +0100
-@@ -288,21 +288,10 @@
- static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ };
- # endif /* MD5SUM_SIZE_VS_SPEED == 0 */
-
--/* Structure to save state of computation between the single steps. */
--struct md5_ctx_t {
-- uint32_t A;
-- uint32_t B;
-- uint32_t C;
-- uint32_t D;
-- uint32_t total[2];
-- uint32_t buflen;
-- char buffer[128];
--};
--
- /* Initialize structure containing state of computation.
- * (RFC 1321, 3.3: Step 3)
- */
--static void md5_begin(struct md5_ctx_t *ctx)
-+extern void md5_begin(struct md5_ctx_t *ctx)
- {
- ctx->A = 0x67452301;
- ctx->B = 0xefcdab89;
-@@ -706,7 +695,7 @@
- }
- }
-
--static void md5_hash(const void *buffer, size_t length, void *md5_ctx)
-+extern void md5_hash(const void *buffer, size_t length, void *md5_ctx)
- {
- if (length % 64 == 0) {
- md5_hash_block(buffer, length, md5_ctx);
-@@ -723,7 +712,7 @@
- * IMPORTANT: On some systems it is required that RESBUF is correctly
- * aligned for a 32 bits value.
- */
--static void *md5_end(void *resbuf, struct md5_ctx_t *ctx)
-+extern void *md5_end(void *resbuf, struct md5_ctx_t *ctx)
- {
- /* Take yet unprocessed bytes into account. */
- uint32_t bytes = ctx->buflen;