From patchwork Tue Apr 8 13:15:56 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 429 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx22.g.dreamhost.com (mx2.sub5.homie.mail.dreamhost.com [208.113.200.128]) by wilcox.dreamhost.com (Postfix) with ESMTP id 2089536007C for ; Tue, 8 Apr 2014 06:16:11 -0700 (PDT) Received: by homiemail-mx22.g.dreamhost.com (Postfix, from userid 14307373) id C6BB546F41B7; Tue, 8 Apr 2014 06:16:10 -0700 (PDT) X-Original-To: glibc@patchwork.siddhesh.in Delivered-To: x14307373@homiemail-mx22.g.dreamhost.com Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by homiemail-mx22.g.dreamhost.com (Postfix) with ESMTPS id 95CA846F4192 for ; Tue, 8 Apr 2014 06:16:10 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; q=dns; s= default; b=rcOjgfntAmaLVdepsdYdYtPdGa2V5L+4yvTKBVgKS5W1ISCB0kdRF +MyMBBVTElrlSd/YHimJ3VTj4yd/01VAmLDjRufStCLAh8Uxb/0QF+7KKhKnah44 Wg2nlxVWoipRI0Fv71O8ljwwodrvZqqCWc2qc1jTphYlUTpd+xRw2s= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; s=default; bh=fx9UVQrI99gz8Nnkcimmn8eiENk=; b=gPrC3BtskzqTVkRqOKDGQ6USml85 cUPi0FQJbl5S+YW2gAI/UsOrw3Nx9BHxYiikTQ+aGGr0I8m246TU5iPggW3B+GpA JDd2UsASuLu4vyaIV5U7KGfqgrD1Mg7mBIpBonrqu6ctFiqyOz3mZIcH66sQlHnH tPVUIE7Hs+wcsHI= Received: (qmail 11178 invoked by alias); 8 Apr 2014 13:16:08 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 11161 invoked by uid 89); 8 Apr 2014 13:16:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-we0-f174.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=oQJQBMlASRZndY4M1+bzPOpOWeK6LsvHUzvdUmFfzgo=; b=cYORHLKs25mbZcXA29FFEt1Pn1UkGNRlvpuXEhe25fVCQ0E3iGSHyGi+bKb+wp93Ot FoZic2eOyDfJqjBD2JLWjw8chA3WxFCHJ8GXiNIbcTKX7aep86irsFrp6TmoipavImIo 8IqCg8B2vAOArWPh2qzlL5XnIWhI6PhOGMlUsqE9gQh2qYTzF58hPROFpCCPyqtfWeSz XcYZhnG2Cvo+rss7T03TgnVwyNLlDryQ/3AsLohW/R+C32DdOTbbP9I/4cUkJ2yzZrJR judQ+kB2ELb9quulAqH/0sQnLteVBChivaQR5jBcRUha1twOEFcwZc6dMq+sfsv0KI4y IHVw== X-Gm-Message-State: ALoCoQnpUqkWraXvsu+Wu+Im1OEivzfdrPID4hdzj7ikCGwrysZg8Gn7Z5AB0URquVSqYM80hFbB X-Received: by 10.180.98.67 with SMTP id eg3mr4556464wib.38.1396962962364; Tue, 08 Apr 2014 06:16:02 -0700 (PDT) From: Will Newton To: libc-alpha@sourceware.org Subject: [PATCH] aarch64: Add setjmp and longjmp SystemTap probes Date: Tue, 8 Apr 2014 14:15:56 +0100 Message-Id: <1396962956-28589-1-git-send-email-will.newton@linaro.org> X-DH-Original-To: glibc@patchwork.siddhesh.in From: Venkataramanan Kumar Add setjmp, longjmp and longjmp_target Systemtap probes. ChangeLog: 2014-04-08 Will Newton Venkataramanan Kumar * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. (__longjmp): Add longjmp and longjmp_target SystemTap probes. * sysdeps/aarch64/setjmp.S: Include stap-probe.h. (__sigsetjmp): Add setjmp SystemTap probe. --- sysdeps/aarch64/__longjmp.S | 10 ++++++++++ sysdeps/aarch64/setjmp.S | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S index 2d38bbf..1bb7be36 100644 --- a/sysdeps/aarch64/__longjmp.S +++ b/sysdeps/aarch64/__longjmp.S @@ -18,6 +18,7 @@ #include #include +#include /* __longjmp(jmpbuf, val) */ @@ -56,6 +57,10 @@ ENTRY (__longjmp) #else ldp x29, x30, [x0, #JB_X29<<3] #endif + /* longjmp probe takes 3 arguments, address of jump buffer as + first argument (8@x0), return value as second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (longjmp, 3, 8@x0, -4@x1, 8@x30) ldp d8, d9, [x0, #JB_D8<<3] ldp d10, d11, [x0, #JB_D10<<3] ldp d12, d13, [x0, #JB_D12<<3] @@ -98,6 +103,11 @@ ENTRY (__longjmp) ldr x5, [x0, #JB_SP<<3] #endif mov sp, x5 + + /* longjmp_target probe takes 3 arguments, address of jump buffer + as first argument (8@x0), return value as second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (longjmp_target, 3, 8@x0, -4@x1, 8@x30) cmp x1, #0 mov x0, #1 csel x0, x1, x0, ne diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S index 5822abd..fd39319 100644 --- a/sysdeps/aarch64/setjmp.S +++ b/sysdeps/aarch64/setjmp.S @@ -18,6 +18,7 @@ #include #include +#include /* Keep traditional entry points in with sigsetjmp(). */ ENTRY (setjmp) @@ -46,6 +47,10 @@ ENTRY (__sigsetjmp) #else stp x29, x30, [x0, #JB_X29<<3] #endif + /* setjmp probe takes 3 arguments, address of jump buffer + first argument (8@x0), return value second argument (-4@x1), + and target address (8@x30), respectively. */ + LIBC_PROBE (setjmp, 3, 8@x0, -4@x1, 8@x30) stp d8, d9, [x0, #JB_D8<<3] stp d10, d11, [x0, #JB_D10<<3] stp d12, d13, [x0, #JB_D12<<3]