From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7597 invoked by alias); 30 Dec 2013 05:00:36 -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 7584 invoked by uid 89); 30 Dec 2013 05:00:35 -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-qc0-f174.google.com Received: from mail-qc0-f174.google.com (HELO mail-qc0-f174.google.com) (209.85.216.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 30 Dec 2013 05:00:34 +0000 Received: by mail-qc0-f174.google.com with SMTP id n7so10656434qcx.33 for ; Sun, 29 Dec 2013 21:00:32 -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=P6rWXkbhAaVVyCcIp2HW1mTue0Frw4d/xEbGMid9SNA=; b=EiB46pX9OX8NCFeK7akIRX/03H80Sl53F1YsgBsmMJps4aN2jnh/9U2Yzw2FDQMiSq f6EvVjbR67ba4L3z/c5vg0Fx3sDqqIpr5uV/fQCkvJuenWb2rip/5jn+DcM2Z0z0c5mJ /Pm/SJaUmCYQ8MKvz2XNaBNvxrYPkvSqkv4LyKQQIMPztRgqYTuiLfFF/xHXEk8+d6OZ fHfjwI1g2y/CJRr/cWoG5m+P7sfEjScsl7luqs0rsGshpCGDZx8Vimo/SBMgvuMWkXg0 5XxhzowmpJoWo0v+qcO38DABgf16ikLzvpOfrBOgWZ8tspQH5bxy3fMlEo/F9KflGnN/ XPSQ== X-Gm-Message-State: ALoCoQmBe/DQ5nKL1cEJX7MYCqjpM1+IVQ2hyAvIm1i8s9wrrvNxBpEoIol2UqSYHpKNUPoSUeu6 MIME-Version: 1.0 X-Received: by 10.224.28.138 with SMTP id m10mr91932913qac.3.1388379631986; Sun, 29 Dec 2013 21:00:31 -0800 (PST) Received: by 10.140.83.19 with HTTP; Sun, 29 Dec 2013 21:00:31 -0800 (PST) In-Reply-To: <52BD983C.5050006@twiddle.net> References: <52BC8489.9040307@twiddle.net> <52BD983C.5050006@twiddle.net> Date: Mon, 30 Dec 2013 05:00: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=001a11c1fcb4c74b9804eeb95244 X-SW-Source: 2013-12/txt/msg00034.txt.bz2 --001a11c1fcb4c74b9804eeb95244 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1422 Hi Richard, Attached is the revised patch with the changes you suggested. Regressed with glibc tests on ARMV8 Foundation model running open embedded image. 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. On 27 December 2013 20:39, Richard Henderson wrote: > On 12/26/2013 11:48 PM, Venkataramanan Kumar wrote: >> +/* Load or store to/from a pc-relative EXPR into/from R, using T. */ >> +#define LDST_PCREL(OP, R, T, EXPR)\ >> + adrp T, EXPR; \ >> + add T, T, #:lo12:EXPR;\ >> + OP R, [T]; > > Is T supposed to be live after the macro? Otherwise the whole point of the > 12-bit offset is that it can be used inside the memory operation offset. > > As you in fact do with the LDST_GLOBAL macro just below. > > > r~ regards, Venkat. --001a11c1fcb4c74b9804eeb95244 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_hpt927o70 Content-length: 8146 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 LjVmYjcxNzMgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMvYWFyY2g2NC9z eXNkZXAuaAorKysgYi9wb3J0cy9zeXNkZXBzL2FhcmNoNjQvc3lzZGVwLmgK QEAgLTc4LDYgKzc4LDE3IEBACiAjIGRlZmluZSBMKG5hbWUpICAgICAgICAg LkwjI25hbWUKICNlbmRpZgogCisvKiBMb2FkIG9yIHN0b3JlIHRvL2Zyb20g YSBwYy1yZWxhdGl2ZSBFWFBSIGludG8vZnJvbSBSLCB1c2luZyBULiAgKi8K KyNkZWZpbmUgTERTVF9QQ1JFTChPUCwgUiwgVCwgRVhQUikgIFwKKwlhZHJw CVQsIEVYUFI7CSAgICBcCisJT1AJUiwgW1QsICM6bG8xMjpFWFBSXTtcCisK Ky8qIExvYWQgb3Igc3RvcmUgdG8vZnJvbSBhIGdvdC1yZWxhdGl2ZSBFWFBS IGludG8vZnJvbSBSLCB1c2luZyBULiAgKi8KKyNkZWZpbmUgTERTVF9HTE9C QUwoT1AsIFIsIFQsIEVYUFIpICAgICBcCisJYWRycAlULCA6Z290OkVYUFI7 CQlcCisJbGRyCVQsIFtULCAjOmdvdF9sbzEyOkVYUFJdO1wKKwlPUAlSLCBb VF07CisKIC8qIFNpbmNlIEMgaWRlbnRpZmllcnMgYXJlIG5vdCBub3JtYWxs eSBwcmVmaXhlZCB3aXRoIGFuIHVuZGVyc2NvcmUKICAgIG9uIHRoaXMgc3lz dGVtLCB0aGUgYXNtIGlkZW50aWZpZXIgYHN5c2NhbGxfZXJyb3InIGludHJ1 ZGVzIG9uIHRoZQogICAgQyBuYW1lIHNwYWNlLiAgTWFrZSBzdXJlIHdlIHVz ZSBhbiBpbm5vY3VvdXMgbmFtZS4gICovCmRpZmYgLS1naXQgYS9wb3J0cy9z eXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L3N5c2RlcC5oIGIvcG9y dHMvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zeXNkZXAuaApp bmRleCA5YTdiMTY3Li5hOTZiNjliIDEwMDY0NAotLS0gYS9wb3J0cy9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L3N5c2RlcC5oCisrKyBiL3Bv cnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvc3lzZGVwLmgK QEAgLTM3MSw4ICszNzEsNDUgQEAgX19sb2NhbF9zeXNjYWxsX2Vycm9yOgkJ CQkJCVwKIAogI2VuZGlmCS8qIF9fQVNTRU1CTEVSX18gKi8KIAotLyogUG9p bnRlciBtYW5nbGluZyBpcyBub3QgeWV0IHN1cHBvcnRlZCBmb3IgQUFyY2g2 NC4gICovCi0jZGVmaW5lIFBUUl9NQU5HTEUodmFyKSAodm9pZCkgKHZhcikK LSNkZWZpbmUgUFRSX0RFTUFOR0xFKHZhcikgKHZvaWQpICh2YXIpCisvKiBQ b2ludGVyIG1hbmdsaW5nIGlzIHN1cHBvcnQgZm9yIEFBcmNoNjQuICAqLwor I2lmIChkZWZpbmVkIE5PVF9JTl9saWJjICYmIGRlZmluZWQgSVNfSU5fcnRs ZCkgfHwgXAorICAoIWRlZmluZWQgU0hBUkVEICYmICghZGVmaW5lZCBOT1Rf SU5fbGliYyB8fCBkZWZpbmVkIElTX0lOX2xpYnB0aHJlYWQpKQorIyBpZmRl ZiBfX0FTU0VNQkxFUl9fCisjICBkZWZpbmUgUFRSX01BTkdMRShkc3QsIHNy YywgZ3VhcmQsIHRtcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgIExEU1RfUENSRUwobGRyLCBndWFyZCwgdG1wLCBDX1NZTUJPTF9OQU1F KF9fcG9pbnRlcl9jaGtfZ3VhcmRfbG9jYWwpKTsgXAorICBQVFJfTUFOR0xF Mihkc3QsIHNyYywgZ3VhcmQpCisvKiBVc2UgUFRSX01BTkdMRTIgZm9yIGVm ZmljaWVuY3kgaWYgZ3VhcmQgaXMgYWxyZWFkeSBsb2FkZWQuICAqLworIyAg ZGVmaW5lIFBUUl9NQU5HTEUyKGRzdCwgc3JjLCBndWFyZClcCisgIGVvciBk c3QsIHNyYywgZ3VhcmQKKyMgIGRlZmluZSBQVFJfREVNQU5HTEUoZHN0LCBz cmMsIGd1YXJkLCB0bXApXAorICBQVFJfTUFOR0xFIChkc3QsIHNyYywgZ3Vh cmQsIHRtcCkKKyMgIGRlZmluZSBQVFJfREVNQU5HTEUyKGRzdCwgc3JjLCBn dWFyZClcCisgIFBUUl9NQU5HTEUyIChkc3QsIHNyYywgZ3VhcmQpCisjIGVs c2UKK2V4dGVybiB1aW50cHRyX3QgX19wb2ludGVyX2Noa19ndWFyZF9sb2Nh bCBhdHRyaWJ1dGVfcmVscm8gYXR0cmlidXRlX2hpZGRlbjsKKyMgIGRlZmlu ZSBQVFJfTUFOR0xFKHZhcikgXAorICAodmFyKSA9IChfX3R5cGVvZiAodmFy KSkgKCh1aW50cHRyX3QpICh2YXIpIF4gX19wb2ludGVyX2Noa19ndWFyZF9s b2NhbCkKKyMgIGRlZmluZSBQVFJfREVNQU5HTEUodmFyKSAgICAgUFRSX01B TkdMRSAodmFyKQorIyBlbmRpZgorCisjIGVsc2UKIAorIyBpZmRlZiBfX0FT U0VNQkxFUl9fCisjICBkZWZpbmUgUFRSX01BTkdMRShkc3QsIHNyYywgZ3Vh cmQsIHRtcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIExE U1RfR0xPQkFMKGxkciwgZ3VhcmQsIHRtcCwgQ19TWU1CT0xfTkFNRShfX3Bv aW50ZXJfY2hrX2d1YXJkKSk7ICAgICBcCisgIFBUUl9NQU5HTEUyKGRzdCwg c3JjLCBndWFyZCkKKy8qIFVzZSBQVFJfTUFOR0xFMiBmb3IgZWZmaWNpZW5j eSBpZiBndWFyZCBpcyBhbHJlYWR5IGxvYWRlZC4gICovCisjICBkZWZpbmUg UFRSX01BTkdMRTIoZHN0LCBzcmMsIGd1YXJkKVwKKyAgZW9yIGRzdCwgc3Jj LCBndWFyZAorIyAgZGVmaW5lIFBUUl9ERU1BTkdMRShkc3QsIHNyYywgZ3Vh cmQsIHRtcClcCisgIFBUUl9NQU5HTEUgKGRzdCwgc3JjLCBndWFyZCwgdG1w KQorIyAgZGVmaW5lIFBUUl9ERU1BTkdMRTIoZHN0LCBzcmMsIGd1YXJkKVwK KyAgUFRSX01BTkdMRTIgKGRzdCwgc3JjLCBndWFyZCkKKyMgZWxzZQorZXh0 ZXJuIHVpbnRwdHJfdCBfX3BvaW50ZXJfY2hrX2d1YXJkIGF0dHJpYnV0ZV9y ZWxybzsKKyMgIGRlZmluZSBQVFJfTUFOR0xFKHZhcikgXAorICAodmFyKSA9 IChfX3R5cGVvZiAodmFyKSkgKCh1aW50cHRyX3QpICh2YXIpIF4gX19wb2lu dGVyX2Noa19ndWFyZCkKKyMgIGRlZmluZSBQVFJfREVNQU5HTEUodmFyKSBQ VFJfTUFOR0xFICh2YXIpCisjZW5kaWYKKyNlbmRpZgogI2VuZGlmIC8qIGxp bnV4L2FhcmNoNjQvc3lzZGVwLmggKi8K --001a11c1fcb4c74b9804eeb95244--