Message ID | 20200914213609.141577-1-dgilbert@interlog.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tools/io_uring: fix compile breakage | expand |
On 9/14/20 3:36 PM, Douglas Gilbert wrote: > It would seem none of the kernel continuous integration does this: > $ cd tools/io_uring > $ make > > Otherwise it may have noticed: > cc -Wall -Wextra -g -D_GNU_SOURCE -c -o io_uring-bench.o > io_uring-bench.c > io_uring-bench.c:133:12: error: static declaration of ‘gettid’ > follows non-static declaration > 133 | static int gettid(void) > | ^~~~~~ > In file included from /usr/include/unistd.h:1170, > from io_uring-bench.c:27: > /usr/include/x86_64-linux-gnu/bits/unistd_ext.h:34:16: note: > previous declaration of ‘gettid’ was here > 34 | extern __pid_t gettid (void) __THROW; > | ^~~~~~ > make: *** [<builtin>: io_uring-bench.o] Error 1 > > The problem on Ubuntu 20.04 (with lk 5.9.0-rc5) is that unistd.h > already defines gettid(). So prefix the local definition with > "lk_". Thanks Doug - I haven't really been maintaining the examples in the kernel, only in liburing. I'll apply this one, and hopefully sync them up for 5.10 in general.
diff --git a/tools/io_uring/io_uring-bench.c b/tools/io_uring/io_uring-bench.c index 0f257139b003..7703f0118385 100644 --- a/tools/io_uring/io_uring-bench.c +++ b/tools/io_uring/io_uring-bench.c @@ -130,7 +130,7 @@ static int io_uring_register_files(struct submitter *s) s->nr_files); } -static int gettid(void) +static int lk_gettid(void) { return syscall(__NR_gettid); } @@ -281,7 +281,7 @@ static void *submitter_fn(void *data) struct io_sq_ring *ring = &s->sq_ring; int ret, prepped; - printf("submitter=%d\n", gettid()); + printf("submitter=%d\n", lk_gettid()); srand48_r(pthread_self(), &s->rand);
It would seem none of the kernel continuous integration does this: $ cd tools/io_uring $ make Otherwise it may have noticed: cc -Wall -Wextra -g -D_GNU_SOURCE -c -o io_uring-bench.o io_uring-bench.c io_uring-bench.c:133:12: error: static declaration of ‘gettid’ follows non-static declaration 133 | static int gettid(void) | ^~~~~~ In file included from /usr/include/unistd.h:1170, from io_uring-bench.c:27: /usr/include/x86_64-linux-gnu/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here 34 | extern __pid_t gettid (void) __THROW; | ^~~~~~ make: *** [<builtin>: io_uring-bench.o] Error 1 The problem on Ubuntu 20.04 (with lk 5.9.0-rc5) is that unistd.h already defines gettid(). So prefix the local definition with "lk_". Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> --- tools/io_uring/io_uring-bench.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)