Messages in this thread | | | Date | Sat, 5 Aug 2023 00:09:49 +0200 | Subject | Re: [PATCH] selftests/rseq: Fix build with undefined __weak | From | Paolo Bonzini <> |
| |
On 8/4/23 21:22, Mark Brown wrote: > Commit 3bcbc20942db ("selftests/rseq: Play nice with binaries statically > linked against glibc 2.35+") which is now in Linus' tree introduced uses > of __weak but did nothing to ensure that a definition is provided for it > resulting in build failures for the rseq tests: > > rseq.c:41:1: error: unknown type name '__weak' > __weak ptrdiff_t __rseq_offset; > ^ > rseq.c:41:17: error: expected ';' after top level declarator > __weak ptrdiff_t __rseq_offset; > ^ > ; > rseq.c:42:1: error: unknown type name '__weak' > __weak unsigned int __rseq_size; > ^ > rseq.c:43:1: error: unknown type name '__weak' > __weak unsigned int __rseq_flags; > > Fix this by using the definition from tools/include compiler.h. >
Queued, thanks. Sorry for the breakage.
Paolo
> Fixes: 3bcbc20942db ("selftests/rseq: Play nice with binaries statically linked against glibc 2.35+") > Signed-off-by: Mark Brown <broonie@kernel.org> > --- > It'd be good if the KVM testing could include builds of the rseq > selftests, the KVM tests pull in code from rseq but not the build system > which has resulted in multiple failures like this. > --- > tools/testing/selftests/rseq/Makefile | 4 +++- > tools/testing/selftests/rseq/rseq.c | 2 ++ > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/rseq/Makefile b/tools/testing/selftests/rseq/Makefile > index b357ba24af06..7a957c7d459a 100644 > --- a/tools/testing/selftests/rseq/Makefile > +++ b/tools/testing/selftests/rseq/Makefile > @@ -4,8 +4,10 @@ ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),) > CLANG_FLAGS += -no-integrated-as > endif > > +top_srcdir = ../../../.. > + > CFLAGS += -O2 -Wall -g -I./ $(KHDR_INCLUDES) -L$(OUTPUT) -Wl,-rpath=./ \ > - $(CLANG_FLAGS) > + $(CLANG_FLAGS) -I$(top_srcdir)/tools/include > LDLIBS += -lpthread -ldl > > # Own dependencies because we only want to build against 1st prerequisite, but > diff --git a/tools/testing/selftests/rseq/rseq.c b/tools/testing/selftests/rseq/rseq.c > index a723da253244..96e812bdf8a4 100644 > --- a/tools/testing/selftests/rseq/rseq.c > +++ b/tools/testing/selftests/rseq/rseq.c > @@ -31,6 +31,8 @@ > #include <sys/auxv.h> > #include <linux/auxvec.h> > > +#include <linux/compiler.h> > + > #include "../kselftest.h" > #include "rseq.h" > > > --- > base-commit: 5d0c230f1de8c7515b6567d9afba1f196fb4e2f4 > change-id: 20230804-kselftest-rseq-build-9d537942b1de > > Best regards,
| |