summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-11-19 01:07:21 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-12 23:42:55 +0000
commit2c11bdd5cacbd642ebd8efdc504ec513579a1e71 (patch)
tree60aaa24678913f81d1de1cd4516062e257838046
parentf1c034be02b1e8cf13d580de0de634794f7623e8 (diff)
downloadpoky-2c11bdd5cacbd642ebd8efdc504ec513579a1e71.tar.gz
attr: Add patch to account for use of internal glibc header
based on suggestions on musl FAQ http://wiki.musl-libc.org/wiki/FAQ (From OE-Core rev: 2544153a370208e9a08a506f4d5afe56d203e242) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/attr/attr_2.4.47.bb4
-rw-r--r--meta/recipes-support/attr/files/dont-use-decl-macros.patch56
2 files changed, 59 insertions, 1 deletions
diff --git a/meta/recipes-support/attr/attr_2.4.47.bb b/meta/recipes-support/attr/attr_2.4.47.bb
index ad40c9b72a..44eee39644 100644
--- a/meta/recipes-support/attr/attr_2.4.47.bb
+++ b/meta/recipes-support/attr/attr_2.4.47.bb
@@ -2,7 +2,9 @@ require attr.inc
2 2
3# configure.ac was missing from the release tarball. This should be fixed in 3# configure.ac was missing from the release tarball. This should be fixed in
4# future releases of attr, remove this when updating the recipe. 4# future releases of attr, remove this when updating the recipe.
5SRC_URI_append += "file://attr-Missing-configure.ac.patch" 5SRC_URI_append += "file://attr-Missing-configure.ac.patch \
6 file://dont-use-decl-macros.patch \
7 "
6 8
7SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" 9SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7"
8SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859" 10SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859"
diff --git a/meta/recipes-support/attr/files/dont-use-decl-macros.patch b/meta/recipes-support/attr/files/dont-use-decl-macros.patch
new file mode 100644
index 0000000000..9d4b8929e8
--- /dev/null
+++ b/meta/recipes-support/attr/files/dont-use-decl-macros.patch
@@ -0,0 +1,56 @@
1Use extern "C" instead of __BEGIN_DECL/__END_DECL macros
2these macros are defined in sys/cdefs.h for glibc and this header is not available on all libc
3
4anyway they defined like below
5
6#ifdef __cplusplus
7# define __BEGIN_DECLS extern "C" {
8# define __END_DECLS }
9#else
10# define __BEGIN_DECLS /* empty */
11# define __END_DECLS /* empty */
12#endif
13
14__THROW macro is also not available on musl, defined thusly
15
16Upstream-Status: Pending
17
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19
20Index: attr-2.4.47/include/xattr.h
21===================================================================
22--- attr-2.4.47.orig/include/xattr.h 2014-04-02 00:01:30.252091280 -0700
23+++ attr-2.4.47/include/xattr.h 2014-04-02 00:12:57.985428099 -0700
24@@ -30,8 +30,20 @@
25 #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */
26 #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */
27
28-
29-__BEGIN_DECLS
30+#ifndef __THROW
31+# ifndef __GNUC_PREREQ
32+# define __GNUC_PREREQ(maj, min) (0)
33+# endif
34+# if defined __cplusplus && __GNUC_PREREQ (2,8)
35+# define __THROW throw ()
36+# else
37+# define __THROW
38+# endif
39+#endif
40+
41+#ifdef __cplusplus
42+extern "C" {
43+#endif
44
45 extern int setxattr (const char *__path, const char *__name,
46 const void *__value, size_t __size, int __flags) __THROW;
47@@ -58,6 +70,8 @@
48 extern int lremovexattr (const char *__path, const char *__name) __THROW;
49 extern int fremovexattr (int __filedes, const char *__name) __THROW;
50
51-__END_DECLS
52+#ifdef __cplusplus
53+}
54+#endif
55
56 #endif /* __XATTR_H__ */