From patchwork Fri Feb 20 16:34:06 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frederic Weisbecker X-Patchwork-Id: 8145 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n1KGoQlX003678 for ; Fri, 20 Feb 2009 16:50:26 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753402AbZBTQuV (ORCPT ); Fri, 20 Feb 2009 11:50:21 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753397AbZBTQuV (ORCPT ); Fri, 20 Feb 2009 11:50:21 -0500 Received: from nf-out-0910.google.com ([64.233.182.191]:50915 "EHLO nf-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753314AbZBTQuT (ORCPT ); Fri, 20 Feb 2009 11:50:19 -0500 Received: by nf-out-0910.google.com with SMTP id d21so117672nfb.21 for ; Fri, 20 Feb 2009 08:50:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:received:from:to :cc:date:subject; bh=Whndfe7GrnFs8ygoutL2mZtvC5PdKOfLfMy8cHPw6Nk=; b=HB0O2zE5lRDjSaiBLRf+6PqQkLLdeQsCj8YgRfIVYzSuyw0mkNAQcdVJkzwq1t5TJH stXAB7EYs3deXZvQXqNfn1nXcajSEzwB4W85SBQOl7goqqo1IMAjxyuAZiL739r4q0P3 NVUUGzdEReyrKJ4QHDMK8gtr3c2EyD89aZylE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:cc:date:subject; b=kQvQk1zHrTIzheUU33oOkiCBvKuzARBFJLtXGMMrewUC6fGuHi8Bx8QiuuMkdC9F/J aKrv+5xRCYzRdeDmbaGdME6K5C3V8Sewc0iTu3Fr5vMfeqXOrl+iST+0aTp8WGFXadWl iq47quxN6Ks/0OjNEhzZc/itXofoKmtMc2SUw= Received: by 10.210.66.1 with SMTP id o1mr782261eba.65.1235148616002; Fri, 20 Feb 2009 08:50:16 -0800 (PST) Received: from nowhere (4cb54-2-82-236-222-232.fbx.proxad.net [82.236.222.232]) by mx.google.com with ESMTPS id 24sm110154eyx.44.2009.02.20.08.50.14 (version=SSLv3 cipher=RC4-MD5); Fri, 20 Feb 2009 08:50:15 -0800 (PST) Message-ID: <499edf47.1818d00a.060b.2b8d@mx.google.com> Received: by nowhere (nbSMTP-1.00) for uid 1000 (using TLSv1/SSLv3 with cipher RC4-MD5 (128/128 bits)) fweisbec@gmail.com; Fri, 20 Feb 2009 17:50:15 +0100 (CET) From: Frederic Weisbecker To: Ingo Molnar Cc: Steven Rostedt , linux-kernel@vger.kernel.org, zippel@linux-m68k.org, linux-kbuild@vger.kernel.org Date: Fri, 20 Feb 2009 17:34:06 +0100 Subject: [PATCH] tracing/markers: make markers select tracepoints Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Sometimes it happens that KConfig dependencies are not handled like in the following scenario: - config A bool - config B bool depends on A -config C bool select B If one selects C, then it will select B without checking its dependency to A, if A hasn't been selected elsewhere, it will result in a build crash. This is what happens on the following build error: kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52f64): undefined reference to `tracepoint_probe_register_noupdate' kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52f74): undefined reference to `tracepoint_probe_unregister_noupdate' kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52fb9): undefined reference to `tracepoint_probe_unregister_noupdate' kernel/built-in.o: In function `marker_update_probes': marker.c:(.text+0x530ba): undefined reference to `tracepoint_probe_update_all' CONFIG_KVM_TRACE will select CONFIG_MARKER, but the latter depends on CONFIG_TRACEPOINTS which will not be selected. A temporary fix is to make CONFIG_MARKER select CONFIG_TRACEPOINTS, though it doesn't fix the source KConfig dependency handling problem. Reported-by: Ingo Molnar Cc: Roman Zippel Signed-off-by: Frederic Weisbecker --- init/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index b6400a5..a93f957 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -975,7 +975,7 @@ config TRACEPOINTS config MARKERS bool "Activate markers" - depends on TRACEPOINTS + select TRACEPOINTS help Place an empty function call at each marker site. Can be dynamically changed for a probe function.