From patchwork Wed Aug 30 16:16:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 22425 Received: (qmail 28165 invoked by alias); 30 Aug 2017 16:17:06 -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 27769 invoked by uid 89); 30 Aug 2017 16:17:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: NAM01-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1504109817.5204.47.camel@cavium.com> Subject: Re: [Patch] aarch64: Fix tst-makecontext3 in ILP32 mode. From: Steve Ellcey Reply-To: sellcey@cavium.com To: Andreas Schwab Cc: libc-alpha Date: Wed, 30 Aug 2017 09:16:57 -0700 In-Reply-To: <1502983951.16131.3.camel@cavium.com> References: <1502820555.3962.197.camel@cavium.com> <1502983951.16131.3.camel@cavium.com> Mime-Version: 1.0 X-ClientProxiedBy: MWHPR03CA0001.namprd03.prod.outlook.com (10.175.133.139) To BN6PR07MB3540.namprd07.prod.outlook.com (10.161.153.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf174cd9-0990-4062-1848-08d4efc28c24 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BN6PR07MB3540; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3540; 3:Dk2/9pw3BnX7HqjtCskxgm/Do5Dl3+vrFaVcKukbo4A5iPsiOTtnHXFzYswzRXW6SIGk3myP5/PrJoFO8yZlioh5jinFUuSZj7ijt8L7a9ibjR/MRb/axKxw3BYmFVZrf/yAUWX5dOBIBmL8pcNPk/wX4mYtrnpe+VesB0CxyFxoISDMNwdCYHp9gaEFDXeYs59MZv/eLjmqL/EAQ7QIzFiEnz+LOEinBG+8wodcU7bDc0r64sRVpTP7hFDbQDx5; 25:VlBfjtWmYqM7+pg7vrHl0gac3EFCzxRddQJ+M0FwayQ2wzvsai4e5TWC8eg2QhxCLR7lu2etSo9cHHVReBmmmtJindAbExfvNcnYduT4lY04U+SCBSf0t28OcHVdnFTK/L4tybUnoYURcUk/QxcHgNhEd6B29YVHnaw8kViIjaN2u/4QnVQ31EJK8fD0Kc3OQojTm9r7mqACnGJKCobhfcZF0tirygtPOLi84zlnS9NJXb2bUb+Xkp+cK/Mb90boLbFQPcjVuU0uRf9aM7v1O1GBk9E3IXGaqCJBd7GD8hi1NFe1TFenPm/5ejKqmPTuFUCgBSeaYl0H5zm78vLJBQ==; 31:Gxp2dGA9wtsRT587AaI1MABqPDpBtaKMZCX+an7Ecqv1jkxt+3zMlylojOf2hnkpmo5U3Y37uRXpf/Zl83aK9vR5p9EeMDk/mWsVzaYNzNi/RjOe84oLdEHSED7qYdvtLCidQQXy//JHOdK9iULQLTelDy+DGRhyLRtq0HHMVWrFuA5afyktyxjbb3c7gR2yJ/+X5C9oLr603X4VVKZK5MFxr+GCjry1UeesF5iFiXY= X-MS-TrafficTypeDiagnostic: BN6PR07MB3540: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3540; 20:tGb3FO7pvdWygUq/ALsOKHwIWp00eUM9PR8lUrLSYS/6SRx0SlA5Wv7rPb7pr7wlTIMBJlX6pIf5SR2yr2oVyaz+MNY9XGix1SXcLSu1ijrIGjtaYGRM6j9dHrJIA9msKNZIo3qR2AXPgyIHBtp4ZtSWN8X3EA7e/WC1a7X/Dau6wXO3H76mSYVoi1atc8In80oaEbwUA+tLpasPXykOHBt6cfxRa1X/3PJRJ856Zl4uscv/f8iL3pRjd0KeC4mvPw5gRnCtUsGkJTNLxQ88/j2fbLew0kTF9C8kiJ1zPk1TpskjDfSV++4GXSFAbQHA4ODdJOtjlFfHJ4T+Dy+sbboSCdqN9NPhPuxgHmtYaVLUmLtnguTBRu598aEHcc0EXuKTR3jPRYehu3rLts5n3AbbEWkk0Vm+WrX6spAyNp2G9EOlJSb2jm1Qi0FpftlDMHtKt2EFbBymUJ2eTdzEI2B2mQCHvqLLBiZ+kzl1Hzqh3sDg4W9X6ZO6652w5y3y; 4:Zs/tzFruOsXrKhUQn9avcLlkDWqY/XEVg95AE6EJ3T+Nu2jqAosxvmDFVvS9YwbAMoBlK428PdmLcK0AzyWIax1czCspHXIAUSCXyNFE3SWV3YVNV9J3O4SnGob9aucI6Rk5AKkbYMlInb2BqOW1KdqwqVBh7u4gaJLsiHQAQ6unTnJwFO0JYGIkgE6IB1j5H9a6st/qyawtMbi/p69uHfkg/locaadCJuUUDSe0DrVrWPQC6rZgsXzqzBeRwFjK X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123560025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3540; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3540; X-Forefront-PRVS: 041517DFAB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(199003)(377424004)(24454002)(189002)(105586002)(53936002)(84326002)(36756003)(43066003)(6246003)(3450700001)(2906002)(101416001)(33646002)(8936002)(2476003)(25786009)(4610100001)(76176999)(72206003)(2950100002)(6916009)(478600001)(568964002)(189998001)(103116003)(229853002)(110136004)(5000100001)(50986999)(305945005)(6116002)(3846002)(69596002)(97736004)(42186005)(5660300001)(106356001)(4326008)(5890100001)(512874002)(6666003)(68736007)(50226002)(6506006)(6512007)(66066001)(81166006)(81156014)(7736002)(6486002)(53416004)(8676002)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3540; H:sellcey-dt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3540; 23:G0OwmG2PQEabCexdV1aiDQhEA1TpJHfvZ2Jxgy7Kz?= =?us-ascii?Q?boR+AfrdNAvpqsvogMsZTA0a2UhE88wEgVY+iTOSVlNvZ/x4lqSgMiyUSQio?= =?us-ascii?Q?V+DcAi60B9wi+dBwqPW+KKehEp0Sr6tGnXNyMboVZtvN8tdA3b0gWL1BysFE?= =?us-ascii?Q?mhDnz0X4tOdof1E6lsBTwJ0mpJEZlNGxFI46wMX3O7RxEa55tUmoXYW0klq3?= =?us-ascii?Q?FK01msf9h+7jS4iC5gtBiKYIWZFOT5hJODNmMLFb4+baHT/la6RaurmwsOC3?= =?us-ascii?Q?IrvIu6JFw+YrN4W13353HIqBYDfO7WMrh1H4R0AE323wjU9aUiQAGD+Lpy8W?= =?us-ascii?Q?lPs6kQqctcd72KzqwDNgq3HWW0LVqN9AtEgIcRG4+6iY6/vZ8Hq6lpMfKGKy?= =?us-ascii?Q?mQhRsy6oea7ZFthgl5XylqYz6fnlwHZwYMkq3jTv8IthmQj/WWxdJhA1lW4e?= =?us-ascii?Q?DNQqtQr1UiFqIc6CTsNKzyQ6CiJiDS4pvMFJBJjKRNV4k96t7ogHd9WRqQaP?= =?us-ascii?Q?LUgK623IMvQeOWe+S+jdSKwuPKe7sFSWg/jMKGSq3JBgXkH+FCexL88vg/ny?= =?us-ascii?Q?mZ19VcvGwdRdyErinnX6wcblkcGi0btctglpp7k7ReH0R+uo4DoreMp+WGgl?= =?us-ascii?Q?ybv3HR2PaCXyo07HlkyjW3TGNEKEZCVL+akMu8uJQJy8Y2p/vCoiE8dtZo86?= =?us-ascii?Q?zgB0hwMiFC4gqz0yczuVu1VW7Z4tpLsFgpje1kLtU500fntOGUqZuc9/+ZtK?= =?us-ascii?Q?8HJO9XFHYOT9BS66yRBZwF+dwM1LS++VN127H+9zuDuyGfoz1MGfRY2QAoyU?= =?us-ascii?Q?gbEYYMB8DabixmrWazTckXeIMx4vqw2o8QgTTsKvMuO/xOGu+87ac7ZurrbX?= =?us-ascii?Q?vJcktQKORc3dRm0SINYoocryxW9OHPNc3sDBcrYknE5QS4IVO0INNxTdSMwq?= =?us-ascii?Q?CJITtiPxHTJCm689ArRWG6T3v0Ui4W4TSNhe++bUzwGVAIczRQFUl7vel/LH?= =?us-ascii?Q?ru4vNubbljacyhDJ2INrrFYTTBFzDXmpjkvuk0VHE8WQHJY+wYbpq4TR0any?= =?us-ascii?Q?AVFSA6iYWpQF/qxIXUNHjiYsTwo1IgVUcfJWTfHt9D0sD9LEe7Wwp0yqZsf2?= =?us-ascii?Q?qyvsLeOLU7T+ka1urOG71ibs5Ymt5ohoXdXemAXQZv89nuI7EjX/QVmavQqN?= =?us-ascii?Q?whl8HkIxP94kJgsQHckw87XHjxh9dfCOqNW6XOOrC+Bz7NqEoBkIXVAG0Zbi?= =?us-ascii?Q?rlK7pfvYGFbka6nnR+19zJEmlv+cC6Zt0EiT3ETX9o8Kz84a3cf/uUYzZ0PU?= =?us-ascii?Q?g8eaJgejZhtS9AKtDiwzC8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3540; 6:XXD4tkfyyhc1XvaTRpe9U8fCRxfgTGokznoupuGsRTz9NipombKPeWc9hNhPojeS0sAC75YLxTgY7t3lTDG2yZxTvdztGN8B2UtKNsElCt9Fw0H+4a10nDvDsAOJOD0FJ7BocyOBzjLnkWCrKNgP163FZc7Fgy66pMqfIUOLln/blt6ZVFSbScvPeWiP5sUoFNtRnqWaQqXCXcHPCRNiCA53IkBJrwA1jTVxwExFtajnRKKx2NeMBunAmeKPwWzKlcdwC/ouyJR0lUH8RMcTRmYEVenzl4vYF8iSAKfLo44F1cxLFRvQJ4nhk5BhaHsqHcMJ+uV+qqQ/S6BVzTvn8Q==; 5:s5vHFiEAV0JTFJoiFyqCr9VOFpnpzqJy2P1/eoWxCWJ2thGCYjUtGhEULm1hjj0Z90PhtmmICltAm07Bxg8JJaj59fGM0vSQQk9CakuxoyZXeCvB03btwVUY2isPDYfC7JrtLs2V1HsNTd8EJdntMw==; 24:ohqmMBzz/XBB5+HI9T6jPsEhRx4YIv4GVW/H9x6VFPW0/yoMPPLl4iHcND+OUkC0Of00FM9+PIhC0UQyFZ4qtyq9ZNI6cDloBVNVqt3Azps=; 7:wN8pUvSyOAaqXs+6QTZoS/AssGmFpcv8K6i3cxwryBycwafhhglKrwi6xIRoDQ1Qvz3+niThAjEf5z/r7EFJSaPho3rDhGnJKv3R4VFP67UxlnoR2lijT7seg4bPpgTFjVCw2+XRlKLJOHl0HiUWYPMiAiuKicduTLJJNsYcd0y08H76d4Gu5n+eD4+usdelV4xfM2qt2Ssx6sPSJPTk1+DMrFFYQhbfTZRBpD19JBo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2017 16:17:01.5577 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3540 On Thu, 2017-08-17 at 08:32 -0700, Steve Ellcey wrote: > On Wed, 2017-08-16 at 10:01 +0200, Andreas Schwab wrote: > > > > On Aug 15 2017, Steve Ellcey wrote: > >   > > > > > > @@ -66,7 +66,7 @@ __makecontext (ucontext_t *ucp, void (*func) > > > (void), int argc, ...) > > >      if (i < 8) > > >        ucp->uc_mcontext.regs[i] = va_arg (ap, unsigned long int); > > I think you want to use uint64_t here as well. > > > > Andreas. > I agree, I will make that change. > > Steve Ellcey > sellcey@cavium.com Here is an updated patch.  Is this OK to check in now?  It is only needed for ILP32 aarch64 but it is a correct standalone change and it would be nice to have it in the mainline. Steve Ellcey sellcey@cavium.com 2017-08-30  Steve Ellcey   * sysdeps/unix/sysv/linux/aarch64/makecontext.c (__makecontext): Use pointer to uint64_t instead of long int for sp. diff --git a/sysdeps/unix/sysv/linux/aarch64/makecontext.c b/sysdeps/unix/sysv/linux/aarch64/makecontext.c index f510f48..20057f8 100644 --- a/sysdeps/unix/sysv/linux/aarch64/makecontext.c +++ b/sysdeps/unix/sysv/linux/aarch64/makecontext.c @@ -42,18 +42,18 @@ void __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) { extern void __startcontext (void); - unsigned long int *sp; + uint64_t *sp; va_list ap; int i; - sp = (unsigned long int *) + sp = (uint64_t *) ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); /* Allocate stack arguments. */ sp -= argc < 8 ? 0 : argc - 8; /* Keep the stack aligned. */ - sp = (unsigned long int *) (((uintptr_t) sp) & -16L); + sp = (uint64_t *) (((uintptr_t) sp) & -16L); ucp->uc_mcontext.regs[19] = (uintptr_t) ucp->uc_link; ucp->uc_mcontext.sp = (uintptr_t) sp; @@ -64,9 +64,9 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) va_start (ap, argc); for (i = 0; i < argc; ++i) if (i < 8) - ucp->uc_mcontext.regs[i] = va_arg (ap, unsigned long int); + ucp->uc_mcontext.regs[i] = va_arg (ap, uint64_t); else - sp[i - 8] = va_arg (ap, unsigned long int); + sp[i - 8] = va_arg (ap, uint64_t); va_end (ap); }