From: Rich Felker Date: Tue, 20 Sep 2011 14:58:18 +0000 (-0400) Subject: fix broken siginfo_t with _GNU_SOURCE defined X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=03a8362930c3c4fe49ee6b9cb2ba9f28153b15d3 fix broken siginfo_t with _GNU_SOURCE defined this bug was introduced in a recent patch. the problem we're working around is that broken GNU software wants to use "struct siginfo" rather than "siginfo_t", but "siginfo" is not in the reserved namespace and thus not legal for the standard header to use. --- diff --git a/include/signal.h b/include/signal.h index cbbb42a7..0fdf720c 100644 --- a/include/signal.h +++ b/include/signal.h @@ -8,6 +8,10 @@ extern "C" { #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +#ifdef _GNU_SOURCE +#define __siginfo siginfo +#endif + #define __NEED_size_t #define __NEED_pid_t #define __NEED_uid_t @@ -95,12 +99,7 @@ union sigval { void *sival_ptr; }; -#ifdef _GNU_SOURCE -struct siginfo -#else -struct __siginfo -#endif -{ +struct __siginfo { int si_signo, si_errno, si_code; union { char __pad[128 - 3*sizeof(int)];