From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: ARC-Seal: i=1; a=rsa-sha256; t=1516313987; cv=none; d=google.com; s=arc-20160816; b=sYPzieergc5dUSrscnXEWPcBUh7zqiWmNYpA8RJKNgUFvTHuURKmKvQUwehnANNcBQ h+yJl1VrngR3eQpADHXbBrDo0yjDiFRjk8qTItxaqG9S9l2IJWRlGrXCQ+Y1EV4w4Knq TeekZvW5YR2QcDtC1D8D1d7ILo2WcNkiAsApB91Z9oXg2LJguNuSQoQuSUl7wRk5Iozj BI2YszaKRzbkUm3Wt4p3ubVlAFanKxTGJ+iDqS/CunQ+5L7TJbUkdW7/BIAkD1kZKloo TQIVk71ldUfXXdXO33W9S1Xvy+tYSx74f5D5euN11nZ2LjGdvlbGaidjuldfshUKI88V DIIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=GusR6Z6FZWD/FA1MsHvnQFzclMe1mWXPViG04dmOpMI=; b=XlpqYhesP4XQQVzfvpvJn17+250H4Wqrw9U0sXD/gxgoY06FZR/uhLjngoFD+obDgD O2Vs9tjxEEi5NDqQg8ag2+Z80tA5XX2jKHY1YOlgzuUZDwZGAEFQgKumTj+0c0qWgozg MmuaAFzrMoftiSuFbDZwxFCHApa2XSWhwavwr4VTXcjlLLOgjhrk6YqQkr6FzAwi4I1u IveKVGtYCTglpoPerQl9SvyzknQrW0n4orqZwrrxr+JnQujY3Zr688rZnz9WFUb0io/J DBHmYV6OJRLl+CvsLYC9dVODOUTY+tifLT9qCA0bns41zTtjmXCnapGldAkzAoHD/+xb sJjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=BCCW6z7m; spf=pass (google.com: domain of dima@arista.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=dima@arista.com; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=BCCW6z7m; spf=pass (google.com: domain of dima@arista.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=dima@arista.com; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com X-Google-Smtp-Source: ACJfBova9GHLUhOv+mq3FalgQRToNyfral9Kxjbyt8ps3fu2irbKiP4i7S7h6wBJW/hGR3ns+w58xQ== From: Dmitry Safonov To: linux-kernel@vger.kernel.org Cc: Dmitry Safonov , Ingo Molnar , Andy Lutomirski , Greg Kroah-Hartman , Shuah Khan , Thomas Gleixner , linux-kselftest@vger.kernel.org, x86@kernel.org Subject: [PATCH] selftests/x86: Add {,_32,_64} targets Date: Thu, 18 Jan 2018 22:19:43 +0000 Message-Id: <20180118221943.23558-1-dima@arista.com> X-Mailer: git-send-email 2.13.6 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1589970455221827423?= X-GMAIL-MSGID: =?utf-8?q?1589970455221827423?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: One can only use `make all` or `make _` as make targets. `make ` doesn't work as Ingo noticed: x86> make test_vsyscall gcc -O2 -g -std=gnu99 -pthread -Wall -no-pie test_vsyscall.c -o test_vsyscall /tmp/aBaoo3nb.o: In function `init_vdso': test_vsyscall.c:68: undefined reference to `dlopen' test_vsyscall.c:76: undefined reference to `dlsym' test_vsyscall.c:80: undefined reference to `dlsym' test_vsyscall.c:84: undefined reference to `dlsym' test_vsyscall.c:88: undefined reference to `dlsym' test_vsyscall.c:70: undefined reference to `dlopen' collect2: error: ld returned 1 exit status : recipe for target 'test_vsyscall' failed make: *** [test_vsyscall] Error 1 Makefile target substitution neither works :-/ Generate .PHONY targets per-test and fix target substitution. Cc: Andy Lutomirski Cc: Greg Kroah-Hartman Cc: Shuah Khan Cc: Thomas Gleixner Cc: linux-kselftest@vger.kernel.org Cc: x86@kernel.org Reported-by: Ingo Molnar Signed-off-by: Dmitry Safonov --- tools/testing/selftests/x86/Makefile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile index 5d4f10ac2af2..5958654e00c6 100644 --- a/tools/testing/selftests/x86/Makefile +++ b/tools/testing/selftests/x86/Makefile @@ -27,14 +27,28 @@ UNAME_M := $(shell uname -m) CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) trivial_32bit_program.c -m32) CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) trivial_64bit_program.c) +define gen-target-rule-32 +$(1): $(OUTPUT)/$(1)_32 +$(1)_32: $(OUTPUT)/$(1)_32 +.PHONY: $(1) $(1)_32 +endef + +define gen-target-rule-64 +$(1): $(OUTPUT)/$(1)_64 +$(1)_64: $(OUTPUT)/$(1)_64 +.PHONY: $(1) $(1)_64 +endef + ifeq ($(CAN_BUILD_I386),1) all: all_32 TEST_PROGS += $(BINARIES_32) +$(foreach t,$(TARGETS_C_32BIT_ALL),$(eval $(call gen-target-rule-32,$(t)))) endif ifeq ($(CAN_BUILD_X86_64),1) all: all_64 TEST_PROGS += $(BINARIES_64) +$(foreach t,$(TARGETS_C_64BIT_ALL),$(eval $(call gen-target-rule-64,$(t)))) endif all_32: $(BINARIES_32) -- 2.13.6