diff --git a/include/endian.h b/include/endian.h
index 10dbbd8..44f89cc 100644
--- a/include/endian.h
+++ b/include/endian.h
@@ -5,6 +5,7 @@
 #ifndef _ENDIAN_H
 #define _ENDIAN_H
 
+#include <klibc/compiler.h>
 #include <asm/byteorder.h>
 
 /* Linux' asm/byteorder.h defines either __LITTLE_ENDIAN or
diff --git a/include/klibc/compiler.h b/include/klibc/compiler.h
index 64b8c54..49872b8 100644
--- a/include/klibc/compiler.h
+++ b/include/klibc/compiler.h
@@ -65,4 +65,38 @@
 # define __unusedfunc
 #endif
 
+/* "pure" function:
+
+     Many functions have no effects except the return value and their
+     return value depends only on the parameters and/or global
+     variables.  Such a function can be subject to common subexpression
+     elimination and loop optimization just as an arithmetic operator
+     would be.  These functions should be declared with the attribute
+     `pure'.
+*/
+#ifdef __GNUC__
+# define __attribute_pure__	__attribute__((pure))
+#else
+# define __attribute_pure__
+#endif
+
+/* "const" function:
+
+     Many functions do not examine any values except their arguments,
+     and have no effects except the return value.  Basically this is
+     just slightly more strict class than the `pure' attribute above,
+     since function is not allowed to read global memory.
+
+     Note that a function that has pointer arguments and examines the
+     data pointed to must _not_ be declared `const'.  Likewise, a
+     function that calls a non-`const' function usually must not be
+     `const'.  It does not make sense for a `const' function to return
+     `void'.
+*/
+#ifdef __GNUC__
+# define __attribute_const__	__attribute__((const))
+#else
+# define __attribute_const__
+#endif
+
 #endif
diff --git a/klibc/include/endian.h b/klibc/include/endian.h
index 10dbbd8..44f89cc 100644
--- a/klibc/include/endian.h
+++ b/klibc/include/endian.h
@@ -5,6 +5,7 @@
 #ifndef _ENDIAN_H
 #define _ENDIAN_H
 
+#include <klibc/compiler.h>
 #include <asm/byteorder.h>
 
 /* Linux' asm/byteorder.h defines either __LITTLE_ENDIAN or
diff --git a/klibc/include/klibc/compiler.h b/klibc/include/klibc/compiler.h
index 64b8c54..49872b8 100644
--- a/klibc/include/klibc/compiler.h
+++ b/klibc/include/klibc/compiler.h
@@ -65,4 +65,38 @@
 # define __unusedfunc
 #endif
 
+/* "pure" function:
+
+     Many functions have no effects except the return value and their
+     return value depends only on the parameters and/or global
+     variables.  Such a function can be subject to common subexpression
+     elimination and loop optimization just as an arithmetic operator
+     would be.  These functions should be declared with the attribute
+     `pure'.
+*/
+#ifdef __GNUC__
+# define __attribute_pure__	__attribute__((pure))
+#else
+# define __attribute_pure__
+#endif
+
+/* "const" function:
+
+     Many functions do not examine any values except their arguments,
+     and have no effects except the return value.  Basically this is
+     just slightly more strict class than the `pure' attribute above,
+     since function is not allowed to read global memory.
+
+     Note that a function that has pointer arguments and examines the
+     data pointed to must _not_ be declared `const'.  Likewise, a
+     function that calls a non-`const' function usually must not be
+     `const'.  It does not make sense for a `const' function to return
+     `void'.
+*/
+#ifdef __GNUC__
+# define __attribute_const__	__attribute__((const))
+#else
+# define __attribute_const__
+#endif
+
 #endif
diff --git a/nfsmount/main.c b/nfsmount/main.c
index 76ed806..a1bf347 100644
--- a/nfsmount/main.c
+++ b/nfsmount/main.c
@@ -5,13 +5,14 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <linux/nfs_mount.h>
 #include <arpa/inet.h>
 #include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include <linux/nfs_mount.h>
+
 #include "nfsmount.h"
 #include "sunrpc.h"
 
