[CRIU] [PATCH 2/3] Use rlim_t where appropriate
Kir Kolyshkin
kir at openvz.org
Thu Nov 3 16:39:40 PDT 2016
I got the following then trying to compile CRIU on ARM with clang:
> criu/cr-restore.c:2476:22: error: implicit conversion from 'unsigned
> long long' to 'unsigned long' changes value from 18446744073709551615 to
> 4294967295 [-Werror,-Wconstant-conversion]
> return ival == -1 ? RLIM_INFINITY : ival;
> ~~~~~~ ^~~~~~~~~~~~~
> /usr/include/arm-linux-gnueabihf/bits/resource.h:117:24: note: expanded
> from macro 'RLIM_INFINITY'
> # define RLIM_INFINITY 0xffffffffffffffffuLL
> ^~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
Fix by using provided rlim_t type in this and similar places.
Signed-off-by: Kir Kolyshkin <kir at openvz.org>
---
criu/cr-dump.c | 2 +-
criu/cr-restore.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/criu/cr-dump.c b/criu/cr-dump.c
index 955ba97..f0f74c3 100644
--- a/criu/cr-dump.c
+++ b/criu/cr-dump.c
@@ -309,7 +309,7 @@ static int dump_task_fs(pid_t pid, struct parasite_dump_misc *misc, struct cr_im
return pb_write_one(img_from_set(imgset, CR_FD_FS), &fe, PB_FS);
}
-static inline u_int64_t encode_rlim(unsigned long val)
+static inline rlim_t encode_rlim(rlim_t val)
{
return val == RLIM_INFINITY ? -1 : val;
}
diff --git a/criu/cr-restore.c b/criu/cr-restore.c
index 3abdea8..19a714f 100644
--- a/criu/cr-restore.c
+++ b/criu/cr-restore.c
@@ -2471,7 +2471,7 @@ static int prep_sched_info(struct rst_sched_param *sp, ThreadCoreEntry *tc)
return 0;
}
-static unsigned long decode_rlim(u_int64_t ival)
+static rlim_t decode_rlim(rlim_t ival)
{
return ival == -1 ? RLIM_INFINITY : ival;
}
--
2.7.4
More information about the CRIU
mailing list