rseq/selftests: Fix MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ build error under other arch.
Except arch x86, the function rseq_offset_deref_addv is not defined. The function test_membarrier_manager_thread call rseq_offset_deref_addv produces a build error. The RSEQ_ARCH_HAS_OFFSET_DEREF_ADD should contain all the code for the MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ. If the other Arch implements this feature, defined RSEQ_ARCH_HAS_OFFSET_DEREF_ADD in the header file to ensure that this feature is available. Following build errors: param_test.c: In function ‘test_membarrier_worker_thread’: param_test.c:1164:10: warning: implicit declaration of function ‘rseq_offset_deref_addv’ ret = rseq_offset_deref_addv(&args->percpu_list_ptr, ^~~~~~~~~~~~~~~~~~~~~~ /tmp/ccMj9yHJ.o: In function `test_membarrier_worker_thread': param_test.c:1164: undefined reference to `rseq_offset_deref_addv' param_test.c:1164: undefined reference to `rseq_offset_deref_addv' collect2: error: ld returned 1 exit status make: *** [/selftests/rseq/param_test_benchmark] Error 1 Signed-off-by: Xingxing Su <suxingxing@loongson.cn> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
0477e92881
commit
6f39cecdb6
|
@ -1133,6 +1133,8 @@ static int set_signal_handler(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Test MEMBARRIER_CMD_PRIVATE_RESTART_RSEQ_ON_CPU membarrier command. */
|
||||
#ifdef RSEQ_ARCH_HAS_OFFSET_DEREF_ADDV
|
||||
struct test_membarrier_thread_args {
|
||||
int stop;
|
||||
intptr_t percpu_list_ptr;
|
||||
|
@ -1286,8 +1288,6 @@ void *test_membarrier_manager_thread(void *arg)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* Test MEMBARRIER_CMD_PRIVATE_RESTART_RSEQ_ON_CPU membarrier command. */
|
||||
#ifdef RSEQ_ARCH_HAS_OFFSET_DEREF_ADDV
|
||||
void test_membarrier(void)
|
||||
{
|
||||
const int num_threads = opt_threads;
|
||||
|
|
Loading…
Reference in New Issue