[CRIU] [PATCHv2] test: static,aio01 -- Predefine SIGNAL_H

Radostin Stoyanov rstoyanov1 at gmail.com
Fri Jun 15 11:09:50 MSK 2018


After commit the commit below, <linux/signal.h> is included
in <linux/aio_abi.h>

https://github.com/torvalds/linux/commit/7a074e96

This causes compilation the following errors:

In file included from /usr/include/linux/signal.h:5,
                 from /usr/include/linux/aio_abi.h:32,
                 from aio01.c:1:
/usr/include/asm/signal.h:127:2: error: unknown type name ‘size_t’
  size_t ss_size;
  ^~~~~~
In file included from aio01.c:1:
/usr/include/linux/aio_abi.h:112:2: error: unknown type name ‘size_t’
  size_t  sigsetsize;
  ^~~~~~
In file included from /usr/include/sys/select.h:33,
                 from /usr/include/sys/types.h:196,
                 from aio01.c:3:
/usr/include/bits/types/sigset_t.h:7:20: error: conflicting types for ‘sigset_t’
 typedef __sigset_t sigset_t;
                    ^~~~~~~~
In file included from /usr/include/linux/signal.h:5,
                 from /usr/include/linux/aio_abi.h:32,
                 from aio01.c:1:
/usr/include/asm/signal.h:16:23: note: previous declaration of ‘sigset_t’ was here
 typedef unsigned long sigset_t;
                       ^~~~~~~~

As a workaround, we can predefine SIGNAL_H to ignore this include.

Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
---
 criu/include/aio.h       | 1 +
 test/zdtm/static/aio01.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/criu/include/aio.h b/criu/include/aio.h
index 9a58089b..2d3c3851 100644
--- a/criu/include/aio.h
+++ b/criu/include/aio.h
@@ -1,6 +1,7 @@
 #ifndef __CR_AIO_H__
 #define __CR_AIO_H__
 
+#define SIGNAL_H
 #include <linux/aio_abi.h>
 #include "images/mm.pb-c.h"
 unsigned int aio_estimate_nr_reqs(unsigned int size);
diff --git a/test/zdtm/static/aio01.c b/test/zdtm/static/aio01.c
index f84fd359..4b61fcc9 100644
--- a/test/zdtm/static/aio01.c
+++ b/test/zdtm/static/aio01.c
@@ -1,3 +1,4 @@
+#define SIGNAL_H
 #include <linux/aio_abi.h>
 #include <sys/syscall.h>
 #include <sys/types.h>
-- 
2.17.1



More information about the CRIU mailing list