Re: [PATCH 1/1] selftests: timers: use LDLIBS instead of LDFLAGS to link against libpthread

From: Shuah Khan
Date: Wed Jun 28 2017 - 10:20:46 EST


On 06/28/2017 03:18 AM, Fathi Boudra wrote:
> timers test fails to build due to undefined reference:
>
> aarch64-linaro-linux-gcc --sysroot=/build/tmp-rpb-glibc/sysroots/hikey
> -O2 -pipe -g -feliminate-unused-debug-types -O3 -Wl,-no-as-needed -Wall
> -DKTEST -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -lrt -lpthread
> posix_timers.c
> -o /build/tmp-rpb-glibc/work/hikey-linaro-linux/kselftests/4.12-r0/linux-4.12-rc7/tools/testing/selftests/timers/posix_timers
> /tmp/cc1FTZzT.o: In function `check_timer_create':
> /usr/src/debug/kselftests/4.12-r0/linux-4.12-rc7/tools/testing/selftests/timers/posix_timers.c:157:
> undefined reference to `timer_create'
> /usr/src/debug/kselftests/4.12-r0/linux-4.12-rc7/tools/testing/selftests/timers/posix_timers.c:170:
> undefined reference to `timer_settime'
> collect2: error: ld returned 1 exit status
>
> Use LDLIBS instead of LDFLAGS to properly link against libpthread and fix
> this build issue.
>
> Signed-off-by: Denys Dmytriyenko <denys@xxxxxx>
> Signed-off-by: Fathi Boudra <fathi.boudra@xxxxxxxxxx>

I can't reproduce this on linux-kselftest next on x86_64. Is this arm64 speocific
problem? Please try this on linux-kselftest latest.

thanks,
-- Shuah

> ---
> tools/testing/selftests/timers/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/timers/Makefile b/tools/testing/selftests/timers/Makefile
> index 5fa1d7e9a915..f48d7ca9d9b1 100644
> --- a/tools/testing/selftests/timers/Makefile
> +++ b/tools/testing/selftests/timers/Makefile
> @@ -1,6 +1,6 @@
> BUILD_FLAGS = -DKTEST
> CFLAGS += -O3 -Wl,-no-as-needed -Wall $(BUILD_FLAGS)
> -LDFLAGS += -lrt -lpthread
> +LDLIBS += -lrt -lpthread
>
> # these are all "safe" tests that don't modify
> # system time or require escalated privileges
>