From patchwork Wed Feb 5 09:55:45 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 24159 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qa0-f69.google.com (mail-qa0-f69.google.com [209.85.216.69]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 579D420675 for ; Wed, 5 Feb 2014 09:55:53 +0000 (UTC) Received: by mail-qa0-f69.google.com with SMTP id w8sf274808qac.0 for ; Wed, 05 Feb 2014 01:55:52 -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=A4nTa9FZz1metd5a0OtGIswxAAOA3lWRA8N9lO/E2FI=; b=VT99tB+h34SZBfg0MUaMrU+WVF98TQFOAqf56k7CNdRvDq7gp7C8PKPkmW66AMi6Pg VwzZCJ6zz5jfXH+ATwLrQV5f+KFurz0fteOPFxJcV1vZs/PhJ4gt0Cfo/sq7y5f2z5eF XBZIQ/GMCQ070s/uya6C0wDAsFMcWS3/ctFpY9FtwRtnRTylDI+rXpT4Zz9++M24IK7l ytOgt8ssOUOUeVCmXGWQX/bGLhCJqGiYznbohQOmSYm6QnaEuW0KJY2f31Aa/9kS6dRV nf+yRlPXeGylBHnI8GKCFcfJMZffjUCExRlfRCNqpVjnn5Wf4ya0x8N0s8gRHwrbac0+ zKzA== X-Gm-Message-State: ALoCoQlaR0GajyukF5Mdbxm9xzZWVFrjq4U28fclyJ6fY/Sp/Ol1l+tlCWhCUj/QcUdN/z4RbTiH X-Received: by 10.58.253.33 with SMTP id zx1mr224119vec.10.1391594152206; Wed, 05 Feb 2014 01:55:52 -0800 (PST) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.28.6 with SMTP id 6ls41031qgy.16.gmail; Wed, 05 Feb 2014 01:55:52 -0800 (PST) X-Received: by 10.220.147.16 with SMTP id j16mr313031vcv.28.1391594152126; Wed, 05 Feb 2014 01:55:52 -0800 (PST) Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) by mx.google.com with ESMTPS id eo4si9523439vdb.95.2014.02.05.01.55.52 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 05 Feb 2014 01:55:52 -0800 (PST) Received-SPF: neutral (google.com: 209.85.220.170 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.170; Received: by mail-vc0-f170.google.com with SMTP id hu8so108966vcb.15 for ; Wed, 05 Feb 2014 01:55:52 -0800 (PST) X-Received: by 10.58.119.161 with SMTP id kv1mr272390veb.21.1391594152030; Wed, 05 Feb 2014 01:55:52 -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 u4csp32445vcz; Wed, 5 Feb 2014 01:55:51 -0800 (PST) X-Received: by 10.180.36.8 with SMTP id m8mr1793445wij.42.1391594150482; Wed, 05 Feb 2014 01:55:50 -0800 (PST) Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by mx.google.com with ESMTPS id l3si8729826wiy.55.2014.02.05.01.55.50 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 05 Feb 2014 01:55:50 -0800 (PST) Received-SPF: neutral (google.com: 209.85.212.181 is neither permitted nor denied by best guess record for domain of will.newton@linaro.org) client-ip=209.85.212.181; Received: by mail-wi0-f181.google.com with SMTP id hi5so351400wib.14 for ; Wed, 05 Feb 2014 01:55:50 -0800 (PST) X-Received: by 10.194.92.199 with SMTP id co7mr602196wjb.14.1391594149932; Wed, 05 Feb 2014 01:55:49 -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 j9sm60034477wjz.13.2014.02.05.01.55.48 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Feb 2014 01:55:49 -0800 (PST) From: Will Newton To: libc-alpha@sourceware.org Cc: patches@linaro.org Subject: [PATCH v3] manual/probes.texi: Add documentation of setjmp/longjmp probes Date: Wed, 5 Feb 2014 09:55:45 +0000 Message-Id: <1391594145-22218-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.170 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, longjmp and longjmp_target probes. --- manual/probes.texi | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) Changes in v3: - Use @code annotation more consistently - Drop duplicated paragraph from longjmp_target description diff --git a/manual/probes.texi b/manual/probes.texi index 25d06e5..3bf5421 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,40 @@ 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}, +@code{longjmp} or @code{siglongjmp}. + +@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} or @code{siglongjmp} is called. +Argument @var{$arg1} is a pointer to the @code{jmp_buf} passed as the first +argument of @code{longjmp} or @code{siglongjmp}, @var{$arg2} is the return +value passed as the second argument of @code{longjmp} or @code{siglongjmp} +and @var{$arg3} is a pointer to the return address @code{longjmp} or +@code{siglongjmp} will return to. + +The @code{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} or @code{siglongjmp}. +@end deftp + +@deftp Probe longjmp_target (void *@var{$arg1}, int @var{$arg2}, void *@var{$arg3}) +This probe is hit under the same conditions and with the same arguments +as the @code{longjmp} probe. + +The @code{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