On Wed, Jan 12, 2022 at 07:21:55AM -0800, 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..e9f8056 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 noinline void test_hw_bp(bool migrate) > { > extern unsigned char hw_bp0; > uint32_t bcr; > @@ -310,7 +310,7 @@ static void test_hw_bp(bool migrate) > > static volatile char write_data[16]; > > -static void test_wp(bool migrate) > +static noinline void test_wp(bool migrate) > { > uint32_t wcr; > uint32_t mdscr; > @@ -353,7 +353,7 @@ static void test_wp(bool migrate) > } > } > > -static void test_ss(bool migrate) > +static noinline void test_ss(bool migrate) > { > extern unsigned char ss_start; > uint32_t mdscr; > -- > 2.34.1.575.g55b058a8bb-goog > Applied to arm/queue. Thanks, drew