perf test: Avoid weak symbol for arch_tests
GCC LTO will complain that the array length varies for the arch_tests weak symbol. Use extern/static and architecture determining #if to workaround this problem. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Carsten Haitzler <carsten.haitzler@arm.com> Cc: Fangrui Song <maskray@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Tom Rix <trix@redhat.com> Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com> Cc: Yang Jihong <yangjihong1@huawei.com> Cc: bpf@vger.kernel.org Cc: llvm@lists.linux.dev Link: https://lore.kernel.org/r/20230724201247.748146-4-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0f97a3a0de
commit
5cfb0cc0d9
@ -33,9 +33,18 @@
|
||||
static bool dont_fork;
|
||||
const char *dso_to_test;
|
||||
|
||||
struct test_suite *__weak arch_tests[] = {
|
||||
/*
|
||||
* List of architecture specific tests. Not a weak symbol as the array length is
|
||||
* dependent on the initialization, as such GCC with LTO complains of
|
||||
* conflicting definitions with a weak symbol.
|
||||
*/
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
|
||||
extern struct test_suite *arch_tests[];
|
||||
#else
|
||||
static struct test_suite *arch_tests[] = {
|
||||
NULL,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct test_suite *generic_tests[] = {
|
||||
&suite__vmlinux_matches_kallsyms,
|
||||
|
Loading…
Reference in New Issue
Block a user