do_ring3 uses inline asm that has labels. Clang decides that it can inline this function, which causes the assembler to complain about duplicate symbols. Mark the function as "noinline" to prevent this. Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx> --- v2: Use "noinline" instead of "__attribute__((noinline)). --- x86/umip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x86/umip.c b/x86/umip.c index c5700b3..0fc1f65 100644 --- a/x86/umip.c +++ b/x86/umip.c @@ -114,7 +114,7 @@ static void test_umip_gp(const char *msg) /* The ugly mode switching code */ -static int do_ring3(void (*fn)(const char *), const char *arg) +static noinline int do_ring3(void (*fn)(const char *), const char *arg) { static unsigned char user_stack[4096]; int ret; -- 2.33.0.309.g3052b89438-goog