From patchwork Wed Jan 16 17:43:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Daniel_D=C3=ADaz?= X-Patchwork-Id: 10766485 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7546217FB for ; Wed, 16 Jan 2019 17:44:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5F3F92E941 for ; Wed, 16 Jan 2019 17:44:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 53CC52E96B; Wed, 16 Jan 2019 17:44:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D361D2E941 for ; Wed, 16 Jan 2019 17:44:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726914AbfAPRoy (ORCPT ); Wed, 16 Jan 2019 12:44:54 -0500 Received: from mail-oi1-f193.google.com ([209.85.167.193]:44999 "EHLO mail-oi1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726741AbfAPRoy (ORCPT ); Wed, 16 Jan 2019 12:44:54 -0500 Received: by mail-oi1-f193.google.com with SMTP id m6so3845650oig.11 for ; Wed, 16 Jan 2019 09:44:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9ntliFnHMh1UFNI4i4XDupue9MMU30iXjJz2OA1O7CA=; b=dE6LaPYLsHeS+ovTqbvwCuSHNPNEk3K5LNXIm2pin52MRe9AEshtvGhtUaT/VcQfsf gqmwwhDTOCtkpd/n+1VJpacJfROA6aQYHN47Ej0jJM0MRC0aRNxFpoKTvlhMc0Hw+Tfg I6g2EU3HqPqW0kO5J2e1pLJvs7+tWMc+RWpd0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9ntliFnHMh1UFNI4i4XDupue9MMU30iXjJz2OA1O7CA=; b=V05VrC5MPjKE09s2UMVOW746n8AvvEhe7UQoFovc1qAKWRy8mZHYSYcKqVc5XXa1EG SzZS6Gdf/jXV8Lu/OnSMuBxYD63On6sbHMCRWIrreg/O5UfhQ0Vs8i68hOq+t95VejDX eX/9g2Ypc9RQXZ+iY4fqilL2AoMrxtBrPI8pRs5L3lbyClY8BbHrc+Z4jzuydEeMoyzh GrQ0AXuYNh0bmSDZOnlCsGCR1AZ6At3S/y7pIO/WTwKR1XtsvrVFAW5MnpqvJYfwZpIY l8ACAzch0lF3V/VApxhj1oqVJNKOV5dpH/dyR8zB+NqZ0ud6II1shDTAyfwwh0xd/vzF Afcw== X-Gm-Message-State: AJcUukfUypErMky42CASvk6TshG9mXZUv80T/iT0PgZKyVz6A3lpKOZR uEN6L6KhVZAPpimFYT0Iz3eJdg== X-Google-Smtp-Source: ALg8bN7cpCI03/LDta+Zt56exwYfkyZ06NbTx5DgNNwHmvViSlk8WwsVOE0d4mMo1TYGXUP9s07jkA== X-Received: by 2002:a54:488b:: with SMTP id r11mr595706oic.80.1547660693160; Wed, 16 Jan 2019 09:44:53 -0800 (PST) Received: from alago.cortijodelrio.net (CableLink-189-218-30-19.Hosts.InterCable.net. [189.218.30.19]) by smtp.googlemail.com with ESMTPSA id m129sm3152973oif.50.2019.01.16.09.44.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Jan 2019 09:44:52 -0800 (PST) From: =?utf-8?q?Daniel_D=C3=ADaz?= To: shuah@kernel.org Cc: Fathi Boudra , Denys Dmytriyenko , John Stultz , Thomas Gleixner , Stephen Boyd , linux-kernel@vger.kernel.org (open list:TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Subject: [PATCH 4/4] selftests: timers: use LDLIBS instead of LDFLAGS Date: Wed, 16 Jan 2019 11:43:20 -0600 Message-Id: <20190116174320.14938-4-daniel.diaz@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190116174320.14938-1-daniel.diaz@linaro.org> References: <20190116174320.14938-1-daniel.diaz@linaro.org> MIME-Version: 1.0 Sender: linux-kselftest-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Fathi Boudra posix_timers fails to build due to undefined reference errors: 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 It's GNU Make and linker specific. 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. https://lkml.org/lkml/2010/2/10/362 tools/perf: libraries must come after objects Link order matters, use LDLIBS instead of LDFLAGS to properly link against libpthread. Signed-off-by: Denys Dmytriyenko Signed-off-by: Fathi Boudra --- 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 c02683cfb6c9..7656c7ce79d9 100644 --- a/tools/testing/selftests/timers/Makefile +++ b/tools/testing/selftests/timers/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 CFLAGS += -O3 -Wl,-no-as-needed -Wall -LDFLAGS += -lrt -lpthread -lm +LDLIBS += -lrt -lpthread -lm # these are all "safe" tests that don't modify # system time or require escalated privileges