kselftest/arm64: Initialise current at build time in signal tests
authorMark Brown <broonie@kernel.org>
Thu, 12 Jan 2023 19:51:50 +0000 (19:51 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 20 Jan 2023 14:30:45 +0000 (14:30 +0000)
commit6e4b4f0eca88e47def703f90a403fef5b96730d5
tree877253c0f90054ad4ac7384e3306052dad3081ee
parenta884f7970e57aef78c6011561e29d238e46b3a9f
kselftest/arm64: Initialise current at build time in signal tests

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>
tools/testing/selftests/arm64/signal/test_signals.c