On Mon, Jan 10, 2022, Ricardo Koller wrote: > Clang inlines some functions (like test_ss) which define global labels > in inline assembly (e.g., ss_start). This results in: > > arm/debug.c:382:15: error: invalid symbol redefinition > asm volatile("ss_start:\n" > ^ > <inline asm>:1:2: note: instantiated into assembly here > ss_start: > ^ > 1 error generated. > > Fix these functions by marking them as "noinline". > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > Signed-off-by: Ricardo Koller <ricarkol@xxxxxxxxxx> > --- > This applies on top of: "[kvm-unit-tests PATCH 0/3] arm64: debug: add migration tests for debug state" > which is in https://gitlab.com/rhdrjones/kvm-unit-tests/-/commits/arm/queue. > > arm/debug.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arm/debug.c b/arm/debug.c > index 54f059d..6c5b683 100644 > --- a/arm/debug.c > +++ b/arm/debug.c > @@ -264,7 +264,7 @@ static void do_migrate(void) > report_info("Migration complete"); > } > > -static void test_hw_bp(bool migrate) > +static __attribute__((noinline)) void test_hw_bp(bool migrate) Use "noinline", which was added by commit 16431a7 ("lib: define the "noinline" macro").