* [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue
@ 2018-04-06 8:18 Jörg Krause
2018-04-06 8:52 ` Thomas Petazzoni
2018-04-09 9:25 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Jörg Krause @ 2018-04-06 8:18 UTC (permalink / raw)
To: buildroot
Commit d879be3049598f35d7b959784e1a6c2811ba2036 enabled the build for non-glibc
toolchains and added a patch from upstream to fix one remaining build issue
with musl.
The upstream patch defines the glibc specific macro `__GLIBC_PREREQ` in
`include/bsd/sys/cdefs.h`, but the patch does not include this header
file in `include/bsd/stdlib.h` which uses the macro.
Upstream did committed an earlier patch which adds this header inclusion
to `include/bsd/stdlib.h`. So, add this upstream patch as well to fix a
build error when building the hcitop tool from the not yet added package
bluez-alsa.
Note, that the upstream patch address the issue that `<sys/cdefs.h>` is
a non-portable header. However, this is not the issue which needs to be
fixed by this patch, but solely the needed inclusion of the
`include/bsd/stdlib.h` header file, to see the definition of
`__GLIBC_PREREQ`.
Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
...3-Handle-systems-missing-sys-cdefs.h.patch | 230 ++++++++++++++++++
1 file changed, 230 insertions(+)
create mode 100644 package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch
diff --git a/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch b/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch
new file mode 100644
index 0000000000..2cf7a5f09f
--- /dev/null
+++ b/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch
@@ -0,0 +1,230 @@
+From 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:41:35 +0100
+Subject: [PATCH] Handle systems missing <sys/cdefs.h>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a non-portable header, and we cannot expect it to be provided by
+the system libc (e.g. musl). We just need and rely on declaration that
+we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
+only ever assume that.
+
+Fixes: https://bugs.freedesktop.org/105281
+
+Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
+
+Signed-off-by: Guillem Jover <guillem@hadrons.org>
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ include/bsd/libutil.h | 4 ++++
+ include/bsd/md5.h | 4 ++++
+ include/bsd/nlist.h | 4 ++++
+ include/bsd/readpassphrase.h | 4 ++++
+ include/bsd/stdlib.h | 4 ++++
+ include/bsd/string.h | 4 ++++
+ include/bsd/stringlist.h | 5 +++++
+ include/bsd/sys/queue.h | 4 ++++
+ include/bsd/sys/tree.h | 4 ++++
+ include/bsd/timeconv.h | 4 ++++
+ include/bsd/vis.h | 4 ++++
+ include/bsd/wchar.h | 4 ++++
+ 12 files changed, 49 insertions(+)
+
+diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
+index 45b3b15..ccca29a 100644
+--- a/include/bsd/libutil.h
++++ b/include/bsd/libutil.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_LIBUTIL_H
+
+ #include <features.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ #include <stdint.h>
+ #include <stdio.h>
+diff --git a/include/bsd/md5.h b/include/bsd/md5.h
+index 5f3ae46..bf36a30 100644
+--- a/include/bsd/md5.h
++++ b/include/bsd/md5.h
+@@ -27,7 +27,11 @@ typedef struct MD5Context {
+ uint8_t buffer[MD5_BLOCK_LENGTH]; /* input buffer */
+ } MD5_CTX;
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+
+ __BEGIN_DECLS
+diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h
+index cb297e8..8767117 100644
+--- a/include/bsd/nlist.h
++++ b/include/bsd/nlist.h
+@@ -27,7 +27,11 @@
+ #ifndef LIBBSD_NLIST_H
+ #define LIBBSD_NLIST_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+
+ struct nlist {
+ union {
+diff --git a/include/bsd/readpassphrase.h b/include/bsd/readpassphrase.h
+index 14744b8..5eb8021 100644
+--- a/include/bsd/readpassphrase.h
++++ b/include/bsd/readpassphrase.h
+@@ -31,7 +31,11 @@
+ #define RPP_SEVENBIT 0x10 /* Strip the high bit from input. */
+ #define RPP_STDIN 0x20 /* Read from stdin, not /dev/tty */
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+
+ __BEGIN_DECLS
+diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
+index ebc9638..8d33d1f 100644
+--- a/include/bsd/stdlib.h
++++ b/include/bsd/stdlib.h
+@@ -42,7 +42,11 @@
+ #ifndef LIBBSD_STDLIB_H
+ #define LIBBSD_STDLIB_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/stat.h>
+ #include <stdint.h>
+
+diff --git a/include/bsd/string.h b/include/bsd/string.h
+index 6798bf6..29097f6 100644
+--- a/include/bsd/string.h
++++ b/include/bsd/string.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_STRING_H
+ #define LIBBSD_STRING_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+
+ __BEGIN_DECLS
+diff --git a/include/bsd/stringlist.h b/include/bsd/stringlist.h
+index ff30cac..dd71496 100644
+--- a/include/bsd/stringlist.h
++++ b/include/bsd/stringlist.h
+@@ -31,7 +31,12 @@
+
+ #ifndef LIBBSD_STRINGLIST_H
+ #define LIBBSD_STRINGLIST_H
++
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+
+ /*
+diff --git a/include/bsd/sys/queue.h b/include/bsd/sys/queue.h
+index 4a94ea7..ac00026 100644
+--- a/include/bsd/sys/queue.h
++++ b/include/bsd/sys/queue.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_SYS_QUEUE_H
+ #define LIBBSD_SYS_QUEUE_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+
+ /*
+ * This file defines four types of data structures: singly-linked lists,
+diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h
+index 628bec0..325b382 100644
+--- a/include/bsd/sys/tree.h
++++ b/include/bsd/sys/tree.h
+@@ -30,7 +30,11 @@
+ #ifndef LIBBSD_SYS_TREE_H
+ #define LIBBSD_SYS_TREE_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+
+ /*
+ * This file defines data structures for different types of trees:
+diff --git a/include/bsd/timeconv.h b/include/bsd/timeconv.h
+index e2a2c55..a426bd3 100644
+--- a/include/bsd/timeconv.h
++++ b/include/bsd/timeconv.h
+@@ -41,7 +41,11 @@
+ #ifndef LIBBSD_TIMECONV_H
+ #define LIBBSD_TIMECONV_H
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <stdint.h>
+ #include <time.h>
+
+diff --git a/include/bsd/vis.h b/include/bsd/vis.h
+index 970dfdd..ab5430c 100644
+--- a/include/bsd/vis.h
++++ b/include/bsd/vis.h
+@@ -72,7 +72,11 @@
+ */
+ #define UNVIS_END 1 /* no more characters */
+
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+
+ __BEGIN_DECLS
+ char *vis(char *, int, int, int);
+diff --git a/include/bsd/wchar.h b/include/bsd/wchar.h
+index 33a500e..7216503 100644
+--- a/include/bsd/wchar.h
++++ b/include/bsd/wchar.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_WCHAR_H
+
+ #include <stddef.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+
+ __BEGIN_DECLS
+--
+2.17.0
+
--
2.17.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue
2018-04-06 8:18 [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue Jörg Krause
@ 2018-04-06 8:52 ` Thomas Petazzoni
2018-04-06 10:21 ` Jörg Krause
2018-04-09 9:25 ` Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2018-04-06 8:52 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, 6 Apr 2018 10:18:35 +0200, J?rg Krause wrote:
> Commit d879be3049598f35d7b959784e1a6c2811ba2036 enabled the build for non-glibc
> toolchains and added a patch from upstream to fix one remaining build issue
> with musl.
>
> The upstream patch defines the glibc specific macro `__GLIBC_PREREQ` in
> `include/bsd/sys/cdefs.h`, but the patch does not include this header
> file in `include/bsd/stdlib.h` which uses the macro.
>
> Upstream did committed an earlier patch which adds this header inclusion
> to `include/bsd/stdlib.h`. So, add this upstream patch as well to fix a
> build error when building the hcitop tool from the not yet added package
> bluez-alsa.
>
> Note, that the upstream patch address the issue that `<sys/cdefs.h>` is
> a non-portable header. However, this is not the issue which needs to be
> fixed by this patch, but solely the needed inclusion of the
> `include/bsd/stdlib.h` header file, to see the definition of
> `__GLIBC_PREREQ`.
>
> Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
>
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
Is this fixing an issue reported by the autobuilders ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue
2018-04-06 8:52 ` Thomas Petazzoni
@ 2018-04-06 10:21 ` Jörg Krause
0 siblings, 0 replies; 4+ messages in thread
From: Jörg Krause @ 2018-04-06 10:21 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Fri, 2018-04-06 at 10:52 +0200, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, 6 Apr 2018 10:18:35 +0200, J?rg Krause wrote:
> > Commit d879be3049598f35d7b959784e1a6c2811ba2036 enabled the build for non-glibc
> > toolchains and added a patch from upstream to fix one remaining build issue
> > with musl.
> >
> > The upstream patch defines the glibc specific macro `__GLIBC_PREREQ` in
> > `include/bsd/sys/cdefs.h`, but the patch does not include this header
> > file in `include/bsd/stdlib.h` which uses the macro.
> >
> > Upstream did committed an earlier patch which adds this header inclusion
> > to `include/bsd/stdlib.h`. So, add this upstream patch as well to fix a
> > build error when building the hcitop tool from the not yet added package
> > bluez-alsa.
> >
> > Note, that the upstream patch address the issue that `<sys/cdefs.h>` is
> > a non-portable header. However, this is not the issue which needs to be
> > fixed by this patch, but solely the needed inclusion of the
> > `include/bsd/stdlib.h` header file, to see the definition of
> > `__GLIBC_PREREQ`.
> >
> > Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
> >
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
>
> Is this fixing an issue reported by the autobuilders ?
No, it does not. It fixes an issue I found when adding the new package
bluez-alsa.
J?rg
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue
2018-04-06 8:18 [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue Jörg Krause
2018-04-06 8:52 ` Thomas Petazzoni
@ 2018-04-09 9:25 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-04-09 9:25 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, 6 Apr 2018 10:18:35 +0200, J?rg Krause wrote:
> Commit d879be3049598f35d7b959784e1a6c2811ba2036 enabled the build for non-glibc
> toolchains and added a patch from upstream to fix one remaining build issue
> with musl.
>
> The upstream patch defines the glibc specific macro `__GLIBC_PREREQ` in
> `include/bsd/sys/cdefs.h`, but the patch does not include this header
> file in `include/bsd/stdlib.h` which uses the macro.
>
> Upstream did committed an earlier patch which adds this header inclusion
> to `include/bsd/stdlib.h`. So, add this upstream patch as well to fix a
> build error when building the hcitop tool from the not yet added package
> bluez-alsa.
>
> Note, that the upstream patch address the issue that `<sys/cdefs.h>` is
> a non-portable header. However, this is not the issue which needs to be
> fixed by this patch, but solely the needed inclusion of the
> `include/bsd/stdlib.h` header file, to see the definition of
> `__GLIBC_PREREQ`.
>
> Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
>
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
> ...3-Handle-systems-missing-sys-cdefs.h.patch | 230 ++++++++++++++++++
> 1 file changed, 230 insertions(+)
> create mode 100644 package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-04-09 9:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-06 8:18 [Buildroot] [PATCH] libbsd: add upstream patch to fix musl build issue Jörg Krause
2018-04-06 8:52 ` Thomas Petazzoni
2018-04-06 10:21 ` Jörg Krause
2018-04-09 9:25 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.