From d6d034a9d228674ebddbab77d4485d8147b99bd3 Mon Sep 17 00:00:00 2001 From: Kir Kolyshkin Date: Thu, 3 Nov 2016 16:39:40 -0700 Subject: [PATCH] Use rlim_t where appropriate 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. travis-ci: success for Fixes to compile on arm with clang Signed-off-by: Kir Kolyshkin Signed-off-by: Pavel Emelyanov --- 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 f2a99d1ed..989c97380 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 0eaf34d23..313516c8f 100644 --- a/criu/cr-restore.c +++ b/criu/cr-restore.c @@ -2352,7 +2352,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; }