diff mbox

empty: fix compile with toolchain w/o threads

Message ID 20150709093140.GA8600@waldemar-brodkorb.de
State Accepted
Headers show

Commit Message

Waldemar Brodkorb July 9, 2015, 9:31 a.m. UTC
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>
---
 package/empty/0002-fix-non-thread-build.patch |   49 +++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 package/empty/0002-fix-non-thread-build.patch

Comments

Thomas Petazzoni Aug. 8, 2015, 10:46 a.m. UTC | #1
Dear Waldemar Brodkorb,

On Thu, 9 Jul 2015 11:31:40 +0200, Waldemar Brodkorb wrote:
> 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>
> ---
>  package/empty/0002-fix-non-thread-build.patch |   49 +++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>  create mode 100644 package/empty/0002-fix-non-thread-build.patch

Applied, thanks. Could you submit the patch upstream?

Thanks!

Thomas
Waldemar Brodkorb Aug. 10, 2015, 6:01 p.m. UTC | #2
Hi,
Thomas Petazzoni wrote,

> Dear Waldemar Brodkorb,
> 
> On Thu, 9 Jul 2015 11:31:40 +0200, Waldemar Brodkorb wrote:
> > 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>
> > ---
> >  package/empty/0002-fix-non-thread-build.patch |   49 +++++++++++++++++++++++++
> >  1 file changed, 49 insertions(+)
> >  create mode 100644 package/empty/0002-fix-non-thread-build.patch
> 
> Applied, thanks. Could you submit the patch upstream?

I sent it to Mikhail Zakharov and he mailed me back that he has
applied it.

best regards
 Waldemar
Thomas Petazzoni Aug. 10, 2015, 6:57 p.m. UTC | #3
Waldemar,

On Mon, 10 Aug 2015 20:01:53 +0200, Waldemar Brodkorb wrote:

> I sent it to Mikhail Zakharov and he mailed me back that he has
> applied it.

Excellent, thanks! I see he has done a new release 0.6.20b a few hours
ago. Can you check whether it includes the fix?

The previous release was from 2012, so I wasn't really expecting to see
a new release anytime soon.

Thanks!

Thomas
Waldemar Brodkorb Aug. 10, 2015, 7:03 p.m. UTC | #4
Hi Thomas,
Thomas Petazzoni wrote,

> Waldemar,
> 
> On Mon, 10 Aug 2015 20:01:53 +0200, Waldemar Brodkorb wrote:
> 
> > I sent it to Mikhail Zakharov and he mailed me back that he has
> > applied it.
> 
> Excellent, thanks! I see he has done a new release 0.6.20b a few hours
> ago. Can you check whether it includes the fix?
> 
> The previous release was from 2012, so I wasn't really expecting to see
> a new release anytime soon.

Yes, indeed, patch is included.

best regards
 Waldemar
diff mbox

Patch

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..4854d86
--- /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@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;
+