mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-22 00:42:01 +02:00

When building with clang the toolchain refuses to link the signals testcases since the assembly code has a reference to current which has no initialiser so is placed in the BSS: /tmp/signals-af2042.o: in function `fake_sigreturn': <unknown>:51:(.text+0x40): relocation truncated to fit: R_AARCH64_LD_PREL_LO19 against symbol `current' defined in .bss section in /tmp/test_signals-ec1160.o Since the first statement in main() initialises current we may as well fix this by moving the initialisation to build time so the variable doesn't end up in the BSS. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Link: https://lore.kernel.org/r/20230111-arm64-kselftest-clang-v1-4-89c69d377727@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
28 lines
617 B
C
28 lines
617 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (C) 2019 ARM Limited
|
|
*
|
|
* Generic test wrapper for arm64 signal tests.
|
|
*
|
|
* Each test provides its own tde struct tdescr descriptor to link with
|
|
* this wrapper. Framework provides common helpers.
|
|
*/
|
|
#include <kselftest.h>
|
|
|
|
#include "test_signals.h"
|
|
#include "test_signals_utils.h"
|
|
|
|
struct tdescr *current = &tde;
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
ksft_print_msg("%s :: %s\n", current->name, current->descr);
|
|
if (test_setup(current) && test_init(current)) {
|
|
test_run(current);
|
|
test_cleanup(current);
|
|
}
|
|
test_result(current);
|
|
|
|
return current->result;
|
|
}
|