From patchwork Wed Jul 8 12:10:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 39964 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6B9253861865; Wed, 8 Jul 2020 12:10:28 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43]) by sourceware.org (Postfix) with ESMTPS id 2B7203861834 for ; Wed, 8 Jul 2020 12:10:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2B7203861834 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Szabolcs.Nagy@arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GS7jhmWLGjF4OiGmzs1wX6zE1mxjU2W+K09xfcM9VTY=; b=WnN7SDJo8rS5pi0/gi83VzNr0HSnQLkRXvxl7o+ubb8vIBbImGz/EOWgaoTcJbQTJV76Ust+mYducJZfkkC0kll9IYi1pXm1K5xPOKh8B3xZ5GczBMo7I2tOkN+7H4V+j5wpEAXXfho+KrOqnf1C+Nm1cheWBPKme1AEBDY3DI4= Received: from DB6PR0601CA0001.eurprd06.prod.outlook.com (2603:10a6:4:7b::11) by DB7PR08MB3291.eurprd08.prod.outlook.com (2603:10a6:5:24::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.28; Wed, 8 Jul 2020 12:10:21 +0000 Received: from DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:7b:cafe::e3) by DB6PR0601CA0001.outlook.office365.com (2603:10a6:4:7b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Wed, 8 Jul 2020 12:10:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; sourceware.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT064.mail.protection.outlook.com (10.152.21.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24 via Frontend Transport; Wed, 8 Jul 2020 12:10:21 +0000 Received: ("Tessian outbound a4b10e5b482d:v62"); Wed, 08 Jul 2020 12:10:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a65a06c5d88b69a4 X-CR-MTA-TID: 64aa7808 Received: from d8f81de233bc.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DDC5473F-DDDF-4597-A1CE-2DDFC99D2EA9.1; Wed, 08 Jul 2020 12:10:15 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d8f81de233bc.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 08 Jul 2020 12:10:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=khc38S8sQ0dDE16N4h+OI6pRcVmL6S2Y31HcFV6Gni/4WWKHSbwDh03WYYdcA/V81eP/vOZ72PPcV0y9/1a9AasaDphSDk7k4M3rJgl+f2/fvGb4j9V0+q2b4QexZqzZHDJAHLLo/qEQ3d+nGUG1CboeuDQ6bQYOWBjDF9GhCdnqRrO52BY7WugvA1H5vLdRsIkHkPyKECTvbwPvm0Qljje3bQr4xXExz3SXc8NwmMqZeSjlslex1i0htyH8gWutbCMvVxi4WZDoRG6onU0E2GOR4+mIQ1JdejV4tSeWURTQzNOq1kpwgrSkuVJC10vxx7EOizgWER9bZSreuw5xSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GS7jhmWLGjF4OiGmzs1wX6zE1mxjU2W+K09xfcM9VTY=; b=c3fK/Ekwx6zrMupzfeqgz5HgHhEnomHNzI3vK7DhtfNLyTb7RUs9Z5PJgOWU9Hd0iELDPu2UWviAVXV0WqzWgfqIf43JdRB4rXWK6+quQJB3rQOd+1oPulTCcw2XBzAvR7VCdvgLfOxZIfIZG2ksy1pszUdOELN06spR4ljDr3GlSATV05G1wR6kaNTv4ax8cGqMp4WhxmhFwO1oZwC73463x5r6Z9u8Qzv6TxOTKszw8X6S2vb8BE/XCBWRZfGrOra2HPt2lO2bkhlr3dadlguW5WsGmLMON3dXzCqhvpo7aoeDOG2HMF6iWI3bOlTfbTZPu1weoQdmFX2NEeTGtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GS7jhmWLGjF4OiGmzs1wX6zE1mxjU2W+K09xfcM9VTY=; b=WnN7SDJo8rS5pi0/gi83VzNr0HSnQLkRXvxl7o+ubb8vIBbImGz/EOWgaoTcJbQTJV76Ust+mYducJZfkkC0kll9IYi1pXm1K5xPOKh8B3xZ5GczBMo7I2tOkN+7H4V+j5wpEAXXfho+KrOqnf1C+Nm1cheWBPKme1AEBDY3DI4= Authentication-Results-Original: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=arm.com; Received: from AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) by AM6PR08MB4136.eurprd08.prod.outlook.com (2603:10a6:20b:a3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.23; Wed, 8 Jul 2020 12:10:14 +0000 Received: from AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::2404:de9f:78c0:313c]) by AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::2404:de9f:78c0:313c%6]) with mapi id 15.20.3153.031; Wed, 8 Jul 2020 12:10:14 +0000 From: Szabolcs Nagy To: libc-alpha@sourceware.org Subject: [PATCH v7 00/14] aarch64: branch protection support Date: Wed, 8 Jul 2020 13:10:08 +0100 Message-Id: X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: LO2P265CA0004.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::16) To AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (217.140.106.53) by LO2P265CA0004.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.21 via Frontend Transport; Wed, 8 Jul 2020 12:10:14 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [217.140.106.53] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e10c557b-7ef0-48f9-8fd4-08d82337e368 X-MS-TrafficTypeDiagnostic: AM6PR08MB4136:|DB7PR08MB3291: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:4502;OLM:4502; X-Forefront-PRVS: 04583CED1A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: KMzxLwq+gvNVchUVQiyBETWclcyWBrXHE8dFvJGTEVm+/wCcsjKKFuB1GAF0lVaL0+j9HkwGwqdUWQLWpf3mFP4AjGdK5UMHaIdCwTMWA2nMj5vzGKUf+tk7wBizuhJzdl52vjFlqNiUX3nlzlBay/FTn0ejhXetRj7sh4/Xp42rZvo8qUUJRYLkqEHNOgMtfa6HmphDTT47ghzed6i2nlgDkog5MtIadN5CDfUKwo9ZjAUQYJ5RDC9vu4bkxglR7tKdRldJ2lFUvj+0EtBw4+u4m6gXm3mO+sLBUJ5S7jThy69fBycfJZRR2jZyhbJOUg5SOVs/BBclpnaX13+LilW69RYaCv6npuu2w42hc0T5exhHxfcKBNXCreNb35eiVs2F0KI+Kr2GtSXRFA/MKbegBE3OhA3e36lvwb/nuwRxZw9V1hrqvaII9uTjqnUe5ebW3ULoQFdp/pjUfytwPw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB3047.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(396003)(366004)(376002)(136003)(966005)(478600001)(26005)(6666004)(6506007)(6486002)(6512007)(186003)(16526019)(52116002)(316002)(69590400007)(86362001)(8936002)(8676002)(2906002)(6916009)(66556008)(956004)(2616005)(66476007)(44832011)(36756003)(66946007)(83380400001)(5660300002)(136400200001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: IhyCmzx2EDprZ3TKph23LpqCmbukajp1uAzR2J0bcRSAmbKUPHrocy1U96747VMUq3iREz/o9ywvSAik5G3MGhafKBrJT5QGzxwfDkeDrB8zqRHO4sx4mobBm3PDp6HXm+omK6/eLoeYHW3NKycKmSqYAIG3bEpyqYg8HxD699k/9FFyrLYao6uNebUJxG5/cpu6DVZkEDSLFDKE/M1sWa+JmQtd5P+ZQTfCSUxCi8l19UFkM4AgotfswkV+62YkjExUsyPPuL/irSHVvlXyWVSAEMlMe/s1nz/8w9TlXq/YwphW1Zam9i+nk3Ttp77qWlNs0CbuF68eXU24QH3oXnyyG1pV8orX7bRKs1teZAEEzR+5YrVCpJj2l57XlSAvx++gaSZU2u7T3la2UnXEiIm5VsXBD5GR+m/dsH9t4Ffq9URoWn7wwui5Q1kPYo1cMZIl6jSYtZbIMn1HTQauoNC7QFfc8xK/h9C1yOEB8DaHkDSETo3ea8+44qEVc49E X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4136 Original-Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(396003)(376002)(136003)(346002)(46966005)(70206006)(82740400003)(70586007)(6666004)(26005)(2616005)(956004)(6916009)(356005)(69590400007)(81166007)(16526019)(82310400002)(47076004)(6486002)(186003)(6512007)(8676002)(83380400001)(44832011)(478600001)(336012)(2906002)(5660300002)(36756003)(6506007)(966005)(86362001)(316002)(8936002)(136400200001); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 8410e33c-75b4-4df1-73b4-08d82337deca X-Forefront-PRVS: 04583CED1A X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F/fc5tOuxQJvqDKX4YSF1F48yqS9gPJXpxpw5z++ERbzX8sLy/E3rc7/mPjc00myMFfMJ7EVoQnwq/MrgKG0oxh1oLHMaB1yKY6Ip5Xkt7SOqmhbZXUMiF/375jE78oRKNj8AtJNCqE8+qYW51hnhG8oAKnmr8ZRzf7yzxgw9zokf17NUr/3EoRnH05rBhT7qzEzWCkllr3ZEEDFBgxLq3TmVvfHoXBpgud2WNEAt5aZrogYH57/GTFtmkxEBFG+tsuJfqjoC2CsSQ2Uykq6FjPiRSiEa7SoqjU1mOtwqQtqVKoD3tE05C5woZhuUweBUFbQBcz5HeIn/247ARX1gePqQwFpsjoDfLza5K3/aXbfhZr0tBdQoE8yNmwjQgauztChYxpP9AqD0vtBh5sUt7xiwl+FhoS3ctS6CxPw3Dkz1OOjpiQq8r4bygZmzg+VvJ4VlNUwVZbZrUZ3+S187Y+V+TwP7jpYkcnphCuOFasCWt+e7mD8Q4EMbfO7OP8JKHdaLYgWYzB2v6VQaPboSOUCrB5IL9oI1xm74AaORfY= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2020 12:10:21.8319 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e10c557b-7ef0-48f9-8fd4-08d82337e368 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT064.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3291 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_SHORT, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Indirect branch target identification (BTI, armv8.5-a) and return address signing using pointer authentication (PAC-RET, armv8.3-a) can be used for security hardening against some control flow hijack attacks. In gcc these are exposed via -mbranch-protection=bti+pac-ret which is the same as -mbranch-protection=standard and gcc can be configured via --enable-standard-branch-protection to use them by default. BTI requires libc support: it is an opt-in feature per ELF module via a GNU property note that the dynamic linker has to check and mprotect the executable pages with PROT_BTI. And libc objects that are statically linked into user binaries must be BTI compatible for the GNU property note to be present. (The property note is handled by linux for static linked executables and for the ld.so.) PAC-RET does not require libc runtime support, but, just like BTI, it can be used in libc binaries for security hardening. There are unresolved GCC PAC-RET and BTI issues, but it is possible to support GCC 10 even without those fixed so this patch set includes two PAC-RET patches that are GCC bug workarounds and outlined atomics in libgcc in current GCC 10 is not BTI compatible so for testing 'CC=gcc -mno-outline-atomics' was used. User code will likely need a fixed GCC for deploying branch protection. The PAC-RET related GCC discussion is at https://gcc.gnu.org/pipermail/gcc-patches/2020-June/547402.html The HWCAP_BTI and PROT_BTI values depend on linux changes that are scheduled for the Linux 5.8 release. I plan to commit this set to glibc 2.32. The patches are also available in the nsz/pacbti-v7 branch. v7: - use sizeof in abi-note.S instead of int literals. - move bti c after cfi_startproc. - use size_t/void* instead of ElfW(Addr) in dl-bti.c. - NEWS fixes. - add reviewed-by, now only the first and last patches need review. v6: - reordered two patches: renaming empty .S to .c and BTI fix for .S. - the BTI fix for .S now fixes some .S that are conditionally empty (and thus conditionally missed BTI marking) - added a new patch to catch BTI incompatible objects at link time. - merged the PT_GNU_PROPERTY and PT_NOTE rtld fixes (from H.J.Lu). v5: - split the BTI runtime enablement patch (07) and added the PT_NOTE handling cleanup patch from H.J.Lu. - PATCH 07: rtld changes for PT_GNU_PROPERTY handling. - PATCH 08: rtld changes to cleanup PT_NOTE handling: i changed the PHDR processing to scan backward. - PATCH 09: updated the property handling code. v4: - changed plan not to wait for final resolution on gcc issues. gcc-10 can be made to work. - the elf.h changes are now committed. - added Reviewed-by annotations. - PATCH 01: use ElfW(Nhdr). (this has been sent already on its own). - PATCH 02: use #define HAVE_AARCH64_BTI 0 (and not #undef). - PATCH 03: use #if HAVE_AARCH64_BTI (and not #ifdef). - PATCH 07: use errno in _dl_signal_error and not EINVAL. - PATCH 07: more comment about the second pass over program headers. - PATCH 08: use #define HAVE_AARCH64_PAC_RET 0. - PATCH 09: use #if HAVE_AARCH64_PAC_RET. - PATCH 10: _mcount patch is written so it's backportable. no Reviewed-by because this changed significantly. - PATCH 11: strip_pac is moved to PATCH 10 no Reviewed-by because this changed significantly. - PATCH 12: new patch: news entry. v3: - instead of END_FILE add note in sysdep.h. - dropped the syscall template patch (END_FILE is not needed). - PATCH 05: remove END_FILE macros. - PATCH 05: clarify the GNU_PROPERTY macro and related defines. - PATCH 09: separate hook for PT_GNU_PROPERTY handling. - PATCH 09: modified rtld.c and dl-load.c accordingly. - PATCH 09: rename linkmap->bti_guarded to linkmap->bti. - PATCH 13: new patch, update _mcount for pac-ret. - fixed TODOs except for the last two patches, which are written for current gcc behaviour. - I'm waiting for a review of PATCH 03 and welcome comments on the rest of the set, which i consider done unless there are changes on the gcc or linux side. v2: - removed --enable-branch-protection-standard configure option, branch protection in glibc is enabled based on the compiler default. - GNU property notes are disabled if compiler/linker has no support. - pac-ret is enabled based on compiler defaults. - PATCH 03: cleaner csu/abi-note.c and fix arm/abi-note.S. - PATCH 04: new (bti config check). - PATCH 09: drop the umount2 change. - PATCH 10: use bool instead of int. - PATCH 10: fix code style and comments. - PATCH 10: add linux version requirement to description. - PATCH 11: new (pac-ret config check). - PATCH 12: only use pac-ret if HAVE_AARCH64_PAC_RET. - PATCH 12: fix pac-ret use in dl-trampoline.S. - PATCH 13: use static inline instead of macro, update description. - addressed some of the reviews from Adhemerval, the remaining ones are marked as TODO in the descriptions and will require another test run or agreement on the design. Sudakshina Das (2): aarch64: Add BTI support to assembly files aarch64: enable BTI at runtime Szabolcs Nagy (12): Rewrite abi-note.S in C. aarch64: configure test for BTI support aarch64: Rename place holder .S files to .c aarch64: fix swapcontext for BTI aarch64: fix RTLD_START for BTI rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling aarch64: ensure objects are BTI compatible aarch64: configure check for pac-ret code generation aarch64: Add pac-ret support to assembly files aarch64: fix pac-ret support in _mcount aarch64: redefine RETURN_ADDRESS to strip PAC aarch64: add NEWS entry about branch protection support NEWS | 11 +++ config.h.in | 6 ++ csu/{abi-note.S => abi-note.c} | 25 +++-- elf/dl-load.c | 94 +++++++++++++++++-- elf/rtld.c | 14 ++- sysdeps/aarch64/Makefile | 12 +++ .../aarch64/{bsd-_setjmp.S => bsd-_setjmp.c} | 0 .../aarch64/{bsd-setjmp.S => bsd-setjmp.c} | 0 sysdeps/aarch64/configure | 83 ++++++++++++++++ sysdeps/aarch64/configure.ac | 41 ++++++++ sysdeps/aarch64/crti.S | 10 ++ sysdeps/aarch64/crtn.S | 8 ++ sysdeps/aarch64/dl-bti.c | 54 +++++++++++ sysdeps/aarch64/dl-machine.h | 5 +- sysdeps/aarch64/dl-prop.h | 63 +++++++++++++ sysdeps/aarch64/dl-tlsdesc.S | 11 +++ sysdeps/aarch64/dl-trampoline.S | 20 ++++ sysdeps/aarch64/linkmap.h | 3 + sysdeps/aarch64/machine-gmon.h | 3 +- sysdeps/aarch64/{memmove.S => memmove.c} | 0 sysdeps/aarch64/multiarch/memset_emag.S | 2 + sysdeps/aarch64/multiarch/memset_falkor.S | 1 + sysdeps/aarch64/multiarch/memset_generic.S | 2 + sysdeps/aarch64/multiarch/rtld-memset.S | 2 + sysdeps/aarch64/start.S | 1 + sysdeps/aarch64/sysdep.h | 58 +++++++++++- sysdeps/arm/abi-note.S | 8 -- sysdeps/generic/dl-prop.h | 23 +++-- sysdeps/generic/ldsodefs.h | 4 + sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h | 1 + sysdeps/unix/sysv/linux/aarch64/bits/mman.h | 31 ++++++ .../unix/sysv/linux/aarch64/cpu-features.c | 3 + .../unix/sysv/linux/aarch64/cpu-features.h | 2 + sysdeps/unix/sysv/linux/aarch64/swapcontext.S | 14 ++- sysdeps/x86/dl-prop.h | 47 ++-------- 35 files changed, 575 insertions(+), 87 deletions(-) rename csu/{abi-note.S => abi-note.c} (89%) rename sysdeps/aarch64/{bsd-_setjmp.S => bsd-_setjmp.c} (100%) rename sysdeps/aarch64/{bsd-setjmp.S => bsd-setjmp.c} (100%) create mode 100644 sysdeps/aarch64/dl-bti.c create mode 100644 sysdeps/aarch64/dl-prop.h rename sysdeps/aarch64/{memmove.S => memmove.c} (100%) delete mode 100644 sysdeps/arm/abi-note.S create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/mman.h