summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-11-14 13:00:37 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-31 14:40:16 +0000
commit75ecb106dcf7d7e9b5634562a234acee123f4af6 (patch)
tree0c973c898456920e49c3c82456aee6cb131f082f /meta/recipes-support/attr/attr/dont-use-decl-macros.patch
parent93996a327d4c8652a16292824a06a163b13dc228 (diff)
downloadopenembedded-core-75ecb106dcf7d7e9b5634562a234acee123f4af6.tar.gz
openembedded-core-75ecb106dcf7d7e9b5634562a234acee123f4af6.tar.bz2
openembedded-core-75ecb106dcf7d7e9b5634562a234acee123f4af6.zip
attr: move attr-specific patches into attr/
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-support/attr/attr/dont-use-decl-macros.patch')
-rw-r--r--meta/recipes-support/attr/attr/dont-use-decl-macros.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta/recipes-support/attr/attr/dont-use-decl-macros.patch b/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
new file mode 100644
index 0000000000..9d4b8929e8
--- /dev/null
+++ b/meta/recipes-support/attr/attr/dont-use-decl-macros.patch
@@ -0,0 +1,56 @@
+Use extern "C" instead of __BEGIN_DECL/__END_DECL macros
+these macros are defined in sys/cdefs.h for glibc and this header is not available on all libc
+
+anyway they defined like below
+
+#ifdef __cplusplus
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS }
+#else
+# define __BEGIN_DECLS /* empty */
+# define __END_DECLS /* empty */
+#endif
+
+__THROW macro is also not available on musl, defined thusly
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: attr-2.4.47/include/xattr.h
+===================================================================
+--- attr-2.4.47.orig/include/xattr.h 2014-04-02 00:01:30.252091280 -0700
++++ attr-2.4.47/include/xattr.h 2014-04-02 00:12:57.985428099 -0700
+@@ -30,8 +30,20 @@
+ #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */
+ #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */
+
+-
+-__BEGIN_DECLS
++#ifndef __THROW
++# ifndef __GNUC_PREREQ
++# define __GNUC_PREREQ(maj, min) (0)
++# endif
++# if defined __cplusplus && __GNUC_PREREQ (2,8)
++# define __THROW throw ()
++# else
++# define __THROW
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ extern int setxattr (const char *__path, const char *__name,
+ const void *__value, size_t __size, int __flags) __THROW;
+@@ -58,6 +70,8 @@
+ extern int lremovexattr (const char *__path, const char *__name) __THROW;
+ extern int fremovexattr (int __filedes, const char *__name) __THROW;
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* __XATTR_H__ */