[LTP] [PATCH] openposix/20-1-buildonly, signal_h_23-1: Fix compiler errors on newer glibc
Xiao Yang
yangx.jy@cn.fujitsu.com
Thu Dec 20 12:11:34 CET 2018
Since glibc 2.26, the __USE_XOPEN2K8 macro defined by _POSIX_C_SOURCE = 200809L &&
_XOPEN_SOURCE = 700 resulted in the following compiler errors, because both sigstack
structure and bsd_signal function are only declared if __USE_XOPEN_EXTENDED is
defined and __USE_XOPEN2K8 is not defined:
-------------------------------------------------------------------------------
20-1-buildonly.c:13:8: error: invalid use of undefined type ‘struct sigstack’
sp = t.ss_sp;
...
signal_h/23-1.c:15:13: error: ‘bsd_signal’ undeclared (first use in this function); did you mean ‘psignal’?
dummyvar = bsd_signal;
-------------------------------------------------------------------------------
We just use _POSIX_C_SOURCE = 200112L && _XOPEN_SOURCE = 600 to run these tests.
References:
https://sourceware.org/git/?p=glibc.git;a=commit;h=666c0c5efa6db73632a6894bf028fef9f3b60d71
https://sourceware.org/git/?p=glibc.git;a=commit;h=4c3992fc459322a7c712700ba3244fcb125163d7
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
---
.../conformance/definitions/signal_h/20-1-buildonly.c | 7 +++++++
.../open_posix_testsuite/conformance/definitions/signal_h/23-1.c | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/testcases/open_posix_testsuite/conformance/definitions/signal_h/20-1-buildonly.c b/testcases/open_posix_testsuite/conformance/definitions/signal_h/20-1-buildonly.c
index 21d8cb4..fdb2fb8 100644
--- a/testcases/open_posix_testsuite/conformance/definitions/signal_h/20-1-buildonly.c
+++ b/testcases/open_posix_testsuite/conformance/definitions/signal_h/20-1-buildonly.c
@@ -2,6 +2,13 @@
Test the definition of sigstack.
*/
+#if _POSIX_C_SOURCE >= 200809L
+# undef _POSIX_C_SOURCE
+# undef _XOPEN_SOURCE
+# define _POSIX_C_SOURCE 200112L
+# define _XOPEN_SOURCE 600
+#endif
+
#include <signal.h>
struct sigstack this_type_should_exist, t;
diff --git a/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c b/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c
index 9a4d200..4f22e07 100644
--- a/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c
+++ b/testcases/open_posix_testsuite/conformance/definitions/signal_h/23-1.c
@@ -5,6 +5,13 @@
is declared.
*/
+#if _POSIX_C_SOURCE >= 200809L
+# undef _POSIX_C_SOURCE
+# undef _XOPEN_SOURCE
+# define _POSIX_C_SOURCE 200112L
+# define _XOPEN_SOURCE 600
+#endif
+
#include <signal.h>
typedef void (*(*bsd_signal_test) (int, void (*)(int))) (int);
--
1.8.3.1
More information about the ltp
mailing list