From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21644 invoked by alias); 8 Jan 2014 10:32:11 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 21570 invoked by uid 89); 8 Jan 2014 10:32:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qe0-f54.google.com Received: from mail-qe0-f54.google.com (HELO mail-qe0-f54.google.com) (209.85.128.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 08 Jan 2014 10:32:09 +0000 Received: by mail-qe0-f54.google.com with SMTP id cy11so1560874qeb.27 for ; Wed, 08 Jan 2014 02:32:07 -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:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=cG3M3wYv0ka5dsUnqoexIVoZoNQb/GjDuQGJYY9WjNI=; b=Zcubin1jEn4ArZ2lgppB8g+BkE0QwuvoNxtNWgIXJNfJWm3pPZ6o+vAZM5PpcoRc+C Hl+QLtbHH0gBbRY42g5mD1BkOvLRAfMY86wvScXcRUnT/IeijloAMq3t3+3i9Uh1zeKD ZAi9/F28Bou5ghAbvNXynIDm9Q2nNKy6q8VBklmz4prQOl6seYIKWIDnShgiVY/aut1s emZXrufRbmcJ1eFYVx0DpWKoqa329agKAgXleE0AEG5pIX00BS+RSi8mOjvcdoVpYHli aFCRkKgLBo8FHRB6avtaZNKZKq7blX00NRsptnLVpTTbyNW7mLXMA/d1jyt2avoMFQ7J lzJA== X-Gm-Message-State: ALoCoQn7puI/jHFAsSwa+kxGZWXAXufh66ymc0GGKKMpC2EOo/+MQ9BYfwWAiHvD/dLFuhY4ugKG MIME-Version: 1.0 X-Received: by 10.49.84.195 with SMTP id b3mr207093998qez.32.1389177126933; Wed, 08 Jan 2014 02:32:06 -0800 (PST) Received: by 10.140.83.19 with HTTP; Wed, 8 Jan 2014 02:32:06 -0800 (PST) In-Reply-To: References: <87iotxm15i.fsf@fleche.redhat.com> Date: Wed, 08 Jan 2014 10:32:00 -0000 Message-ID: Subject: Re: [PATCH] [AARCH64]: Pointer mangling support for Aarch64 From: Venkataramanan Kumar To: Marcus Shawcroft Cc: libc-ports@sourceware.org, Patch Tracking Content-Type: text/plain; charset=ISO-8859-1 X-SW-Source: 2014-01/txt/msg00027.txt.bz2 Hi Marcus, On 7 January 2014 17:47, Marcus Shawcroft wrote: > On 7 January 2014 11:05, Venkataramanan Kumar > wrote: > >> I looked at x86 and powerpc ports. So for Aarch64 >> longjmp/longjmp_target probe expects >> * first argument 8@address of jmpbuf in x0. >> * second argument -4@return val in x1. >> * third argument 8@ address of target in LR/X30. > > Hi, I'm not familiar with the inner workings of STAP probes, can you > explain what the arguments of longjmp_target should be at a semantic > level rather than the proposed location to get the values from? I checked below link and found the argument format. https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation (Snip) For compiler-generated code, each argument will be of the form N@OP. For hand-written assembly, or for inline assembly in C or C++, the initial N@ may be missing. If N is present, it describes the size of the argument. It will be one of: 1 8 bits unsigned -1 8 bits signed 2 16 bits unsigned -2 16 bits signed 4 32 bits unsigned -4 32 bits signed 8 64 bits unsigned -8 64 bits signed (Snip) Also looking at x86 and powerpc ports. They pass argument 1 - the address of jump buffer argument 2 - return value of __longjmp argument 3 - PC address or the jump target For Aarch64, the longjmp/longjmp_target probe passed as below. * first argument - 8@address of jmpbuf in x0. * second argument- -4@return val in x1. * third argument- 8@ PC address or jump target target in LR/X30. is that fine? > > Do we need probes in setjmp aswell? Ok, I will add that as well. I have not yet tested, the patch by enabling --enable-systemtap as it needs std.h. This is missing in my cross build system. > > Cheers > /Marcus