[Buildroot] [git commit] empty: fix compile with toolchain w/o threads
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Sat Aug 8 10:45:51 UTC 2015
commit: http://git.buildroot.net/buildroot/commit/?id=9dd523c48f8c9e250da8694308fe24e6bab2fdc8
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
As found via autobuilders and discussed on the list, the
ifdef is wrong, as empty uses SysV semaphores and not POSIX
semaphores.
Tested with glibc/uclibc-ng builds. And with uclibc-ng without
threads.
Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/empty/0002-fix-non-thread-build.patch | 49 +++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/package/empty/0002-fix-non-thread-build.patch b/package/empty/0002-fix-non-thread-build.patch
new file mode 100644
index 0000000..a7e8d90
--- /dev/null
+++ b/package/empty/0002-fix-non-thread-build.patch
@@ -0,0 +1,49 @@
+empty uses SysV semaphores, so the ifdef is wrong here.
+
+Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
+
+--- empty-0.6.19b.orig/empty.c 2012-09-19 13:24:05.000000000 +0200
++++ empty-0.6.19b/empty.c 2015-07-09 02:00:09.000000000 +0200
+@@ -179,25 +179,23 @@ int main (int argc, char *argv[]) {
+ 2 - unknown */
+
+ /* semaphores */
+-#ifdef _POSIX_SEMAPHORES
+- #if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+- /* union semun is defined by including <sys/sem.h> */
+- #else
+- union semun {
+- int val;
+- struct semid_ds *buf;
+- #ifdef __SVR4
+- ushort_t *array;
+- #endif
+- #ifdef __hpux__
+- ushort *array;
+- #endif
+- #ifdef __linux__
+- unsigned short *array;
+- struct seminfo *__buf; /* buffer for IPC_INFO */
+- #endif
+- };
+- #endif
++#if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
++ /* union semun is defined by including <sys/sem.h> */
++#else
++ union semun {
++ int val;
++ struct semid_ds *buf;
++ #ifdef __SVR4
++ ushort_t *array;
++ #endif
++ #ifdef __hpux__
++ ushort *array;
++ #endif
++ #ifdef __linux__
++ unsigned short *array;
++ struct seminfo *__buf; /* buffer for IPC_INFO */
++ #endif
++ };
+ #endif
+ union semun semu;
+
More information about the buildroot
mailing list