]> git.baikalelectronics.ru Git - kernel.git/commit
selftests: use LDLIBS for libraries instead of LDFLAGS
authorDmitry Safonov <dima@arista.com>
Wed, 12 Feb 2020 14:00:40 +0000 (14:00 +0000)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 13 Feb 2020 20:14:34 +0000 (13:14 -0700)
commit01d5cbe67f2dd67c27fbe9fbd2e4ba1895b2418a
treebfb15684f9306d5c1c0d93bfdab5e1c7618b5f51
parent71f38e0bc4fde223279cb0b0f5bb1dbf754f2cd6
selftests: use LDLIBS for libraries instead of LDFLAGS

While building selftests, the following errors were observed:
> tools/testing/selftests/timens'
> gcc -Wall -Werror -pthread  -lrt -ldl  timens.c  -o tools/testing/selftests/timens/timens
> /usr/bin/ld: /tmp/ccGy5CST.o: in function `check_config_posix_timers':
> timens.c:(.text+0x65a): undefined reference to `timer_create'
> collect2: error: ld returned 1 exit status

Quoting commit 1d4a46ae508f ("selftests: net: use LDLIBS instead of
LDFLAGS"):

The default Makefile rule looks like:

$(CC) $(CFLAGS) $(LDFLAGS) $@ $^ $(LDLIBS)

When linking is done by gcc itself, no issue, but when it needs to be passed
to proper ld, only LDLIBS follows and then ld cannot know what libs to link
with.

More detail:
https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html

LDFLAGS
Extra flags to give to compilers when they are supposed to invoke the linker,
‘ld’, such as -L. Libraries (-lfoo) should be added to the LDLIBS variable
instead.

LDLIBS
Library flags or names given to compilers when they are supposed to invoke the
linker, ‘ld’. LOADLIBES is a deprecated (but still supported) alternative to
LDLIBS. Non-library linker flags, such as -L, should go in the LDFLAGS
variable.

While at here, correct other selftests, not only timens ones.

Reported-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Dmitry Safonov <dima@arista.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/futex/functional/Makefile
tools/testing/selftests/net/Makefile
tools/testing/selftests/rtc/Makefile
tools/testing/selftests/timens/Makefile