From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25504 invoked by alias); 27 Dec 2013 07:48:23 -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 25493 invoked by uid 89); 27 Dec 2013 07:48:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-qe0-f53.google.com Received: from mail-qe0-f53.google.com (HELO mail-qe0-f53.google.com) (209.85.128.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 27 Dec 2013 07:48:21 +0000 Received: by mail-qe0-f53.google.com with SMTP id nc12so8652163qeb.40 for ; Thu, 26 Dec 2013 23:48:18 -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=r4KzeRVxnoDt/NwCpcFsnAaKXUmYepixwExRWgBN3HE=; b=WBAC+1MyvkyKq5B3zol4/U6a1wQn2IXpIegBVGarwXTtWzfSzGqFWIjvhQCkH8TwML 6iqhopabqLShp1XdJ5Zvub+EeWsryrfy3H7GroeEzEFxwnGNsML7XZsQUxDBLbRUnJXe V2u+p/O6c3rGaLmClg8+n/clakXWfaQMOZZ+CwJASCxbD1cjFc1uEuG6QiuJnairyI6D OD/WU4rr17NjB1FDUWSTMMsab70Ey8KY9R0a+AQPr7L85vwWFZNxG3f5OzOV9e09NMMp kNXS00x22aphUXs/+jv7NULFImNU3qgSi/6KFX51HhRanLPtNi0sV/9cDHkdRT1qJ8mM 3RZA== X-Gm-Message-State: ALoCoQkAxZAvIFQwUwWFCXf2ucHxbx4Co0hZDAT8ft9dFeDCcFhI8OZt929dt+eLY/Y9UfW91miM MIME-Version: 1.0 X-Received: by 10.224.165.12 with SMTP id g12mr77033546qay.89.1388130498762; Thu, 26 Dec 2013 23:48:18 -0800 (PST) Received: by 10.140.83.19 with HTTP; Thu, 26 Dec 2013 23:48:18 -0800 (PST) In-Reply-To: <52BC8489.9040307@twiddle.net> References: <52BC8489.9040307@twiddle.net> Date: Fri, 27 Dec 2013 07:48:00 -0000 Message-ID: Subject: Re: [PATCH] [AARCH64]: Pointer mangling support for Aarch64 From: Venkataramanan Kumar To: Richard Henderson Cc: libc-ports@sourceware.org, Marcus Shawcroft , Marcus Shawcroft , "Carlos O'Donell" , Patch Tracking Content-Type: multipart/mixed; boundary=089e014951a847f79204ee7f5147 X-SW-Source: 2013-12/txt/msg00032.txt.bz2 --089e014951a847f79204ee7f5147 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1318 Hi Richard, On 27 December 2013 01:03, Richard Henderson wrote: > On 12/26/2013 04:25 AM, Venkataramanan Kumar wrote: >> +#ifdef PTR_DEMANGLE >> ldp x29, x30, [x0, #JB_X29<<3] >> - >> + PTR_DEMANGLE (x4, x30, x3, x2) >> + mov x30, x4 >> +#else > > Why not load into x4 and then demangle into x30 directly? I.e. > > ldp x29, x4, [x0, #JB_X29<<3] > PTR_DEMANGLE (x30, x4, x3, x2) > > > r~ Yes this can be done. Also I changed the mangling code to use store pair instruction. Attached is the revised patch. I will do a cross test on V8 foundation model again. ChangeLog.aarch64: ----------------------------- 2013-12-26 Venkataramanan Kumar * sysdeps/aarch64/__longjmp.S (__longjmp): Demangle sp and lr when restoring register values. * sysdeps/aarch64/setjmp.S (__sigsetjmp): Mangle sp and lr before storing register values. * sysdeps/arm/jmpbuf-unwind.h (_jmpbuf_sp): Remove. * sysdeps/aarch64/jmpbuf-offsets.h (_jmpbuf_sp): Add. (JB_FRAME_ADDRESS): call _jmpbuf_sp. * sysdeps/aarch64/sysdep.h (LDST_PCREL) : New macros. (LDST_GLOBAL): Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h (PTR_MANGLE): New macro. (PTR_DEMANGLE): Likewise. (PTR_MANGLE2): Likewise. (PTR_DEMANGLE2): Likewise. regards Venkat. --089e014951a847f79204ee7f5147 Content-Type: text/plain; charset=US-ASCII; name="aarch64.glibc.pointer.mangle.txt" Content-Disposition: attachment; filename="aarch64.glibc.pointer.mangle.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hpp50p810 Content-length: 8158 ZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9fX2xvbmdqbXAu UyBiL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9fX2xvbmdqbXAuUwppbmRleCBm ZmQzMGEyLi40MjZlZGMwIDEwMDY0NAotLS0gYS9wb3J0cy9zeXNkZXBzL2Fh cmNoNjQvX19sb25nam1wLlMKKysrIGIvcG9ydHMvc3lzZGVwcy9hYXJjaDY0 L19fbG9uZ2ptcC5TCkBAIC01MCw4ICs1MCwxMiBAQCBFTlRSWSAoX19sb25n am1wKQogCWxkcAl4MjMsIHgyNCwgW3gwLCAjSkJfWDIzPDwzXQogCWxkcAl4 MjUsIHgyNiwgW3gwLCAjSkJfWDI1PDwzXQogCWxkcAl4MjcsIHgyOCwgW3gw LCAjSkJfWDI3PDwzXQorI2lmZGVmIFBUUl9ERU1BTkdMRQorCWxkcAl4Mjks ICB4NCwgW3gwLCAjSkJfWDI5PDwzXQorCVBUUl9ERU1BTkdMRSAoeDMwLCB4 NCwgeDMsIHgyKQorI2Vsc2UKIAlsZHAJeDI5LCB4MzAsIFt4MCwgI0pCX1gy OTw8M10KLQorI2VuZGlmCiAJbGRwCSBkOCwgIGQ5LCBbeDAsICNKQl9EODw8 M10KIAlsZHAJZDEwLCBkMTEsIFt4MCwgI0pCX0QxMDw8M10KIAlsZHAJZDEy LCBkMTMsIFt4MCwgI0pCX0QxMjw8M10KQEAgLTg3LDggKzkxLDEyIEBAIEVO VFJZIChfX2xvbmdqbXApCiAJY2ZpX3NhbWVfdmFsdWUoZDEzKQogCWNmaV9z YW1lX3ZhbHVlKGQxNCkKIAljZmlfc2FtZV92YWx1ZShkMTUpCi0KLQlsZHIJ eDUsICBbeDAsICNKQl9TUDw8M10KKyNpZmRlZiBQVFJfREVNQU5HTEUKKwls ZHIJeDQsIFt4MCwgI0pCX1NQPDwzXQorCVBUUl9ERU1BTkdMRSAoeDUsIHg0 LCB4MywgeDIpCisjZWxzZQorCWxkcgl4NSwgW3gwLCAjSkJfU1A8PDNdCisj ZW5kaWYKIAltb3YJc3AsIHg1CiAJY21wCXgxLCAjMAogCW1vdgl4MCwgIzEK ZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9qbXBidWYtb2Zm c2V0cy5oIGIvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L2ptcGJ1Zi1vZmZzZXRz LmgKaW5kZXggZWQ1ZjQyYS4uMTM5MmM0MSAxMDA2NDQKLS0tIGEvcG9ydHMv c3lzZGVwcy9hYXJjaDY0L2ptcGJ1Zi1vZmZzZXRzLmgKKysrIGIvcG9ydHMv c3lzZGVwcy9hYXJjaDY0L2ptcGJ1Zi1vZmZzZXRzLmgKQEAgLTM5LDYgKzM5 LDIyIEBACiAjZGVmaW5lIEpCX0QxNAkJIDIwCiAjZGVmaW5lIEpCX0QxNQkJ IDIxCiAKKyNpZm5kZWYgIF9fQVNTRU1CTEVSX18KKyNpbmNsdWRlIDxzZXRq bXAuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXNkZXAu aD4KKworc3RhdGljIGlubGluZSB1aW50cHRyX3QgX19hdHRyaWJ1dGVfXyAo KHVudXNlZCkpCitfam1wYnVmX3NwIChfX2ptcF9idWYgam1wYnVmKQorewor ICB1aW50cHRyX3Qgc3AgPSBqbXBidWZbSkJfU1BdOworI2lmZGVmIFBUUl9E RU1BTkdMRQorICBQVFJfREVNQU5HTEUgKHNwKTsKKyNlbmRpZgorICByZXR1 cm4gc3A7Cit9CisjZW5kaWYKKwogLyogSGVscGVyIGZvciBnZW5lcmljIF9f X19sb25nam1wX2NoaygpLiAqLwogI2RlZmluZSBKQl9GUkFNRV9BRERSRVNT KGJ1ZikgXAotICAoKHZvaWQgKikgKGJ1ZltKQl9TUF0pKQorICAoKHZvaWQg KikgX2ptcGJ1Zl9zcCAoYnVmKSkKZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2Rl cHMvYWFyY2g2NC9qbXBidWYtdW53aW5kLmggYi9wb3J0cy9zeXNkZXBzL2Fh cmNoNjQvam1wYnVmLXVud2luZC5oCmluZGV4IDA4N2UxYjYuLjM3NWRlY2Ig MTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9qbXBidWYtdW53 aW5kLmgKKysrIGIvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L2ptcGJ1Zi11bndp bmQuaApAQCAtMjksMTYgKzI5LDYgQEAKICNkZWZpbmUgX0pNUEJVRl9DRkFf VU5XSU5EU19BREooam1wYnVmLCBjb250ZXh0LCBhZGopIFwKICAgX0pNUEJV Rl9VTldJTkRTX0FESiAoam1wYnVmLCAodm9pZCAqKSBfVW53aW5kX0dldENG QSAoY29udGV4dCksIGFkaikKIAotc3RhdGljIGlubGluZSB1aW50cHRyX3Qg X19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpCi1fam1wYnVmX3NwIChfX2ptcF9i dWYgam1wYnVmKQotewotICB1aW50cHRyX3Qgc3AgPSBqbXBidWZbSkJfU1Bd OwotI2lmZGVmIFBUUl9ERU1BTkdMRQotICBQVFJfREVNQU5HTEUgKHNwKTsK LSNlbmRpZgotICByZXR1cm4gc3A7Ci19Ci0KICNkZWZpbmUgX0pNUEJVRl9V TldJTkRTX0FESihfam1wYnVmLCBfYWRkcmVzcywgX2FkaikgXAogICAoKHVp bnRwdHJfdCkgKF9hZGRyZXNzKSAtIChfYWRqKSA8IF9qbXBidWZfc3AgKF9q bXBidWYpIC0gKF9hZGopKQogCmRpZmYgLS1naXQgYS9wb3J0cy9zeXNkZXBz L2FhcmNoNjQvc2V0am1wLlMgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc2V0 am1wLlMKaW5kZXggMTBlMDcwOS4uZmI5MGNmMiAxMDA2NDQKLS0tIGEvcG9y dHMvc3lzZGVwcy9hYXJjaDY0L3NldGptcC5TCisrKyBiL3BvcnRzL3N5c2Rl cHMvYWFyY2g2NC9zZXRqbXAuUwpAQCAtMzksMTMgKzM5LDI1IEBAIEVOVFJZ IChfX3NpZ3NldGptcCkKIAlzdHAJeDIzLCB4MjQsIFt4MCwgI0pCX1gyMzw8 M10KIAlzdHAJeDI1LCB4MjYsIFt4MCwgI0pCX1gyNTw8M10KIAlzdHAJeDI3 LCB4MjgsIFt4MCwgI0pCX1gyNzw8M10KKworI2lmZGVmIFBUUl9NQU5HTEUK KwlQVFJfTUFOR0xFICh4NCwgeDMwLCB4MywgeDIpCisJc3RwCXgyOSwgIHg0 LCBbeDAsICNKQl9YMjk8PDNdCisjZWxzZQogCXN0cAl4MjksIHgzMCwgW3gw LCAjSkJfWDI5PDwzXQorI2VuZGlmCiAJc3RwCSBkOCwgIGQ5LCBbeDAsICNK Ql9EODw8M10KIAlzdHAJZDEwLCBkMTEsIFt4MCwgI0pCX0QxMDw8M10KIAlz dHAJZDEyLCBkMTMsIFt4MCwgI0pCX0QxMjw8M10KIAlzdHAJZDE0LCBkMTUs IFt4MCwgI0pCX0QxNDw8M10KKyNpZmRlZiBQVFJfTUFOR0xFCisJbW92CXg0 LCBzcAorCVBUUl9NQU5HTEUgKHg1LCB4NCwgeDMsIHgyKQorCXN0cgl4NSwg W3gwLCAjSkJfU1A8PDNdCisjZWxzZQogCW1vdgl4MiwgIHNwCiAJc3RyCXgy LCAgW3gwLCAjSkJfU1A8PDNdCisjZW5kaWYKICNpZiBkZWZpbmVkIE5PVF9J Tl9saWJjICYmIGRlZmluZWQgSVNfSU5fcnRsZAogCS8qIEluIGxkLnNvIHdl IG5ldmVyIHNhdmUgdGhlIHNpZ25hbCBtYXNrICovCiAJbW92CXcwLCAjMApk aWZmIC0tZ2l0IGEvcG9ydHMvc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oIGIv cG9ydHMvc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oCmluZGV4IDkzNDk0NzEu LjUyMGQxZmMgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9z eXNkZXAuaAorKysgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3lzZGVwLmgK QEAgLTc4LDYgKzc4LDE4IEBACiAjIGRlZmluZSBMKG5hbWUpICAgICAgICAg LkwjI25hbWUKICNlbmRpZgogCisvKiBMb2FkIG9yIHN0b3JlIHRvL2Zyb20g YSBwYy1yZWxhdGl2ZSBFWFBSIGludG8vZnJvbSBSLCB1c2luZyBULiAgKi8K KyNkZWZpbmUgTERTVF9QQ1JFTChPUCwgUiwgVCwgRVhQUilcCisJYWRycAlU LCBFWFBSOwkgIFwKKwlhZGQJVCwgVCwgIzpsbzEyOkVYUFI7XAorCU9QCVIs IFtUXTsKKworLyogTG9hZCBvciBzdG9yZSB0by9mcm9tIGEgZ290LXJlbGF0 aXZlIEVYUFIgaW50by9mcm9tIFIsIHVzaW5nIFQuICAqLworI2RlZmluZSBM RFNUX0dMT0JBTChPUCwgUiwgVCwgRVhQUikgICAgIFwKKwlhZHJwCVQsIDpn b3Q6RVhQUjsJCVwKKwlsZHIJVCwgW1QsICM6Z290X2xvMTI6RVhQUl07XAor CU9QCVIsIFtUXTsKKwogLyogU2luY2UgQyBpZGVudGlmaWVycyBhcmUgbm90 IG5vcm1hbGx5IHByZWZpeGVkIHdpdGggYW4gdW5kZXJzY29yZQogICAgb24g dGhpcyBzeXN0ZW0sIHRoZSBhc20gaWRlbnRpZmllciBgc3lzY2FsbF9lcnJv cicgaW50cnVkZXMgb24gdGhlCiAgICBDIG5hbWUgc3BhY2UuICBNYWtlIHN1 cmUgd2UgdXNlIGFuIGlubm9jdW91cyBuYW1lLiAgKi8KZGlmZiAtLWdpdCBh L3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvc3lzZGVw LmggYi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L3N5 c2RlcC5oCmluZGV4IDlhN2IxNjcuLmE5NmI2OWIgMTAwNjQ0Ci0tLSBhL3Bv cnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvc3lzZGVwLmgK KysrIGIvcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9z eXNkZXAuaApAQCAtMzcxLDggKzM3MSw0NSBAQCBfX2xvY2FsX3N5c2NhbGxf ZXJyb3I6CQkJCQkJXAogCiAjZW5kaWYJLyogX19BU1NFTUJMRVJfXyAqLwog Ci0vKiBQb2ludGVyIG1hbmdsaW5nIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGZv ciBBQXJjaDY0LiAgKi8KLSNkZWZpbmUgUFRSX01BTkdMRSh2YXIpICh2b2lk KSAodmFyKQotI2RlZmluZSBQVFJfREVNQU5HTEUodmFyKSAodm9pZCkgKHZh cikKKy8qIFBvaW50ZXIgbWFuZ2xpbmcgaXMgc3VwcG9ydCBmb3IgQUFyY2g2 NC4gICovCisjaWYgKGRlZmluZWQgTk9UX0lOX2xpYmMgJiYgZGVmaW5lZCBJ U19JTl9ydGxkKSB8fCBcCisgICghZGVmaW5lZCBTSEFSRUQgJiYgKCFkZWZp bmVkIE5PVF9JTl9saWJjIHx8IGRlZmluZWQgSVNfSU5fbGlicHRocmVhZCkp CisjIGlmZGVmIF9fQVNTRU1CTEVSX18KKyMgIGRlZmluZSBQVFJfTUFOR0xF KGRzdCwgc3JjLCBndWFyZCwgdG1wKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgTERTVF9QQ1JFTChsZHIsIGd1YXJkLCB0bXAsIENfU1lN Qk9MX05BTUUoX19wb2ludGVyX2Noa19ndWFyZF9sb2NhbCkpOyBcCisgIFBU Ul9NQU5HTEUyKGRzdCwgc3JjLCBndWFyZCkKKy8qIFVzZSBQVFJfTUFOR0xF MiBmb3IgZWZmaWNpZW5jeSBpZiBndWFyZCBpcyBhbHJlYWR5IGxvYWRlZC4g ICovCisjICBkZWZpbmUgUFRSX01BTkdMRTIoZHN0LCBzcmMsIGd1YXJkKVwK KyAgZW9yIGRzdCwgc3JjLCBndWFyZAorIyAgZGVmaW5lIFBUUl9ERU1BTkdM RShkc3QsIHNyYywgZ3VhcmQsIHRtcClcCisgIFBUUl9NQU5HTEUgKGRzdCwg c3JjLCBndWFyZCwgdG1wKQorIyAgZGVmaW5lIFBUUl9ERU1BTkdMRTIoZHN0 LCBzcmMsIGd1YXJkKVwKKyAgUFRSX01BTkdMRTIgKGRzdCwgc3JjLCBndWFy ZCkKKyMgZWxzZQorZXh0ZXJuIHVpbnRwdHJfdCBfX3BvaW50ZXJfY2hrX2d1 YXJkX2xvY2FsIGF0dHJpYnV0ZV9yZWxybyBhdHRyaWJ1dGVfaGlkZGVuOwor IyAgZGVmaW5lIFBUUl9NQU5HTEUodmFyKSBcCisgICh2YXIpID0gKF9fdHlw ZW9mICh2YXIpKSAoKHVpbnRwdHJfdCkgKHZhcikgXiBfX3BvaW50ZXJfY2hr X2d1YXJkX2xvY2FsKQorIyAgZGVmaW5lIFBUUl9ERU1BTkdMRSh2YXIpICAg ICBQVFJfTUFOR0xFICh2YXIpCisjIGVuZGlmCisKKyMgZWxzZQogCisjIGlm ZGVmIF9fQVNTRU1CTEVSX18KKyMgIGRlZmluZSBQVFJfTUFOR0xFKGRzdCwg c3JjLCBndWFyZCwgdG1wKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgTERTVF9HTE9CQUwobGRyLCBndWFyZCwgdG1wLCBDX1NZTUJPTF9O QU1FKF9fcG9pbnRlcl9jaGtfZ3VhcmQpKTsgICAgIFwKKyAgUFRSX01BTkdM RTIoZHN0LCBzcmMsIGd1YXJkKQorLyogVXNlIFBUUl9NQU5HTEUyIGZvciBl ZmZpY2llbmN5IGlmIGd1YXJkIGlzIGFscmVhZHkgbG9hZGVkLiAgKi8KKyMg IGRlZmluZSBQVFJfTUFOR0xFMihkc3QsIHNyYywgZ3VhcmQpXAorICBlb3Ig ZHN0LCBzcmMsIGd1YXJkCisjICBkZWZpbmUgUFRSX0RFTUFOR0xFKGRzdCwg c3JjLCBndWFyZCwgdG1wKVwKKyAgUFRSX01BTkdMRSAoZHN0LCBzcmMsIGd1 YXJkLCB0bXApCisjICBkZWZpbmUgUFRSX0RFTUFOR0xFMihkc3QsIHNyYywg Z3VhcmQpXAorICBQVFJfTUFOR0xFMiAoZHN0LCBzcmMsIGd1YXJkKQorIyBl bHNlCitleHRlcm4gdWludHB0cl90IF9fcG9pbnRlcl9jaGtfZ3VhcmQgYXR0 cmlidXRlX3JlbHJvOworIyAgZGVmaW5lIFBUUl9NQU5HTEUodmFyKSBcCisg ICh2YXIpID0gKF9fdHlwZW9mICh2YXIpKSAoKHVpbnRwdHJfdCkgKHZhcikg XiBfX3BvaW50ZXJfY2hrX2d1YXJkKQorIyAgZGVmaW5lIFBUUl9ERU1BTkdM RSh2YXIpIFBUUl9NQU5HTEUgKHZhcikKKyNlbmRpZgorI2VuZGlmCiAjZW5k aWYgLyogbGludXgvYWFyY2g2NC9zeXNkZXAuaCAqLwo= --089e014951a847f79204ee7f5147--