Use instead of the linux-ish Use __attribute__ ((__nothrow__)) instead of the linux-ish __THROW (from the linux sys/cdefs.h) macro - should work with clang and gcc on FreeBSD. --- genisoimage/sha256.c.orig 2009-10-11 18:27:59 UTC +++ genisoimage/sha256.c @@ -24,9 +24,9 @@ /* Written by Ulrich Drepper , 2007. */ -#include #include #include +#include #include #include "sha256.h" --- genisoimage/sha256.h.orig 2009-05-10 21:49:54 UTC +++ genisoimage/sha256.h @@ -42,14 +42,14 @@ struct sha256_ctx /* Initialize structure containing state of computation. (FIPS 180-2: 5.3.2) */ -extern void sha256_init_ctx (struct sha256_ctx *ctx) __THROW; +extern void sha256_init_ctx (struct sha256_ctx *ctx) __attribute__ ((__nothrow__)); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void sha256_process_bytes (const void *buffer, size_t len, - struct sha256_ctx *ctx) __THROW; + struct sha256_ctx *ctx) __attribute__ ((__nothrow__)); /* Process the remaining bytes in the buffer and put result from CTX in first 32 bytes following RESBUF. @@ -57,6 +57,6 @@ extern void sha256_process_bytes (const IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 32 bits value. */ extern void *sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf) - __THROW; + __attribute__ ((__nothrow__)); #endif /* sha256.h */ --- genisoimage/sha512.c.orig 2009-10-11 18:27:59 UTC +++ genisoimage/sha512.c @@ -24,9 +24,9 @@ /* Written by Ulrich Drepper , 2007. */ -#include #include #include +#include #include #include "sha512.h" --- genisoimage/sha512.h.orig 2009-05-10 21:49:54 UTC +++ genisoimage/sha512.h @@ -42,14 +42,14 @@ struct sha512_ctx /* Initialize structure containing state of computation. (FIPS 180-2: 5.3.3) */ -extern void sha512_init_ctx (struct sha512_ctx *ctx) __THROW; +extern void sha512_init_ctx (struct sha512_ctx *ctx) __attribute__ ((__nothrow__)); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 128. */ extern void sha512_process_bytes (const void *buffer, size_t len, - struct sha512_ctx *ctx) __THROW; + struct sha512_ctx *ctx) __attribute__ ((__nothrow__)); /* Process the remaining bytes in the buffer and put result from CTX in first 64 bytes following RESBUF. @@ -57,6 +57,6 @@ extern void sha512_process_bytes (const IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 64 bits value. */ extern void *sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf) - __THROW; + __attribute__ ((__nothrow__)); #endif /* sha512.h */