Date: Thu, 23 Sep 2021 00:51:36 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 3fcbde5e883a - main - tests/sys/fs/fusefs/read.cc: fix build on powerpc64 Message-ID: <202109230051.18N0paPH058786@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3fcbde5e883a253f631082b128dcdf77c840d4c0 commit 3fcbde5e883a253f631082b128dcdf77c840d4c0 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-09-22 22:47:10 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-09-23 00:51:10 +0000 tests/sys/fs/fusefs/read.cc: fix build on powerpc64 There sig_atomic_t is shorter than void *. As result, it cannot keep pointer. Assigning to void * is actually safe for us in a signal handler. Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Fixes: 4f917847c9037d Differential revision: https://reviews.freebsd.org/D32064 --- tests/sys/fs/fusefs/read.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/sys/fs/fusefs/read.cc b/tests/sys/fs/fusefs/read.cc index cb82d0a43b06..3cba564affcf 100644 --- a/tests/sys/fs/fusefs/read.cc +++ b/tests/sys/fs/fusefs/read.cc @@ -109,7 +109,7 @@ class ReadSigbus: public Read { public: static jmp_buf s_jmpbuf; -static sig_atomic_t s_si_addr; +static void *s_si_addr; void TearDown() { struct sigaction sa; @@ -125,12 +125,12 @@ void TearDown() { static void handle_sigbus(int signo __unused, siginfo_t *info, void *uap __unused) { - ReadSigbus::s_si_addr = (sig_atomic_t)info->si_addr; + ReadSigbus::s_si_addr = info->si_addr; longjmp(ReadSigbus::s_jmpbuf, 1); } jmp_buf ReadSigbus::s_jmpbuf; -sig_atomic_t ReadSigbus::s_si_addr; +void *ReadSigbus::s_si_addr; /* AIO reads need to set the header's pid field correctly */ /* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236379 */ @@ -658,7 +658,7 @@ TEST_F(ReadSigbus, mmap_eio) FAIL() << "shouldn't get here"; } - ASSERT_EQ(p, (void*)ReadSigbus::s_si_addr); + ASSERT_EQ(p, ReadSigbus::s_si_addr); ASSERT_EQ(0, munmap(p, len)) << strerror(errno); leak(fd); } @@ -785,7 +785,7 @@ TEST_F(ReadSigbus, mmap_getblksz_fail) FAIL() << "shouldn't get here"; } - ASSERT_EQ(p, (void*)ReadSigbus::s_si_addr); + ASSERT_EQ(p, ReadSigbus::s_si_addr); ASSERT_EQ(0, munmap(p, len)) << strerror(errno); leak(fd); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109230051.18N0paPH058786>