Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp2765966ybh; Mon, 5 Aug 2019 06:30:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqzkOF8pq9LevBNHWRi+Be93ntTbljSyyKaGB600MGbOi6aRw4dcSDw0ZQMS0K7AdbLvQonS X-Received: by 2002:a65:64ce:: with SMTP id t14mr70140280pgv.137.1565011849467; Mon, 05 Aug 2019 06:30:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565011849; cv=none; d=google.com; s=arc-20160816; b=sVEi6XFRC3AWuve2vpV7GPjqEa8YeJ2yKNmaP+ZV6BB7XdPRNWxJovGILZIrO7kJ1X nyp5LK1A/Af6k5XtovcmOcnhSrVa0Nn9qqBKXKotuJtxPR5jPXbetGeVNGUkwTcWuZbo cMpqBPSw+C2fG9/WRDt+kumTtHyzU1KDMHJlci/uFjlAoIV4/66JXx1OJ57bKPhSOyYq A8WgTTWvUbJDa1/YEmciasPDOHcLPLrSznycVffOGdlya9NiV62phR2qJa1OZL0FW7dl fCzruyEcQbL4ZfrXGF5f2ewNc144CRMx6FtJIIwnBPvpYw/S3fJ2eqQU8h39itUYt69H QGIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ihy8Y6g0IFZMfqOdLJ4La25G0dYOqNLEjIOu1RhOaUk=; b=VJBDIs3aq9XrakZ7B3AuH/vPvTRwFayootZmspKbswa0rp6DpVaaBhqoDeBx8fYMqo BJm81v/TsoV8VKKT+kMADD1rd8gOZiTbs5wes0d344p3BwGDi8GuR4LRuvsiu2C6j2Nt G6Wd/c1m2so79wYRIu2BWSK+auEFMcrZUwL6sEsCthbLlnKsW3VyquX8QsunxBpmaAPs oO+7o+U4Ll7bBTXK7Uzx/T6ucEqD7dv9zh/1Mp4jHW1Hj8acbRIxUrSy3fsEjX9IWunP 8F7zLkMSqNbC7TG4c63uSNrTWfyTJpPNVyn4c6Dl+4sk/WTeBu+EuN9Ai/lFP/oCxPJW wBUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hNxHbq2N; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k43si12642147pje.59.2019.08.05.06.30.34; Mon, 05 Aug 2019 06:30:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hNxHbq2N; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730547AbfHEN3j (ORCPT + 99 others); Mon, 5 Aug 2019 09:29:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:57874 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730565AbfHENVi (ORCPT ); Mon, 5 Aug 2019 09:21:38 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A2DC420657; Mon, 5 Aug 2019 13:21:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565011298; bh=0cNwFlZ1b10kVaaejrryEAcU+pkQ8MaKIVH9ntFQ0Ss=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hNxHbq2NSx/jwJyZhYWiG3UyN+6N3pDEO2dA4ZdW4lUx16sUl1A/gBprIFqKhZe69 fBGKtSpI0KgH9yDn6+yH2INN1/e4Jf/lcpy1zRCMrnnxVPS2zpcuWlkus2vHYdouGf stccMiiW8gaUi7ZOwTFiLW5bHdHB31I1JwjQw+QU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ilya Leoshkevich , Andrii Nakryiko , Daniel Borkmann , Sasha Levin Subject: [PATCH 5.2 038/131] selftests/bpf: do not ignore clang failures Date: Mon, 5 Aug 2019 15:02:05 +0200 Message-Id: <20190805124953.988355516@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190805124951.453337465@linuxfoundation.org> References: <20190805124951.453337465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 9cae4ace80ef39005da106fbb89c952b27d7b89e ] When compiling an eBPF prog fails, make still returns 0, because failing clang command's output is piped to llc and therefore its exit status is ignored. When clang fails, pipe the string "clang failed" to llc. This will make llc fail with an informative error message. This solution was chosen over using pipefail, having separate targets or getting rid of llc invocation due to its simplicity. In addition, pull Kbuild.include in order to get .DELETE_ON_ERROR target, which would cause partial .o files to be removed. Signed-off-by: Ilya Leoshkevich Acked-by: Andrii Nakryiko Signed-off-by: Daniel Borkmann Signed-off-by: Sasha Levin --- tools/testing/selftests/bpf/Makefile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index 1c95112629477..f1573a11d3e41 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 +include ../../../../scripts/Kbuild.include LIBDIR := ../../../lib BPFDIR := $(LIBDIR)/bpf @@ -185,8 +186,8 @@ $(ALU32_BUILD_DIR)/test_progs_32: prog_tests/*.c $(ALU32_BUILD_DIR)/%.o: progs/%.c $(ALU32_BUILD_DIR) \ $(ALU32_BUILD_DIR)/test_progs_32 - $(CLANG) $(CLANG_FLAGS) \ - -O2 -target bpf -emit-llvm -c $< -o - | \ + ($(CLANG) $(CLANG_FLAGS) -O2 -target bpf -emit-llvm -c $< -o - || \ + echo "clang failed") | \ $(LLC) -march=bpf -mattr=+alu32 -mcpu=$(CPU) $(LLC_FLAGS) \ -filetype=obj -o $@ ifeq ($(DWARF2BTF),y) @@ -197,16 +198,16 @@ endif # Have one program compiled without "-target bpf" to test whether libbpf loads # it successfully $(OUTPUT)/test_xdp.o: progs/test_xdp.c - $(CLANG) $(CLANG_FLAGS) \ - -O2 -emit-llvm -c $< -o - | \ + ($(CLANG) $(CLANG_FLAGS) -O2 -emit-llvm -c $< -o - || \ + echo "clang failed") | \ $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@ ifeq ($(DWARF2BTF),y) $(BTF_PAHOLE) -J $@ endif $(OUTPUT)/%.o: progs/%.c - $(CLANG) $(CLANG_FLAGS) \ - -O2 -target bpf -emit-llvm -c $< -o - | \ + ($(CLANG) $(CLANG_FLAGS) -O2 -target bpf -emit-llvm -c $< -o - || \ + echo "clang failed") | \ $(LLC) -march=bpf -mcpu=$(CPU) $(LLC_FLAGS) -filetype=obj -o $@ ifeq ($(DWARF2BTF),y) $(BTF_PAHOLE) -J $@ -- 2.20.1