--- libelf/elf.h	2015-08-21 14:22:37.000000000 +0200
+++ libelf/elf.h	2015-11-20 04:54:33.948081321 +0100
@@ -21,6 +21,17 @@
 
 #include <features.h>
 
+#if !defined(__GLIBC__)
+/* C++ needs to know that types and declarations are C, not C++.  */
+#ifdef  __cplusplus
+# define __BEGIN_DECLS  extern "C" {
+# define __END_DECLS    }
+#else
+# define __BEGIN_DECLS
+# define __END_DECLS
+#endif
+#endif
+
 __BEGIN_DECLS
 
 /* Standard ELF types.  */
--- lib/fixedsizehash.h.orig
+++ lib/fixedsizehash.h
@@ -30,7 +30,6 @@
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
-#include <sys/cdefs.h>
 
 #include <system.h>
 
