From patchwork Thu Apr 30 17:34:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 38881 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 5D9D03938C3C; Thu, 30 Apr 2020 17:35:24 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40048.outbound.protection.outlook.com [40.107.4.48]) by sourceware.org (Postfix) with ESMTPS id 386983894E6C for ; Thu, 30 Apr 2020 17:35:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 386983894E6C 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=CXHuqMyodyhIEkB9+cNEZh9SgnUdX79pMIRQqt4im1k=; b=kyYo5HaWDm5t6DDL+Wi8E/HGvygLc6ueADezXURA2yc2xuB8KkX5kOfR2Fh9k2eEWc4/VUrpuKQo2RzpulBzcBknjFJuLzOGNT0SCz1hdf3REBOhv8Wjfv3oUHS1UddDLup9eXemFzGWQ4WLlN55oKLLw9QCstJ8fJaVcqc2IUQ= Received: from AM6P191CA0046.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::23) by DB8PR08MB5193.eurprd08.prod.outlook.com (2603:10a6:10:e6::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Thu, 30 Apr 2020 17:35:12 +0000 Received: from AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:7f:cafe::de) by AM6P191CA0046.outlook.office365.com (2603:10a6:209:7f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Thu, 30 Apr 2020 17:35:12 +0000 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 AM5EUR03FT030.mail.protection.outlook.com (10.152.16.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Thu, 30 Apr 2020 17:35:12 +0000 Received: ("Tessian outbound ff098c684b24:v54"); Thu, 30 Apr 2020 17:35:12 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 76ab944692ce9b5c X-CR-MTA-TID: 64aa7808 Received: from c2b13d13bf36.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DDE4E1A9-8B87-4581-9AF3-5F6B15158E1E.1; Thu, 30 Apr 2020 17:35:06 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c2b13d13bf36.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 30 Apr 2020 17:35:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GERaP7fl9D1NCMkaFypYShKLQyExxvZwlU6oAvJabFc8e1RdUBBem6OaZB+1oVZKUJntEyMZ3YAlQ08lOTQj7pncyOfahsqPBDKXgDBrZp9M3ZttAp9OxCQnW8aqN5timC2v3Ydd7bR4447WMmh1iZFcY5tMLmvAdgLCO78m8ZwPbYErztgRTSllwZAqbEthr2uY8Coca5qKtJKme+u+hinzm6ogVDUEQtdTfycoV0IJ3FNS9kym3VZDlSyr1o4Vzsz1pGxbaRUDwQ72zqZK+LuWCOEr3I47O1/OC0KpVbKMVL75vq3puYGfVa00fA99f0oaIm5DTHYa7q0SWGJzRQ== 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=CXHuqMyodyhIEkB9+cNEZh9SgnUdX79pMIRQqt4im1k=; b=AhhCYtrgrHy/x2ZOR19YUJuQy0AItm0ZWpSY7f93Cw7y4pHNn2gbd4I4tSxOykQeNESxCxgMPK78QSl7osxbt9WPw+JDyKaM7dCeMYKKiAdvyYm8yH31HA7QhIc/T8br5ddSzWApL0k9Xo/6zIrYS6UGRs7RjpiLyD9HawP7KNQX7CXphneP0Kn6qbhAOzUIAnP0CnjvDjdI20ThXtStbtTDmbObzMvo6iXXUgVb9UUUCyE7wYlBX5+tedKVMsFmY5fFT7EE6VQxKpxZzOkREVogmzlnzIvf55wOcp+eaxw95xuc6XeFZaOnCtMGm3kayFHLqDPu9Ig+J31r+7o5rg== 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=CXHuqMyodyhIEkB9+cNEZh9SgnUdX79pMIRQqt4im1k=; b=kyYo5HaWDm5t6DDL+Wi8E/HGvygLc6ueADezXURA2yc2xuB8KkX5kOfR2Fh9k2eEWc4/VUrpuKQo2RzpulBzcBknjFJuLzOGNT0SCz1hdf3REBOhv8Wjfv3oUHS1UddDLup9eXemFzGWQ4WLlN55oKLLw9QCstJ8fJaVcqc2IUQ= 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 AM6PR08MB4897.eurprd08.prod.outlook.com (2603:10a6:20b:c2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19; Thu, 30 Apr 2020 17:35:05 +0000 Received: from AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::49fd:6ded:4da7:8862]) by AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::49fd:6ded:4da7:8862%7]) with mapi id 15.20.2958.020; Thu, 30 Apr 2020 17:35:05 +0000 Date: Thu, 30 Apr 2020 18:34:58 +0100 From: Szabolcs Nagy To: libc-alpha@sourceware.org Subject: [PATCH 00/12] aarch64: branch protection support Message-ID: <20200430173458.GV29015@arm.com> Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: SN6PR04CA0095.namprd04.prod.outlook.com (2603:10b6:805:f2::36) To AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by SN6PR04CA0095.namprd04.prod.outlook.com (2603:10b6:805:f2::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Thu, 30 Apr 2020 17:35:04 +0000 X-Originating-IP: [217.140.106.55] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: cb65f080-4508-4e6d-59ca-08d7ed2cd628 X-MS-TrafficTypeDiagnostic: AM6PR08MB4897:|AM6PR08MB4897:|DB8PR08MB5193: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6430;OLM:6430; X-Forefront-PRVS: 0389EDA07F X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: GUhx5kZ5FF0AAr6x3C+iHO5cM5HuEle8m2UmD6KRugy/gkqDXlVLV7VAaJE6pwQS8ghB6fzsDbuxabdbYl10JQwuk1VeQzAkocXDg4MLxLBfxTgMYF9pTZUZ0a32vrzmlN6Ea2rLpVU8Gha1rLGf/OHEVRz8BhOQ9t4iLWSXulkGoy6+IvQVYZX0YF/XHRxSsVQlzZVwC0MW0MGqq+MyOR4U71nLSusELbZLGAEm5POahUmB9xRa5nd/Is3iHFq0Pk8tp989l2zyL2AJXly3FU4eOJJzBuU8oSF6emFpLcm9bEi/vvAghE1N3gv00MCkO+Icv6WFZb42N0r8kNbFCpKF2cy1VYnplqHpvWcHeqEH168XRT5WwjIuWSeeWgKDA0gKonnelRU1IN316JCBnhDNeLy1ZeEUwN6wew8OWgjDR3JdyVEf95PM0GExuikSGWrpC+RUmgWhLZo619kDmKo2lyornfL/UPajrG/g/Cg2nYzZRT1frHn+/bag3QXHiYkkcWpy+eS2KPVxVdpEJQ== 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)(376002)(366004)(136003)(39860400002)(396003)(1076003)(33656002)(36756003)(66946007)(66476007)(966005)(66556008)(55016002)(478600001)(5660300002)(8886007)(186003)(7696005)(16526019)(52116002)(26005)(6916009)(86362001)(44832011)(8936002)(6666004)(2906002)(4326008)(956004)(8676002)(2616005)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: vAaHGTT92LADSu7pzSaNmaDa6RwL1AnGdr1AHdjNTgh1zC+SnkiTQkcavkC+Y1wtu9WtsBBXGNFjq2JkOzOij96MrIzdnEZwOyqd8ss157M4tqx0YxkIyOMGUqOw96jOGX0VjSX3Dh1Wzk+aJ/F3qk5SHWo6jQP6XCFdorW6q8uiU050rN3cI6U7WlT9WBxZZ8jeEyGBKcGHnf+x+HUO5XXwBon/LC7cqd72vMV7CPesJytqZSKlkdIVrsH2BCZDdWILbd50+9DMvykFg+L1C8mevlA6ZMsQkNB6QKCUS9cP3zFdgyrtIlDDF4xMqZNLVJ1vFMyu5bb9oVSX2YC2Frg5S+/pY8UaCR0n3M0ere+YD7TBfGS1lpoO5NUDyW80G/rbWr75j3qOjK/8Wf58nHoi2F341eZDaxQVQMnerHsZ0eI6jq7EV1uuuOVBm2Wyz2stVIz0QF4oYskcxxH1sgmkkHglITYKr9HpIL5KqzeVPlOoa5m/QxQLMs5Yj00E4IUZqlbFgUNpomV78O24bnjoqC6moX09vk2XObjoVaErN+ZaiS/gikIOprLtRvx0fOqBwXPdBIbFE/oe++kFFrbxeCYl4zOB2tsV385cmBIURi8z45/Wm4xmEUKYDoJSHdYYMhfWvX5H7ns6YbCOg7sQAsNNsBCzuoQ+odgT/n0zsUxJZ3HRwySfxeFLPTuSQdUowdq3tAUtzcso3ljaTQKTPzrmiBp3TzA9hoFMyvn9dx5fg6+iXZe7D4R9muuqL9Bkji3cqlOsk/Xe9LgE7AFvGkRwUx/8Qaxvpd6tUqg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4897 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: AM5EUR03FT030.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)(396003)(39860400002)(346002)(376002)(136003)(46966005)(8886007)(82740400003)(70586007)(47076004)(966005)(70206006)(36906005)(8936002)(2906002)(36756003)(82310400002)(316002)(478600001)(33656002)(81166007)(356005)(86362001)(8676002)(2616005)(4326008)(6666004)(5660300002)(44832011)(956004)(6916009)(1076003)(26005)(16526019)(336012)(7696005)(186003)(55016002); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 42ba8aac-1d88-4a15-1679-08d7ed2cd1d9 X-Forefront-PRVS: 0389EDA07F X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x1ChqLy/fPOqSaWTpEZz53/LmJiYXXq5pmmoAjCz0KrwasGMF3g1tKBVFqeaXPPsNijSOXlwGorFQSS177BlbvkNTcwy+IHPyibf07Q4wBU5NDK+96E9gFMK5puQNWLSPve6M9omrjqD8IJqfMVFiAzsqphHJkpVezryQPzg8k1WseGRG1UHdTLjMLhec5yxHYEDr6eQ0LyiPCQlaI/kvnpAGlw43Xpa+BVCdDiqKVcPsq1sZs1RaqqGOxKIaOK2+8rqoWANAfg/e8zPJidyri/jfguPTUz4y9bLGn9/Pby09hJwj9VI+mEIH2oyWG3peZh2bQExrD+5OBrJtg9dzzhEDMWJrATREIyj+U2bzDQrA5AwBUEsJI1RexnnzU3zUX+DXrMDuvwZ0ZYA1amj6tmQjRfvRBhmxyxFp/xpU14w4pd8oX0a4LVPbW7413s6BoK8+s1G0fnu9o1lV4YSm/pC8xvGg0qQ0a6yA6kjKqBVPzak3ctgG2SgtJ8eF6l9K0H8+Jjam+KJBmQs+3Sp6DV8CPpLCsJ3Ma2Z2Oz6xwUytY9EfQpqwzXTHY16Q/Pov+MuHkpUN6aoKgGJMAeV6w== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2020 17:35:12.2677 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb65f080-4508-4e6d-59ca-08d7ed2cd628 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5193 X-Spam-Status: No, score=-18.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_3, 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: , Cc: Sudakshina Das 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. The patch series is not finalized: - PAC-RET may need to be configure checked and disabled if user did not explicitly configured glibc with standard branch protection, because it can have compatibility problems: requires recent libgcc for working unwinding. - The GNU property ELF marking can trigger ugly linker warnings before binutils-2.33 so probably BTI should not be added unconditionally either. - Changed the logic of how NOTEs are processed (which may affect x86 too) because I only wanted to handle PT_GNU_PROPERTY not PT_NOTE on aarch64. (Otherwise note handling is similar to the x86 code.) - Some changes may be better handled by target hooks (e.g. moved abi-note.S to C and copied the syscall template just to add the BTI property NOTE) - The -pg profiling abi with PAC-RET is not finalized: _mcount currently may get a signed return address as argument so either it has to remove it or gcc -pg has to be fixed not to pass such argument to _mcount. (glibc gmon tests currently fail) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94791 - Redefined RETURN_ADDRESS for aarch64, this may change depending on the ruling about https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891 - I was considering separating out the bits that are necessary for just enabling BTI to work in user binaries from changes that are needed for building glibc itself with BTI, but decided against it as it needs more work, cannot work with static linking and unlikely to be very useful. Ran cross tests in qemu using the linux bti patches from git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git i did some changes to the posted patches and rerunning the tests now, the previous results: FAIL: gmon/tst-gmon-gprof FAIL: gmon/tst-gmon-pie-gprof FAIL: gmon/tst-gmon-static-gprof _mcount ABI with pac-ret FAIL: misc/tst-atomic FAIL: nptl/tst-cancel7 FAIL: nptl/tst-cancelx7 not reproducible issues FAIL: elf/tst-ldconfig-ld_so_conf-update not sure, likely something in my cross test setup makes /etc/ld.so.cache not being reread after a change (nfs?). FAIL: elf/tst-audit14 FAIL: elf/tst-audit15 FAIL: elf/tst-audit16 missing /dev/stdout (even if i have /dev/stdout these fail because reading /proc/self/fd/1 fails in my cross test setup) FAIL: io/ftwtest FAIL: libio/tst-wfile-sync FAIL: nptl/test-cond-printers FAIL: nptl/test-condattr-printers FAIL: nptl/test-mutex-printers FAIL: nptl/test-mutexattr-printers FAIL: nptl/test-rwlock-printers FAIL: nptl/test-rwlockattr-printers cross test issues Sudakshina Das (3): aarch64: Add BTI landing pads to assembly code aarch64: support BTI enabled binaries aarch64: Configure option to build glibc with branch protection Szabolcs Nagy (9): elf.h: Add PT_GNU_PROPERTY elf.h: add aarch64 property definitions aarch64: Rename place holder .S files to .c aarch64: fix swapcontext for BTI aarch64: fix RTLD_START for BTI aarch64: fix syscalls for BTI Rewrite abi-note.S in C. aarch64: Add pac-ret support to asm files aarch64: redefine RETURN_ADDRESS to strip PAC configure | 14 +- configure.ac | 6 + csu/{abi-note.S => abi-note.c} | 24 +-- elf/dl-load.c | 2 + elf/elf.h | 7 + elf/rtld.c | 2 + sysdeps/aarch64/Makefile | 8 + sysdeps/aarch64/__longjmp.S | 1 + .../aarch64/{bsd-_setjmp.S => bsd-_setjmp.c} | 0 .../aarch64/{bsd-setjmp.S => bsd-setjmp.c} | 0 sysdeps/aarch64/configure | 31 ++++ sysdeps/aarch64/configure.ac | 19 ++ sysdeps/aarch64/crti.S | 12 ++ sysdeps/aarch64/crtn.S | 10 ++ sysdeps/aarch64/dl-bti.c | 54 ++++++ sysdeps/aarch64/dl-machine.h | 5 +- sysdeps/aarch64/dl-prop.h | 170 ++++++++++++++++++ sysdeps/aarch64/dl-tlsdesc.S | 13 ++ sysdeps/aarch64/dl-trampoline.S | 19 +- sysdeps/aarch64/linkmap.h | 1 + sysdeps/aarch64/memchr.S | 1 + sysdeps/aarch64/memcmp.S | 1 + sysdeps/aarch64/memcpy.S | 1 + sysdeps/aarch64/{memmove.S => memmove.c} | 0 sysdeps/aarch64/memrchr.S | 1 + sysdeps/aarch64/memset.S | 1 + sysdeps/aarch64/multiarch/memchr_nosimd.S | 1 + sysdeps/aarch64/multiarch/memcpy_falkor.S | 1 + sysdeps/aarch64/multiarch/memcpy_thunderx.S | 1 + sysdeps/aarch64/multiarch/memcpy_thunderx2.S | 1 + sysdeps/aarch64/multiarch/memmove_falkor.S | 1 + sysdeps/aarch64/multiarch/memset_base64.S | 1 + sysdeps/aarch64/multiarch/memset_kunpeng.S | 1 + sysdeps/aarch64/multiarch/strlen_asimd.S | 1 + sysdeps/aarch64/rawmemchr.S | 1 + sysdeps/aarch64/setjmp.S | 1 + sysdeps/aarch64/start.S | 2 + sysdeps/aarch64/strchr.S | 1 + sysdeps/aarch64/strchrnul.S | 1 + sysdeps/aarch64/strcmp.S | 1 + sysdeps/aarch64/strcpy.S | 1 + sysdeps/aarch64/strlen.S | 1 + sysdeps/aarch64/strncmp.S | 1 + sysdeps/aarch64/strnlen.S | 1 + sysdeps/aarch64/strrchr.S | 1 + sysdeps/aarch64/sysdep.h | 53 +++++- sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 1 + sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h | 1 + sysdeps/unix/sysv/linux/aarch64/bits/mman.h | 31 ++++ sysdeps/unix/sysv/linux/aarch64/clone.S | 1 + .../unix/sysv/linux/aarch64/cpu-features.c | 3 + .../unix/sysv/linux/aarch64/cpu-features.h | 1 + sysdeps/unix/sysv/linux/aarch64/getcontext.S | 1 + sysdeps/unix/sysv/linux/aarch64/ioctl.S | 1 + .../unix/sysv/linux/aarch64/libc-__read_tp.S | 1 + sysdeps/unix/sysv/linux/aarch64/setcontext.S | 1 + sysdeps/unix/sysv/linux/aarch64/swapcontext.S | 15 +- .../sysv/linux/aarch64/syscall-template.S | 20 +++ sysdeps/unix/sysv/linux/aarch64/syscall.S | 1 + sysdeps/unix/sysv/linux/aarch64/umount2.S | 25 +++ sysdeps/unix/sysv/linux/aarch64/vfork.S | 1 + 61 files changed, 564 insertions(+), 16 deletions(-) rename csu/{abi-note.S => abi-note.c} (85%) 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%) create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/mman.h create mode 100644 sysdeps/unix/sysv/linux/aarch64/syscall-template.S create mode 100644 sysdeps/unix/sysv/linux/aarch64/umount2.S