From patchwork Thu Jan 30 10:47:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 23920 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pa0-f70.google.com (mail-pa0-f70.google.com [209.85.220.70]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 604B8202E4 for ; Thu, 30 Jan 2014 10:47:54 +0000 (UTC) Received: by mail-pa0-f70.google.com with SMTP id kq14sf7176776pab.1 for ; Thu, 30 Jan 2014 02:47:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=RxlGzbCNeFvO9yJj+AqoPKVtdltnqFc3s+nmpOIJ/w4=; b=j/IWWZYZGfsnDjFJpiJn+KTJiPIzDVHbL4S75l1HYsUY0a52fdkPHyQQktA3DsyK8y FcAWhaYnAZ0JBDEL2rwS2cxg6RsBkx+Bam4iIDBZfMw9Bz8Jc5vgVxOGLziExEmsUU30 4JtcRTaFMeBN8PYev4d/FDfjhAVCrsQrtGu8pBIhNNqhNIMir+UP3zWxasJebXp42TJe 0Ljn02yoIz0g7p5XNsQ5S41Dr1yOnaso2YiApyEyZWBRe/4Fz22LS+uitH9A2kwD+qWA rvqBlh9UgfpwrLiZD2zunuunSa8EPNasGszL4inpMvq+Dc5lDKiBGO6Cqrff+tkLuBRf +MoA== X-Gm-Message-State: ALoCoQm7YFnfZXfYHBfRk2c83L7BPTBX8UZFeecX9MNpIdjnlLK9zpizwIpCGpF5mFKuqk5u+w86 X-Received: by 10.66.231.132 with SMTP id tg4mr5002752pac.31.1391078873652; Thu, 30 Jan 2014 02:47:53 -0800 (PST) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.85.133 with SMTP id n5ls523637qgd.64.gmail; Thu, 30 Jan 2014 02:47:53 -0800 (PST) X-Received: by 10.221.40.10 with SMTP id to10mr6569910vcb.22.1391078873458; Thu, 30 Jan 2014 02:47:53 -0800 (PST) Received: from mail-vc0-f172.google.com (mail-vc0-f172.google.com [209.85.220.172]) by mx.google.com with ESMTPS id mw2si1906302vcb.19.2014.01.30.02.47.53 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 Jan 2014 02:47:53 -0800 (PST) Received-SPF: neutral (google.com: 209.85.220.172 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.172; Received: by mail-vc0-f172.google.com with SMTP id lf12so1938823vcb.17 for ; Thu, 30 Jan 2014 02:47:53 -0800 (PST) X-Received: by 10.220.29.200 with SMTP id r8mr11253341vcc.9.1391078873376; Thu, 30 Jan 2014 02:47:53 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.220.174.196 with SMTP id u4csp2309vcz; Thu, 30 Jan 2014 02:47:52 -0800 (PST) X-Received: by 10.152.30.68 with SMTP id q4mr736976lah.44.1391078871900; Thu, 30 Jan 2014 02:47:51 -0800 (PST) Received: from mail-la0-f49.google.com (mail-la0-f49.google.com [209.85.215.49]) by mx.google.com with ESMTPS id 6si2728341laq.115.2014.01.30.02.47.51 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 Jan 2014 02:47:51 -0800 (PST) Received-SPF: neutral (google.com: 209.85.215.49 is neither permitted nor denied by best guess record for domain of will.newton@linaro.org) client-ip=209.85.215.49; Received: by mail-la0-f49.google.com with SMTP id y1so2379603lam.22 for ; Thu, 30 Jan 2014 02:47:51 -0800 (PST) X-Received: by 10.112.133.3 with SMTP id oy3mr92286lbb.63.1391078871285; Thu, 30 Jan 2014 02:47:51 -0800 (PST) Received: from localhost.localdomain (cpc6-seac21-2-0-cust453.7-2.cable.virginm.net. [82.1.113.198]) by mx.google.com with ESMTPSA id th3sm5902881lbb.11.2014.01.30.02.47.49 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jan 2014 02:47:50 -0800 (PST) From: Will Newton To: libc-alpha@sourceware.org Cc: patches@linaro.org Subject: [PATCH v2] manual/probes.texi: Add documentation of setjmp/longjmp probes Date: Thu, 30 Jan 2014 10:47:44 +0000 Message-Id: <1391078864-19422-1-git-send-email-will.newton@linaro.org> X-Mailer: git-send-email 1.8.1.4 X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: will.newton@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.172 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add some documentation of the setjmp, longjmp and longjmp_target Systemtap probe points. ChangeLog: 2014-01-28 Will Newton * manual/probes.texi (Internal Probes): Add documentation of setjmp and longjmp probes. --- manual/probes.texi | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) Changes in v2: - Fixes based on review feedback - Document the expected behaviour of longjmp and longjmp_target probes diff --git a/manual/probes.texi b/manual/probes.texi index 25d06e5..d7ea58a 100644 --- a/manual/probes.texi +++ b/manual/probes.texi @@ -17,6 +17,7 @@ arguments. @menu * Memory Allocation Probes:: Probes in the memory allocation subsystem * Mathematical Function Probes:: Probes in mathematical functions +* setjmp and longjmp Probes:: Probes in setjmp and longjmp @end menu @node Memory Allocation Probes @@ -368,3 +369,42 @@ results in multiple precision computation with precision 32. Argument @var{$arg1} is the input to the function, @var{$arg2} is the error bound of @var{$arg1} and @var{$arg3} is the computed result. @end deftp + +@node setjmp and longjmp Probes +@section setjmp and longjmp Probes + +These probes are used to signal calls to @code{setjmp}, @code{sigsetjmp} +or @code{longjmp}. + +@deftp Probe setjmp (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3}) +This probe is hit whenever @code{setjmp} or @code{sigsetjmp} is called. +Argument @var{$arg1} is a pointer to the @code{jmp_buf} passed as the first +argument of @code{setjmp} or @code{sigsetjmp}, @var{$arg2} is the second +argument of @code{sigsetjmp} or zero if this is a call to @code{setjmp} +and @var{$arg3} is a pointer to the return address that will be stored +in the @code{jmp_buf}. +@end deftp + +@deftp Probe longjmp (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3}) +This probe is hit whenever @code{longjmp} is called. Argument @var{$arg1} +is a pointer to the @code{jmp_buf} passed as the first argument of +@code{longjmp}, @var{$arg2} is the return value passed as the second +argument of @code{longjmp} and @var{$arg3} is a pointer to the return +address @code{longjmp} will return to. + +The longjmp probe is hit at a point where the registers have not yet been +restored to the values in the @code{jmp_buf} and unwinding will show a +call stack including the caller of @code{longjmp}. +@end deftp + +@deftp Probe longjmp_target (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3}) +This probe is hit whenever @code{longjmp} is called. Argument @var{$arg1} +is a pointer to the @code{jmp_buf} passed as the first argument of +@code{longjmp}, @var{$arg2} is the return value passed as the second +argument of @code{longjmp} and @var{$arg3} is a pointer to the return +address @code{longjmp} will return to. + +The longjmp_target probe is hit at a point where the registers have been +restored to the values in the @code{jmp_buf} and unwinding will show a +call stack including the caller of @code{setjmp} or @code{sigsetjmp}. +@end deftp