lkml.org 
[lkml]   [2023]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 1/3] selftests: cachestat: properly link in librt
From
On 8/15/23 09:56, Andre Przywara wrote:
> 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>
> ---
> tools/testing/selftests/cachestat/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/cachestat/Makefile b/tools/testing/selftests/cachestat/Makefile
> index fca73aaa7d141..778b54ebb0364 100644
> --- a/tools/testing/selftests/cachestat/Makefile
> +++ b/tools/testing/selftests/cachestat/Makefile
> @@ -3,6 +3,6 @@ TEST_GEN_PROGS := test_cachestat
>
> CFLAGS += $(KHDR_INCLUDES)
> CFLAGS += -Wall
> -CFLAGS += -lrt
> +LDLIBS += -lrt
>
> include ../lib.mk

Thank you. Applied to linux-kselftest next for Linux 6.6-rc1

thanks,
-- Shuah

\
 
 \ /
  Last update: 2023-08-16 19:15    [W:0.074 / U:0.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site