empty: fix compile with toolchain w/o threads
authorWaldemar Brodkorb <wbx@openadk.org>
Thu, 9 Jul 2015 09:31:40 +0000 (11:31 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 8 Aug 2015 10:45:51 +0000 (12:45 +0200)
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@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/empty/0002-fix-non-thread-build.patch [new file with mode: 0644]

diff --git a/package/empty/0002-fix-non-thread-build.patch b/package/empty/0002-fix-non-thread-build.patch
new file mode 100644 (file)
index 0000000..a7e8d90
--- /dev/null
@@ -0,0 +1,49 @@
+empty uses SysV semaphores, so the ifdef is wrong here.
+
+Signed-off-by: Waldemar Brodkorb <wbx@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;
+