From 2c11bdd5cacbd642ebd8efdc504ec513579a1e71 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 19 Nov 2015 01:07:21 +0000 Subject: 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 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-support/attr/attr_2.4.47.bb | 4 +- .../attr/files/dont-use-decl-macros.patch | 56 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/attr/files/dont-use-decl-macros.patch (limited to 'meta/recipes-support') 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 # configure.ac was missing from the release tarball. This should be fixed in # future releases of attr, remove this when updating the recipe. -SRC_URI_append += "file://attr-Missing-configure.ac.patch" +SRC_URI_append += "file://attr-Missing-configure.ac.patch \ + file://dont-use-decl-macros.patch \ + " SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" SRC_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 @@ +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 + +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__ */ -- cgit v1.2.3-54-g00ecf