Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/638453/?format=api
{ "id": 638453, "url": "http://patchwork.ozlabs.org/api/patches/638453/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/1466485631-3532-5-git-send-email-ynorov@caviumnetworks.com/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1466485631-3532-5-git-send-email-ynorov@caviumnetworks.com>", "list_archive_url": null, "date": "2016-06-21T05:06:47", "name": "[03/27] Add dynamic ILP32 AARCH64 relocations to elf.h", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "80fe3e60c71d739f93c9bda27fd19f3cc28b7473", "submitter": { "id": 68471, "url": "http://patchwork.ozlabs.org/api/people/68471/?format=api", "name": "Yury Norov", "email": "ynorov@caviumnetworks.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/1466485631-3532-5-git-send-email-ynorov@caviumnetworks.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/638453/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/638453/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-return-70813-incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "mailing list libc-alpha@sourceware.org" ], "Received": [ "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3rYbNT5GFHz9sf9\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 21 Jun 2016 15:08:41 +1000 (AEST)", "(qmail 105415 invoked by alias); 21 Jun 2016 05:08:34 -0000", "(qmail 105389 invoked by uid 89); 21 Jun 2016 05:08:33 -0000" ], "Authentication-Results": [ "ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=THfi+BMB; dkim-atps=neutral", "sourceware.org; auth=none", "spf=none (sender IP is )\n\tsmtp.mailfrom=Yuri.Norov@caviumnetworks.com; " ], "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-type; q=dns; s=default; b=wv/x+\n\tU5rygh9HaixalHb2MnsM1IcfV4AWdHEOI8cX00/XhFrhaEHVJuGa2X7T7qGBytYk\n\tVRP5ydWhZ9hqXq+2Ae+YCMmx8MvB7Hpfe0/6FzaiBzdMpZv6LIu9KxnF9KaguXVj\n\tVISpnpXIwi5FbUDwNKrthWOkCrHdBpISR9Xew0=", "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-type; s=default; bh=2976jzSUy6S\n\tiQZg3BnR3LICD5eE=; b=THfi+BMBzb81c26NJUgx7+Kc6ciIGDnXC/WZerU353G\n\trlm5J6QeNj9o71+HjfREOSpbpgMOsDm5zPzcgW3MwfJZzNecUn/ZxUuHaMtUQOXH\n\t2VFWtmJY2x39av5DVY/u8y+Rze8qXhmKzLLGtK/6Ur90423Sdl+mxH0O3z+tBLdk\n\t=", "Mailing-List": "contact libc-alpha-help@sourceware.org; run by ezmlm", "Precedence": "bulk", "List-Id": "<libc-alpha.sourceware.org>", "List-Unsubscribe": "<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>", "List-Subscribe": "<mailto:libc-alpha-subscribe@sourceware.org>", "List-Archive": "<http://sourceware.org/ml/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>", "Sender": "libc-alpha-owner@sourceware.org", "X-Virus-Found": "No", "X-Spam-SWARE-Status": "No, score=-0.8 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE,\n\tSPF_HELO_PASS autolearn=ham version=3.3.2 spammy=2112, 23, 7,\n\t23, 6, 2389", "X-HELO": "na01-bl2-obe.outbound.protection.outlook.com", "From": "Yury Norov <ynorov@caviumnetworks.com>", "To": "<libc-alpha@sourceware.org>, <linux-kernel@vger.kernel.org>", "CC": "<arnd@arndb.de>, <catalin.marinas@arm.com>, <marcus.shawcroft@arm.com>, \n\t<philb@gnu.org>, <davem@davemloft.net>, <szabolcs.nagy@arm.com>,\n\t<maxim.kuvyrkov@linaro.org>, <joseph@codesourcery.com>,\n\t<pinskia@gmail.com>, Andrew Pinski <apinski@cavium.com>,\n\tYury Norov <ynorov@caviumnetworks.com>", "Subject": "[PATCH 03/27] Add dynamic ILP32 AARCH64 relocations to elf.h", "Date": "Tue, 21 Jun 2016 08:06:47 +0300", "Message-ID": "<1466485631-3532-5-git-send-email-ynorov@caviumnetworks.com>", "In-Reply-To": "<1466485631-3532-1-git-send-email-ynorov@caviumnetworks.com>", "References": "<1466485631-3532-1-git-send-email-ynorov@caviumnetworks.com>", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-ClientProxiedBy": "HE1PR03CA0039.eurprd03.prod.outlook.com (10.163.170.177)\n\tTo DM3PR07MB2250.namprd07.prod.outlook.com (10.164.33.148)", "X-MS-Office365-Filtering-Correlation-Id": "1cdc2a1d-01e7-4aa6-5eb5-08d399920ec9", "X-Microsoft-Exchange-Diagnostics": [ "1; DM3PR07MB2250;\n\t2:HWxr6wu6Kc4Y9GZfBzl9JWA1wNVaszvXXD21xDxyFfidG6trtwu6gRDCscrsrqgDqq78h84vN/kp0MRzFvd13AYdXDlzEa6ApXQo7ckJ6YfN1Q00U8TEJDg9D83OtRk5CbgHNAirbFc5wZoYvhwdsXVK6Z7/ySE3Ia2F1gKsTItzzv5hxfTkppLxJON4GCyw;\n\t3:wqFhAKp6dSVkoM0WZJNJ4OLuO90xG5WKWAoCw2NPmG2rWuxJz9yQoG2jGpIvlNSJ6I5TvjE2geXxG2U1MfzH4635RJB9gUXlWxCY8tn8l8CHQxIKuKJBQxOCnV/bPTtW;\n\t25:WYKwpEusx9m2UA7mt+Im0oJjk0N053leTSV5aycaD+iaR/iWEIDdeAr7lzibkFjqJG+dkspQfCxFb441r2HTJrBuxKE2Rkwa8H3ACjZdb2F8BJ5J/iDnBn+w5sXZiEbjEb/mIv0aqXkVHOQzeGpcyt5D15DBJ3lV2fUBcZ8YLVjasF7YXSkIpELstKFHT/NdqZ4rzZsIR7e65vLoH9A0nc0tAuUx/4Bh6aiboZvIwsR/JeXXbat0NgLEGR73U1qesHqfxmL2mYSJlq4eeVnRRuatmCkv1Pf8KyMbxvYOnNfUhcWYdqBv5Xsy9lhwjUGldsjEq/0D0p1EVf5uf6pZ8CSHq8A+Uyl0qaHczj3/rqB36Y1MqGa+tX9TfbRNEHrGQftNC/yJNqRGAoLPQbceu0Ty9Y50suMS/xcV6z4FRr8=", "1; DM3PR07MB2250;\n\t20:PDq892onI2IDNr41R4BqupfH+Be+tGtWrrW28kg+BJ4Q5031VxF2EpI5YAVoKrnt17wXLLWChIz0fNcmWkgp4K8KQ+I7pDuyjbmiKRAPtVH9TG9vSRRDpsAC7lvLYqwzEpxh97Mfb074HjsPbKq8CydI11ZNwuuhPg6ABYPPIWzAxAz1T+DTB+06fquZ5GxK+jHAgW8r81k2f7HgjHyshwo2E5Bz6Rs8GpoTptNUw2n1F/z3N74lr2+FbLvbsk4MouBEp9eFQQO4XDUSuCwmZ0TqZnrfbXkrezhJUrX8iNFeco6cRhKWo15UULWHGmVdIdWboBBfzi/qVpqkszb52/fq5LIN2G7RJFe0JZQfzk4PAgIo0hC+Ng3OC9sMPxw2pNVflyugjNU1OFfEVDQINuM7epFeogwpFUulsGR0FUl4xOfwIK47AHhvWjGz3/eZ/YmZLErlPKwIAVLhffTcOZdVXNH0cW/sIpurqfDfNQ2Ip2pVYL+Pnszpm1BpnJR8/VnT+E2lvTfEqBieseZbUcJj8VDChKsbrbNH38EZP/aCVCNBZyeLwam/ZiKTuVfruhrGeRYr+pLxOd+GJ4kuT+1sp2g4y/UQLfD4vt5fbNM=", "1; DM3PR07MB2250;\n\t4:gltrb+FHzfE1qZmdyvrUMt0+Mr9wqWRGura8FBBdQAqncudX42qIvbgGfjEOVujeVDCoV4pgsGwsbo6W9yTiPpN6RyvlxoW6Tj1ADL2OihiehGIIfHlnddlbxmZ2177FeyYadBje9auosWFRSb0NlA5lGVo1buE83PiZpWNbwbbgAyn8XnHM5zyQynC44LAC5QTdOMfPvzjItqRbNP/j8mKi+d732GxoHlWxsVTi2OXTuygWv/LlEi0VRKoB9m0dJwcayE/534jdjXc0/H4AzTRSqZvvhpS09hMGTnBfRJaop1jOF7zuXfdAwsi2ZTakTYfeQblpRH6R9dg7pLb9mAZe10QAWOYYA7Xk10wfv9/zGczZO44LfARcSX1Anh+j", "=?us-ascii?Q?1; DM3PR07MB2250;\n\t23:UqRCV8eCafdw5aSAEZvN3ax650EAgu16kVH8QnAq/?=\n\t=?us-ascii?Q?dvzMCbLe3uvJcwEFDsySWgX0qlzt1EQtCtuxEOOrPsbZbfWrEwpvavz4OpAM?=\n\t=?us-ascii?Q?5AOsKeNNbQbgxdZAI8VM+9xQxjMjWmfC7OAxzysJRSEPSI/3CeMvgwR5ROeW?=\n\t=?us-ascii?Q?gRAz2Ot694boJ+nFjPLU7SevpQLYsDXzAELYFNIIiK12LUMWUWcDrXqN90AK?=\n\t=?us-ascii?Q?0K7SwVDmxBQVhXqqNRt97CUu0HOjsQUWgIWPjlh4lTNWfUyg6bAZ4qFJZm5u?=\n\t=?us-ascii?Q?mPmT3MzWcCwl+hIx/IPvATp4nV5w5Q7xAknYPFOMVzdtmJflOTlu/htC/k5e?=\n\t=?us-ascii?Q?gdtvKdt6aqfKUa3Du6ZoC3a5HbpEgp+1fbAFKiDymIg6TKTbsVWqBJAjR2Tt?=\n\t=?us-ascii?Q?/o4rNsQ8818NJr2yJvrtNCWPVbs0ZLL5g1WnICgrE2dO72O29CFUpYQQ7Db9?=\n\t=?us-ascii?Q?T+BjvdRmG1Q1ohIIbvVFLYqn2TTAd945jQvkllL2yCcDN3qgjJGXUmOBtMGs?=\n\t=?us-ascii?Q?x/P4IuM98mctZiqrU7CLdoeN6imv5OdYddJ/mpFM3wM53r0gRVthPzOhPizW?=\n\t=?us-ascii?Q?XwVBs8HnDbQli5yeeqRc2oUTOYjnyFtYDd4y8b2l6suuL4OPNqvr3f+4kpit?=\n\t=?us-ascii?Q?QLj67dE/cPO0yDSeIXMFDmkuyoNDgDCuwQgtunkbagfz3kE/MAoHYdJhbTyM?=\n\t=?us-ascii?Q?eUEVRD5cxtkfZk2n22qpQjLY98TXDUY0FAovtftuAZPqjE5rZyYCVuxhJJMo?=\n\t=?us-ascii?Q?WLzWrDSli1ccyRhmaxdp2qgJw7RBAjc/FYR5wuggVjbfS2TOv/g0peNUw5Yy?=\n\t=?us-ascii?Q?0I8R9dZseOGTxoKdCke2cps5ggetw/709g2uHEAQHYrnApaouxo3OSRoEPIu?=\n\t=?us-ascii?Q?u1RJVPnIcmbnrPCSayc1jbRAa0sfOvCE+C1zoxZLczuC5op201Nv9tBawTfL?=\n\t=?us-ascii?Q?a9VYF27g1NjtRVPCajFY7hr4ahMUAhW/1TI0ZJjlSbpGEVgMxS0vi+ojOSM9?=\n\t=?us-ascii?Q?mHuSvA2pn1IfDQtANGAFmxv+isOJIjr5AhiaNh/zWvSn/qX971GGRkq+P3a/?=\n\t=?us-ascii?Q?reyXatvyJMUGZOUcmAyDxmy3nbx9l97bnBCCCqxZRiBwcbxvy5mpYiM3INby?=\n\t=?us-ascii?Q?rdscSf7YqVPePcE1q8oIDxgrGqOZFn8?=", "1; DM3PR07MB2250;\n\t6:zS76Igks/tKVakjwcVMqU+HLyGGennPJKwygXpKVKWINfewfTUJv4YZApG3l+B1eyssVm9cbdOHynFPh3KmdOKDXn36w9yQHlRiBxoUJWMBUWkK9VHfoQHGAzjnD6ZFJV2ht8lCrcugF76VGtgW7SDByApDV96JtSKKApNzayaiOu3ifPejuRLPHC97DQb/fXW1hymEwXEpS3VkyLxgxUEdSW1mJBsMNXvjZ8VfHCqwVpultIF+U1PUg/8Af+DAMZlkpPMoyffduW7T1uoxZ+x7umHh9pQbMAkUnYR9bMi4=;\n\t5:0QUUgHi0maNHzz6jZzzJvGk+EH4WA1VZH9dAPQRJn54Eu2mlJ0Nqe3ffYaqpLEvXd8tm6ty5W+tZnJCYBcZWAIrPmP9VCOXIsXEMmhrVj5DpQHM8LJJimC9lRLlYtvCEw/4xR9NOzlwvm+mYEC3ddw==;\n\t24:2R/tyk7WTcUPeYuZiQU8nD3thxloeeGyTxn9LpVbBMZxI7OZAb5qSbQ5G0uNLzz6PcYdHblegEtnMuONeDoS79oQHqwfhfaB+H5lAW3A1Zw=;\n\t7:zGN/0UHXwxRwdGA2RPc7MD7YS/hGfcln3dw5MsI3xfHuBQVosy1BK2nP9Opn3PWQGIDjTqaJsRzidQm9P7SmpDMhTbBzzTSgW23F1wtdo6f4gU0dryj0vIecIB7GDaKgcqNdfk6wre+uLN01IInOeRDhRTyvxbpo991hOoriG7bC/am1791p4PoUB5HMFj30k81Q9vZALu9uE0WgSabls17ITwM5+R24XhEmZago4hzde5rGlkK+uqnVrGsRv9He" ], "X-Microsoft-Antispam": "UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2250;", "X-Microsoft-Antispam-PRVS": "<DM3PR07MB22507582B3545990EB0E63D6EE2B0@DM3PR07MB2250.namprd07.prod.outlook.com>", "X-Exchange-Antispam-Report-Test": "UriScan:;", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);\n\tSRVR:DM3PR07MB2250; BCL:0; PCL:0; RULEID:; SRVR:DM3PR07MB2250;", "X-Forefront-PRVS": "098076C36C", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(199003)(189002)(2906002)(33646002)(229853001)(68736007)(105586002)(36756003)(7846002)(50226002)(50986999)(5001770100001)(19580395003)(76176999)(106356001)(7736002)(97736004)(19580405001)(101416001)(4326007)(4001430100002)(586003)(47776003)(5003940100001)(81156014)(81166006)(189998001)(76506005)(107886002)(92566002)(8676002)(50466002)(48376002)(2950100001)(77096005)(3846002)(6116002)(66066001)(42186005)(575784001)(2101003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2250; H:localhost;\n\tFPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ", "Received-SPF": "None (protection.outlook.com: caviumnetworks.com does not\n\tdesignate permitted sender hosts)", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-OriginatorOrg": "caviumnetworks.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "21 Jun 2016 05:08:17.6880\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM3PR07MB2250" }, "content": "From: Andrew Pinski <apinski@cavium.com>\n\nelf/elf.h (R_AARCH64_P32_ABS32, R_AARCH64_P32_COPY,\nR_AARCH64_P32_GLOB_DAT, R_AARCH64_P32_JUMP_SLOT,\nR_AARCH64_P32_RELATIVE, R_AARCH64_P32_TLS_DTPMOD,\nR_AARCH64_P32_TLS_DTPREL, R_AARCH64_P32_TLS_TPREL,\nR_AARCH64_P32_TLSDESC, R_AARCH64_P32_IRELATIVE): Define.\n\n[AARCH64] Use ELFW and ElfW macros instead of ELF64 and Elf64 names.\n\n* sysdeps/aarch64/dl-machine.h\n(elf_machine_runtime_setup): Use ElfW(Addr).\n(elf_machine_rela): Use ELFW(R_TYPE).\n(elf_machine_lazy_rel): Likewise.\n\n[AARCH64] Introduce AARCH64_R so we can reuse the reloc code between ILP32 and LP64.\n\n* sysdeps/aarch64/sysdep.h (AARCH64_R): Define.\n* sysdeps/aarch64/dl-irel.h: Include sysdep.h\n(elf_irela): Use reloc names based on AARCH64_R.\n* sysdeps/aarch64/dl-machine.h: Include sysdep.h\n(elf_machine_type_class): Use reloc names based on AARCH64_R.\n(elf_machine_rela): Likewise.\n(elf_machine_lazy_rel): Likewise.\n\nSigned-off-by: Yury Norov <ynorov@caviumnetworks.com>\n---\n sysdeps/aarch64/dl-irel.h | 3 ++-\n sysdeps/aarch64/dl-machine.h | 53 +++++++++++++++++++++++---------------------\n sysdeps/aarch64/sysdep.h | 6 +++++\n 3 files changed, 36 insertions(+), 26 deletions(-)", "diff": "diff --git a/sysdeps/aarch64/dl-irel.h b/sysdeps/aarch64/dl-irel.h\nindex 63a8e50..460454f 100644\n--- a/sysdeps/aarch64/dl-irel.h\n+++ b/sysdeps/aarch64/dl-irel.h\n@@ -23,6 +23,7 @@\n #include <stdio.h>\n #include <unistd.h>\n #include <ldsodefs.h>\n+#include <sysdep.h>\n \n #define ELF_MACHINE_IRELA\t1\n \n@@ -40,7 +41,7 @@ elf_irela (const ElfW(Rela) *reloc)\n ElfW(Addr) *const reloc_addr = (void *) reloc->r_offset;\n const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);\n \n- if (__glibc_likely (r_type == R_AARCH64_IRELATIVE))\n+ if (__glibc_likely (r_type == AARCH64_R(IRELATIVE)))\n {\n ElfW(Addr) value = elf_ifunc_invoke (reloc->r_addend);\n *reloc_addr = value;\ndiff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h\nindex 282805e..a16cb11 100644\n--- a/sysdeps/aarch64/dl-machine.h\n+++ b/sysdeps/aarch64/dl-machine.h\n@@ -21,6 +21,7 @@\n \n #define ELF_MACHINE_NAME \"aarch64\"\n \n+#include <sysdep.h>\n #include <tls.h>\n #include <dl-tlsdesc.h>\n #include <dl-irel.h>\n@@ -190,15 +191,15 @@ _dl_start_user:\t\t\t\t\t\t\t\\n\\\n \");\n \n #define elf_machine_type_class(type)\t\t\t\t\t\\\n- ((((type) == R_AARCH64_JUMP_SLOT ||\t\t\t\t\t\\\n- (type) == R_AARCH64_TLS_DTPMOD ||\t\t\t\t\t\\\n- (type) == R_AARCH64_TLS_DTPREL ||\t\t\t\t\t\\\n- (type) == R_AARCH64_TLS_TPREL ||\t\t\t\t\t\\\n- (type) == R_AARCH64_TLSDESC) * ELF_RTYPE_CLASS_PLT)\t\t\\\n- | (((type) == R_AARCH64_COPY) * ELF_RTYPE_CLASS_COPY)\t\t\\\n- | (((type) == R_AARCH64_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA))\n+ ((((type) == AARCH64_R(JUMP_SLOT) ||\t\t\t\t\t\\\n+ (type) == AARCH64_R(TLS_DTPMOD) ||\t\t\t\t\t\\\n+ (type) == AARCH64_R(TLS_DTPREL) ||\t\t\t\t\t\\\n+ (type) == AARCH64_R(TLS_TPREL) ||\t\t\t\t\t\\\n+ (type) == AARCH64_R(TLSDESC)) * ELF_RTYPE_CLASS_PLT)\t\t\\\n+ | (((type) == AARCH64_R(COPY)) * ELF_RTYPE_CLASS_COPY)\t\t\\\n+ | (((type) == AARCH64_R(GLOB_DAT)) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA))\n \n-#define ELF_MACHINE_JMP_SLOT\tR_AARCH64_JUMP_SLOT\n+#define ELF_MACHINE_JMP_SLOT\tAARCH64_R(JUMP_SLOT)\n \n /* AArch64 uses RELA not REL */\n #define ELF_MACHINE_NO_REL 1\n@@ -237,9 +238,9 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n \t\t void *const reloc_addr_arg, int skip_ifunc)\n {\n ElfW(Addr) *const reloc_addr = reloc_addr_arg;\n- const unsigned int r_type = ELF64_R_TYPE (reloc->r_info);\n+ const unsigned int r_type = ELFW(R_TYPE) (reloc->r_info);\n \n- if (__builtin_expect (r_type == R_AARCH64_RELATIVE, 0))\n+ if (__builtin_expect (r_type == AARCH64_R(RELATIVE), 0))\n *reloc_addr = map->l_addr + reloc->r_addend;\n else if (__builtin_expect (r_type == R_AARCH64_NONE, 0))\n return;\n@@ -257,7 +258,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n \n switch (r_type)\n \t{\n-\tcase R_AARCH64_COPY:\n+\tcase AARCH64_R(COPY):\n \t if (sym == NULL)\n \t break;\n \n@@ -275,15 +276,17 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n \t\t MIN (sym->st_size, refsym->st_size));\n \t break;\n \n-\tcase R_AARCH64_RELATIVE:\n-\tcase R_AARCH64_GLOB_DAT:\n-\tcase R_AARCH64_JUMP_SLOT:\n-\tcase R_AARCH64_ABS32:\n-\tcase R_AARCH64_ABS64:\n+\tcase AARCH64_R(RELATIVE):\n+\tcase AARCH64_R(GLOB_DAT):\n+\tcase AARCH64_R(JUMP_SLOT):\n+\tcase AARCH64_R(ABS32):\n+#ifdef __LP64__\n+\tcase AARCH64_R(ABS64):\n+#endif\n \t *reloc_addr = value + reloc->r_addend;\n \t break;\n \n-\tcase R_AARCH64_TLSDESC:\n+\tcase AARCH64_R(TLSDESC):\n \t {\n \t struct tlsdesc volatile *td =\n \t (struct tlsdesc volatile *)reloc_addr;\n@@ -318,7 +321,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n \t break;\n \t }\n \n-\tcase R_AARCH64_TLS_DTPMOD:\n+\tcase AARCH64_R(TLS_DTPMOD):\n #ifdef RTLD_BOOTSTRAP\n \t *reloc_addr = 1;\n #else\n@@ -329,12 +332,12 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n #endif\n \t break;\n \n-\tcase R_AARCH64_TLS_DTPREL:\n+\tcase AARCH64_R(TLS_DTPREL):\n \t if (sym)\n \t *reloc_addr = sym->st_value + reloc->r_addend;\n \t break;\n \n-\tcase R_AARCH64_TLS_TPREL:\n+\tcase AARCH64_R(TLS_TPREL):\n \t if (sym)\n \t {\n \t CHECK_STATIC_TLS (map, sym_map);\n@@ -343,7 +346,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,\n \t }\n \t break;\n \n-\tcase R_AARCH64_IRELATIVE:\n+\tcase AARCH64_R(IRELATIVE):\n \t value = map->l_addr + reloc->r_addend;\n \t value = elf_ifunc_invoke (value);\n \t *reloc_addr = value;\n@@ -374,16 +377,16 @@ elf_machine_lazy_rel (struct link_map *map,\n \t\t int skip_ifunc)\n {\n ElfW(Addr) *const reloc_addr = (void *) (l_addr + reloc->r_offset);\n- const unsigned int r_type = ELF64_R_TYPE (reloc->r_info);\n+ const unsigned int r_type = ELFW(R_TYPE) (reloc->r_info);\n /* Check for unexpected PLT reloc type. */\n- if (__builtin_expect (r_type == R_AARCH64_JUMP_SLOT, 1))\n+ if (__builtin_expect (r_type == AARCH64_R(JUMP_SLOT), 1))\n {\n if (__builtin_expect (map->l_mach.plt, 0) == 0)\n \t*reloc_addr += l_addr;\n else\n \t*reloc_addr = map->l_mach.plt;\n }\n- else if (__builtin_expect (r_type == R_AARCH64_TLSDESC, 1))\n+ else if (__builtin_expect (r_type == AARCH64_R(TLSDESC), 1))\n {\n struct tlsdesc volatile *td =\n \t(struct tlsdesc volatile *)reloc_addr;\n@@ -392,7 +395,7 @@ elf_machine_lazy_rel (struct link_map *map,\n td->entry = (void*)(D_PTR (map, l_info[ADDRIDX (DT_TLSDESC_PLT)])\n \t\t\t + map->l_addr);\n }\n- else if (__glibc_unlikely (r_type == R_AARCH64_IRELATIVE))\n+ else if (__glibc_unlikely (r_type == AARCH64_R(IRELATIVE)))\n {\n ElfW(Addr) value = map->l_addr + reloc->r_addend;\n if (__glibc_likely (!skip_ifunc))\ndiff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h\nindex 594ab0b..4cb028f 100644\n--- a/sysdeps/aarch64/sysdep.h\n+++ b/sysdeps/aarch64/sysdep.h\n@@ -21,6 +21,12 @@\n \n #include <sysdeps/generic/sysdep.h>\n \n+#ifdef __LP64__\n+#define AARCH64_R(NAME)\t\tR_AARCH64_ ## NAME\n+#else\n+#define AARCH64_R(NAME)\t\tR_AARCH64_P32_ ## NAME\n+#endif\n+\n #ifdef\t__ASSEMBLER__\n \n /* Syntactic details of assembler. */\n", "prefixes": [ "03/27" ] }