selftests: cachestat: properly link in librt
authorAndre Przywara <andre.przywara@arm.com>
Tue, 15 Aug 2023 15:56:10 +0000 (16:56 +0100)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 16 Aug 2023 17:12:39 +0000 (11:12 -0600)
commit7fb10233e0617603402abffc0d8d2cbf5ef55560
tree9d531c6406cacc9595dda5800f9e273fa6bcdfa7
parentfbf4dec702774286db409815ffb077711a96b824
selftests: cachestat: properly link in librt

Libraries should be listed last on the compiler's command line, so that
the linker can look for and find still unresolved symbols. The librt
library, required for the shm_* functions, was announced using CFLAGS,
which puts the library *before* the source files, and fails compilation
on my system:
======================
gcc -isystem /src/linux-selftests/usr/include -Wall -lrt test_cachestat.c
  -o /src/linux-selftests/kselftest/cachestat/test_cachestat
/usr/bin/ld: /tmp/cceQWO3u.o: in function `test_cachestat_shmem':
test_cachestat.c:(.text+0x890): undefined reference to `shm_open'
/usr/bin/ld: test_cachestat.c:(.text+0x99c): undefined reference to `shm_unlink'
collect2: error: ld returned 1 exit status
make[4]: *** [../lib.mk:181: /src/linux-selftests/kselftest/cachestat/test_cachestat] Error 1
======================

Announce the library using the LDLIBS variable, which ensures the proper
ordering on the command line.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/cachestat/Makefile