On Wed, 17 Jun 2020 17:21:24 +0200 Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > kvm-unit-tests fail to build with GCC10: > > /usr/bin/ld: lib/libcflat.a(usermode.o): > ./kvm-unit-tests/lib/x86/usermode.c:17: multiple definition of > `jmpbuf'; lib/libcflat.a(fault_test.o): > ./kvm-unit-tests/lib/x86/fault_test.c:3: first defined here > > It seems that 'jmpbuf' doesn't need to be global in either of these > files, make it static in both. > > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> I stumbled upon the same issue, and I had independently tested this exact solution :) Reviewed-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> Tested-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > --- > lib/x86/fault_test.c | 2 +- > lib/x86/usermode.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/x86/fault_test.c b/lib/x86/fault_test.c > index 078dae3da640..e15a21864562 100644 > --- a/lib/x86/fault_test.c > +++ b/lib/x86/fault_test.c > @@ -1,6 +1,6 @@ > #include "fault_test.h" > > -jmp_buf jmpbuf; > +static jmp_buf jmpbuf; > > static void restore_exec_to_jmpbuf(void) > { > diff --git a/lib/x86/usermode.c b/lib/x86/usermode.c > index f01ad9be1799..f0325236dd05 100644 > --- a/lib/x86/usermode.c > +++ b/lib/x86/usermode.c > @@ -14,7 +14,7 @@ > #define USERMODE_STACK_SIZE 0x2000 > #define RET_TO_KERNEL_IRQ 0x20 > > -jmp_buf jmpbuf; > +static jmp_buf jmpbuf; > > static void restore_exec_to_jmpbuf(void) > {