From patchwork Wed Aug 12 14:40:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40250 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 E93AC384BC14; Wed, 12 Aug 2020 14:50:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E93AC384BC14 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243853; bh=8gl29Ptqw+9UrfBpdyWRM8Z0Q+53zOMz8bsrhE/NinQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Gbv3MW0/HuorJLDKG4GdSKeFQEazjBcos/DPGs4pFchUUlN0Ey3K7GBNTTHJVEfd0 icNlwuWjDZcFaI2CQTG4X2u43lrPtZB7BiHhmx2IH+anWlWzILQsPR9dls9bT+8/2a zRtaU56tIcjDcQuN5lg8qdpobHh6ALOLi2zHxaiw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45]) by sourceware.org (Postfix) with ESMTPS id D991E38618E8 for ; Wed, 12 Aug 2020 14:50:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D991E38618E8 IronPort-SDR: qAFOvNlmKxKfrIuSF3lP5EQ3dZjNwX8cHd7q/IOlOhYUQ9HSNx4Z1Tcpf9027yWq+dS20z4Fgk sqaOJCulZ60SmrBhokeksDCnsHndypNwq+EIpLIalpxbt2XDZ2IbZKIMLkrRblS3gHplGgvNUB 13U7hxHCWASXSr71dDzeE/5dysUTvX+kPjH2cVWCe9KSDAgV3gpNgIq8JHgB1kLQI+53KW1gyi xkhOLHjFUjxw8jGcjhuKde2izM9cOodtS4cVeuXVcFKPlY90JjyZnptYJFgJWHUwWNw+YL61Ey 7F0= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="145996628" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:50:48 +0800 IronPort-SDR: yD3FdAXto91U0kNFqVE6hOtHCyHj28cfAVNjW0T4AcM3DklfaPPdtfCqe8ZYZWMgFmqPY1oDvN YRk3OA/IwAUg== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:39 -0700 IronPort-SDR: ZS3xZ9IGkyKOo1SRKTVARl86yvpj2YRyP/GcD/JXyIA8CU91ZwL2BID68HyIGD3gSc7UXRJo5Y hioakIWG3q2g== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:50:46 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 01/18] RISC-V: Use 64-bit time_t and off_t for RV32 and RV64 Date: Wed, 12 Aug 2020 07:40:47 -0700 Message-Id: <0d971dd2586a87288827249110f55c469ecca9d4.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Using the original glibc headers under bits/ let's make small modifications to use 64-bit time_t and off_t for both RV32 and RV64. For the typesizes.h, here are justifications for the changes from the generic version (based on Arnd's very helpful feedback): - All the !__USE_FILE_OFFSET64 types (__off_t, __ino_t, __rlim_t, ...) are changed to match the 64-bit replacements. - __time_t is defined to 64 bit, but no __time64_t is added. This makes sense as we don't have the time64 support for other 32-bit architectures yet, and it will be easy to change when that happens. - __suseconds_t is 64-bit. This matches what we use the kernel ABI for the few drivers that are relying on 'struct timeval' input arguments in ioctl, as well as the adjtimex system call. It means that timeval has to be defined without the padding, unlike timespec, which needs padding. Reviewed-by: Maciej W. Rozycki --- .../unix/sysv/linux/riscv/bits/environments.h | 81 +++++++++++++++++++ sysdeps/unix/sysv/linux/riscv/bits/time64.h | 36 +++++++++ sysdeps/unix/sysv/linux/riscv/bits/timesize.h | 22 +++++ sysdeps/unix/sysv/linux/riscv/kernel_stat.h | 23 ++++++ 4 files changed, 162 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/riscv/bits/environments.h create mode 100644 sysdeps/unix/sysv/linux/riscv/bits/time64.h create mode 100644 sysdeps/unix/sysv/linux/riscv/bits/timesize.h create mode 100644 sysdeps/unix/sysv/linux/riscv/kernel_stat.h diff --git a/sysdeps/unix/sysv/linux/riscv/bits/environments.h b/sysdeps/unix/sysv/linux/riscv/bits/environments.h new file mode 100644 index 0000000000..9ee21a217d --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/environments.h @@ -0,0 +1,81 @@ +/* Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V7_ILP32_OFFBIG -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFFBIG -1 +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* RISC-V requires 64-bit off_t */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFF32 -1 + +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We can never provide environments with 64-bit wide pointers. */ +# define _POSIX_V7_LP64_OFF64 -1 +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LP64_OFF64 -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +#endif /* __WORDSIZE == 32 */ diff --git a/sysdeps/unix/sysv/linux/riscv/bits/time64.h b/sysdeps/unix/sysv/linux/riscv/bits/time64.h new file mode 100644 index 0000000000..139a7c7335 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. RISC-V version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TIME64_H +#define _BITS_TIME64_H 1 + +/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ + +#if __WORDSIZE == 64 +/* If we already have 64-bit time type then use it. */ +# define __TIME64_T_TYPE __TIME_T_TYPE +#else +/* Define a 64-bit time type alongsize the 32-bit one. */ +# define __TIME64_T_TYPE __SQUAD_TYPE +#endif + +#endif /* bits/time64.h */ diff --git a/sysdeps/unix/sysv/linux/riscv/bits/timesize.h b/sysdeps/unix/sysv/linux/riscv/bits/timesize.h new file mode 100644 index 0000000000..728d6c5053 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, RISC-V case. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* RV32 and RV64 both use 64-bit time_t */ +#define __TIMESIZE 64 diff --git a/sysdeps/unix/sysv/linux/riscv/kernel_stat.h b/sysdeps/unix/sysv/linux/riscv/kernel_stat.h new file mode 100644 index 0000000000..06eb5bce96 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/kernel_stat.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include + +#define STAT_IS_KERNEL_STAT 1 + +#define XSTAT_IS_XSTAT64 1 +#define STATFS_IS_STATFS64 0 From patchwork Wed Aug 12 14:40:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40251 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 7C5F8384B13D; Wed, 12 Aug 2020 14:50:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7C5F8384B13D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243853; bh=MMKSCeA6AEDnH2Cti/rA+f3er7k8tqQlG/DUDWdOwgw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=ZKVWiqjeOIuxQbktEKFsvTpQK9i7Vfj2lS+rnSsrN2hQnT8WdF6WphN8wp5qcKsyb w6CeJlZcP4jJ68D+fCOoViU+fIRjsNUSI8XEyI/IE/mqFqbZnZ0UUiupM/Aflbo+p5 oQm/CilhMH0F5AvmaWQ8LvlB6bf0WL05YmuR4QwA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45]) by sourceware.org (Postfix) with ESMTPS id EB64D3857C40 for ; Wed, 12 Aug 2020 14:50:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EB64D3857C40 IronPort-SDR: 5dAqzbU6NPWsAJyJsQVIJUmY2RJJ0AfGRGUZA1jl2g5iGs8N6G5mnL3uK0C1pOSFY2McyNbwgb XGrAupyUH2djVsOOH6BwEWWCPNPirT02TtWfHvUExBiDXKN2oh65BrgNP6hds76qYD0MVa/hEq mCuwaI+GRSSfieE7kX4dfqtkcCsCbg5vs4S9c4yJhLPVeEvUE5beOGyOQ44qbJzbk6V0B9ZCbX bUGHqjmw2pW2pHOWiHjTAZEPHfhVK/oNEWydplDHCQtGBjShDcEn1rsoj5hLkMLU1czevnXpQk Q/c= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="145996634" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:50:52 +0800 IronPort-SDR: vKQxcNukyDrpL67kiIXLfDaxGIHZ1zEMKVTlUpiXOnvmvkx0yJ4oit9qAgFnQ7LWF3QOiQAeMi bVj3xJOlCK5w== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:42 -0700 IronPort-SDR: StRXEalrT9zMFjPgjqCqCNk4LWiaZ094HQzHKaut8qu/3jFIHw7w86VuTfl37TnfqegRSltN53 66Di9JXdJs5Q== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:50:49 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 02/18] RISC-V: Cleanup some of the sysdep.h code Date: Wed, 12 Aug 2020 07:40:50 -0700 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Remove a duplicate inclusion of which is already pulled via , and the inclusion of whose definition of `__set_errno' is not needed here. --- sysdeps/unix/sysv/linux/riscv/sysdep.h | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index 83e4adf6a2..fbc2436691 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -22,6 +22,9 @@ #include #include +#undef SYS_ify +#define SYS_ify(syscall_name) __NR_##syscall_name + #ifdef __ASSEMBLER__ # include @@ -107,19 +110,7 @@ # undef ret_ERRVAL # define ret_ERRVAL ret -#endif /* __ASSEMBLER__ */ - -/* In order to get __set_errno() definition in INLINE_SYSCALL. */ -#ifndef __ASSEMBLER__ -# include -#endif - -#include - -#undef SYS_ify -#define SYS_ify(syscall_name) __NR_##syscall_name - -#ifndef __ASSEMBLER__ +#else # define VDSO_NAME "LINUX_4.15" # define VDSO_HASH 182943605 From patchwork Wed Aug 12 14:40:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40252 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 83CB6384A40A; Wed, 12 Aug 2020 14:50:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83CB6384A40A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243856; bh=vPtecCvoogQJzKBUVCtYAyhFFvTC/Jzek4sdwLmzMO0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=bPfUrxjgyvehJh3ol7ADQA/IPmqBXta+7GbpwpnVqTL8DGBxwea2yfziRvMDFbYmz 8BE4ecyVg4qWb0DllzM629s3ipeKjtk/WzN+5TxyYl9biDoZMpw68aiYutJxKsXFIU qmtbpIpqtVxTs2S2VR2WdO68LZDksoWJyN9Exs7k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45]) by sourceware.org (Postfix) with ESMTPS id 884D6384B061 for ; Wed, 12 Aug 2020 14:50:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 884D6384B061 IronPort-SDR: Xi0Dmx3wcEz4rcXFxd5K7yRYJjjh66pKr7bmyaJR2HpEseeb5Wsr/huYC+5bQC0YUC/V0Wqwkf ga8oCd3Ht2Hwbvc+NJs11PxWYmI97SxpFLY3tMKYl89c2boyCLM7GjTFsW86GHK8mpb5ahk1s3 uoCWcnd1Txc/OTe/FVuA0ck8hS7utIEbGF8E8OwT8v/0tNuwNvWeXn3CaG1xM5UKA4voyEioUH j8rxnZg/tV1i0DCluqzsk2ASp5eoEooUEvxNYU822+twKyNcmy6XS+fEnkKLLH1iWdGMFu01Q4 n+s= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="145996641" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:50:55 +0800 IronPort-SDR: Em60XGmTZZQXgX60wjPWweXzdw2lq26QRqM60JHddW3Zu2FVVhXn6vzdzgp/AhjSwG1bCrzYDE ysjWjP1SRYXA== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:45 -0700 IronPort-SDR: Ry21fiY3vothTtUyHItx8TJvcxrDqDSMdTJ10jCsqExSl/QusAXcu/mpoB8+rwNCvJ/y+oaiz9 tyuSiwJF8AZA== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:50:53 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 03/18] RISC-V: Use 64-bit-time syscall numbers with the 32-bit port Date: Wed, 12 Aug 2020 07:40:54 -0700 Message-Id: <381d1ef50e78d85ef07761f6041fec544d430b01.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" sysdep.h redefines only the syscall where the generic implementation still does not have actual 64-bit time_t support: /* Workarounds for generic code needing to handle 64-bit time_t. */ /* Fix sysdeps/unix/sysv/linux/clock_getcpuclockid.c. */ #define __NR_clock_getres __NR_clock_getres_time64 /* Fix sysdeps/nptl/lowlevellock-futex.h. */ #define __NR_futex __NR_futex_time64 [...] This patch also adds a comment that it is a workaround to handle 64-bit time_t and on each #define comment for which implementation it intends to. --- sysdeps/unix/sysv/linux/riscv/sysdep.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index fbc2436691..292484b303 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -22,6 +22,29 @@ #include #include +#if __WORDSIZE == 32 + +/* Workarounds for generic code needing to handle 64-bit time_t. */ + +/* Fix sysdeps/unix/sysv/linux/clock_getcpuclockid.c. */ +#define __NR_clock_getres __NR_clock_getres_time64 +/* Fix sysdeps/nptl/lowlevellock-futex.h. */ +#define __NR_futex __NR_futex_time64 +/* Fix sysdeps/unix/sysv/linux/pause.c. */ +#define __NR_ppoll __NR_ppoll_time64 +/* Fix sysdeps/unix/sysv/linux/select.c. */ +#define __NR_pselect6 __NR_pselect6_time64 +/* Fix sysdeps/unix/sysv/linux/recvmmsg.c. */ +#define __NR_recvmmsg __NR_recvmmsg_time64 +/* Fix sysdeps/unix/sysv/linux/sigtimedwait.c. */ +#define __NR_rt_sigtimedwait __NR_rt_sigtimedwait_time64 +/* Fix sysdeps/unix/sysv/linux/semtimedop.c. */ +#define __NR_semtimedop __NR_semtimedop_time64 +/* Hack sysdeps/unix/sysv/linux/generic/utimes.c. */ +#define __NR_utimensat __NR_utimensat_time64 + +#endif /* __WORDSIZE == 32 */ + #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name From patchwork Wed Aug 12 14:40:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40253 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 7939538618E8; Wed, 12 Aug 2020 14:51:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7939538618E8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243861; bh=Nosl0TfXFtyaDe+8tlHWkPv74dn/x+VTkg8+aIJfGpE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=yTcQ3Esu2zZwQX/F/ELCo0eF0KS+k8sZUsMzJ0LHAlfm4ufqgYxAts6lT+RK/3Cd3 W58AoUe47UZPURckHJdBvmYNpbr48alVxcIaB6MNv6acQxQlO5XhGI0hWptEyMJpaP o4Tby+iOTcSV01uTVwIG3UgNy5apdFbBH3ZnUQL0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45]) by sourceware.org (Postfix) with ESMTPS id EDA323857C40 for ; Wed, 12 Aug 2020 14:50:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EDA323857C40 IronPort-SDR: qlOXyLrIg0cmC2r5ufbmI9m0B73Mm3bVXMHiQ1dOAFsurjslcd4nXxFSBs0uqTrrL0MVeJt+Bv FYWUUaDYDehRXtV0FM1jUYE9/Sdb6kQpN9kxDHlPJWBwNTGIiA7LmFIolLQVB2nnU6on2kjmSY ciN3iJJ8w0noL6abz3WKWhgdRryZw34y9/xWDmgpCi/nWpwsU6fO9iD4qN95l0Q9pyoT7E06x2 IBQnOOUXCDd4OrmIhaQZ6cYWf19U9yYDUls/Nhb5UcD+5EBSCjmO3n/OAmvxDRwWFOZsL1qkMR oHI= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="145996646" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:50:58 +0800 IronPort-SDR: WsQr1NZYvL6Q98jqwV9IRQ3Uja0CFGiNzkgH6e/oWDGNYT5bPzI2aWwvQNr2vjFVZdkpMAHxtz jWHLdclMigdQ== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:49 -0700 IronPort-SDR: hnFlSNDaW6793FlvvtrwBtblUQCfM9Z64CYinCDrY5VV/s1bmu52k7xEU51ynSoM+hd2h24Jgk rLEcFFNiC7ig== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:50:56 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 04/18] RISC-V: Add support for 32-bit vDSO calls Date: Wed, 12 Aug 2020 07:40:57 -0700 Message-Id: <387ccbf208e633784d901f01826143e2f16d5ebd.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- sysdeps/unix/sysv/linux/riscv/sysdep.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) Reviewed-by: Maciej W. Rozycki diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index 292484b303..6f26c558b1 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -135,13 +135,24 @@ #else -# define VDSO_NAME "LINUX_4.15" -# define VDSO_HASH 182943605 +# if __WORDSIZE == 64 +# define VDSO_NAME "LINUX_4.15" +# define VDSO_HASH 182943605 + +/* List of system calls which are supported as vsyscalls only + for RV64. */ +# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres" +# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime" +# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday" +# else +# define VDSO_NAME "LINUX_5.4" +# define VDSO_HASH 61765876 + +/* RV32 does not support the gettime VDSO syscalls. */ +# endif -/* List of system calls which are supported as vsyscalls. */ -# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres" -# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime" -# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday" +/* List of system calls which are supported as vsyscalls (for RV32 and + RV64). */ # define HAVE_GETCPU_VSYSCALL "__vdso_getcpu" # define INTERNAL_SYSCALL(name, nr, args...) \ From patchwork Wed Aug 12 14:41:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40254 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 09BCC384A023; Wed, 12 Aug 2020 14:51:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 09BCC384A023 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243864; bh=JHVGBpOROEwHTW+eGIXcKsqltQUpoKiWrJ/eXN84pN8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=lNf9OJYl1NmYDmpbkr7q70pUrTxao5X1LboJg5yaVrRj/9aSY31RPuLq+rWOwRrNy lYB4ALU0jjuFcKzxK7yMsSU3hQCkKoAYysJ+XUguLRTrx55Sx++5dwX/GphjaRVfjP KPZ1eISJ5NaoxzWANZAj6+Qe089yaJ+lbXtOmxSA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45]) by sourceware.org (Postfix) with ESMTPS id 7B98A384BC11 for ; Wed, 12 Aug 2020 14:51:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7B98A384BC11 IronPort-SDR: opMRBdZcIXdLVpCU7LxVU3/q9hNumzJQNW2mXN7HA2l7JZeQFI1tvCn/9ziCrsSx30a4gnJ1FX FqF5iZmAoMFY0g1K+6HnEPIppbBtOAebGvCyf2U2i3Wq3pfMHJUWtkA5EYdpZlONM9Dm05Dmcv hFE07rLrPrKo1j9Zty8JU9v/G15Y5Dz67T1jcCrYA1IPDSrHPhlrddrJSXHgtHOdDymVCVoou7 NHO1haDWMaA8uaP9TAHL3UNm6XOa8bUaDveLeEXArEKtgA4blYpq5qQvt/PggqHd4+9Lj4M7EJ F+4= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="145996656" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:02 +0800 IronPort-SDR: Sl3RHpwNIL8yHCyj+ZYuoR1btTvuYEkDltOw7EtpZAICGLX+bcRRxOyLP1LX5/C24Mm9aPciZV A7hTPqvk3vpQ== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:52 -0700 IronPort-SDR: cO1AEsPm0Ajxu6R806CyezW0zYHXuAkBLr31/0DVcqOrrV0KWEgY1TTnWPqyy4kFGNk07/xLE3 Umu0sny4ovtg== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:50:59 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 05/18] RISC-V: Support dynamic loader for the 32-bit Date: Wed, 12 Aug 2020 07:41:00 -0700 Message-Id: <78e9bc14a0f9b7bdf878b140a7769d0d34e5fafc.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li Add the LD_SO_ABI definition for RISC-V 32-bit. Reviewed-by: Maciej W. Rozycki --- sysdeps/unix/sysv/linux/riscv/ldconfig.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/riscv/ldconfig.h b/sysdeps/unix/sysv/linux/riscv/ldconfig.h index 3d7065b293..35badb7cf0 100644 --- a/sysdeps/unix/sysv/linux/riscv/ldconfig.h +++ b/sysdeps/unix/sysv/linux/riscv/ldconfig.h @@ -24,7 +24,7 @@ #if __riscv_xlen == 64 # define LD_SO_ABI "riscv64-lp64" #else -# error "rv32i-based targets are not supported" +# define LD_SO_ABI "riscv32-ilp32" #endif #define SYSDEP_KNOWN_INTERPRETER_NAMES \ From patchwork Wed Aug 12 14:41:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40255 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 8CB4F384B009; Wed, 12 Aug 2020 14:51:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8CB4F384B009 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243877; bh=OI3MK0HRH144ve+NbFkbU4L5hao6kR8wxADyEhpFP4g=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=PWdpeiGq7E+JksClw9tb6CgwH0wWbm4gjGz5wi4+ntUGgulJW9JIBOxkZJUX4T8ac 4no/CCleV4j1NkLYI7FSIq72yOUaEJpfpnCL/8nFkHgO+mo0ETmvB7ligoC+E9cSCe GuTFLreCl9y/HfZwzYqi9DgWMzB3ON6W7AywByrU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id A97633857C40 for ; Wed, 12 Aug 2020 14:51:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A97633857C40 IronPort-SDR: 22fsg8REE6d86AB6OMYXqCzCr9vCgxwJFBZJrcb3poSfo5OoILoASAa9b0VAvjhAFAzr3sAntT kkgoJTCUMlPFAFc/aOjONFijbmlvc9MTM+Z5RdmilaTPecnKk5sAUSPC+WV+CLjzesAv7ZycNg 8rrc+KZHEitMDFv0kvO22mev3Un6bfUUltpe5tJZ0hXTI1v1POWvDDW+klDolRwZJPh+J+dHWK yewP1asCI/+mq1/51c9V/jbkKWqM2yhysFARLdHE9xbjAjLT8Di4h26vO+4HH3H0RZE6mSAbPm /sc= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163228" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:14 +0800 IronPort-SDR: mNnMFvrzXE94S3ifTLCK40nONdPm6Jlxu+7r0VUUDaE6FBA7qGCrqO8SSpij7CYV6raXFYd6n+ 9ReLyN85HKvw== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:23 -0700 IronPort-SDR: Ob6enxTMfVh4S6dV+xYkJ1EVNVUgipnTW+dCOb2ekffRbgURwni3/FIGfveGXoC0gcll45xQv+ uJcunNlOdzig== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:13 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 07/18] sysv/linux: riscv: Fix dl-cache.h indentation Date: Wed, 12 Aug 2020 07:41:14 -0700 Message-Id: <0afac7b4aa891fae06fccdef5f85d676747e7fa8.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Signed-off-by: Alistair Francis --- sysdeps/unix/sysv/linux/riscv/dl-cache.h | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sysdeps/unix/sysv/linux/riscv/dl-cache.h b/sysdeps/unix/sysv/linux/riscv/dl-cache.h index 331e6015f4..d2adfbc301 100644 --- a/sysdeps/unix/sysv/linux/riscv/dl-cache.h +++ b/sysdeps/unix/sysv/linux/riscv/dl-cache.h @@ -31,7 +31,7 @@ ((flags) == _DL_CACHE_DEFAULT_ID) /* If given a path to one of our library directories, adds every library - directory via add_dir (), otherwise just adds the giver directory. On + directory via add_dir (), otherwise just adds the given directory. On RISC-V, libraries can be found in paths ending in: - /lib64/lp64d - /lib64/lp64 @@ -41,15 +41,16 @@ so this will add all of those paths. According to Joseph Myers: - My reasoning for that would be: generic autoconf-configured (etc.) - software may only know about using the lib directory, so you want the - lib directory to be searched regardless of the ABI - but it's also - useful to be able to e.g. list /usr/local/lib in /etc/ld.so.conf for all - architectures and have that automatically imply /usr/local/lib64/lp64d - etc. so that libraries can be found that come from software that does - use the ABI-specific directories. */ + My reasoning for that would be: generic autoconf-configured (etc.) + software may only know about using the lib directory, so you want the + lib directory to be searched regardless of the ABI - but it's also + useful to be able to e.g. list /usr/local/lib in /etc/ld.so.conf for all + architectures and have that automatically imply /usr/local/lib64/lp64d + etc. so that libraries can be found that come from software that does + use the ABI-specific directories. */ + #define add_system_dir(dir) \ - do \ + do \ { \ static const char* lib_dirs[] = { \ "/lib64/lp64d", \ From patchwork Wed Aug 12 14:41:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40256 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 18941384BC11; Wed, 12 Aug 2020 14:51:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18941384BC11 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243880; bh=emh0dttWTKuYcTkfzUdLyd0V8jzAxHr38h/m0UT3j+c=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=QHuaI2jWTBsR7g5+T9fvKlrf2etId1b1pdlWDbEafFyPWTM18lD8f5N5mO2/FKYDx Z82q1lTXeS/nRK60N7SSZtBbmyKz03LLON+ukBOPJbx49l2FIlEjtD44fCp+Lf/6BY ik5Z3Yix1MFEYmgXHMye8i21F8xlXJIxhm1F9I3A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id 3E6A93857C40 for ; Wed, 12 Aug 2020 14:51:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3E6A93857C40 IronPort-SDR: MUjRitPI4NCwykZiJndvtZy2yvBCxuEDon9JdceAtNqSuaiEcSdThNgnDC+us+toxJgMRWVVYo DmTGb8tGD8B9o01k1FAc/AxoSBjuWJkn6Wq4zVPaiw33K00ZsgO+aHR0xJugOy+aJARmD+u+LW iBnNwPh7RHLHqFXfWS4JZmoxIIA66JjifGu7BcYxhG2VW9rsKO8toOIInQQVFC6C9PTX4f2fpT uOX5fewRKr7T3O0Q/l7ISbeXFmJln6ak/EaJ+MT2aqkVL2racHJHl5x+ysupTJ6ZUkZ9nCczwj V9I= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163243" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:16 +0800 IronPort-SDR: /XBCUy3RAsTajGHbUFJco9Q6eckhOvPQzIBrj3w51TDhZKt/Vqpz1rB7MTN9FQi/gfPUDN/33N cAgNkNxyVaUg== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:25 -0700 IronPort-SDR: hra7K8e7Q3dgRwO2SAnBcH1u0N4kJhOJon2CbevCWhJYMBxc4jWon1aJ2/L2nKmW0RbqoyBYli ZwA36DoS018w== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:16 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 08/18] RISC-V: Add arch-syscall.h for RV32 Date: Wed, 12 Aug 2020 07:41:17 -0700 Message-Id: <2e6a3d34b20f0cf5bc62ddc58f5e3a8d014e4372.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Reviewed-by: Maciej W. Rozycki --- .../unix/sysv/linux/riscv/rv32/arch-syscall.h | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h new file mode 100644 index 0000000000..9f9a2d5912 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h @@ -0,0 +1,283 @@ +/* AUTOGENERATED by update-syscall-lists.py. */ +#define __NR_accept 202 +#define __NR_accept4 242 +#define __NR_acct 89 +#define __NR_add_key 217 +#define __NR_bind 200 +#define __NR_bpf 280 +#define __NR_brk 214 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_chdir 49 +#define __NR_chroot 51 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_gettime64 403 +#define __NR_clock_nanosleep_time64 407 +#define __NR_clock_settime64 404 +#define __NR_clone 220 +#define __NR_close 57 +#define __NR_connect 203 +#define __NR_copy_file_range 285 +#define __NR_delete_module 106 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_eventfd2 19 +#define __NR_execve 221 +#define __NR_execveat 281 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_faccessat 48 +#define __NR_fadvise64_64 223 +#define __NR_fallocate 47 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_fchdir 50 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchown 55 +#define __NR_fchownat 54 +#define __NR_fcntl64 25 +#define __NR_fdatasync 83 +#define __NR_fgetxattr 10 +#define __NR_finit_module 273 +#define __NR_flistxattr 13 +#define __NR_flock 32 +#define __NR_fremovexattr 16 +#define __NR_fsconfig 431 +#define __NR_fsetxattr 7 +#define __NR_fsmount 432 +#define __NR_fsopen 430 +#define __NR_fspick 433 +#define __NR_fstatfs64 44 +#define __NR_fsync 82 +#define __NR_ftruncate64 46 +#define __NR_futex_time64 422 +#define __NR_get_mempolicy 236 +#define __NR_get_robust_list 100 +#define __NR_getcpu 168 +#define __NR_getcwd 17 +#define __NR_getdents64 61 +#define __NR_getegid 177 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getgroups 158 +#define __NR_getitimer 102 +#define __NR_getpeername 205 +#define __NR_getpgid 155 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getpriority 141 +#define __NR_getrandom 278 +#define __NR_getresgid 150 +#define __NR_getresuid 148 +#define __NR_getrusage 165 +#define __NR_getsid 156 +#define __NR_getsockname 204 +#define __NR_getsockopt 209 +#define __NR_gettid 178 +#define __NR_getuid 174 +#define __NR_getxattr 8 +#define __NR_init_module 105 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_init1 26 +#define __NR_inotify_rm_watch 28 +#define __NR_io_cancel 3 +#define __NR_io_destroy 1 +#define __NR_io_pgetevents_time64 416 +#define __NR_io_setup 0 +#define __NR_io_submit 2 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_io_uring_setup 425 +#define __NR_ioctl 29 +#define __NR_ioprio_get 31 +#define __NR_ioprio_set 30 +#define __NR_kcmp 272 +#define __NR_kexec_file_load 294 +#define __NR_kexec_load 104 +#define __NR_keyctl 219 +#define __NR_kill 129 +#define __NR_lgetxattr 9 +#define __NR_linkat 37 +#define __NR_listen 201 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_llseek 62 +#define __NR_lookup_dcookie 18 +#define __NR_lremovexattr 15 +#define __NR_lsetxattr 6 +#define __NR_madvise 233 +#define __NR_mbind 235 +#define __NR_membarrier 283 +#define __NR_memfd_create 279 +#define __NR_migrate_pages 238 +#define __NR_mincore 232 +#define __NR_mkdirat 34 +#define __NR_mknodat 33 +#define __NR_mlock 228 +#define __NR_mlock2 284 +#define __NR_mlockall 230 +#define __NR_mmap2 222 +#define __NR_mount 40 +#define __NR_move_mount 429 +#define __NR_move_pages 239 +#define __NR_mprotect 226 +#define __NR_mq_getsetattr 185 +#define __NR_mq_notify 184 +#define __NR_mq_open 180 +#define __NR_mq_timedreceive_time64 419 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_unlink 181 +#define __NR_mremap 216 +#define __NR_msgctl 187 +#define __NR_msgget 186 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_msync 227 +#define __NR_munlock 229 +#define __NR_munlockall 231 +#define __NR_munmap 215 +#define __NR_name_to_handle_at 264 +#define __NR_nfsservctl 42 +#define __NR_open_by_handle_at 265 +#define __NR_open_tree 428 +#define __NR_openat 56 +#define __NR_openat2 437 +#define __NR_perf_event_open 241 +#define __NR_personality 92 +#define __NR_pidfd_getfd 438 +#define __NR_pidfd_open 434 +#define __NR_pidfd_send_signal 424 +#define __NR_pipe2 59 +#define __NR_pivot_root 41 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_pkey_mprotect 288 +#define __NR_ppoll_time64 414 +#define __NR_prctl 167 +#define __NR_pread64 67 +#define __NR_preadv 69 +#define __NR_preadv2 286 +#define __NR_prlimit64 261 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_pselect6_time64 413 +#define __NR_ptrace 117 +#define __NR_pwrite64 68 +#define __NR_pwritev 70 +#define __NR_pwritev2 287 +#define __NR_quotactl 60 +#define __NR_read 63 +#define __NR_readahead 213 +#define __NR_readlinkat 78 +#define __NR_readv 65 +#define __NR_reboot 142 +#define __NR_recvfrom 207 +#define __NR_recvmmsg_time64 417 +#define __NR_recvmsg 212 +#define __NR_remap_file_pages 234 +#define __NR_removexattr 14 +#define __NR_renameat2 276 +#define __NR_request_key 218 +#define __NR_restart_syscall 128 +#define __NR_riscv_flush_icache 259 +#define __NR_rseq 293 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_getaffinity 123 +#define __NR_sched_getattr 275 +#define __NR_sched_getparam 121 +#define __NR_sched_getscheduler 120 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_sched_setaffinity 122 +#define __NR_sched_setattr 274 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_yield 124 +#define __NR_seccomp 277 +#define __NR_semctl 191 +#define __NR_semget 190 +#define __NR_semop 193 +#define __NR_semtimedop_time64 420 +#define __NR_sendfile64 71 +#define __NR_sendmmsg 269 +#define __NR_sendmsg 211 +#define __NR_sendto 206 +#define __NR_set_mempolicy 237 +#define __NR_set_robust_list 99 +#define __NR_set_tid_address 96 +#define __NR_setdomainname 162 +#define __NR_setfsgid 152 +#define __NR_setfsuid 151 +#define __NR_setgid 144 +#define __NR_setgroups 159 +#define __NR_sethostname 161 +#define __NR_setitimer 103 +#define __NR_setns 268 +#define __NR_setpgid 154 +#define __NR_setpriority 140 +#define __NR_setregid 143 +#define __NR_setresgid 149 +#define __NR_setresuid 147 +#define __NR_setreuid 145 +#define __NR_setsid 157 +#define __NR_setsockopt 208 +#define __NR_setuid 146 +#define __NR_setxattr 5 +#define __NR_shmat 196 +#define __NR_shmctl 195 +#define __NR_shmdt 197 +#define __NR_shmget 194 +#define __NR_shutdown 210 +#define __NR_sigaltstack 132 +#define __NR_signalfd4 74 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_splice 76 +#define __NR_statfs64 43 +#define __NR_statx 291 +#define __NR_swapoff 225 +#define __NR_swapon 224 +#define __NR_symlinkat 36 +#define __NR_sync 81 +#define __NR_sync_file_range 84 +#define __NR_syncfs 267 +#define __NR_sysinfo 179 +#define __NR_syslog 116 +#define __NR_tee 77 +#define __NR_tgkill 131 +#define __NR_timer_create 107 +#define __NR_timer_delete 111 +#define __NR_timer_getoverrun 109 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_create 85 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_times 153 +#define __NR_tkill 130 +#define __NR_truncate64 45 +#define __NR_umask 166 +#define __NR_umount2 39 +#define __NR_uname 160 +#define __NR_unlinkat 35 +#define __NR_unshare 97 +#define __NR_userfaultfd 282 +#define __NR_utimensat_time64 412 +#define __NR_vhangup 58 +#define __NR_vmsplice 75 +#define __NR_waitid 95 +#define __NR_write 64 +#define __NR_writev 66 From patchwork Wed Aug 12 14:41:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40257 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 9B3CF384640E; Wed, 12 Aug 2020 14:51:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9B3CF384640E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243882; bh=rGRxjVhCSPi2fSdILunDvNwPHTJ2r5LpiR+uXvdzmnM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=GxPDMb6cQqoVihVvwlo/fnie6BMaEmq20K1E0bhz1+mgFV9CZCKezjmpKAd9VkwG1 sXb03dmsU1HkLn2jnLsLnObnhyV779HN9K1ahivD+vI/VqV/hNOC7W+qRm1GJ0+rv6 5wHvLeyby2WOdE/12Ja2AKApua1Iq0YOFlseY6Ng= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id 22B293846405 for ; Wed, 12 Aug 2020 14:51:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 22B293846405 IronPort-SDR: IHxLo/gdvBceQVcGI8Q/z7h/R1QaKIke7Abe7IgoHa9dtEMWrDPPoWozxWUPlQIx8k73NzU/74 Sv4nkBOusyVf3yHDABU30C2cNgrw3/PQaLje/ncZk6H09qB9NWfkQggxzzDnFREwV8OCBJE1QI YqyYo7SueVnK7rX0K1JWw/qTHKmXwzioQuPwM9YDG+QKKEJb2FUoFtzvAk/4FQJjRs3eb7mvuZ l1PgxJvFNoOWV9S3yqGd77/ueWXEDHGjLl4+q3CDQTGGZOgRLP7mFNEISB/ZzNaYTJFHlma5nF u1I= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163253" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:19 +0800 IronPort-SDR: RT0wvEt9KeFu0NlLnyGoi4+MRNJZCpCwofkQvplN4H2dxXoBSQuV7iKvLqN7Yf2zefzJr2WU6U OuCqP1TgwVpQ== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:28 -0700 IronPort-SDR: NED049JOA1cpYkYkIpjDn+vaK2/gwCnmX8lTLgZ2TKMrIPTtyrOhJgMy2ElTplFRjzcdaUrC3m +q6X3w7ewENQ== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:18 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 09/18] RISC-V: Support the 32-bit ABI implementation Date: Wed, 12 Aug 2020 07:41:19 -0700 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This patch adds the ABI implementation for 32-bit RISC-V. It contains the Linux-specific and RISC-V architecture code. --- sysdeps/riscv/bits/wordsize.h | 9 +-- sysdeps/riscv/nptl/bits/pthreadtypes-arch.h | 26 +++++---- sysdeps/riscv/nptl/bits/struct_rwlock.h | 27 ++++++++- sysdeps/riscv/nptl/pthread-offsets.h | 17 +++++- sysdeps/riscv/sfp-machine.h | 27 ++++++++- sysdeps/riscv/sys/asm.h | 7 ++- .../unix/sysv/linux/riscv/jmp_buf-macros.h | 55 +++++++++++++++++++ 7 files changed, 146 insertions(+), 22 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/riscv/jmp_buf-macros.h diff --git a/sysdeps/riscv/bits/wordsize.h b/sysdeps/riscv/bits/wordsize.h index faccc71828..4929dcf873 100644 --- a/sysdeps/riscv/bits/wordsize.h +++ b/sysdeps/riscv/bits/wordsize.h @@ -22,8 +22,9 @@ # error unsupported ABI #endif -#if __riscv_xlen == 64 -# define __WORDSIZE_TIME64_COMPAT32 1 -#else -# error "rv32i-based targets are not supported" +#define __WORDSIZE_TIME64_COMPAT32 1 + +#if __WORDSIZE == 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 #endif diff --git a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h index c3c72d6c10..8a602e864a 100644 --- a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h @@ -21,18 +21,22 @@ #include -#if __riscv_xlen == 64 -# define __SIZEOF_PTHREAD_ATTR_T 56 -# define __SIZEOF_PTHREAD_MUTEX_T 40 -# define __SIZEOF_PTHREAD_MUTEXATTR_T 4 -# define __SIZEOF_PTHREAD_COND_T 48 -# define __SIZEOF_PTHREAD_CONDATTR_T 4 -# define __SIZEOF_PTHREAD_RWLOCK_T 56 -# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -# define __SIZEOF_PTHREAD_BARRIER_T 32 -# define __SIZEOF_PTHREAD_BARRIERATTR_T 4 +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#if __WORDSIZE == 64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 #else -# error "rv32i-based systems are not supported" +# define __SIZEOF_PTHREAD_ATTR_T 32 +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_RWLOCK_T 48 +# define __SIZEOF_PTHREAD_BARRIER_T 20 #endif #define __LOCK_ALIGNMENT diff --git a/sysdeps/riscv/nptl/bits/struct_rwlock.h b/sysdeps/riscv/nptl/bits/struct_rwlock.h index acfaa75e1b..dc467d42c7 100644 --- a/sysdeps/riscv/nptl/bits/struct_rwlock.h +++ b/sysdeps/riscv/nptl/bits/struct_rwlock.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see - . */ + . */ #ifndef _RWLOCK_INTERNAL_H #define _RWLOCK_INTERNAL_H @@ -32,14 +32,37 @@ struct __pthread_rwlock_arch_t unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; +#if __WORDSIZE == 64 int __cur_writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; +#else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + unsigned char __flags; +# else + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif }; -#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +#endif #endif diff --git a/sysdeps/riscv/nptl/pthread-offsets.h b/sysdeps/riscv/nptl/pthread-offsets.h index 31f0587bec..eea689d4d6 100644 --- a/sysdeps/riscv/nptl/pthread-offsets.h +++ b/sysdeps/riscv/nptl/pthread-offsets.h @@ -1,3 +1,16 @@ -#define __PTHREAD_MUTEX_KIND_OFFSET 16 +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_KIND_OFFSET 16 +#else +# define __PTHREAD_MUTEX_KIND_OFFSET 12 +#endif -#define __PTHREAD_RWLOCK_FLAGS_OFFSET 48 + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_FLAGS_OFFSET 48 +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_FLAGS_OFFSET 27 +# else +# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24 +# endif +#endif diff --git a/sysdeps/riscv/sfp-machine.h b/sysdeps/riscv/sfp-machine.h index 08a84fd701..bbeb9b37cf 100644 --- a/sysdeps/riscv/sfp-machine.h +++ b/sysdeps/riscv/sfp-machine.h @@ -22,7 +22,32 @@ #if __riscv_xlen == 32 -# error "rv32i-based targets are not supported" +# define _FP_W_TYPE_SIZE 32 +# define _FP_W_TYPE unsigned long +# define _FP_WS_TYPE signed long +# define _FP_I_TYPE long + +# define _FP_MUL_MEAT_S(R, X, Y) \ + _FP_MUL_MEAT_1_wide (_FP_WFRACBITS_S, R, X, Y, umul_ppmm) +# define _FP_MUL_MEAT_D(R, X, Y) \ + _FP_MUL_MEAT_2_wide (_FP_WFRACBITS_D, R, X, Y, umul_ppmm) +# define _FP_MUL_MEAT_Q(R, X, Y) \ + _FP_MUL_MEAT_4_wide (_FP_WFRACBITS_Q, R, X, Y, umul_ppmm) + +# define _FP_MUL_MEAT_DW_S(R, X, Y) \ + _FP_MUL_MEAT_DW_1_wide (_FP_WFRACBITS_S, R, X, Y, umul_ppmm) +# define _FP_MUL_MEAT_DW_D(R, X, Y) \ + _FP_MUL_MEAT_DW_2_wide (_FP_WFRACBITS_D, R, X, Y, umul_ppmm) +# define _FP_MUL_MEAT_DW_Q(R, X, Y) \ + _FP_MUL_MEAT_DW_4_wide (_FP_WFRACBITS_Q, R, X, Y, umul_ppmm) + +# define _FP_DIV_MEAT_S(R, X, Y) _FP_DIV_MEAT_1_udiv_norm (S, R, X, Y) +# define _FP_DIV_MEAT_D(R, X, Y) _FP_DIV_MEAT_2_udiv (D, R, X, Y) +# define _FP_DIV_MEAT_Q(R, X, Y) _FP_DIV_MEAT_4_udiv (Q, R, X, Y) + +# define _FP_NANFRAC_S _FP_QNANBIT_S +# define _FP_NANFRAC_D _FP_QNANBIT_D, 0 +# define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0 #else diff --git a/sysdeps/riscv/sys/asm.h b/sysdeps/riscv/sys/asm.h index bd2de17e17..8292ec77b0 100644 --- a/sysdeps/riscv/sys/asm.h +++ b/sysdeps/riscv/sys/asm.h @@ -22,11 +22,14 @@ /* Macros to handle different pointer/register sizes for 32/64-bit code. */ #if __riscv_xlen == 64 # define PTRLOG 3 -# define SZREG 8 +# define SZREG 8 # define REG_S sd # define REG_L ld #elif __riscv_xlen == 32 -# error "rv32i-based targets are not supported" +# define PTRLOG 2 +# define SZREG 4 +# define REG_S sw +# define REG_L lw #else # error __riscv_xlen must equal 32 or 64 #endif diff --git a/sysdeps/unix/sysv/linux/riscv/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/riscv/jmp_buf-macros.h new file mode 100644 index 0000000000..234b979a8c --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/jmp_buf-macros.h @@ -0,0 +1,55 @@ +/* The jump buffer constants for RISC-V. + Copyright (C) 2020 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +/* Produced by this program: + + #include + #include + #include + #include + + int main (int argc, char **argv) + { + printf ("#define JMP_BUF_SIZE %d\n", sizeof (jmp_buf)); + printf ("#define JMP_BUF_ALIGN %d\n", __alignof__ (jmp_buf)); + printf ("#define SIGJMP_BUF_SIZE %d\n", sizeof (sigjmp_buf)); + printf ("#define SIGJMP_BUF_ALIGN %d\n", __alignof__ (sigjmp_buf)); + printf ("#define MASK_WAS_SAVED_OFFSET %d\n", + offsetof (struct __jmp_buf_tag, __mask_was_saved)); + printf ("#define SAVED_MASK_OFFSET %d\n", + offsetof (struct __jmp_buf_tag, __saved_mask)); + } */ + +#if defined __riscv_float_abi_soft +# define JMP_BUF_SIZE 188 +# define JMP_BUF_ALIGN 4 +# define SIGJMP_BUF_SIZE 188 +# define SIGJMP_BUF_ALIGN 4 +# define MASK_WAS_SAVED_OFFSET 56 +# define SAVED_MASK_OFFSET 60 +#elif defined __riscv_float_abi_double +# define JMP_BUF_SIZE 288 +# define JMP_BUF_ALIGN 8 +# define SIGJMP_BUF_SIZE 288 +# define SIGJMP_BUF_ALIGN 8 +# define MASK_WAS_SAVED_OFFSET 152 +# define SAVED_MASK_OFFSET 156 +#else +# error "Unknown RISC-V floating-point ABI" +#endif From patchwork Wed Aug 12 14:41:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40258 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 BD2333846411; Wed, 12 Aug 2020 14:51:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD2333846411 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243885; bh=zxX0+13BJxt2mkoQJ8t3SpqlV2WABl1WBgLJHupRx3o=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=isQ4NFlaLFUGA5eqkwS81KMWHB6nLrJJwy56GcnqicaD79TXqh9/0VvlwIzYPRulD bzumhob7UR4iDvhDj2LAz1hFU/PPpnojx/ek03FOTbq2dMX1gwG/EXd6dbP7zWxnCE 6pULiSMXj+TsPR9sZGFZzeJJavLEdVDB8xz0PEI0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id 0706A3857C40 for ; Wed, 12 Aug 2020 14:51:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0706A3857C40 IronPort-SDR: Nx1bsO7xxBNehlq6F8s3X70cV+Utio7p7RpwnnyIp37rnUqJJajUUy6fdvadTu58W1BdJ6U8SN mcjktR39o//5oWpu5EKCTGOVfJQkh+hE6NVnGh1WS1EVEpNFKgIKYHfZpfMqUnGvRk4gDOBt26 /9FZW8NtFl+xh2t+c/WlWpV46B4SOn09Gp3vUZDFQkObDR+ia5saIANAiOZe5jHMGgWGuiVDaN kqnjF56eNfIYqdU/jbUtvUI8uRoAxz8yMogu5Gkx1jBh5MBGlRsLApcvRfBwM2h5DcL2GwQWed FNM= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163263" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:22 +0800 IronPort-SDR: rivfZJBc1KFDlEAwZcxMhyoPPXvmbLy0HxRacTpAgwj7TNpW77pQ1TDzaAYJ6m8qCkCwtJUSeL /GI9Hn4wZwvg== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:31 -0700 IronPort-SDR: F6oasgvG36p7VcybgNsg3s86MPDamrD9dPUNsJNE2nzM9mXWjP/JmGMSh4tNNwO2tr/nA4FyAg vu8fNSCe6QkQ== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:21 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 10/18] RISC-V: Hard float support for 32-bit Date: Wed, 12 Aug 2020 07:41:22 -0700 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li This patch contains hardware floating-point support for the RV32IF and RV32IFD. --- sysdeps/riscv/rv32/rvd/s_lrint.c | 31 ++++++++++++++++++++++++++++++ sysdeps/riscv/rv32/rvd/s_lround.c | 31 ++++++++++++++++++++++++++++++ sysdeps/riscv/rv32/rvf/s_lrintf.c | 31 ++++++++++++++++++++++++++++++ sysdeps/riscv/rv32/rvf/s_lroundf.c | 31 ++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 sysdeps/riscv/rv32/rvd/s_lrint.c create mode 100644 sysdeps/riscv/rv32/rvd/s_lround.c create mode 100644 sysdeps/riscv/rv32/rvf/s_lrintf.c create mode 100644 sysdeps/riscv/rv32/rvf/s_lroundf.c diff --git a/sysdeps/riscv/rv32/rvd/s_lrint.c b/sysdeps/riscv/rv32/rvd/s_lrint.c new file mode 100644 index 0000000000..bdec792f18 --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/s_lrint.c @@ -0,0 +1,31 @@ +/* lrint(). The 32-bit RISC-V (RV32) version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include +#include +#include + +long int +__lrint (double x) +{ + int32_t res; + asm ("fcvt.w.d %0, %1" : "=r" (res) : "f" (x)); + return res; +} + +libm_alias_double (__lrint, lrint) diff --git a/sysdeps/riscv/rv32/rvd/s_lround.c b/sysdeps/riscv/rv32/rvd/s_lround.c new file mode 100644 index 0000000000..78bccd47ae --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/s_lround.c @@ -0,0 +1,31 @@ +/* lround(). 32-bit RISC-V (RV32) version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include +#include +#include + +long int +__lround (double x) +{ + int32_t res; + asm ("fcvt.w.d %0, %1, rmm" : "=r" (res) : "f" (x)); + return res; +} + +libm_alias_double (__lround, lround) diff --git a/sysdeps/riscv/rv32/rvf/s_lrintf.c b/sysdeps/riscv/rv32/rvf/s_lrintf.c new file mode 100644 index 0000000000..b8e1df439e --- /dev/null +++ b/sysdeps/riscv/rv32/rvf/s_lrintf.c @@ -0,0 +1,31 @@ +/* lrintf(). 32-bit RISC-V (RV32) version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include +#include +#include + +long int +__lrintf (float x) +{ + int32_t res; + asm ("fcvt.w.s %0, %1" : "=r" (res) : "f" (x)); + return res; +} + +libm_alias_float (__lrint, lrint) diff --git a/sysdeps/riscv/rv32/rvf/s_lroundf.c b/sysdeps/riscv/rv32/rvf/s_lroundf.c new file mode 100644 index 0000000000..32f9925084 --- /dev/null +++ b/sysdeps/riscv/rv32/rvf/s_lroundf.c @@ -0,0 +1,31 @@ +/* lroundf(). 32-bit RISC-V (RV32) version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include +#include +#include + +long int +__lroundf (float x) +{ + int32_t res; + asm ("fcvt.w.s %0, %1, rmm" : "=r" (res) : "f" (x)); + return res; +} + +libm_alias_float (__lround, lround) From patchwork Wed Aug 12 14:41:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40260 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 0F7CF38618D4; Wed, 12 Aug 2020 14:51:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F7CF38618D4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243896; bh=63pu+9Qsmm27Biu9D+/u8CCFXwyi+25zYew/nwnxge4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=nwKJbltSuBWmQ/C5jrSq8wL2MWSbChJ3rtr/U7ZrVK9mGzCEPzjvlX8olNBh/MzYM lQySr+4IarWv8ohma5Gn/vwWw7xATftoOCrlvuPt7lb94mSvV03qdKjXzw2L/J2DG5 uJBQJY1Ne4Zpx1HLEqKnCb47mtplBi2myDH5ZFjc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id 79C5C3857C40 for ; Wed, 12 Aug 2020 14:51:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 79C5C3857C40 IronPort-SDR: SAeQf840ewJubF1UnBo2s3DsUwvKzDpb4HUDQZ6B1UPsaqdZGKA9P7vW/indL7Wt+qELK+qE2M 7mNEuKw0XOy7UGRnxqCNVcln5BfTK6VFDZvp2u4Mqz86hqdYcgRvWHhZ7O5bFSu6pctrrubCbL ohYDsZtG2TPJtnARvj3PdGXImEUH0+v2781dYB//9opEbJO4Z4u1NyCk6y/67shEecYP/ZRN0F l5soAYVNeqz+iyEC1qEULW40FDkGfK9e/GDIoc5ug5CvochcxUKAOmQvYBcXJPqZF1bkh96fch 4X0= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163271" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:25 +0800 IronPort-SDR: OS3xWss/41BoUCgj1uj5CQ1HCaOK7by7s7CN2/wmj2dGUbnEkfic/RfqRIYfNcqFKjWKRYl1zc UDmUrMFvxGaA== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:34 -0700 IronPort-SDR: l2F/Ga3kvxqbpQQtY4j/GpuRBcE4JHGRVlzEAgPbCfRwSlSdUc2sgCRy9g2JaB7fLMy0Xz3CLs idRI7FC2Pf0w== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:24 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 11/18] RISC-V: Add 32-bit ABI lists Date: Wed, 12 Aug 2020 07:41:25 -0700 Message-Id: <428bf40f22401506104a4dc892738af5012f2f27.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Use the update-abi Make target to generate the abilist for RV32. --- .../unix/sysv/linux/riscv/rv32/arch-syscall.h | 1 + .../unix/sysv/linux/riscv/rv32/c++-types.data | 67 + sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist | 5 + .../linux/riscv/rv32/libBrokenLocale.abilist | 1 + .../unix/sysv/linux/riscv/rv32/libanl.abilist | 4 + .../unix/sysv/linux/riscv/rv32/libc.abilist | 1935 +++++++++++++++++ .../sysv/linux/riscv/rv32/libcrypt.abilist | 2 + .../unix/sysv/linux/riscv/rv32/libdl.abilist | 9 + .../unix/sysv/linux/riscv/rv32/libm.abilist | 940 ++++++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 213 ++ .../sysv/linux/riscv/rv32/libresolv.abilist | 79 + .../unix/sysv/linux/riscv/rv32/librt.abilist | 35 + .../linux/riscv/rv32/libthread_db.abilist | 40 + .../sysv/linux/riscv/rv32/libutil.abilist | 6 + 14 files changed, 3337 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libBrokenLocale.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libthread_db.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h index 9f9a2d5912..c397bf3e47 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h @@ -31,6 +31,7 @@ #define __NR_exit 93 #define __NR_exit_group 94 #define __NR_faccessat 48 +#define __NR_faccessat2 439 #define __NR_fadvise64_64 223 #define __NR_fallocate 47 #define __NR_fanotify_init 262 diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data b/sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data new file mode 100644 index 0000000000..0fb0143ae7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/c++-types.data @@ -0,0 +1,67 @@ +blkcnt64_t:x +blkcnt_t:x +blksize_t:i +caddr_t:Pc +clockid_t:i +clock_t:l +daddr_t:i +dev_t:y +fd_mask:l +fsblkcnt64_t:y +fsblkcnt_t:y +fsfilcnt64_t:y +fsfilcnt_t:y +fsid_t:8__fsid_t +gid_t:j +id_t:j +ino64_t:y +ino_t:y +int16_t:s +int32_t:i +int64_t:x +int8_t:a +intptr_t:i +key_t:i +loff_t:x +mode_t:j +nlink_t:j +off64_t:x +off_t:x +pid_t:i +pthread_attr_t:14pthread_attr_t +pthread_barrier_t:17pthread_barrier_t +pthread_barrierattr_t:21pthread_barrierattr_t +pthread_cond_t:14pthread_cond_t +pthread_condattr_t:18pthread_condattr_t +pthread_key_t:j +pthread_mutex_t:15pthread_mutex_t +pthread_mutexattr_t:19pthread_mutexattr_t +pthread_once_t:i +pthread_rwlock_t:16pthread_rwlock_t +pthread_rwlockattr_t:20pthread_rwlockattr_t +pthread_spinlock_t:i +pthread_t:m +quad_t:x +register_t:i +rlim64_t:y +rlim_t:y +sigset_t:10__sigset_t +size_t:j +socklen_t:j +ssize_t:i +suseconds_t:x +time_t:x +u_char:h +uid_t:j +uint:j +u_int:j +u_int16_t:t +u_int32_t:j +u_int64_t:y +u_int8_t:h +ulong:m +u_long:m +u_quad_t:y +useconds_t:j +ushort:t +u_short:t diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist new file mode 100644 index 0000000000..94ca64c43d --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist @@ -0,0 +1,5 @@ +GLIBC_2.33 __libc_stack_end D 0x4 +GLIBC_2.33 __stack_chk_guard D 0x4 +GLIBC_2.33 __tls_get_addr F +GLIBC_2.33 _dl_mcount F +GLIBC_2.33 _r_debug D 0x14 diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libBrokenLocale.abilist new file mode 100644 index 0000000000..cc8a5095f4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libBrokenLocale.abilist @@ -0,0 +1 @@ +GLIBC_2.33 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist new file mode 100644 index 0000000000..33f23fd896 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist @@ -0,0 +1,4 @@ +GLIBC_2.33 gai_cancel F +GLIBC_2.33 gai_error F +GLIBC_2.33 gai_suspend F +GLIBC_2.33 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist new file mode 100644 index 0000000000..3bea073169 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -0,0 +1,1935 @@ +GLIBC_2.33 _Exit F +GLIBC_2.33 _IO_2_1_stderr_ D 0xa0 +GLIBC_2.33 _IO_2_1_stdin_ D 0xa0 +GLIBC_2.33 _IO_2_1_stdout_ D 0xa0 +GLIBC_2.33 _IO_adjust_column F +GLIBC_2.33 _IO_adjust_wcolumn F +GLIBC_2.33 _IO_default_doallocate F +GLIBC_2.33 _IO_default_finish F +GLIBC_2.33 _IO_default_pbackfail F +GLIBC_2.33 _IO_default_uflow F +GLIBC_2.33 _IO_default_xsgetn F +GLIBC_2.33 _IO_default_xsputn F +GLIBC_2.33 _IO_do_write F +GLIBC_2.33 _IO_doallocbuf F +GLIBC_2.33 _IO_fclose F +GLIBC_2.33 _IO_fdopen F +GLIBC_2.33 _IO_feof F +GLIBC_2.33 _IO_ferror F +GLIBC_2.33 _IO_fflush F +GLIBC_2.33 _IO_fgetpos F +GLIBC_2.33 _IO_fgetpos64 F +GLIBC_2.33 _IO_fgets F +GLIBC_2.33 _IO_file_attach F +GLIBC_2.33 _IO_file_close F +GLIBC_2.33 _IO_file_close_it F +GLIBC_2.33 _IO_file_doallocate F +GLIBC_2.33 _IO_file_finish F +GLIBC_2.33 _IO_file_fopen F +GLIBC_2.33 _IO_file_init F +GLIBC_2.33 _IO_file_jumps D 0x54 +GLIBC_2.33 _IO_file_open F +GLIBC_2.33 _IO_file_overflow F +GLIBC_2.33 _IO_file_read F +GLIBC_2.33 _IO_file_seek F +GLIBC_2.33 _IO_file_seekoff F +GLIBC_2.33 _IO_file_setbuf F +GLIBC_2.33 _IO_file_stat F +GLIBC_2.33 _IO_file_sync F +GLIBC_2.33 _IO_file_underflow F +GLIBC_2.33 _IO_file_write F +GLIBC_2.33 _IO_file_xsputn F +GLIBC_2.33 _IO_flockfile F +GLIBC_2.33 _IO_flush_all F +GLIBC_2.33 _IO_flush_all_linebuffered F +GLIBC_2.33 _IO_fopen F +GLIBC_2.33 _IO_fprintf F +GLIBC_2.33 _IO_fputs F +GLIBC_2.33 _IO_fread F +GLIBC_2.33 _IO_free_backup_area F +GLIBC_2.33 _IO_free_wbackup_area F +GLIBC_2.33 _IO_fsetpos F +GLIBC_2.33 _IO_fsetpos64 F +GLIBC_2.33 _IO_ftell F +GLIBC_2.33 _IO_ftrylockfile F +GLIBC_2.33 _IO_funlockfile F +GLIBC_2.33 _IO_fwrite F +GLIBC_2.33 _IO_getc F +GLIBC_2.33 _IO_getline F +GLIBC_2.33 _IO_getline_info F +GLIBC_2.33 _IO_gets F +GLIBC_2.33 _IO_init F +GLIBC_2.33 _IO_init_marker F +GLIBC_2.33 _IO_init_wmarker F +GLIBC_2.33 _IO_iter_begin F +GLIBC_2.33 _IO_iter_end F +GLIBC_2.33 _IO_iter_file F +GLIBC_2.33 _IO_iter_next F +GLIBC_2.33 _IO_least_wmarker F +GLIBC_2.33 _IO_link_in F +GLIBC_2.33 _IO_list_all D 0x4 +GLIBC_2.33 _IO_list_lock F +GLIBC_2.33 _IO_list_resetlock F +GLIBC_2.33 _IO_list_unlock F +GLIBC_2.33 _IO_marker_delta F +GLIBC_2.33 _IO_marker_difference F +GLIBC_2.33 _IO_padn F +GLIBC_2.33 _IO_peekc_locked F +GLIBC_2.33 _IO_popen F +GLIBC_2.33 _IO_printf F +GLIBC_2.33 _IO_proc_close F +GLIBC_2.33 _IO_proc_open F +GLIBC_2.33 _IO_putc F +GLIBC_2.33 _IO_puts F +GLIBC_2.33 _IO_remove_marker F +GLIBC_2.33 _IO_seekmark F +GLIBC_2.33 _IO_seekoff F +GLIBC_2.33 _IO_seekpos F +GLIBC_2.33 _IO_seekwmark F +GLIBC_2.33 _IO_setb F +GLIBC_2.33 _IO_setbuffer F +GLIBC_2.33 _IO_setvbuf F +GLIBC_2.33 _IO_sgetn F +GLIBC_2.33 _IO_sprintf F +GLIBC_2.33 _IO_sputbackc F +GLIBC_2.33 _IO_sputbackwc F +GLIBC_2.33 _IO_sscanf F +GLIBC_2.33 _IO_str_init_readonly F +GLIBC_2.33 _IO_str_init_static F +GLIBC_2.33 _IO_str_overflow F +GLIBC_2.33 _IO_str_pbackfail F +GLIBC_2.33 _IO_str_seekoff F +GLIBC_2.33 _IO_str_underflow F +GLIBC_2.33 _IO_sungetc F +GLIBC_2.33 _IO_sungetwc F +GLIBC_2.33 _IO_switch_to_get_mode F +GLIBC_2.33 _IO_switch_to_main_wget_area F +GLIBC_2.33 _IO_switch_to_wbackup_area F +GLIBC_2.33 _IO_switch_to_wget_mode F +GLIBC_2.33 _IO_un_link F +GLIBC_2.33 _IO_ungetc F +GLIBC_2.33 _IO_unsave_markers F +GLIBC_2.33 _IO_unsave_wmarkers F +GLIBC_2.33 _IO_vfprintf F +GLIBC_2.33 _IO_vsprintf F +GLIBC_2.33 _IO_wdefault_doallocate F +GLIBC_2.33 _IO_wdefault_finish F +GLIBC_2.33 _IO_wdefault_pbackfail F +GLIBC_2.33 _IO_wdefault_uflow F +GLIBC_2.33 _IO_wdefault_xsgetn F +GLIBC_2.33 _IO_wdefault_xsputn F +GLIBC_2.33 _IO_wdo_write F +GLIBC_2.33 _IO_wdoallocbuf F +GLIBC_2.33 _IO_wfile_jumps D 0x54 +GLIBC_2.33 _IO_wfile_overflow F +GLIBC_2.33 _IO_wfile_seekoff F +GLIBC_2.33 _IO_wfile_sync F +GLIBC_2.33 _IO_wfile_underflow F +GLIBC_2.33 _IO_wfile_xsputn F +GLIBC_2.33 _IO_wmarker_delta F +GLIBC_2.33 _IO_wsetb F +GLIBC_2.33 ___brk_addr D 0x4 +GLIBC_2.33 __adjtimex F +GLIBC_2.33 __after_morecore_hook D 0x4 +GLIBC_2.33 __argz_count F +GLIBC_2.33 __argz_next F +GLIBC_2.33 __argz_stringify F +GLIBC_2.33 __asprintf F +GLIBC_2.33 __asprintf_chk F +GLIBC_2.33 __assert F +GLIBC_2.33 __assert_fail F +GLIBC_2.33 __assert_perror_fail F +GLIBC_2.33 __backtrace F +GLIBC_2.33 __backtrace_symbols F +GLIBC_2.33 __backtrace_symbols_fd F +GLIBC_2.33 __bsd_getpgrp F +GLIBC_2.33 __bzero F +GLIBC_2.33 __check_rhosts_file D 0x4 +GLIBC_2.33 __chk_fail F +GLIBC_2.33 __clone F +GLIBC_2.33 __close F +GLIBC_2.33 __cmsg_nxthdr F +GLIBC_2.33 __confstr_chk F +GLIBC_2.33 __connect F +GLIBC_2.33 __ctype_b_loc F +GLIBC_2.33 __ctype_get_mb_cur_max F +GLIBC_2.33 __ctype_tolower_loc F +GLIBC_2.33 __ctype_toupper_loc F +GLIBC_2.33 __curbrk D 0x4 +GLIBC_2.33 __cxa_at_quick_exit F +GLIBC_2.33 __cxa_atexit F +GLIBC_2.33 __cxa_finalize F +GLIBC_2.33 __cxa_thread_atexit_impl F +GLIBC_2.33 __cyg_profile_func_enter F +GLIBC_2.33 __cyg_profile_func_exit F +GLIBC_2.33 __daylight D 0x4 +GLIBC_2.33 __dcgettext F +GLIBC_2.33 __default_morecore F +GLIBC_2.33 __dgettext F +GLIBC_2.33 __dprintf_chk F +GLIBC_2.33 __dup2 F +GLIBC_2.33 __duplocale F +GLIBC_2.33 __endmntent F +GLIBC_2.33 __environ D 0x4 +GLIBC_2.33 __errno_location F +GLIBC_2.33 __explicit_bzero_chk F +GLIBC_2.33 __fbufsize F +GLIBC_2.33 __fcntl F +GLIBC_2.33 __fdelt_chk F +GLIBC_2.33 __fdelt_warn F +GLIBC_2.33 __ffs F +GLIBC_2.33 __fgets_chk F +GLIBC_2.33 __fgets_unlocked_chk F +GLIBC_2.33 __fgetws_chk F +GLIBC_2.33 __fgetws_unlocked_chk F +GLIBC_2.33 __finite F +GLIBC_2.33 __finitef F +GLIBC_2.33 __finitel F +GLIBC_2.33 __flbf F +GLIBC_2.33 __fork F +GLIBC_2.33 __fpending F +GLIBC_2.33 __fprintf_chk F +GLIBC_2.33 __fpu_control D 0x4 +GLIBC_2.33 __fpurge F +GLIBC_2.33 __fread_chk F +GLIBC_2.33 __fread_unlocked_chk F +GLIBC_2.33 __freadable F +GLIBC_2.33 __freading F +GLIBC_2.33 __free_hook D 0x4 +GLIBC_2.33 __freelocale F +GLIBC_2.33 __fsetlocking F +GLIBC_2.33 __fwprintf_chk F +GLIBC_2.33 __fwritable F +GLIBC_2.33 __fwriting F +GLIBC_2.33 __fxstat F +GLIBC_2.33 __fxstat64 F +GLIBC_2.33 __fxstatat F +GLIBC_2.33 __fxstatat64 F +GLIBC_2.33 __getauxval F +GLIBC_2.33 __getcwd_chk F +GLIBC_2.33 __getdelim F +GLIBC_2.33 __getdomainname_chk F +GLIBC_2.33 __getgroups_chk F +GLIBC_2.33 __gethostname_chk F +GLIBC_2.33 __getlogin_r_chk F +GLIBC_2.33 __getmntent_r F +GLIBC_2.33 __getpagesize F +GLIBC_2.33 __getpgid F +GLIBC_2.33 __getpid F +GLIBC_2.33 __gets_chk F +GLIBC_2.33 __gettimeofday F +GLIBC_2.33 __getwd_chk F +GLIBC_2.33 __gmtime_r F +GLIBC_2.33 __h_errno_location F +GLIBC_2.33 __isalnum_l F +GLIBC_2.33 __isalpha_l F +GLIBC_2.33 __isascii_l F +GLIBC_2.33 __isblank_l F +GLIBC_2.33 __iscntrl_l F +GLIBC_2.33 __isctype F +GLIBC_2.33 __isdigit_l F +GLIBC_2.33 __isgraph_l F +GLIBC_2.33 __isinf F +GLIBC_2.33 __isinff F +GLIBC_2.33 __isinfl F +GLIBC_2.33 __islower_l F +GLIBC_2.33 __isnan F +GLIBC_2.33 __isnanf F +GLIBC_2.33 __isnanl F +GLIBC_2.33 __isoc99_fscanf F +GLIBC_2.33 __isoc99_fwscanf F +GLIBC_2.33 __isoc99_scanf F +GLIBC_2.33 __isoc99_sscanf F +GLIBC_2.33 __isoc99_swscanf F +GLIBC_2.33 __isoc99_vfscanf F +GLIBC_2.33 __isoc99_vfwscanf F +GLIBC_2.33 __isoc99_vscanf F +GLIBC_2.33 __isoc99_vsscanf F +GLIBC_2.33 __isoc99_vswscanf F +GLIBC_2.33 __isoc99_vwscanf F +GLIBC_2.33 __isoc99_wscanf F +GLIBC_2.33 __isprint_l F +GLIBC_2.33 __ispunct_l F +GLIBC_2.33 __isspace_l F +GLIBC_2.33 __isupper_l F +GLIBC_2.33 __iswalnum_l F +GLIBC_2.33 __iswalpha_l F +GLIBC_2.33 __iswblank_l F +GLIBC_2.33 __iswcntrl_l F +GLIBC_2.33 __iswctype F +GLIBC_2.33 __iswctype_l F +GLIBC_2.33 __iswdigit_l F +GLIBC_2.33 __iswgraph_l F +GLIBC_2.33 __iswlower_l F +GLIBC_2.33 __iswprint_l F +GLIBC_2.33 __iswpunct_l F +GLIBC_2.33 __iswspace_l F +GLIBC_2.33 __iswupper_l F +GLIBC_2.33 __iswxdigit_l F +GLIBC_2.33 __isxdigit_l F +GLIBC_2.33 __ivaliduser F +GLIBC_2.33 __libc_allocate_rtsig F +GLIBC_2.33 __libc_calloc F +GLIBC_2.33 __libc_current_sigrtmax F +GLIBC_2.33 __libc_current_sigrtmin F +GLIBC_2.33 __libc_free F +GLIBC_2.33 __libc_freeres F +GLIBC_2.33 __libc_init_first F +GLIBC_2.33 __libc_mallinfo F +GLIBC_2.33 __libc_malloc F +GLIBC_2.33 __libc_mallopt F +GLIBC_2.33 __libc_memalign F +GLIBC_2.33 __libc_pvalloc F +GLIBC_2.33 __libc_realloc F +GLIBC_2.33 __libc_sa_len F +GLIBC_2.33 __libc_single_threaded D 0x1 +GLIBC_2.33 __libc_start_main F +GLIBC_2.33 __libc_valloc F +GLIBC_2.33 __longjmp_chk F +GLIBC_2.33 __lseek F +GLIBC_2.33 __lxstat F +GLIBC_2.33 __lxstat64 F +GLIBC_2.33 __malloc_hook D 0x4 +GLIBC_2.33 __mbrlen F +GLIBC_2.33 __mbrtowc F +GLIBC_2.33 __mbsnrtowcs_chk F +GLIBC_2.33 __mbsrtowcs_chk F +GLIBC_2.33 __mbstowcs_chk F +GLIBC_2.33 __memalign_hook D 0x4 +GLIBC_2.33 __memcpy_chk F +GLIBC_2.33 __memmove_chk F +GLIBC_2.33 __mempcpy F +GLIBC_2.33 __mempcpy_chk F +GLIBC_2.33 __memset_chk F +GLIBC_2.33 __monstartup F +GLIBC_2.33 __morecore D 0x4 +GLIBC_2.33 __nanosleep F +GLIBC_2.33 __newlocale F +GLIBC_2.33 __nl_langinfo_l F +GLIBC_2.33 __nss_configure_lookup F +GLIBC_2.33 __nss_hostname_digits_dots F +GLIBC_2.33 __obstack_printf_chk F +GLIBC_2.33 __obstack_vprintf_chk F +GLIBC_2.33 __open F +GLIBC_2.33 __open64 F +GLIBC_2.33 __open64_2 F +GLIBC_2.33 __open_2 F +GLIBC_2.33 __openat64_2 F +GLIBC_2.33 __openat_2 F +GLIBC_2.33 __overflow F +GLIBC_2.33 __pipe F +GLIBC_2.33 __poll F +GLIBC_2.33 __poll_chk F +GLIBC_2.33 __posix_getopt F +GLIBC_2.33 __ppoll_chk F +GLIBC_2.33 __pread64 F +GLIBC_2.33 __pread64_chk F +GLIBC_2.33 __pread_chk F +GLIBC_2.33 __printf_chk F +GLIBC_2.33 __printf_fp F +GLIBC_2.33 __profile_frequency F +GLIBC_2.33 __progname D 0x4 +GLIBC_2.33 __progname_full D 0x4 +GLIBC_2.33 __ptsname_r_chk F +GLIBC_2.33 __pwrite64 F +GLIBC_2.33 __rawmemchr F +GLIBC_2.33 __rcmd_errstr D 0x4 +GLIBC_2.33 __read F +GLIBC_2.33 __read_chk F +GLIBC_2.33 __readlink_chk F +GLIBC_2.33 __readlinkat_chk F +GLIBC_2.33 __realloc_hook D 0x4 +GLIBC_2.33 __realpath_chk F +GLIBC_2.33 __recv_chk F +GLIBC_2.33 __recvfrom_chk F +GLIBC_2.33 __register_atfork F +GLIBC_2.33 __res_init F +GLIBC_2.33 __res_nclose F +GLIBC_2.33 __res_ninit F +GLIBC_2.33 __res_randomid F +GLIBC_2.33 __res_state F +GLIBC_2.33 __riscv_flush_icache F +GLIBC_2.33 __sbrk F +GLIBC_2.33 __sched_cpualloc F +GLIBC_2.33 __sched_cpucount F +GLIBC_2.33 __sched_cpufree F +GLIBC_2.33 __sched_get_priority_max F +GLIBC_2.33 __sched_get_priority_min F +GLIBC_2.33 __sched_getparam F +GLIBC_2.33 __sched_getscheduler F +GLIBC_2.33 __sched_setscheduler F +GLIBC_2.33 __sched_yield F +GLIBC_2.33 __select F +GLIBC_2.33 __send F +GLIBC_2.33 __setmntent F +GLIBC_2.33 __setpgid F +GLIBC_2.33 __sigaction F +GLIBC_2.33 __signbit F +GLIBC_2.33 __signbitf F +GLIBC_2.33 __signbitl F +GLIBC_2.33 __sigpause F +GLIBC_2.33 __sigsetjmp F +GLIBC_2.33 __sigsuspend F +GLIBC_2.33 __snprintf_chk F +GLIBC_2.33 __sprintf_chk F +GLIBC_2.33 __stack_chk_fail F +GLIBC_2.33 __statfs F +GLIBC_2.33 __stpcpy F +GLIBC_2.33 __stpcpy_chk F +GLIBC_2.33 __stpncpy F +GLIBC_2.33 __stpncpy_chk F +GLIBC_2.33 __strcasecmp F +GLIBC_2.33 __strcasecmp_l F +GLIBC_2.33 __strcasestr F +GLIBC_2.33 __strcat_chk F +GLIBC_2.33 __strcoll_l F +GLIBC_2.33 __strcpy_chk F +GLIBC_2.33 __strdup F +GLIBC_2.33 __strerror_r F +GLIBC_2.33 __strfmon_l F +GLIBC_2.33 __strftime_l F +GLIBC_2.33 __strncasecmp_l F +GLIBC_2.33 __strncat_chk F +GLIBC_2.33 __strncpy_chk F +GLIBC_2.33 __strndup F +GLIBC_2.33 __strsep_g F +GLIBC_2.33 __strtod_internal F +GLIBC_2.33 __strtod_l F +GLIBC_2.33 __strtof_internal F +GLIBC_2.33 __strtof_l F +GLIBC_2.33 __strtok_r F +GLIBC_2.33 __strtol_internal F +GLIBC_2.33 __strtol_l F +GLIBC_2.33 __strtold_internal F +GLIBC_2.33 __strtold_l F +GLIBC_2.33 __strtoll_internal F +GLIBC_2.33 __strtoll_l F +GLIBC_2.33 __strtoul_internal F +GLIBC_2.33 __strtoul_l F +GLIBC_2.33 __strtoull_internal F +GLIBC_2.33 __strtoull_l F +GLIBC_2.33 __strverscmp F +GLIBC_2.33 __strxfrm_l F +GLIBC_2.33 __swprintf_chk F +GLIBC_2.33 __sysconf F +GLIBC_2.33 __syslog_chk F +GLIBC_2.33 __sysv_signal F +GLIBC_2.33 __timezone D 0x4 +GLIBC_2.33 __toascii_l F +GLIBC_2.33 __tolower_l F +GLIBC_2.33 __toupper_l F +GLIBC_2.33 __towctrans F +GLIBC_2.33 __towctrans_l F +GLIBC_2.33 __towlower_l F +GLIBC_2.33 __towupper_l F +GLIBC_2.33 __ttyname_r_chk F +GLIBC_2.33 __tzname D 0x8 +GLIBC_2.33 __uflow F +GLIBC_2.33 __underflow F +GLIBC_2.33 __uselocale F +GLIBC_2.33 __vasprintf_chk F +GLIBC_2.33 __vdprintf_chk F +GLIBC_2.33 __vfork F +GLIBC_2.33 __vfprintf_chk F +GLIBC_2.33 __vfscanf F +GLIBC_2.33 __vfwprintf_chk F +GLIBC_2.33 __vprintf_chk F +GLIBC_2.33 __vsnprintf F +GLIBC_2.33 __vsnprintf_chk F +GLIBC_2.33 __vsprintf_chk F +GLIBC_2.33 __vsscanf F +GLIBC_2.33 __vswprintf_chk F +GLIBC_2.33 __vsyslog_chk F +GLIBC_2.33 __vwprintf_chk F +GLIBC_2.33 __wait F +GLIBC_2.33 __waitpid F +GLIBC_2.33 __wcpcpy_chk F +GLIBC_2.33 __wcpncpy_chk F +GLIBC_2.33 __wcrtomb_chk F +GLIBC_2.33 __wcscasecmp_l F +GLIBC_2.33 __wcscat_chk F +GLIBC_2.33 __wcscoll_l F +GLIBC_2.33 __wcscpy_chk F +GLIBC_2.33 __wcsftime_l F +GLIBC_2.33 __wcsncasecmp_l F +GLIBC_2.33 __wcsncat_chk F +GLIBC_2.33 __wcsncpy_chk F +GLIBC_2.33 __wcsnrtombs_chk F +GLIBC_2.33 __wcsrtombs_chk F +GLIBC_2.33 __wcstod_internal F +GLIBC_2.33 __wcstod_l F +GLIBC_2.33 __wcstof_internal F +GLIBC_2.33 __wcstof_l F +GLIBC_2.33 __wcstol_internal F +GLIBC_2.33 __wcstol_l F +GLIBC_2.33 __wcstold_internal F +GLIBC_2.33 __wcstold_l F +GLIBC_2.33 __wcstoll_internal F +GLIBC_2.33 __wcstoll_l F +GLIBC_2.33 __wcstombs_chk F +GLIBC_2.33 __wcstoul_internal F +GLIBC_2.33 __wcstoul_l F +GLIBC_2.33 __wcstoull_internal F +GLIBC_2.33 __wcstoull_l F +GLIBC_2.33 __wcsxfrm_l F +GLIBC_2.33 __wctomb_chk F +GLIBC_2.33 __wctrans_l F +GLIBC_2.33 __wctype_l F +GLIBC_2.33 __wmemcpy_chk F +GLIBC_2.33 __wmemmove_chk F +GLIBC_2.33 __wmempcpy_chk F +GLIBC_2.33 __wmemset_chk F +GLIBC_2.33 __woverflow F +GLIBC_2.33 __wprintf_chk F +GLIBC_2.33 __write F +GLIBC_2.33 __wuflow F +GLIBC_2.33 __wunderflow F +GLIBC_2.33 __xmknod F +GLIBC_2.33 __xmknodat F +GLIBC_2.33 __xpg_basename F +GLIBC_2.33 __xpg_sigpause F +GLIBC_2.33 __xpg_strerror_r F +GLIBC_2.33 __xstat F +GLIBC_2.33 __xstat64 F +GLIBC_2.33 _dl_mcount_wrapper F +GLIBC_2.33 _dl_mcount_wrapper_check F +GLIBC_2.33 _environ D 0x4 +GLIBC_2.33 _exit F +GLIBC_2.33 _flushlbf F +GLIBC_2.33 _libc_intl_domainname D 0x5 +GLIBC_2.33 _longjmp F +GLIBC_2.33 _mcleanup F +GLIBC_2.33 _mcount F +GLIBC_2.33 _nl_default_dirname D 0x12 +GLIBC_2.33 _nl_domain_bindings D 0x4 +GLIBC_2.33 _nl_msg_cat_cntr D 0x4 +GLIBC_2.33 _obstack_allocated_p F +GLIBC_2.33 _obstack_begin F +GLIBC_2.33 _obstack_begin_1 F +GLIBC_2.33 _obstack_free F +GLIBC_2.33 _obstack_memory_used F +GLIBC_2.33 _obstack_newchunk F +GLIBC_2.33 _res D 0x200 +GLIBC_2.33 _res_hconf D 0x30 +GLIBC_2.33 _setjmp F +GLIBC_2.33 _tolower F +GLIBC_2.33 _toupper F +GLIBC_2.33 a64l F +GLIBC_2.33 abort F +GLIBC_2.33 abs F +GLIBC_2.33 accept F +GLIBC_2.33 accept4 F +GLIBC_2.33 access F +GLIBC_2.33 acct F +GLIBC_2.33 addmntent F +GLIBC_2.33 addseverity F +GLIBC_2.33 adjtime F +GLIBC_2.33 adjtimex F +GLIBC_2.33 alarm F +GLIBC_2.33 aligned_alloc F +GLIBC_2.33 alphasort F +GLIBC_2.33 alphasort64 F +GLIBC_2.33 argp_err_exit_status D 0x4 +GLIBC_2.33 argp_error F +GLIBC_2.33 argp_failure F +GLIBC_2.33 argp_help F +GLIBC_2.33 argp_parse F +GLIBC_2.33 argp_program_bug_address D 0x4 +GLIBC_2.33 argp_program_version D 0x4 +GLIBC_2.33 argp_program_version_hook D 0x4 +GLIBC_2.33 argp_state_help F +GLIBC_2.33 argp_usage F +GLIBC_2.33 argz_add F +GLIBC_2.33 argz_add_sep F +GLIBC_2.33 argz_append F +GLIBC_2.33 argz_count F +GLIBC_2.33 argz_create F +GLIBC_2.33 argz_create_sep F +GLIBC_2.33 argz_delete F +GLIBC_2.33 argz_extract F +GLIBC_2.33 argz_insert F +GLIBC_2.33 argz_next F +GLIBC_2.33 argz_replace F +GLIBC_2.33 argz_stringify F +GLIBC_2.33 asctime F +GLIBC_2.33 asctime_r F +GLIBC_2.33 asprintf F +GLIBC_2.33 atof F +GLIBC_2.33 atoi F +GLIBC_2.33 atol F +GLIBC_2.33 atoll F +GLIBC_2.33 backtrace F +GLIBC_2.33 backtrace_symbols F +GLIBC_2.33 backtrace_symbols_fd F +GLIBC_2.33 basename F +GLIBC_2.33 bcmp F +GLIBC_2.33 bcopy F +GLIBC_2.33 bind F +GLIBC_2.33 bind_textdomain_codeset F +GLIBC_2.33 bindresvport F +GLIBC_2.33 bindtextdomain F +GLIBC_2.33 brk F +GLIBC_2.33 bsd_signal F +GLIBC_2.33 bsearch F +GLIBC_2.33 btowc F +GLIBC_2.33 bzero F +GLIBC_2.33 c16rtomb F +GLIBC_2.33 c32rtomb F +GLIBC_2.33 calloc F +GLIBC_2.33 canonicalize_file_name F +GLIBC_2.33 capget F +GLIBC_2.33 capset F +GLIBC_2.33 catclose F +GLIBC_2.33 catgets F +GLIBC_2.33 catopen F +GLIBC_2.33 cfgetispeed F +GLIBC_2.33 cfgetospeed F +GLIBC_2.33 cfmakeraw F +GLIBC_2.33 cfsetispeed F +GLIBC_2.33 cfsetospeed F +GLIBC_2.33 cfsetspeed F +GLIBC_2.33 chdir F +GLIBC_2.33 chflags F +GLIBC_2.33 chmod F +GLIBC_2.33 chown F +GLIBC_2.33 chroot F +GLIBC_2.33 clearenv F +GLIBC_2.33 clearerr F +GLIBC_2.33 clearerr_unlocked F +GLIBC_2.33 clock F +GLIBC_2.33 clock_adjtime F +GLIBC_2.33 clock_getcpuclockid F +GLIBC_2.33 clock_getres F +GLIBC_2.33 clock_gettime F +GLIBC_2.33 clock_nanosleep F +GLIBC_2.33 clock_settime F +GLIBC_2.33 clone F +GLIBC_2.33 close F +GLIBC_2.33 closedir F +GLIBC_2.33 closelog F +GLIBC_2.33 confstr F +GLIBC_2.33 connect F +GLIBC_2.33 copy_file_range F +GLIBC_2.33 copysign F +GLIBC_2.33 copysignf F +GLIBC_2.33 copysignl F +GLIBC_2.33 creat F +GLIBC_2.33 creat64 F +GLIBC_2.33 ctermid F +GLIBC_2.33 ctime F +GLIBC_2.33 ctime_r F +GLIBC_2.33 cuserid F +GLIBC_2.33 daemon F +GLIBC_2.33 daylight D 0x4 +GLIBC_2.33 dcgettext F +GLIBC_2.33 dcngettext F +GLIBC_2.33 delete_module F +GLIBC_2.33 dgettext F +GLIBC_2.33 difftime F +GLIBC_2.33 dirfd F +GLIBC_2.33 dirname F +GLIBC_2.33 div F +GLIBC_2.33 dl_iterate_phdr F +GLIBC_2.33 dngettext F +GLIBC_2.33 dprintf F +GLIBC_2.33 drand48 F +GLIBC_2.33 drand48_r F +GLIBC_2.33 dup F +GLIBC_2.33 dup2 F +GLIBC_2.33 dup3 F +GLIBC_2.33 duplocale F +GLIBC_2.33 dysize F +GLIBC_2.33 eaccess F +GLIBC_2.33 ecvt F +GLIBC_2.33 ecvt_r F +GLIBC_2.33 endaliasent F +GLIBC_2.33 endfsent F +GLIBC_2.33 endgrent F +GLIBC_2.33 endhostent F +GLIBC_2.33 endmntent F +GLIBC_2.33 endnetent F +GLIBC_2.33 endnetgrent F +GLIBC_2.33 endprotoent F +GLIBC_2.33 endpwent F +GLIBC_2.33 endrpcent F +GLIBC_2.33 endservent F +GLIBC_2.33 endsgent F +GLIBC_2.33 endspent F +GLIBC_2.33 endttyent F +GLIBC_2.33 endusershell F +GLIBC_2.33 endutent F +GLIBC_2.33 endutxent F +GLIBC_2.33 environ D 0x4 +GLIBC_2.33 envz_add F +GLIBC_2.33 envz_entry F +GLIBC_2.33 envz_get F +GLIBC_2.33 envz_merge F +GLIBC_2.33 envz_remove F +GLIBC_2.33 envz_strip F +GLIBC_2.33 epoll_create F +GLIBC_2.33 epoll_create1 F +GLIBC_2.33 epoll_ctl F +GLIBC_2.33 epoll_pwait F +GLIBC_2.33 epoll_wait F +GLIBC_2.33 erand48 F +GLIBC_2.33 erand48_r F +GLIBC_2.33 err F +GLIBC_2.33 error F +GLIBC_2.33 error_at_line F +GLIBC_2.33 error_message_count D 0x4 +GLIBC_2.33 error_one_per_line D 0x4 +GLIBC_2.33 error_print_progname D 0x4 +GLIBC_2.33 errx F +GLIBC_2.33 ether_aton F +GLIBC_2.33 ether_aton_r F +GLIBC_2.33 ether_hostton F +GLIBC_2.33 ether_line F +GLIBC_2.33 ether_ntoa F +GLIBC_2.33 ether_ntoa_r F +GLIBC_2.33 ether_ntohost F +GLIBC_2.33 euidaccess F +GLIBC_2.33 eventfd F +GLIBC_2.33 eventfd_read F +GLIBC_2.33 eventfd_write F +GLIBC_2.33 execl F +GLIBC_2.33 execle F +GLIBC_2.33 execlp F +GLIBC_2.33 execv F +GLIBC_2.33 execve F +GLIBC_2.33 execvp F +GLIBC_2.33 execvpe F +GLIBC_2.33 exit F +GLIBC_2.33 explicit_bzero F +GLIBC_2.33 faccessat F +GLIBC_2.33 fallocate F +GLIBC_2.33 fallocate64 F +GLIBC_2.33 fanotify_init F +GLIBC_2.33 fanotify_mark F +GLIBC_2.33 fchdir F +GLIBC_2.33 fchflags F +GLIBC_2.33 fchmod F +GLIBC_2.33 fchmodat F +GLIBC_2.33 fchown F +GLIBC_2.33 fchownat F +GLIBC_2.33 fclose F +GLIBC_2.33 fcloseall F +GLIBC_2.33 fcntl F +GLIBC_2.33 fcntl64 F +GLIBC_2.33 fcvt F +GLIBC_2.33 fcvt_r F +GLIBC_2.33 fdatasync F +GLIBC_2.33 fdopen F +GLIBC_2.33 fdopendir F +GLIBC_2.33 feof F +GLIBC_2.33 feof_unlocked F +GLIBC_2.33 ferror F +GLIBC_2.33 ferror_unlocked F +GLIBC_2.33 fexecve F +GLIBC_2.33 fflush F +GLIBC_2.33 fflush_unlocked F +GLIBC_2.33 ffs F +GLIBC_2.33 ffsl F +GLIBC_2.33 ffsll F +GLIBC_2.33 fgetc F +GLIBC_2.33 fgetc_unlocked F +GLIBC_2.33 fgetgrent F +GLIBC_2.33 fgetgrent_r F +GLIBC_2.33 fgetpos F +GLIBC_2.33 fgetpos64 F +GLIBC_2.33 fgetpwent F +GLIBC_2.33 fgetpwent_r F +GLIBC_2.33 fgets F +GLIBC_2.33 fgets_unlocked F +GLIBC_2.33 fgetsgent F +GLIBC_2.33 fgetsgent_r F +GLIBC_2.33 fgetspent F +GLIBC_2.33 fgetspent_r F +GLIBC_2.33 fgetwc F +GLIBC_2.33 fgetwc_unlocked F +GLIBC_2.33 fgetws F +GLIBC_2.33 fgetws_unlocked F +GLIBC_2.33 fgetxattr F +GLIBC_2.33 fileno F +GLIBC_2.33 fileno_unlocked F +GLIBC_2.33 finite F +GLIBC_2.33 finitef F +GLIBC_2.33 finitel F +GLIBC_2.33 flistxattr F +GLIBC_2.33 flock F +GLIBC_2.33 flockfile F +GLIBC_2.33 fmemopen F +GLIBC_2.33 fmtmsg F +GLIBC_2.33 fnmatch F +GLIBC_2.33 fopen F +GLIBC_2.33 fopen64 F +GLIBC_2.33 fopencookie F +GLIBC_2.33 fork F +GLIBC_2.33 fpathconf F +GLIBC_2.33 fprintf F +GLIBC_2.33 fputc F +GLIBC_2.33 fputc_unlocked F +GLIBC_2.33 fputs F +GLIBC_2.33 fputs_unlocked F +GLIBC_2.33 fputwc F +GLIBC_2.33 fputwc_unlocked F +GLIBC_2.33 fputws F +GLIBC_2.33 fputws_unlocked F +GLIBC_2.33 fread F +GLIBC_2.33 fread_unlocked F +GLIBC_2.33 free F +GLIBC_2.33 freeaddrinfo F +GLIBC_2.33 freeifaddrs F +GLIBC_2.33 freelocale F +GLIBC_2.33 fremovexattr F +GLIBC_2.33 freopen F +GLIBC_2.33 freopen64 F +GLIBC_2.33 frexp F +GLIBC_2.33 frexpf F +GLIBC_2.33 frexpl F +GLIBC_2.33 fscanf F +GLIBC_2.33 fseek F +GLIBC_2.33 fseeko F +GLIBC_2.33 fseeko64 F +GLIBC_2.33 fsetpos F +GLIBC_2.33 fsetpos64 F +GLIBC_2.33 fsetxattr F +GLIBC_2.33 fstatfs F +GLIBC_2.33 fstatfs64 F +GLIBC_2.33 fstatvfs F +GLIBC_2.33 fstatvfs64 F +GLIBC_2.33 fsync F +GLIBC_2.33 ftell F +GLIBC_2.33 ftello F +GLIBC_2.33 ftello64 F +GLIBC_2.33 ftime F +GLIBC_2.33 ftok F +GLIBC_2.33 ftruncate F +GLIBC_2.33 ftruncate64 F +GLIBC_2.33 ftrylockfile F +GLIBC_2.33 fts64_children F +GLIBC_2.33 fts64_close F +GLIBC_2.33 fts64_open F +GLIBC_2.33 fts64_read F +GLIBC_2.33 fts64_set F +GLIBC_2.33 fts_children F +GLIBC_2.33 fts_close F +GLIBC_2.33 fts_open F +GLIBC_2.33 fts_read F +GLIBC_2.33 fts_set F +GLIBC_2.33 ftw F +GLIBC_2.33 ftw64 F +GLIBC_2.33 funlockfile F +GLIBC_2.33 futimens F +GLIBC_2.33 futimes F +GLIBC_2.33 futimesat F +GLIBC_2.33 fwide F +GLIBC_2.33 fwprintf F +GLIBC_2.33 fwrite F +GLIBC_2.33 fwrite_unlocked F +GLIBC_2.33 fwscanf F +GLIBC_2.33 gai_strerror F +GLIBC_2.33 gcvt F +GLIBC_2.33 get_avphys_pages F +GLIBC_2.33 get_current_dir_name F +GLIBC_2.33 get_nprocs F +GLIBC_2.33 get_nprocs_conf F +GLIBC_2.33 get_phys_pages F +GLIBC_2.33 getaddrinfo F +GLIBC_2.33 getaliasbyname F +GLIBC_2.33 getaliasbyname_r F +GLIBC_2.33 getaliasent F +GLIBC_2.33 getaliasent_r F +GLIBC_2.33 getauxval F +GLIBC_2.33 getc F +GLIBC_2.33 getc_unlocked F +GLIBC_2.33 getchar F +GLIBC_2.33 getchar_unlocked F +GLIBC_2.33 getcontext F +GLIBC_2.33 getcpu F +GLIBC_2.33 getcwd F +GLIBC_2.33 getdate F +GLIBC_2.33 getdate_err D 0x4 +GLIBC_2.33 getdate_r F +GLIBC_2.33 getdelim F +GLIBC_2.33 getdents64 F +GLIBC_2.33 getdirentries F +GLIBC_2.33 getdirentries64 F +GLIBC_2.33 getdomainname F +GLIBC_2.33 getdtablesize F +GLIBC_2.33 getegid F +GLIBC_2.33 getentropy F +GLIBC_2.33 getenv F +GLIBC_2.33 geteuid F +GLIBC_2.33 getfsent F +GLIBC_2.33 getfsfile F +GLIBC_2.33 getfsspec F +GLIBC_2.33 getgid F +GLIBC_2.33 getgrent F +GLIBC_2.33 getgrent_r F +GLIBC_2.33 getgrgid F +GLIBC_2.33 getgrgid_r F +GLIBC_2.33 getgrnam F +GLIBC_2.33 getgrnam_r F +GLIBC_2.33 getgrouplist F +GLIBC_2.33 getgroups F +GLIBC_2.33 gethostbyaddr F +GLIBC_2.33 gethostbyaddr_r F +GLIBC_2.33 gethostbyname F +GLIBC_2.33 gethostbyname2 F +GLIBC_2.33 gethostbyname2_r F +GLIBC_2.33 gethostbyname_r F +GLIBC_2.33 gethostent F +GLIBC_2.33 gethostent_r F +GLIBC_2.33 gethostid F +GLIBC_2.33 gethostname F +GLIBC_2.33 getifaddrs F +GLIBC_2.33 getipv4sourcefilter F +GLIBC_2.33 getitimer F +GLIBC_2.33 getline F +GLIBC_2.33 getloadavg F +GLIBC_2.33 getlogin F +GLIBC_2.33 getlogin_r F +GLIBC_2.33 getmntent F +GLIBC_2.33 getmntent_r F +GLIBC_2.33 getnameinfo F +GLIBC_2.33 getnetbyaddr F +GLIBC_2.33 getnetbyaddr_r F +GLIBC_2.33 getnetbyname F +GLIBC_2.33 getnetbyname_r F +GLIBC_2.33 getnetent F +GLIBC_2.33 getnetent_r F +GLIBC_2.33 getnetgrent F +GLIBC_2.33 getnetgrent_r F +GLIBC_2.33 getopt F +GLIBC_2.33 getopt_long F +GLIBC_2.33 getopt_long_only F +GLIBC_2.33 getpagesize F +GLIBC_2.33 getpass F +GLIBC_2.33 getpeername F +GLIBC_2.33 getpgid F +GLIBC_2.33 getpgrp F +GLIBC_2.33 getpid F +GLIBC_2.33 getppid F +GLIBC_2.33 getpriority F +GLIBC_2.33 getprotobyname F +GLIBC_2.33 getprotobyname_r F +GLIBC_2.33 getprotobynumber F +GLIBC_2.33 getprotobynumber_r F +GLIBC_2.33 getprotoent F +GLIBC_2.33 getprotoent_r F +GLIBC_2.33 getpt F +GLIBC_2.33 getpw F +GLIBC_2.33 getpwent F +GLIBC_2.33 getpwent_r F +GLIBC_2.33 getpwnam F +GLIBC_2.33 getpwnam_r F +GLIBC_2.33 getpwuid F +GLIBC_2.33 getpwuid_r F +GLIBC_2.33 getrandom F +GLIBC_2.33 getresgid F +GLIBC_2.33 getresuid F +GLIBC_2.33 getrlimit F +GLIBC_2.33 getrlimit64 F +GLIBC_2.33 getrpcbyname F +GLIBC_2.33 getrpcbyname_r F +GLIBC_2.33 getrpcbynumber F +GLIBC_2.33 getrpcbynumber_r F +GLIBC_2.33 getrpcent F +GLIBC_2.33 getrpcent_r F +GLIBC_2.33 getrusage F +GLIBC_2.33 gets F +GLIBC_2.33 getservbyname F +GLIBC_2.33 getservbyname_r F +GLIBC_2.33 getservbyport F +GLIBC_2.33 getservbyport_r F +GLIBC_2.33 getservent F +GLIBC_2.33 getservent_r F +GLIBC_2.33 getsgent F +GLIBC_2.33 getsgent_r F +GLIBC_2.33 getsgnam F +GLIBC_2.33 getsgnam_r F +GLIBC_2.33 getsid F +GLIBC_2.33 getsockname F +GLIBC_2.33 getsockopt F +GLIBC_2.33 getsourcefilter F +GLIBC_2.33 getspent F +GLIBC_2.33 getspent_r F +GLIBC_2.33 getspnam F +GLIBC_2.33 getspnam_r F +GLIBC_2.33 getsubopt F +GLIBC_2.33 gettext F +GLIBC_2.33 gettid F +GLIBC_2.33 gettimeofday F +GLIBC_2.33 getttyent F +GLIBC_2.33 getttynam F +GLIBC_2.33 getuid F +GLIBC_2.33 getusershell F +GLIBC_2.33 getutent F +GLIBC_2.33 getutent_r F +GLIBC_2.33 getutid F +GLIBC_2.33 getutid_r F +GLIBC_2.33 getutline F +GLIBC_2.33 getutline_r F +GLIBC_2.33 getutmp F +GLIBC_2.33 getutmpx F +GLIBC_2.33 getutxent F +GLIBC_2.33 getutxid F +GLIBC_2.33 getutxline F +GLIBC_2.33 getw F +GLIBC_2.33 getwc F +GLIBC_2.33 getwc_unlocked F +GLIBC_2.33 getwchar F +GLIBC_2.33 getwchar_unlocked F +GLIBC_2.33 getwd F +GLIBC_2.33 getxattr F +GLIBC_2.33 glob F +GLIBC_2.33 glob64 F +GLIBC_2.33 glob_pattern_p F +GLIBC_2.33 globfree F +GLIBC_2.33 globfree64 F +GLIBC_2.33 gmtime F +GLIBC_2.33 gmtime_r F +GLIBC_2.33 gnu_dev_major F +GLIBC_2.33 gnu_dev_makedev F +GLIBC_2.33 gnu_dev_minor F +GLIBC_2.33 gnu_get_libc_release F +GLIBC_2.33 gnu_get_libc_version F +GLIBC_2.33 grantpt F +GLIBC_2.33 group_member F +GLIBC_2.33 gsignal F +GLIBC_2.33 gtty F +GLIBC_2.33 h_errlist D 0x14 +GLIBC_2.33 h_nerr D 0x4 +GLIBC_2.33 hasmntopt F +GLIBC_2.33 hcreate F +GLIBC_2.33 hcreate_r F +GLIBC_2.33 hdestroy F +GLIBC_2.33 hdestroy_r F +GLIBC_2.33 herror F +GLIBC_2.33 hsearch F +GLIBC_2.33 hsearch_r F +GLIBC_2.33 hstrerror F +GLIBC_2.33 htonl F +GLIBC_2.33 htons F +GLIBC_2.33 iconv F +GLIBC_2.33 iconv_close F +GLIBC_2.33 iconv_open F +GLIBC_2.33 if_freenameindex F +GLIBC_2.33 if_indextoname F +GLIBC_2.33 if_nameindex F +GLIBC_2.33 if_nametoindex F +GLIBC_2.33 imaxabs F +GLIBC_2.33 imaxdiv F +GLIBC_2.33 in6addr_any D 0x10 +GLIBC_2.33 in6addr_loopback D 0x10 +GLIBC_2.33 index F +GLIBC_2.33 inet6_opt_append F +GLIBC_2.33 inet6_opt_find F +GLIBC_2.33 inet6_opt_finish F +GLIBC_2.33 inet6_opt_get_val F +GLIBC_2.33 inet6_opt_init F +GLIBC_2.33 inet6_opt_next F +GLIBC_2.33 inet6_opt_set_val F +GLIBC_2.33 inet6_option_alloc F +GLIBC_2.33 inet6_option_append F +GLIBC_2.33 inet6_option_find F +GLIBC_2.33 inet6_option_init F +GLIBC_2.33 inet6_option_next F +GLIBC_2.33 inet6_option_space F +GLIBC_2.33 inet6_rth_add F +GLIBC_2.33 inet6_rth_getaddr F +GLIBC_2.33 inet6_rth_init F +GLIBC_2.33 inet6_rth_reverse F +GLIBC_2.33 inet6_rth_segments F +GLIBC_2.33 inet6_rth_space F +GLIBC_2.33 inet_addr F +GLIBC_2.33 inet_aton F +GLIBC_2.33 inet_lnaof F +GLIBC_2.33 inet_makeaddr F +GLIBC_2.33 inet_netof F +GLIBC_2.33 inet_network F +GLIBC_2.33 inet_nsap_addr F +GLIBC_2.33 inet_nsap_ntoa F +GLIBC_2.33 inet_ntoa F +GLIBC_2.33 inet_ntop F +GLIBC_2.33 inet_pton F +GLIBC_2.33 init_module F +GLIBC_2.33 initgroups F +GLIBC_2.33 initstate F +GLIBC_2.33 initstate_r F +GLIBC_2.33 innetgr F +GLIBC_2.33 inotify_add_watch F +GLIBC_2.33 inotify_init F +GLIBC_2.33 inotify_init1 F +GLIBC_2.33 inotify_rm_watch F +GLIBC_2.33 insque F +GLIBC_2.33 ioctl F +GLIBC_2.33 iruserok F +GLIBC_2.33 iruserok_af F +GLIBC_2.33 isalnum F +GLIBC_2.33 isalnum_l F +GLIBC_2.33 isalpha F +GLIBC_2.33 isalpha_l F +GLIBC_2.33 isascii F +GLIBC_2.33 isatty F +GLIBC_2.33 isblank F +GLIBC_2.33 isblank_l F +GLIBC_2.33 iscntrl F +GLIBC_2.33 iscntrl_l F +GLIBC_2.33 isctype F +GLIBC_2.33 isdigit F +GLIBC_2.33 isdigit_l F +GLIBC_2.33 isfdtype F +GLIBC_2.33 isgraph F +GLIBC_2.33 isgraph_l F +GLIBC_2.33 isinf F +GLIBC_2.33 isinff F +GLIBC_2.33 isinfl F +GLIBC_2.33 islower F +GLIBC_2.33 islower_l F +GLIBC_2.33 isnan F +GLIBC_2.33 isnanf F +GLIBC_2.33 isnanl F +GLIBC_2.33 isprint F +GLIBC_2.33 isprint_l F +GLIBC_2.33 ispunct F +GLIBC_2.33 ispunct_l F +GLIBC_2.33 isspace F +GLIBC_2.33 isspace_l F +GLIBC_2.33 isupper F +GLIBC_2.33 isupper_l F +GLIBC_2.33 iswalnum F +GLIBC_2.33 iswalnum_l F +GLIBC_2.33 iswalpha F +GLIBC_2.33 iswalpha_l F +GLIBC_2.33 iswblank F +GLIBC_2.33 iswblank_l F +GLIBC_2.33 iswcntrl F +GLIBC_2.33 iswcntrl_l F +GLIBC_2.33 iswctype F +GLIBC_2.33 iswctype_l F +GLIBC_2.33 iswdigit F +GLIBC_2.33 iswdigit_l F +GLIBC_2.33 iswgraph F +GLIBC_2.33 iswgraph_l F +GLIBC_2.33 iswlower F +GLIBC_2.33 iswlower_l F +GLIBC_2.33 iswprint F +GLIBC_2.33 iswprint_l F +GLIBC_2.33 iswpunct F +GLIBC_2.33 iswpunct_l F +GLIBC_2.33 iswspace F +GLIBC_2.33 iswspace_l F +GLIBC_2.33 iswupper F +GLIBC_2.33 iswupper_l F +GLIBC_2.33 iswxdigit F +GLIBC_2.33 iswxdigit_l F +GLIBC_2.33 isxdigit F +GLIBC_2.33 isxdigit_l F +GLIBC_2.33 jrand48 F +GLIBC_2.33 jrand48_r F +GLIBC_2.33 kill F +GLIBC_2.33 killpg F +GLIBC_2.33 klogctl F +GLIBC_2.33 l64a F +GLIBC_2.33 labs F +GLIBC_2.33 lchmod F +GLIBC_2.33 lchown F +GLIBC_2.33 lckpwdf F +GLIBC_2.33 lcong48 F +GLIBC_2.33 lcong48_r F +GLIBC_2.33 ldexp F +GLIBC_2.33 ldexpf F +GLIBC_2.33 ldexpl F +GLIBC_2.33 ldiv F +GLIBC_2.33 lfind F +GLIBC_2.33 lgetxattr F +GLIBC_2.33 link F +GLIBC_2.33 linkat F +GLIBC_2.33 listen F +GLIBC_2.33 listxattr F +GLIBC_2.33 llabs F +GLIBC_2.33 lldiv F +GLIBC_2.33 llistxattr F +GLIBC_2.33 localeconv F +GLIBC_2.33 localtime F +GLIBC_2.33 localtime_r F +GLIBC_2.33 lockf F +GLIBC_2.33 lockf64 F +GLIBC_2.33 longjmp F +GLIBC_2.33 lrand48 F +GLIBC_2.33 lrand48_r F +GLIBC_2.33 lremovexattr F +GLIBC_2.33 lsearch F +GLIBC_2.33 lseek F +GLIBC_2.33 lseek64 F +GLIBC_2.33 lsetxattr F +GLIBC_2.33 lutimes F +GLIBC_2.33 madvise F +GLIBC_2.33 makecontext F +GLIBC_2.33 mallinfo F +GLIBC_2.33 malloc F +GLIBC_2.33 malloc_info F +GLIBC_2.33 malloc_stats F +GLIBC_2.33 malloc_trim F +GLIBC_2.33 malloc_usable_size F +GLIBC_2.33 mallopt F +GLIBC_2.33 mallwatch D 0x4 +GLIBC_2.33 mblen F +GLIBC_2.33 mbrlen F +GLIBC_2.33 mbrtoc16 F +GLIBC_2.33 mbrtoc32 F +GLIBC_2.33 mbrtowc F +GLIBC_2.33 mbsinit F +GLIBC_2.33 mbsnrtowcs F +GLIBC_2.33 mbsrtowcs F +GLIBC_2.33 mbstowcs F +GLIBC_2.33 mbtowc F +GLIBC_2.33 mcheck F +GLIBC_2.33 mcheck_check_all F +GLIBC_2.33 mcheck_pedantic F +GLIBC_2.33 memalign F +GLIBC_2.33 memccpy F +GLIBC_2.33 memchr F +GLIBC_2.33 memcmp F +GLIBC_2.33 memcpy F +GLIBC_2.33 memfd_create F +GLIBC_2.33 memfrob F +GLIBC_2.33 memmem F +GLIBC_2.33 memmove F +GLIBC_2.33 mempcpy F +GLIBC_2.33 memrchr F +GLIBC_2.33 memset F +GLIBC_2.33 mincore F +GLIBC_2.33 mkdir F +GLIBC_2.33 mkdirat F +GLIBC_2.33 mkdtemp F +GLIBC_2.33 mkfifo F +GLIBC_2.33 mkfifoat F +GLIBC_2.33 mkostemp F +GLIBC_2.33 mkostemp64 F +GLIBC_2.33 mkostemps F +GLIBC_2.33 mkostemps64 F +GLIBC_2.33 mkstemp F +GLIBC_2.33 mkstemp64 F +GLIBC_2.33 mkstemps F +GLIBC_2.33 mkstemps64 F +GLIBC_2.33 mktemp F +GLIBC_2.33 mktime F +GLIBC_2.33 mlock F +GLIBC_2.33 mlock2 F +GLIBC_2.33 mlockall F +GLIBC_2.33 mmap F +GLIBC_2.33 mmap64 F +GLIBC_2.33 modf F +GLIBC_2.33 modff F +GLIBC_2.33 modfl F +GLIBC_2.33 moncontrol F +GLIBC_2.33 monstartup F +GLIBC_2.33 mount F +GLIBC_2.33 mprobe F +GLIBC_2.33 mprotect F +GLIBC_2.33 mrand48 F +GLIBC_2.33 mrand48_r F +GLIBC_2.33 mremap F +GLIBC_2.33 msgctl F +GLIBC_2.33 msgget F +GLIBC_2.33 msgrcv F +GLIBC_2.33 msgsnd F +GLIBC_2.33 msync F +GLIBC_2.33 mtrace F +GLIBC_2.33 munlock F +GLIBC_2.33 munlockall F +GLIBC_2.33 munmap F +GLIBC_2.33 muntrace F +GLIBC_2.33 name_to_handle_at F +GLIBC_2.33 nanosleep F +GLIBC_2.33 newlocale F +GLIBC_2.33 nftw F +GLIBC_2.33 nftw64 F +GLIBC_2.33 ngettext F +GLIBC_2.33 nice F +GLIBC_2.33 nl_langinfo F +GLIBC_2.33 nl_langinfo_l F +GLIBC_2.33 nrand48 F +GLIBC_2.33 nrand48_r F +GLIBC_2.33 ntohl F +GLIBC_2.33 ntohs F +GLIBC_2.33 ntp_adjtime F +GLIBC_2.33 ntp_gettime F +GLIBC_2.33 ntp_gettimex F +GLIBC_2.33 obstack_alloc_failed_handler D 0x4 +GLIBC_2.33 obstack_exit_failure D 0x4 +GLIBC_2.33 obstack_free F +GLIBC_2.33 obstack_printf F +GLIBC_2.33 obstack_vprintf F +GLIBC_2.33 on_exit F +GLIBC_2.33 open F +GLIBC_2.33 open64 F +GLIBC_2.33 open_by_handle_at F +GLIBC_2.33 open_memstream F +GLIBC_2.33 open_wmemstream F +GLIBC_2.33 openat F +GLIBC_2.33 openat64 F +GLIBC_2.33 opendir F +GLIBC_2.33 openlog F +GLIBC_2.33 optarg D 0x4 +GLIBC_2.33 opterr D 0x4 +GLIBC_2.33 optind D 0x4 +GLIBC_2.33 optopt D 0x4 +GLIBC_2.33 parse_printf_format F +GLIBC_2.33 pathconf F +GLIBC_2.33 pause F +GLIBC_2.33 pclose F +GLIBC_2.33 perror F +GLIBC_2.33 personality F +GLIBC_2.33 pipe F +GLIBC_2.33 pipe2 F +GLIBC_2.33 pivot_root F +GLIBC_2.33 pkey_alloc F +GLIBC_2.33 pkey_free F +GLIBC_2.33 pkey_get F +GLIBC_2.33 pkey_mprotect F +GLIBC_2.33 pkey_set F +GLIBC_2.33 poll F +GLIBC_2.33 popen F +GLIBC_2.33 posix_fadvise F +GLIBC_2.33 posix_fadvise64 F +GLIBC_2.33 posix_fallocate F +GLIBC_2.33 posix_fallocate64 F +GLIBC_2.33 posix_madvise F +GLIBC_2.33 posix_memalign F +GLIBC_2.33 posix_openpt F +GLIBC_2.33 posix_spawn F +GLIBC_2.33 posix_spawn_file_actions_addchdir_np F +GLIBC_2.33 posix_spawn_file_actions_addclose F +GLIBC_2.33 posix_spawn_file_actions_adddup2 F +GLIBC_2.33 posix_spawn_file_actions_addfchdir_np F +GLIBC_2.33 posix_spawn_file_actions_addopen F +GLIBC_2.33 posix_spawn_file_actions_destroy F +GLIBC_2.33 posix_spawn_file_actions_init F +GLIBC_2.33 posix_spawnattr_destroy F +GLIBC_2.33 posix_spawnattr_getflags F +GLIBC_2.33 posix_spawnattr_getpgroup F +GLIBC_2.33 posix_spawnattr_getschedparam F +GLIBC_2.33 posix_spawnattr_getschedpolicy F +GLIBC_2.33 posix_spawnattr_getsigdefault F +GLIBC_2.33 posix_spawnattr_getsigmask F +GLIBC_2.33 posix_spawnattr_init F +GLIBC_2.33 posix_spawnattr_setflags F +GLIBC_2.33 posix_spawnattr_setpgroup F +GLIBC_2.33 posix_spawnattr_setschedparam F +GLIBC_2.33 posix_spawnattr_setschedpolicy F +GLIBC_2.33 posix_spawnattr_setsigdefault F +GLIBC_2.33 posix_spawnattr_setsigmask F +GLIBC_2.33 posix_spawnp F +GLIBC_2.33 ppoll F +GLIBC_2.33 prctl F +GLIBC_2.33 pread F +GLIBC_2.33 pread64 F +GLIBC_2.33 preadv F +GLIBC_2.33 preadv2 F +GLIBC_2.33 preadv64 F +GLIBC_2.33 preadv64v2 F +GLIBC_2.33 printf F +GLIBC_2.33 printf_size F +GLIBC_2.33 printf_size_info F +GLIBC_2.33 prlimit F +GLIBC_2.33 prlimit64 F +GLIBC_2.33 process_vm_readv F +GLIBC_2.33 process_vm_writev F +GLIBC_2.33 profil F +GLIBC_2.33 program_invocation_name D 0x4 +GLIBC_2.33 program_invocation_short_name D 0x4 +GLIBC_2.33 pselect F +GLIBC_2.33 psiginfo F +GLIBC_2.33 psignal F +GLIBC_2.33 pthread_attr_destroy F +GLIBC_2.33 pthread_attr_getdetachstate F +GLIBC_2.33 pthread_attr_getinheritsched F +GLIBC_2.33 pthread_attr_getschedparam F +GLIBC_2.33 pthread_attr_getschedpolicy F +GLIBC_2.33 pthread_attr_getscope F +GLIBC_2.33 pthread_attr_getsigmask_np F +GLIBC_2.33 pthread_attr_init F +GLIBC_2.33 pthread_attr_setaffinity_np F +GLIBC_2.33 pthread_attr_setdetachstate F +GLIBC_2.33 pthread_attr_setinheritsched F +GLIBC_2.33 pthread_attr_setschedparam F +GLIBC_2.33 pthread_attr_setschedpolicy F +GLIBC_2.33 pthread_attr_setscope F +GLIBC_2.33 pthread_attr_setsigmask_np F +GLIBC_2.33 pthread_cond_broadcast F +GLIBC_2.33 pthread_cond_destroy F +GLIBC_2.33 pthread_cond_init F +GLIBC_2.33 pthread_cond_signal F +GLIBC_2.33 pthread_cond_timedwait F +GLIBC_2.33 pthread_cond_wait F +GLIBC_2.33 pthread_condattr_destroy F +GLIBC_2.33 pthread_condattr_init F +GLIBC_2.33 pthread_equal F +GLIBC_2.33 pthread_exit F +GLIBC_2.33 pthread_getaffinity_np F +GLIBC_2.33 pthread_getattr_np F +GLIBC_2.33 pthread_getschedparam F +GLIBC_2.33 pthread_mutex_destroy F +GLIBC_2.33 pthread_mutex_init F +GLIBC_2.33 pthread_mutex_lock F +GLIBC_2.33 pthread_mutex_unlock F +GLIBC_2.33 pthread_self F +GLIBC_2.33 pthread_setcancelstate F +GLIBC_2.33 pthread_setcanceltype F +GLIBC_2.33 pthread_setschedparam F +GLIBC_2.33 pthread_sigmask F +GLIBC_2.33 ptrace F +GLIBC_2.33 ptsname F +GLIBC_2.33 ptsname_r F +GLIBC_2.33 putc F +GLIBC_2.33 putc_unlocked F +GLIBC_2.33 putchar F +GLIBC_2.33 putchar_unlocked F +GLIBC_2.33 putenv F +GLIBC_2.33 putgrent F +GLIBC_2.33 putpwent F +GLIBC_2.33 puts F +GLIBC_2.33 putsgent F +GLIBC_2.33 putspent F +GLIBC_2.33 pututline F +GLIBC_2.33 pututxline F +GLIBC_2.33 putw F +GLIBC_2.33 putwc F +GLIBC_2.33 putwc_unlocked F +GLIBC_2.33 putwchar F +GLIBC_2.33 putwchar_unlocked F +GLIBC_2.33 pvalloc F +GLIBC_2.33 pwrite F +GLIBC_2.33 pwrite64 F +GLIBC_2.33 pwritev F +GLIBC_2.33 pwritev2 F +GLIBC_2.33 pwritev64 F +GLIBC_2.33 pwritev64v2 F +GLIBC_2.33 qecvt F +GLIBC_2.33 qecvt_r F +GLIBC_2.33 qfcvt F +GLIBC_2.33 qfcvt_r F +GLIBC_2.33 qgcvt F +GLIBC_2.33 qsort F +GLIBC_2.33 qsort_r F +GLIBC_2.33 quick_exit F +GLIBC_2.33 quotactl F +GLIBC_2.33 raise F +GLIBC_2.33 rand F +GLIBC_2.33 rand_r F +GLIBC_2.33 random F +GLIBC_2.33 random_r F +GLIBC_2.33 rawmemchr F +GLIBC_2.33 rcmd F +GLIBC_2.33 rcmd_af F +GLIBC_2.33 re_comp F +GLIBC_2.33 re_compile_fastmap F +GLIBC_2.33 re_compile_pattern F +GLIBC_2.33 re_exec F +GLIBC_2.33 re_match F +GLIBC_2.33 re_match_2 F +GLIBC_2.33 re_search F +GLIBC_2.33 re_search_2 F +GLIBC_2.33 re_set_registers F +GLIBC_2.33 re_set_syntax F +GLIBC_2.33 re_syntax_options D 0x4 +GLIBC_2.33 read F +GLIBC_2.33 readahead F +GLIBC_2.33 readdir F +GLIBC_2.33 readdir64 F +GLIBC_2.33 readdir64_r F +GLIBC_2.33 readdir_r F +GLIBC_2.33 readlink F +GLIBC_2.33 readlinkat F +GLIBC_2.33 readv F +GLIBC_2.33 realloc F +GLIBC_2.33 reallocarray F +GLIBC_2.33 realpath F +GLIBC_2.33 reboot F +GLIBC_2.33 recv F +GLIBC_2.33 recvfrom F +GLIBC_2.33 recvmmsg F +GLIBC_2.33 recvmsg F +GLIBC_2.33 regcomp F +GLIBC_2.33 regerror F +GLIBC_2.33 regexec F +GLIBC_2.33 regfree F +GLIBC_2.33 register_printf_function F +GLIBC_2.33 register_printf_modifier F +GLIBC_2.33 register_printf_specifier F +GLIBC_2.33 register_printf_type F +GLIBC_2.33 remap_file_pages F +GLIBC_2.33 remove F +GLIBC_2.33 removexattr F +GLIBC_2.33 remque F +GLIBC_2.33 rename F +GLIBC_2.33 renameat F +GLIBC_2.33 renameat2 F +GLIBC_2.33 revoke F +GLIBC_2.33 rewind F +GLIBC_2.33 rewinddir F +GLIBC_2.33 rexec F +GLIBC_2.33 rexec_af F +GLIBC_2.33 rexecoptions D 0x4 +GLIBC_2.33 rindex F +GLIBC_2.33 rmdir F +GLIBC_2.33 rpmatch F +GLIBC_2.33 rresvport F +GLIBC_2.33 rresvport_af F +GLIBC_2.33 ruserok F +GLIBC_2.33 ruserok_af F +GLIBC_2.33 ruserpass F +GLIBC_2.33 sbrk F +GLIBC_2.33 scalbn F +GLIBC_2.33 scalbnf F +GLIBC_2.33 scalbnl F +GLIBC_2.33 scandir F +GLIBC_2.33 scandir64 F +GLIBC_2.33 scandirat F +GLIBC_2.33 scandirat64 F +GLIBC_2.33 scanf F +GLIBC_2.33 sched_get_priority_max F +GLIBC_2.33 sched_get_priority_min F +GLIBC_2.33 sched_getaffinity F +GLIBC_2.33 sched_getcpu F +GLIBC_2.33 sched_getparam F +GLIBC_2.33 sched_getscheduler F +GLIBC_2.33 sched_rr_get_interval F +GLIBC_2.33 sched_setaffinity F +GLIBC_2.33 sched_setparam F +GLIBC_2.33 sched_setscheduler F +GLIBC_2.33 sched_yield F +GLIBC_2.33 secure_getenv F +GLIBC_2.33 seed48 F +GLIBC_2.33 seed48_r F +GLIBC_2.33 seekdir F +GLIBC_2.33 select F +GLIBC_2.33 semctl F +GLIBC_2.33 semget F +GLIBC_2.33 semop F +GLIBC_2.33 semtimedop F +GLIBC_2.33 send F +GLIBC_2.33 sendfile F +GLIBC_2.33 sendfile64 F +GLIBC_2.33 sendmmsg F +GLIBC_2.33 sendmsg F +GLIBC_2.33 sendto F +GLIBC_2.33 setaliasent F +GLIBC_2.33 setbuf F +GLIBC_2.33 setbuffer F +GLIBC_2.33 setcontext F +GLIBC_2.33 setdomainname F +GLIBC_2.33 setegid F +GLIBC_2.33 setenv F +GLIBC_2.33 seteuid F +GLIBC_2.33 setfsent F +GLIBC_2.33 setfsgid F +GLIBC_2.33 setfsuid F +GLIBC_2.33 setgid F +GLIBC_2.33 setgrent F +GLIBC_2.33 setgroups F +GLIBC_2.33 sethostent F +GLIBC_2.33 sethostid F +GLIBC_2.33 sethostname F +GLIBC_2.33 setipv4sourcefilter F +GLIBC_2.33 setitimer F +GLIBC_2.33 setjmp F +GLIBC_2.33 setlinebuf F +GLIBC_2.33 setlocale F +GLIBC_2.33 setlogin F +GLIBC_2.33 setlogmask F +GLIBC_2.33 setmntent F +GLIBC_2.33 setnetent F +GLIBC_2.33 setnetgrent F +GLIBC_2.33 setns F +GLIBC_2.33 setpgid F +GLIBC_2.33 setpgrp F +GLIBC_2.33 setpriority F +GLIBC_2.33 setprotoent F +GLIBC_2.33 setpwent F +GLIBC_2.33 setregid F +GLIBC_2.33 setresgid F +GLIBC_2.33 setresuid F +GLIBC_2.33 setreuid F +GLIBC_2.33 setrlimit F +GLIBC_2.33 setrlimit64 F +GLIBC_2.33 setrpcent F +GLIBC_2.33 setservent F +GLIBC_2.33 setsgent F +GLIBC_2.33 setsid F +GLIBC_2.33 setsockopt F +GLIBC_2.33 setsourcefilter F +GLIBC_2.33 setspent F +GLIBC_2.33 setstate F +GLIBC_2.33 setstate_r F +GLIBC_2.33 settimeofday F +GLIBC_2.33 setttyent F +GLIBC_2.33 setuid F +GLIBC_2.33 setusershell F +GLIBC_2.33 setutent F +GLIBC_2.33 setutxent F +GLIBC_2.33 setvbuf F +GLIBC_2.33 setxattr F +GLIBC_2.33 sgetsgent F +GLIBC_2.33 sgetsgent_r F +GLIBC_2.33 sgetspent F +GLIBC_2.33 sgetspent_r F +GLIBC_2.33 shmat F +GLIBC_2.33 shmctl F +GLIBC_2.33 shmdt F +GLIBC_2.33 shmget F +GLIBC_2.33 shutdown F +GLIBC_2.33 sigabbrev_np F +GLIBC_2.33 sigaction F +GLIBC_2.33 sigaddset F +GLIBC_2.33 sigaltstack F +GLIBC_2.33 sigandset F +GLIBC_2.33 sigblock F +GLIBC_2.33 sigdelset F +GLIBC_2.33 sigdescr_np F +GLIBC_2.33 sigemptyset F +GLIBC_2.33 sigfillset F +GLIBC_2.33 siggetmask F +GLIBC_2.33 sighold F +GLIBC_2.33 sigignore F +GLIBC_2.33 siginterrupt F +GLIBC_2.33 sigisemptyset F +GLIBC_2.33 sigismember F +GLIBC_2.33 siglongjmp F +GLIBC_2.33 signal F +GLIBC_2.33 signalfd F +GLIBC_2.33 sigorset F +GLIBC_2.33 sigpause F +GLIBC_2.33 sigpending F +GLIBC_2.33 sigprocmask F +GLIBC_2.33 sigqueue F +GLIBC_2.33 sigrelse F +GLIBC_2.33 sigreturn F +GLIBC_2.33 sigset F +GLIBC_2.33 sigsetmask F +GLIBC_2.33 sigstack F +GLIBC_2.33 sigsuspend F +GLIBC_2.33 sigtimedwait F +GLIBC_2.33 sigwait F +GLIBC_2.33 sigwaitinfo F +GLIBC_2.33 sleep F +GLIBC_2.33 snprintf F +GLIBC_2.33 sockatmark F +GLIBC_2.33 socket F +GLIBC_2.33 socketpair F +GLIBC_2.33 splice F +GLIBC_2.33 sprintf F +GLIBC_2.33 sprofil F +GLIBC_2.33 srand F +GLIBC_2.33 srand48 F +GLIBC_2.33 srand48_r F +GLIBC_2.33 srandom F +GLIBC_2.33 srandom_r F +GLIBC_2.33 sscanf F +GLIBC_2.33 ssignal F +GLIBC_2.33 statfs F +GLIBC_2.33 statfs64 F +GLIBC_2.33 statvfs F +GLIBC_2.33 statvfs64 F +GLIBC_2.33 statx F +GLIBC_2.33 stderr D 0x4 +GLIBC_2.33 stdin D 0x4 +GLIBC_2.33 stdout D 0x4 +GLIBC_2.33 stpcpy F +GLIBC_2.33 stpncpy F +GLIBC_2.33 strcasecmp F +GLIBC_2.33 strcasecmp_l F +GLIBC_2.33 strcasestr F +GLIBC_2.33 strcat F +GLIBC_2.33 strchr F +GLIBC_2.33 strchrnul F +GLIBC_2.33 strcmp F +GLIBC_2.33 strcoll F +GLIBC_2.33 strcoll_l F +GLIBC_2.33 strcpy F +GLIBC_2.33 strcspn F +GLIBC_2.33 strdup F +GLIBC_2.33 strerror F +GLIBC_2.33 strerror_l F +GLIBC_2.33 strerror_r F +GLIBC_2.33 strerrordesc_np F +GLIBC_2.33 strerrorname_np F +GLIBC_2.33 strfmon F +GLIBC_2.33 strfmon_l F +GLIBC_2.33 strfromd F +GLIBC_2.33 strfromf F +GLIBC_2.33 strfromf128 F +GLIBC_2.33 strfromf32 F +GLIBC_2.33 strfromf32x F +GLIBC_2.33 strfromf64 F +GLIBC_2.33 strfromf64x F +GLIBC_2.33 strfroml F +GLIBC_2.33 strfry F +GLIBC_2.33 strftime F +GLIBC_2.33 strftime_l F +GLIBC_2.33 strlen F +GLIBC_2.33 strncasecmp F +GLIBC_2.33 strncasecmp_l F +GLIBC_2.33 strncat F +GLIBC_2.33 strncmp F +GLIBC_2.33 strncpy F +GLIBC_2.33 strndup F +GLIBC_2.33 strnlen F +GLIBC_2.33 strpbrk F +GLIBC_2.33 strptime F +GLIBC_2.33 strptime_l F +GLIBC_2.33 strrchr F +GLIBC_2.33 strsep F +GLIBC_2.33 strsignal F +GLIBC_2.33 strspn F +GLIBC_2.33 strstr F +GLIBC_2.33 strtod F +GLIBC_2.33 strtod_l F +GLIBC_2.33 strtof F +GLIBC_2.33 strtof128 F +GLIBC_2.33 strtof128_l F +GLIBC_2.33 strtof32 F +GLIBC_2.33 strtof32_l F +GLIBC_2.33 strtof32x F +GLIBC_2.33 strtof32x_l F +GLIBC_2.33 strtof64 F +GLIBC_2.33 strtof64_l F +GLIBC_2.33 strtof64x F +GLIBC_2.33 strtof64x_l F +GLIBC_2.33 strtof_l F +GLIBC_2.33 strtoimax F +GLIBC_2.33 strtok F +GLIBC_2.33 strtok_r F +GLIBC_2.33 strtol F +GLIBC_2.33 strtol_l F +GLIBC_2.33 strtold F +GLIBC_2.33 strtold_l F +GLIBC_2.33 strtoll F +GLIBC_2.33 strtoll_l F +GLIBC_2.33 strtoq F +GLIBC_2.33 strtoul F +GLIBC_2.33 strtoul_l F +GLIBC_2.33 strtoull F +GLIBC_2.33 strtoull_l F +GLIBC_2.33 strtoumax F +GLIBC_2.33 strtouq F +GLIBC_2.33 strverscmp F +GLIBC_2.33 strxfrm F +GLIBC_2.33 strxfrm_l F +GLIBC_2.33 stty F +GLIBC_2.33 swab F +GLIBC_2.33 swapcontext F +GLIBC_2.33 swapoff F +GLIBC_2.33 swapon F +GLIBC_2.33 swprintf F +GLIBC_2.33 swscanf F +GLIBC_2.33 symlink F +GLIBC_2.33 symlinkat F +GLIBC_2.33 sync F +GLIBC_2.33 sync_file_range F +GLIBC_2.33 syncfs F +GLIBC_2.33 syscall F +GLIBC_2.33 sysconf F +GLIBC_2.33 sysinfo F +GLIBC_2.33 syslog F +GLIBC_2.33 system F +GLIBC_2.33 sysv_signal F +GLIBC_2.33 tcdrain F +GLIBC_2.33 tcflow F +GLIBC_2.33 tcflush F +GLIBC_2.33 tcgetattr F +GLIBC_2.33 tcgetpgrp F +GLIBC_2.33 tcgetsid F +GLIBC_2.33 tcsendbreak F +GLIBC_2.33 tcsetattr F +GLIBC_2.33 tcsetpgrp F +GLIBC_2.33 tdelete F +GLIBC_2.33 tdestroy F +GLIBC_2.33 tee F +GLIBC_2.33 telldir F +GLIBC_2.33 tempnam F +GLIBC_2.33 textdomain F +GLIBC_2.33 tfind F +GLIBC_2.33 tgkill F +GLIBC_2.33 thrd_current F +GLIBC_2.33 thrd_equal F +GLIBC_2.33 thrd_sleep F +GLIBC_2.33 thrd_yield F +GLIBC_2.33 time F +GLIBC_2.33 timegm F +GLIBC_2.33 timelocal F +GLIBC_2.33 timerfd_create F +GLIBC_2.33 timerfd_gettime F +GLIBC_2.33 timerfd_settime F +GLIBC_2.33 times F +GLIBC_2.33 timespec_get F +GLIBC_2.33 timezone D 0x4 +GLIBC_2.33 tmpfile F +GLIBC_2.33 tmpfile64 F +GLIBC_2.33 tmpnam F +GLIBC_2.33 tmpnam_r F +GLIBC_2.33 toascii F +GLIBC_2.33 tolower F +GLIBC_2.33 tolower_l F +GLIBC_2.33 toupper F +GLIBC_2.33 toupper_l F +GLIBC_2.33 towctrans F +GLIBC_2.33 towctrans_l F +GLIBC_2.33 towlower F +GLIBC_2.33 towlower_l F +GLIBC_2.33 towupper F +GLIBC_2.33 towupper_l F +GLIBC_2.33 tr_break F +GLIBC_2.33 truncate F +GLIBC_2.33 truncate64 F +GLIBC_2.33 tsearch F +GLIBC_2.33 ttyname F +GLIBC_2.33 ttyname_r F +GLIBC_2.33 ttyslot F +GLIBC_2.33 twalk F +GLIBC_2.33 twalk_r F +GLIBC_2.33 tzname D 0x8 +GLIBC_2.33 tzset F +GLIBC_2.33 ualarm F +GLIBC_2.33 ulckpwdf F +GLIBC_2.33 ulimit F +GLIBC_2.33 umask F +GLIBC_2.33 umount F +GLIBC_2.33 umount2 F +GLIBC_2.33 uname F +GLIBC_2.33 ungetc F +GLIBC_2.33 ungetwc F +GLIBC_2.33 unlink F +GLIBC_2.33 unlinkat F +GLIBC_2.33 unlockpt F +GLIBC_2.33 unsetenv F +GLIBC_2.33 unshare F +GLIBC_2.33 updwtmp F +GLIBC_2.33 updwtmpx F +GLIBC_2.33 uselocale F +GLIBC_2.33 usleep F +GLIBC_2.33 utime F +GLIBC_2.33 utimensat F +GLIBC_2.33 utimes F +GLIBC_2.33 utmpname F +GLIBC_2.33 utmpxname F +GLIBC_2.33 valloc F +GLIBC_2.33 vasprintf F +GLIBC_2.33 vdprintf F +GLIBC_2.33 verr F +GLIBC_2.33 verrx F +GLIBC_2.33 versionsort F +GLIBC_2.33 versionsort64 F +GLIBC_2.33 vfork F +GLIBC_2.33 vfprintf F +GLIBC_2.33 vfscanf F +GLIBC_2.33 vfwprintf F +GLIBC_2.33 vfwscanf F +GLIBC_2.33 vhangup F +GLIBC_2.33 vlimit F +GLIBC_2.33 vmsplice F +GLIBC_2.33 vprintf F +GLIBC_2.33 vscanf F +GLIBC_2.33 vsnprintf F +GLIBC_2.33 vsprintf F +GLIBC_2.33 vsscanf F +GLIBC_2.33 vswprintf F +GLIBC_2.33 vswscanf F +GLIBC_2.33 vsyslog F +GLIBC_2.33 vtimes F +GLIBC_2.33 vwarn F +GLIBC_2.33 vwarnx F +GLIBC_2.33 vwprintf F +GLIBC_2.33 vwscanf F +GLIBC_2.33 wait F +GLIBC_2.33 wait3 F +GLIBC_2.33 wait4 F +GLIBC_2.33 waitid F +GLIBC_2.33 waitpid F +GLIBC_2.33 warn F +GLIBC_2.33 warnx F +GLIBC_2.33 wcpcpy F +GLIBC_2.33 wcpncpy F +GLIBC_2.33 wcrtomb F +GLIBC_2.33 wcscasecmp F +GLIBC_2.33 wcscasecmp_l F +GLIBC_2.33 wcscat F +GLIBC_2.33 wcschr F +GLIBC_2.33 wcschrnul F +GLIBC_2.33 wcscmp F +GLIBC_2.33 wcscoll F +GLIBC_2.33 wcscoll_l F +GLIBC_2.33 wcscpy F +GLIBC_2.33 wcscspn F +GLIBC_2.33 wcsdup F +GLIBC_2.33 wcsftime F +GLIBC_2.33 wcsftime_l F +GLIBC_2.33 wcslen F +GLIBC_2.33 wcsncasecmp F +GLIBC_2.33 wcsncasecmp_l F +GLIBC_2.33 wcsncat F +GLIBC_2.33 wcsncmp F +GLIBC_2.33 wcsncpy F +GLIBC_2.33 wcsnlen F +GLIBC_2.33 wcsnrtombs F +GLIBC_2.33 wcspbrk F +GLIBC_2.33 wcsrchr F +GLIBC_2.33 wcsrtombs F +GLIBC_2.33 wcsspn F +GLIBC_2.33 wcsstr F +GLIBC_2.33 wcstod F +GLIBC_2.33 wcstod_l F +GLIBC_2.33 wcstof F +GLIBC_2.33 wcstof128 F +GLIBC_2.33 wcstof128_l F +GLIBC_2.33 wcstof32 F +GLIBC_2.33 wcstof32_l F +GLIBC_2.33 wcstof32x F +GLIBC_2.33 wcstof32x_l F +GLIBC_2.33 wcstof64 F +GLIBC_2.33 wcstof64_l F +GLIBC_2.33 wcstof64x F +GLIBC_2.33 wcstof64x_l F +GLIBC_2.33 wcstof_l F +GLIBC_2.33 wcstoimax F +GLIBC_2.33 wcstok F +GLIBC_2.33 wcstol F +GLIBC_2.33 wcstol_l F +GLIBC_2.33 wcstold F +GLIBC_2.33 wcstold_l F +GLIBC_2.33 wcstoll F +GLIBC_2.33 wcstoll_l F +GLIBC_2.33 wcstombs F +GLIBC_2.33 wcstoq F +GLIBC_2.33 wcstoul F +GLIBC_2.33 wcstoul_l F +GLIBC_2.33 wcstoull F +GLIBC_2.33 wcstoull_l F +GLIBC_2.33 wcstoumax F +GLIBC_2.33 wcstouq F +GLIBC_2.33 wcswcs F +GLIBC_2.33 wcswidth F +GLIBC_2.33 wcsxfrm F +GLIBC_2.33 wcsxfrm_l F +GLIBC_2.33 wctob F +GLIBC_2.33 wctomb F +GLIBC_2.33 wctrans F +GLIBC_2.33 wctrans_l F +GLIBC_2.33 wctype F +GLIBC_2.33 wctype_l F +GLIBC_2.33 wcwidth F +GLIBC_2.33 wmemchr F +GLIBC_2.33 wmemcmp F +GLIBC_2.33 wmemcpy F +GLIBC_2.33 wmemmove F +GLIBC_2.33 wmempcpy F +GLIBC_2.33 wmemset F +GLIBC_2.33 wordexp F +GLIBC_2.33 wordfree F +GLIBC_2.33 wprintf F +GLIBC_2.33 write F +GLIBC_2.33 writev F +GLIBC_2.33 wscanf F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist new file mode 100644 index 0000000000..f6ed52d39f --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist @@ -0,0 +1,2 @@ +GLIBC_2.33 crypt F +GLIBC_2.33 crypt_r F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist new file mode 100644 index 0000000000..ac5d2d0e9e --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -0,0 +1,9 @@ +GLIBC_2.33 dladdr F +GLIBC_2.33 dladdr1 F +GLIBC_2.33 dlclose F +GLIBC_2.33 dlerror F +GLIBC_2.33 dlinfo F +GLIBC_2.33 dlmopen F +GLIBC_2.33 dlopen F +GLIBC_2.33 dlsym F +GLIBC_2.33 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist new file mode 100644 index 0000000000..c701b07a9a --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist @@ -0,0 +1,940 @@ +GLIBC_2.33 __clog10 F +GLIBC_2.33 __clog10f F +GLIBC_2.33 __clog10l F +GLIBC_2.33 __finite F +GLIBC_2.33 __finitef F +GLIBC_2.33 __finitel F +GLIBC_2.33 __fpclassify F +GLIBC_2.33 __fpclassifyf F +GLIBC_2.33 __fpclassifyl F +GLIBC_2.33 __iseqsig F +GLIBC_2.33 __iseqsigf F +GLIBC_2.33 __iseqsigl F +GLIBC_2.33 __issignaling F +GLIBC_2.33 __issignalingf F +GLIBC_2.33 __issignalingl F +GLIBC_2.33 __signbit F +GLIBC_2.33 __signbitf F +GLIBC_2.33 __signbitl F +GLIBC_2.33 __signgam D 0x4 +GLIBC_2.33 acos F +GLIBC_2.33 acosf F +GLIBC_2.33 acosf128 F +GLIBC_2.33 acosf32 F +GLIBC_2.33 acosf32x F +GLIBC_2.33 acosf64 F +GLIBC_2.33 acosf64x F +GLIBC_2.33 acosh F +GLIBC_2.33 acoshf F +GLIBC_2.33 acoshf128 F +GLIBC_2.33 acoshf32 F +GLIBC_2.33 acoshf32x F +GLIBC_2.33 acoshf64 F +GLIBC_2.33 acoshf64x F +GLIBC_2.33 acoshl F +GLIBC_2.33 acosl F +GLIBC_2.33 asin F +GLIBC_2.33 asinf F +GLIBC_2.33 asinf128 F +GLIBC_2.33 asinf32 F +GLIBC_2.33 asinf32x F +GLIBC_2.33 asinf64 F +GLIBC_2.33 asinf64x F +GLIBC_2.33 asinh F +GLIBC_2.33 asinhf F +GLIBC_2.33 asinhf128 F +GLIBC_2.33 asinhf32 F +GLIBC_2.33 asinhf32x F +GLIBC_2.33 asinhf64 F +GLIBC_2.33 asinhf64x F +GLIBC_2.33 asinhl F +GLIBC_2.33 asinl F +GLIBC_2.33 atan F +GLIBC_2.33 atan2 F +GLIBC_2.33 atan2f F +GLIBC_2.33 atan2f128 F +GLIBC_2.33 atan2f32 F +GLIBC_2.33 atan2f32x F +GLIBC_2.33 atan2f64 F +GLIBC_2.33 atan2f64x F +GLIBC_2.33 atan2l F +GLIBC_2.33 atanf F +GLIBC_2.33 atanf128 F +GLIBC_2.33 atanf32 F +GLIBC_2.33 atanf32x F +GLIBC_2.33 atanf64 F +GLIBC_2.33 atanf64x F +GLIBC_2.33 atanh F +GLIBC_2.33 atanhf F +GLIBC_2.33 atanhf128 F +GLIBC_2.33 atanhf32 F +GLIBC_2.33 atanhf32x F +GLIBC_2.33 atanhf64 F +GLIBC_2.33 atanhf64x F +GLIBC_2.33 atanhl F +GLIBC_2.33 atanl F +GLIBC_2.33 cabs F +GLIBC_2.33 cabsf F +GLIBC_2.33 cabsf128 F +GLIBC_2.33 cabsf32 F +GLIBC_2.33 cabsf32x F +GLIBC_2.33 cabsf64 F +GLIBC_2.33 cabsf64x F +GLIBC_2.33 cabsl F +GLIBC_2.33 cacos F +GLIBC_2.33 cacosf F +GLIBC_2.33 cacosf128 F +GLIBC_2.33 cacosf32 F +GLIBC_2.33 cacosf32x F +GLIBC_2.33 cacosf64 F +GLIBC_2.33 cacosf64x F +GLIBC_2.33 cacosh F +GLIBC_2.33 cacoshf F +GLIBC_2.33 cacoshf128 F +GLIBC_2.33 cacoshf32 F +GLIBC_2.33 cacoshf32x F +GLIBC_2.33 cacoshf64 F +GLIBC_2.33 cacoshf64x F +GLIBC_2.33 cacoshl F +GLIBC_2.33 cacosl F +GLIBC_2.33 canonicalize F +GLIBC_2.33 canonicalizef F +GLIBC_2.33 canonicalizef128 F +GLIBC_2.33 canonicalizef32 F +GLIBC_2.33 canonicalizef32x F +GLIBC_2.33 canonicalizef64 F +GLIBC_2.33 canonicalizef64x F +GLIBC_2.33 canonicalizel F +GLIBC_2.33 carg F +GLIBC_2.33 cargf F +GLIBC_2.33 cargf128 F +GLIBC_2.33 cargf32 F +GLIBC_2.33 cargf32x F +GLIBC_2.33 cargf64 F +GLIBC_2.33 cargf64x F +GLIBC_2.33 cargl F +GLIBC_2.33 casin F +GLIBC_2.33 casinf F +GLIBC_2.33 casinf128 F +GLIBC_2.33 casinf32 F +GLIBC_2.33 casinf32x F +GLIBC_2.33 casinf64 F +GLIBC_2.33 casinf64x F +GLIBC_2.33 casinh F +GLIBC_2.33 casinhf F +GLIBC_2.33 casinhf128 F +GLIBC_2.33 casinhf32 F +GLIBC_2.33 casinhf32x F +GLIBC_2.33 casinhf64 F +GLIBC_2.33 casinhf64x F +GLIBC_2.33 casinhl F +GLIBC_2.33 casinl F +GLIBC_2.33 catan F +GLIBC_2.33 catanf F +GLIBC_2.33 catanf128 F +GLIBC_2.33 catanf32 F +GLIBC_2.33 catanf32x F +GLIBC_2.33 catanf64 F +GLIBC_2.33 catanf64x F +GLIBC_2.33 catanh F +GLIBC_2.33 catanhf F +GLIBC_2.33 catanhf128 F +GLIBC_2.33 catanhf32 F +GLIBC_2.33 catanhf32x F +GLIBC_2.33 catanhf64 F +GLIBC_2.33 catanhf64x F +GLIBC_2.33 catanhl F +GLIBC_2.33 catanl F +GLIBC_2.33 cbrt F +GLIBC_2.33 cbrtf F +GLIBC_2.33 cbrtf128 F +GLIBC_2.33 cbrtf32 F +GLIBC_2.33 cbrtf32x F +GLIBC_2.33 cbrtf64 F +GLIBC_2.33 cbrtf64x F +GLIBC_2.33 cbrtl F +GLIBC_2.33 ccos F +GLIBC_2.33 ccosf F +GLIBC_2.33 ccosf128 F +GLIBC_2.33 ccosf32 F +GLIBC_2.33 ccosf32x F +GLIBC_2.33 ccosf64 F +GLIBC_2.33 ccosf64x F +GLIBC_2.33 ccosh F +GLIBC_2.33 ccoshf F +GLIBC_2.33 ccoshf128 F +GLIBC_2.33 ccoshf32 F +GLIBC_2.33 ccoshf32x F +GLIBC_2.33 ccoshf64 F +GLIBC_2.33 ccoshf64x F +GLIBC_2.33 ccoshl F +GLIBC_2.33 ccosl F +GLIBC_2.33 ceil F +GLIBC_2.33 ceilf F +GLIBC_2.33 ceilf128 F +GLIBC_2.33 ceilf32 F +GLIBC_2.33 ceilf32x F +GLIBC_2.33 ceilf64 F +GLIBC_2.33 ceilf64x F +GLIBC_2.33 ceill F +GLIBC_2.33 cexp F +GLIBC_2.33 cexpf F +GLIBC_2.33 cexpf128 F +GLIBC_2.33 cexpf32 F +GLIBC_2.33 cexpf32x F +GLIBC_2.33 cexpf64 F +GLIBC_2.33 cexpf64x F +GLIBC_2.33 cexpl F +GLIBC_2.33 cimag F +GLIBC_2.33 cimagf F +GLIBC_2.33 cimagf128 F +GLIBC_2.33 cimagf32 F +GLIBC_2.33 cimagf32x F +GLIBC_2.33 cimagf64 F +GLIBC_2.33 cimagf64x F +GLIBC_2.33 cimagl F +GLIBC_2.33 clog F +GLIBC_2.33 clog10 F +GLIBC_2.33 clog10f F +GLIBC_2.33 clog10f128 F +GLIBC_2.33 clog10f32 F +GLIBC_2.33 clog10f32x F +GLIBC_2.33 clog10f64 F +GLIBC_2.33 clog10f64x F +GLIBC_2.33 clog10l F +GLIBC_2.33 clogf F +GLIBC_2.33 clogf128 F +GLIBC_2.33 clogf32 F +GLIBC_2.33 clogf32x F +GLIBC_2.33 clogf64 F +GLIBC_2.33 clogf64x F +GLIBC_2.33 clogl F +GLIBC_2.33 conj F +GLIBC_2.33 conjf F +GLIBC_2.33 conjf128 F +GLIBC_2.33 conjf32 F +GLIBC_2.33 conjf32x F +GLIBC_2.33 conjf64 F +GLIBC_2.33 conjf64x F +GLIBC_2.33 conjl F +GLIBC_2.33 copysign F +GLIBC_2.33 copysignf F +GLIBC_2.33 copysignf128 F +GLIBC_2.33 copysignf32 F +GLIBC_2.33 copysignf32x F +GLIBC_2.33 copysignf64 F +GLIBC_2.33 copysignf64x F +GLIBC_2.33 copysignl F +GLIBC_2.33 cos F +GLIBC_2.33 cosf F +GLIBC_2.33 cosf128 F +GLIBC_2.33 cosf32 F +GLIBC_2.33 cosf32x F +GLIBC_2.33 cosf64 F +GLIBC_2.33 cosf64x F +GLIBC_2.33 cosh F +GLIBC_2.33 coshf F +GLIBC_2.33 coshf128 F +GLIBC_2.33 coshf32 F +GLIBC_2.33 coshf32x F +GLIBC_2.33 coshf64 F +GLIBC_2.33 coshf64x F +GLIBC_2.33 coshl F +GLIBC_2.33 cosl F +GLIBC_2.33 cpow F +GLIBC_2.33 cpowf F +GLIBC_2.33 cpowf128 F +GLIBC_2.33 cpowf32 F +GLIBC_2.33 cpowf32x F +GLIBC_2.33 cpowf64 F +GLIBC_2.33 cpowf64x F +GLIBC_2.33 cpowl F +GLIBC_2.33 cproj F +GLIBC_2.33 cprojf F +GLIBC_2.33 cprojf128 F +GLIBC_2.33 cprojf32 F +GLIBC_2.33 cprojf32x F +GLIBC_2.33 cprojf64 F +GLIBC_2.33 cprojf64x F +GLIBC_2.33 cprojl F +GLIBC_2.33 creal F +GLIBC_2.33 crealf F +GLIBC_2.33 crealf128 F +GLIBC_2.33 crealf32 F +GLIBC_2.33 crealf32x F +GLIBC_2.33 crealf64 F +GLIBC_2.33 crealf64x F +GLIBC_2.33 creall F +GLIBC_2.33 csin F +GLIBC_2.33 csinf F +GLIBC_2.33 csinf128 F +GLIBC_2.33 csinf32 F +GLIBC_2.33 csinf32x F +GLIBC_2.33 csinf64 F +GLIBC_2.33 csinf64x F +GLIBC_2.33 csinh F +GLIBC_2.33 csinhf F +GLIBC_2.33 csinhf128 F +GLIBC_2.33 csinhf32 F +GLIBC_2.33 csinhf32x F +GLIBC_2.33 csinhf64 F +GLIBC_2.33 csinhf64x F +GLIBC_2.33 csinhl F +GLIBC_2.33 csinl F +GLIBC_2.33 csqrt F +GLIBC_2.33 csqrtf F +GLIBC_2.33 csqrtf128 F +GLIBC_2.33 csqrtf32 F +GLIBC_2.33 csqrtf32x F +GLIBC_2.33 csqrtf64 F +GLIBC_2.33 csqrtf64x F +GLIBC_2.33 csqrtl F +GLIBC_2.33 ctan F +GLIBC_2.33 ctanf F +GLIBC_2.33 ctanf128 F +GLIBC_2.33 ctanf32 F +GLIBC_2.33 ctanf32x F +GLIBC_2.33 ctanf64 F +GLIBC_2.33 ctanf64x F +GLIBC_2.33 ctanh F +GLIBC_2.33 ctanhf F +GLIBC_2.33 ctanhf128 F +GLIBC_2.33 ctanhf32 F +GLIBC_2.33 ctanhf32x F +GLIBC_2.33 ctanhf64 F +GLIBC_2.33 ctanhf64x F +GLIBC_2.33 ctanhl F +GLIBC_2.33 ctanl F +GLIBC_2.33 daddl F +GLIBC_2.33 ddivl F +GLIBC_2.33 dmull F +GLIBC_2.33 drem F +GLIBC_2.33 dremf F +GLIBC_2.33 dreml F +GLIBC_2.33 dsubl F +GLIBC_2.33 erf F +GLIBC_2.33 erfc F +GLIBC_2.33 erfcf F +GLIBC_2.33 erfcf128 F +GLIBC_2.33 erfcf32 F +GLIBC_2.33 erfcf32x F +GLIBC_2.33 erfcf64 F +GLIBC_2.33 erfcf64x F +GLIBC_2.33 erfcl F +GLIBC_2.33 erff F +GLIBC_2.33 erff128 F +GLIBC_2.33 erff32 F +GLIBC_2.33 erff32x F +GLIBC_2.33 erff64 F +GLIBC_2.33 erff64x F +GLIBC_2.33 erfl F +GLIBC_2.33 exp F +GLIBC_2.33 exp10 F +GLIBC_2.33 exp10f F +GLIBC_2.33 exp10f128 F +GLIBC_2.33 exp10f32 F +GLIBC_2.33 exp10f32x F +GLIBC_2.33 exp10f64 F +GLIBC_2.33 exp10f64x F +GLIBC_2.33 exp10l F +GLIBC_2.33 exp2 F +GLIBC_2.33 exp2f F +GLIBC_2.33 exp2f128 F +GLIBC_2.33 exp2f32 F +GLIBC_2.33 exp2f32x F +GLIBC_2.33 exp2f64 F +GLIBC_2.33 exp2f64x F +GLIBC_2.33 exp2l F +GLIBC_2.33 expf F +GLIBC_2.33 expf128 F +GLIBC_2.33 expf32 F +GLIBC_2.33 expf32x F +GLIBC_2.33 expf64 F +GLIBC_2.33 expf64x F +GLIBC_2.33 expl F +GLIBC_2.33 expm1 F +GLIBC_2.33 expm1f F +GLIBC_2.33 expm1f128 F +GLIBC_2.33 expm1f32 F +GLIBC_2.33 expm1f32x F +GLIBC_2.33 expm1f64 F +GLIBC_2.33 expm1f64x F +GLIBC_2.33 expm1l F +GLIBC_2.33 f32addf128 F +GLIBC_2.33 f32addf32x F +GLIBC_2.33 f32addf64 F +GLIBC_2.33 f32addf64x F +GLIBC_2.33 f32divf128 F +GLIBC_2.33 f32divf32x F +GLIBC_2.33 f32divf64 F +GLIBC_2.33 f32divf64x F +GLIBC_2.33 f32mulf128 F +GLIBC_2.33 f32mulf32x F +GLIBC_2.33 f32mulf64 F +GLIBC_2.33 f32mulf64x F +GLIBC_2.33 f32subf128 F +GLIBC_2.33 f32subf32x F +GLIBC_2.33 f32subf64 F +GLIBC_2.33 f32subf64x F +GLIBC_2.33 f32xaddf128 F +GLIBC_2.33 f32xaddf64 F +GLIBC_2.33 f32xaddf64x F +GLIBC_2.33 f32xdivf128 F +GLIBC_2.33 f32xdivf64 F +GLIBC_2.33 f32xdivf64x F +GLIBC_2.33 f32xmulf128 F +GLIBC_2.33 f32xmulf64 F +GLIBC_2.33 f32xmulf64x F +GLIBC_2.33 f32xsubf128 F +GLIBC_2.33 f32xsubf64 F +GLIBC_2.33 f32xsubf64x F +GLIBC_2.33 f64addf128 F +GLIBC_2.33 f64addf64x F +GLIBC_2.33 f64divf128 F +GLIBC_2.33 f64divf64x F +GLIBC_2.33 f64mulf128 F +GLIBC_2.33 f64mulf64x F +GLIBC_2.33 f64subf128 F +GLIBC_2.33 f64subf64x F +GLIBC_2.33 f64xaddf128 F +GLIBC_2.33 f64xdivf128 F +GLIBC_2.33 f64xmulf128 F +GLIBC_2.33 f64xsubf128 F +GLIBC_2.33 fabs F +GLIBC_2.33 fabsf F +GLIBC_2.33 fabsf128 F +GLIBC_2.33 fabsf32 F +GLIBC_2.33 fabsf32x F +GLIBC_2.33 fabsf64 F +GLIBC_2.33 fabsf64x F +GLIBC_2.33 fabsl F +GLIBC_2.33 fadd F +GLIBC_2.33 faddl F +GLIBC_2.33 fdim F +GLIBC_2.33 fdimf F +GLIBC_2.33 fdimf128 F +GLIBC_2.33 fdimf32 F +GLIBC_2.33 fdimf32x F +GLIBC_2.33 fdimf64 F +GLIBC_2.33 fdimf64x F +GLIBC_2.33 fdiml F +GLIBC_2.33 fdiv F +GLIBC_2.33 fdivl F +GLIBC_2.33 feclearexcept F +GLIBC_2.33 fedisableexcept F +GLIBC_2.33 feenableexcept F +GLIBC_2.33 fegetenv F +GLIBC_2.33 fegetexcept F +GLIBC_2.33 fegetexceptflag F +GLIBC_2.33 fegetmode F +GLIBC_2.33 fegetround F +GLIBC_2.33 feholdexcept F +GLIBC_2.33 feraiseexcept F +GLIBC_2.33 fesetenv F +GLIBC_2.33 fesetexcept F +GLIBC_2.33 fesetexceptflag F +GLIBC_2.33 fesetmode F +GLIBC_2.33 fesetround F +GLIBC_2.33 fetestexcept F +GLIBC_2.33 fetestexceptflag F +GLIBC_2.33 feupdateenv F +GLIBC_2.33 finite F +GLIBC_2.33 finitef F +GLIBC_2.33 finitel F +GLIBC_2.33 floor F +GLIBC_2.33 floorf F +GLIBC_2.33 floorf128 F +GLIBC_2.33 floorf32 F +GLIBC_2.33 floorf32x F +GLIBC_2.33 floorf64 F +GLIBC_2.33 floorf64x F +GLIBC_2.33 floorl F +GLIBC_2.33 fma F +GLIBC_2.33 fmaf F +GLIBC_2.33 fmaf128 F +GLIBC_2.33 fmaf32 F +GLIBC_2.33 fmaf32x F +GLIBC_2.33 fmaf64 F +GLIBC_2.33 fmaf64x F +GLIBC_2.33 fmal F +GLIBC_2.33 fmax F +GLIBC_2.33 fmaxf F +GLIBC_2.33 fmaxf128 F +GLIBC_2.33 fmaxf32 F +GLIBC_2.33 fmaxf32x F +GLIBC_2.33 fmaxf64 F +GLIBC_2.33 fmaxf64x F +GLIBC_2.33 fmaxl F +GLIBC_2.33 fmaxmag F +GLIBC_2.33 fmaxmagf F +GLIBC_2.33 fmaxmagf128 F +GLIBC_2.33 fmaxmagf32 F +GLIBC_2.33 fmaxmagf32x F +GLIBC_2.33 fmaxmagf64 F +GLIBC_2.33 fmaxmagf64x F +GLIBC_2.33 fmaxmagl F +GLIBC_2.33 fmin F +GLIBC_2.33 fminf F +GLIBC_2.33 fminf128 F +GLIBC_2.33 fminf32 F +GLIBC_2.33 fminf32x F +GLIBC_2.33 fminf64 F +GLIBC_2.33 fminf64x F +GLIBC_2.33 fminl F +GLIBC_2.33 fminmag F +GLIBC_2.33 fminmagf F +GLIBC_2.33 fminmagf128 F +GLIBC_2.33 fminmagf32 F +GLIBC_2.33 fminmagf32x F +GLIBC_2.33 fminmagf64 F +GLIBC_2.33 fminmagf64x F +GLIBC_2.33 fminmagl F +GLIBC_2.33 fmod F +GLIBC_2.33 fmodf F +GLIBC_2.33 fmodf128 F +GLIBC_2.33 fmodf32 F +GLIBC_2.33 fmodf32x F +GLIBC_2.33 fmodf64 F +GLIBC_2.33 fmodf64x F +GLIBC_2.33 fmodl F +GLIBC_2.33 fmul F +GLIBC_2.33 fmull F +GLIBC_2.33 frexp F +GLIBC_2.33 frexpf F +GLIBC_2.33 frexpf128 F +GLIBC_2.33 frexpf32 F +GLIBC_2.33 frexpf32x F +GLIBC_2.33 frexpf64 F +GLIBC_2.33 frexpf64x F +GLIBC_2.33 frexpl F +GLIBC_2.33 fromfp F +GLIBC_2.33 fromfpf F +GLIBC_2.33 fromfpf128 F +GLIBC_2.33 fromfpf32 F +GLIBC_2.33 fromfpf32x F +GLIBC_2.33 fromfpf64 F +GLIBC_2.33 fromfpf64x F +GLIBC_2.33 fromfpl F +GLIBC_2.33 fromfpx F +GLIBC_2.33 fromfpxf F +GLIBC_2.33 fromfpxf128 F +GLIBC_2.33 fromfpxf32 F +GLIBC_2.33 fromfpxf32x F +GLIBC_2.33 fromfpxf64 F +GLIBC_2.33 fromfpxf64x F +GLIBC_2.33 fromfpxl F +GLIBC_2.33 fsub F +GLIBC_2.33 fsubl F +GLIBC_2.33 gamma F +GLIBC_2.33 gammaf F +GLIBC_2.33 gammal F +GLIBC_2.33 getpayload F +GLIBC_2.33 getpayloadf F +GLIBC_2.33 getpayloadf128 F +GLIBC_2.33 getpayloadf32 F +GLIBC_2.33 getpayloadf32x F +GLIBC_2.33 getpayloadf64 F +GLIBC_2.33 getpayloadf64x F +GLIBC_2.33 getpayloadl F +GLIBC_2.33 hypot F +GLIBC_2.33 hypotf F +GLIBC_2.33 hypotf128 F +GLIBC_2.33 hypotf32 F +GLIBC_2.33 hypotf32x F +GLIBC_2.33 hypotf64 F +GLIBC_2.33 hypotf64x F +GLIBC_2.33 hypotl F +GLIBC_2.33 ilogb F +GLIBC_2.33 ilogbf F +GLIBC_2.33 ilogbf128 F +GLIBC_2.33 ilogbf32 F +GLIBC_2.33 ilogbf32x F +GLIBC_2.33 ilogbf64 F +GLIBC_2.33 ilogbf64x F +GLIBC_2.33 ilogbl F +GLIBC_2.33 j0 F +GLIBC_2.33 j0f F +GLIBC_2.33 j0f128 F +GLIBC_2.33 j0f32 F +GLIBC_2.33 j0f32x F +GLIBC_2.33 j0f64 F +GLIBC_2.33 j0f64x F +GLIBC_2.33 j0l F +GLIBC_2.33 j1 F +GLIBC_2.33 j1f F +GLIBC_2.33 j1f128 F +GLIBC_2.33 j1f32 F +GLIBC_2.33 j1f32x F +GLIBC_2.33 j1f64 F +GLIBC_2.33 j1f64x F +GLIBC_2.33 j1l F +GLIBC_2.33 jn F +GLIBC_2.33 jnf F +GLIBC_2.33 jnf128 F +GLIBC_2.33 jnf32 F +GLIBC_2.33 jnf32x F +GLIBC_2.33 jnf64 F +GLIBC_2.33 jnf64x F +GLIBC_2.33 jnl F +GLIBC_2.33 ldexp F +GLIBC_2.33 ldexpf F +GLIBC_2.33 ldexpf128 F +GLIBC_2.33 ldexpf32 F +GLIBC_2.33 ldexpf32x F +GLIBC_2.33 ldexpf64 F +GLIBC_2.33 ldexpf64x F +GLIBC_2.33 ldexpl F +GLIBC_2.33 lgamma F +GLIBC_2.33 lgamma_r F +GLIBC_2.33 lgammaf F +GLIBC_2.33 lgammaf128 F +GLIBC_2.33 lgammaf128_r F +GLIBC_2.33 lgammaf32 F +GLIBC_2.33 lgammaf32_r F +GLIBC_2.33 lgammaf32x F +GLIBC_2.33 lgammaf32x_r F +GLIBC_2.33 lgammaf64 F +GLIBC_2.33 lgammaf64_r F +GLIBC_2.33 lgammaf64x F +GLIBC_2.33 lgammaf64x_r F +GLIBC_2.33 lgammaf_r F +GLIBC_2.33 lgammal F +GLIBC_2.33 lgammal_r F +GLIBC_2.33 llogb F +GLIBC_2.33 llogbf F +GLIBC_2.33 llogbf128 F +GLIBC_2.33 llogbf32 F +GLIBC_2.33 llogbf32x F +GLIBC_2.33 llogbf64 F +GLIBC_2.33 llogbf64x F +GLIBC_2.33 llogbl F +GLIBC_2.33 llrint F +GLIBC_2.33 llrintf F +GLIBC_2.33 llrintf128 F +GLIBC_2.33 llrintf32 F +GLIBC_2.33 llrintf32x F +GLIBC_2.33 llrintf64 F +GLIBC_2.33 llrintf64x F +GLIBC_2.33 llrintl F +GLIBC_2.33 llround F +GLIBC_2.33 llroundf F +GLIBC_2.33 llroundf128 F +GLIBC_2.33 llroundf32 F +GLIBC_2.33 llroundf32x F +GLIBC_2.33 llroundf64 F +GLIBC_2.33 llroundf64x F +GLIBC_2.33 llroundl F +GLIBC_2.33 log F +GLIBC_2.33 log10 F +GLIBC_2.33 log10f F +GLIBC_2.33 log10f128 F +GLIBC_2.33 log10f32 F +GLIBC_2.33 log10f32x F +GLIBC_2.33 log10f64 F +GLIBC_2.33 log10f64x F +GLIBC_2.33 log10l F +GLIBC_2.33 log1p F +GLIBC_2.33 log1pf F +GLIBC_2.33 log1pf128 F +GLIBC_2.33 log1pf32 F +GLIBC_2.33 log1pf32x F +GLIBC_2.33 log1pf64 F +GLIBC_2.33 log1pf64x F +GLIBC_2.33 log1pl F +GLIBC_2.33 log2 F +GLIBC_2.33 log2f F +GLIBC_2.33 log2f128 F +GLIBC_2.33 log2f32 F +GLIBC_2.33 log2f32x F +GLIBC_2.33 log2f64 F +GLIBC_2.33 log2f64x F +GLIBC_2.33 log2l F +GLIBC_2.33 logb F +GLIBC_2.33 logbf F +GLIBC_2.33 logbf128 F +GLIBC_2.33 logbf32 F +GLIBC_2.33 logbf32x F +GLIBC_2.33 logbf64 F +GLIBC_2.33 logbf64x F +GLIBC_2.33 logbl F +GLIBC_2.33 logf F +GLIBC_2.33 logf128 F +GLIBC_2.33 logf32 F +GLIBC_2.33 logf32x F +GLIBC_2.33 logf64 F +GLIBC_2.33 logf64x F +GLIBC_2.33 logl F +GLIBC_2.33 lrint F +GLIBC_2.33 lrintf F +GLIBC_2.33 lrintf128 F +GLIBC_2.33 lrintf32 F +GLIBC_2.33 lrintf32x F +GLIBC_2.33 lrintf64 F +GLIBC_2.33 lrintf64x F +GLIBC_2.33 lrintl F +GLIBC_2.33 lround F +GLIBC_2.33 lroundf F +GLIBC_2.33 lroundf128 F +GLIBC_2.33 lroundf32 F +GLIBC_2.33 lroundf32x F +GLIBC_2.33 lroundf64 F +GLIBC_2.33 lroundf64x F +GLIBC_2.33 lroundl F +GLIBC_2.33 modf F +GLIBC_2.33 modff F +GLIBC_2.33 modff128 F +GLIBC_2.33 modff32 F +GLIBC_2.33 modff32x F +GLIBC_2.33 modff64 F +GLIBC_2.33 modff64x F +GLIBC_2.33 modfl F +GLIBC_2.33 nan F +GLIBC_2.33 nanf F +GLIBC_2.33 nanf128 F +GLIBC_2.33 nanf32 F +GLIBC_2.33 nanf32x F +GLIBC_2.33 nanf64 F +GLIBC_2.33 nanf64x F +GLIBC_2.33 nanl F +GLIBC_2.33 nearbyint F +GLIBC_2.33 nearbyintf F +GLIBC_2.33 nearbyintf128 F +GLIBC_2.33 nearbyintf32 F +GLIBC_2.33 nearbyintf32x F +GLIBC_2.33 nearbyintf64 F +GLIBC_2.33 nearbyintf64x F +GLIBC_2.33 nearbyintl F +GLIBC_2.33 nextafter F +GLIBC_2.33 nextafterf F +GLIBC_2.33 nextafterf128 F +GLIBC_2.33 nextafterf32 F +GLIBC_2.33 nextafterf32x F +GLIBC_2.33 nextafterf64 F +GLIBC_2.33 nextafterf64x F +GLIBC_2.33 nextafterl F +GLIBC_2.33 nextdown F +GLIBC_2.33 nextdownf F +GLIBC_2.33 nextdownf128 F +GLIBC_2.33 nextdownf32 F +GLIBC_2.33 nextdownf32x F +GLIBC_2.33 nextdownf64 F +GLIBC_2.33 nextdownf64x F +GLIBC_2.33 nextdownl F +GLIBC_2.33 nexttoward F +GLIBC_2.33 nexttowardf F +GLIBC_2.33 nexttowardl F +GLIBC_2.33 nextup F +GLIBC_2.33 nextupf F +GLIBC_2.33 nextupf128 F +GLIBC_2.33 nextupf32 F +GLIBC_2.33 nextupf32x F +GLIBC_2.33 nextupf64 F +GLIBC_2.33 nextupf64x F +GLIBC_2.33 nextupl F +GLIBC_2.33 pow F +GLIBC_2.33 powf F +GLIBC_2.33 powf128 F +GLIBC_2.33 powf32 F +GLIBC_2.33 powf32x F +GLIBC_2.33 powf64 F +GLIBC_2.33 powf64x F +GLIBC_2.33 powl F +GLIBC_2.33 remainder F +GLIBC_2.33 remainderf F +GLIBC_2.33 remainderf128 F +GLIBC_2.33 remainderf32 F +GLIBC_2.33 remainderf32x F +GLIBC_2.33 remainderf64 F +GLIBC_2.33 remainderf64x F +GLIBC_2.33 remainderl F +GLIBC_2.33 remquo F +GLIBC_2.33 remquof F +GLIBC_2.33 remquof128 F +GLIBC_2.33 remquof32 F +GLIBC_2.33 remquof32x F +GLIBC_2.33 remquof64 F +GLIBC_2.33 remquof64x F +GLIBC_2.33 remquol F +GLIBC_2.33 rint F +GLIBC_2.33 rintf F +GLIBC_2.33 rintf128 F +GLIBC_2.33 rintf32 F +GLIBC_2.33 rintf32x F +GLIBC_2.33 rintf64 F +GLIBC_2.33 rintf64x F +GLIBC_2.33 rintl F +GLIBC_2.33 round F +GLIBC_2.33 roundeven F +GLIBC_2.33 roundevenf F +GLIBC_2.33 roundevenf128 F +GLIBC_2.33 roundevenf32 F +GLIBC_2.33 roundevenf32x F +GLIBC_2.33 roundevenf64 F +GLIBC_2.33 roundevenf64x F +GLIBC_2.33 roundevenl F +GLIBC_2.33 roundf F +GLIBC_2.33 roundf128 F +GLIBC_2.33 roundf32 F +GLIBC_2.33 roundf32x F +GLIBC_2.33 roundf64 F +GLIBC_2.33 roundf64x F +GLIBC_2.33 roundl F +GLIBC_2.33 scalb F +GLIBC_2.33 scalbf F +GLIBC_2.33 scalbl F +GLIBC_2.33 scalbln F +GLIBC_2.33 scalblnf F +GLIBC_2.33 scalblnf128 F +GLIBC_2.33 scalblnf32 F +GLIBC_2.33 scalblnf32x F +GLIBC_2.33 scalblnf64 F +GLIBC_2.33 scalblnf64x F +GLIBC_2.33 scalblnl F +GLIBC_2.33 scalbn F +GLIBC_2.33 scalbnf F +GLIBC_2.33 scalbnf128 F +GLIBC_2.33 scalbnf32 F +GLIBC_2.33 scalbnf32x F +GLIBC_2.33 scalbnf64 F +GLIBC_2.33 scalbnf64x F +GLIBC_2.33 scalbnl F +GLIBC_2.33 setpayload F +GLIBC_2.33 setpayloadf F +GLIBC_2.33 setpayloadf128 F +GLIBC_2.33 setpayloadf32 F +GLIBC_2.33 setpayloadf32x F +GLIBC_2.33 setpayloadf64 F +GLIBC_2.33 setpayloadf64x F +GLIBC_2.33 setpayloadl F +GLIBC_2.33 setpayloadsig F +GLIBC_2.33 setpayloadsigf F +GLIBC_2.33 setpayloadsigf128 F +GLIBC_2.33 setpayloadsigf32 F +GLIBC_2.33 setpayloadsigf32x F +GLIBC_2.33 setpayloadsigf64 F +GLIBC_2.33 setpayloadsigf64x F +GLIBC_2.33 setpayloadsigl F +GLIBC_2.33 signgam D 0x4 +GLIBC_2.33 significand F +GLIBC_2.33 significandf F +GLIBC_2.33 significandl F +GLIBC_2.33 sin F +GLIBC_2.33 sincos F +GLIBC_2.33 sincosf F +GLIBC_2.33 sincosf128 F +GLIBC_2.33 sincosf32 F +GLIBC_2.33 sincosf32x F +GLIBC_2.33 sincosf64 F +GLIBC_2.33 sincosf64x F +GLIBC_2.33 sincosl F +GLIBC_2.33 sinf F +GLIBC_2.33 sinf128 F +GLIBC_2.33 sinf32 F +GLIBC_2.33 sinf32x F +GLIBC_2.33 sinf64 F +GLIBC_2.33 sinf64x F +GLIBC_2.33 sinh F +GLIBC_2.33 sinhf F +GLIBC_2.33 sinhf128 F +GLIBC_2.33 sinhf32 F +GLIBC_2.33 sinhf32x F +GLIBC_2.33 sinhf64 F +GLIBC_2.33 sinhf64x F +GLIBC_2.33 sinhl F +GLIBC_2.33 sinl F +GLIBC_2.33 sqrt F +GLIBC_2.33 sqrtf F +GLIBC_2.33 sqrtf128 F +GLIBC_2.33 sqrtf32 F +GLIBC_2.33 sqrtf32x F +GLIBC_2.33 sqrtf64 F +GLIBC_2.33 sqrtf64x F +GLIBC_2.33 sqrtl F +GLIBC_2.33 tan F +GLIBC_2.33 tanf F +GLIBC_2.33 tanf128 F +GLIBC_2.33 tanf32 F +GLIBC_2.33 tanf32x F +GLIBC_2.33 tanf64 F +GLIBC_2.33 tanf64x F +GLIBC_2.33 tanh F +GLIBC_2.33 tanhf F +GLIBC_2.33 tanhf128 F +GLIBC_2.33 tanhf32 F +GLIBC_2.33 tanhf32x F +GLIBC_2.33 tanhf64 F +GLIBC_2.33 tanhf64x F +GLIBC_2.33 tanhl F +GLIBC_2.33 tanl F +GLIBC_2.33 tgamma F +GLIBC_2.33 tgammaf F +GLIBC_2.33 tgammaf128 F +GLIBC_2.33 tgammaf32 F +GLIBC_2.33 tgammaf32x F +GLIBC_2.33 tgammaf64 F +GLIBC_2.33 tgammaf64x F +GLIBC_2.33 tgammal F +GLIBC_2.33 totalorder F +GLIBC_2.33 totalorderf F +GLIBC_2.33 totalorderf128 F +GLIBC_2.33 totalorderf32 F +GLIBC_2.33 totalorderf32x F +GLIBC_2.33 totalorderf64 F +GLIBC_2.33 totalorderf64x F +GLIBC_2.33 totalorderl F +GLIBC_2.33 totalordermag F +GLIBC_2.33 totalordermagf F +GLIBC_2.33 totalordermagf128 F +GLIBC_2.33 totalordermagf32 F +GLIBC_2.33 totalordermagf32x F +GLIBC_2.33 totalordermagf64 F +GLIBC_2.33 totalordermagf64x F +GLIBC_2.33 totalordermagl F +GLIBC_2.33 trunc F +GLIBC_2.33 truncf F +GLIBC_2.33 truncf128 F +GLIBC_2.33 truncf32 F +GLIBC_2.33 truncf32x F +GLIBC_2.33 truncf64 F +GLIBC_2.33 truncf64x F +GLIBC_2.33 truncl F +GLIBC_2.33 ufromfp F +GLIBC_2.33 ufromfpf F +GLIBC_2.33 ufromfpf128 F +GLIBC_2.33 ufromfpf32 F +GLIBC_2.33 ufromfpf32x F +GLIBC_2.33 ufromfpf64 F +GLIBC_2.33 ufromfpf64x F +GLIBC_2.33 ufromfpl F +GLIBC_2.33 ufromfpx F +GLIBC_2.33 ufromfpxf F +GLIBC_2.33 ufromfpxf128 F +GLIBC_2.33 ufromfpxf32 F +GLIBC_2.33 ufromfpxf32x F +GLIBC_2.33 ufromfpxf64 F +GLIBC_2.33 ufromfpxf64x F +GLIBC_2.33 ufromfpxl F +GLIBC_2.33 y0 F +GLIBC_2.33 y0f F +GLIBC_2.33 y0f128 F +GLIBC_2.33 y0f32 F +GLIBC_2.33 y0f32x F +GLIBC_2.33 y0f64 F +GLIBC_2.33 y0f64x F +GLIBC_2.33 y0l F +GLIBC_2.33 y1 F +GLIBC_2.33 y1f F +GLIBC_2.33 y1f128 F +GLIBC_2.33 y1f32 F +GLIBC_2.33 y1f32x F +GLIBC_2.33 y1f64 F +GLIBC_2.33 y1f64x F +GLIBC_2.33 y1l F +GLIBC_2.33 yn F +GLIBC_2.33 ynf F +GLIBC_2.33 ynf128 F +GLIBC_2.33 ynf32 F +GLIBC_2.33 ynf32x F +GLIBC_2.33 ynf64 F +GLIBC_2.33 ynf64x F +GLIBC_2.33 ynl F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist new file mode 100644 index 0000000000..61b3c4ff7a --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -0,0 +1,213 @@ +GLIBC_2.33 _IO_flockfile F +GLIBC_2.33 _IO_ftrylockfile F +GLIBC_2.33 _IO_funlockfile F +GLIBC_2.33 __close F +GLIBC_2.33 __connect F +GLIBC_2.33 __errno_location F +GLIBC_2.33 __h_errno_location F +GLIBC_2.33 __libc_allocate_rtsig F +GLIBC_2.33 __libc_current_sigrtmax F +GLIBC_2.33 __libc_current_sigrtmin F +GLIBC_2.33 __lseek F +GLIBC_2.33 __open F +GLIBC_2.33 __open64 F +GLIBC_2.33 __pread64 F +GLIBC_2.33 __pthread_cleanup_routine F +GLIBC_2.33 __pthread_getspecific F +GLIBC_2.33 __pthread_key_create F +GLIBC_2.33 __pthread_mutex_destroy F +GLIBC_2.33 __pthread_mutex_init F +GLIBC_2.33 __pthread_mutex_lock F +GLIBC_2.33 __pthread_mutex_trylock F +GLIBC_2.33 __pthread_mutex_unlock F +GLIBC_2.33 __pthread_mutexattr_destroy F +GLIBC_2.33 __pthread_mutexattr_init F +GLIBC_2.33 __pthread_mutexattr_settype F +GLIBC_2.33 __pthread_once F +GLIBC_2.33 __pthread_register_cancel F +GLIBC_2.33 __pthread_register_cancel_defer F +GLIBC_2.33 __pthread_rwlock_destroy F +GLIBC_2.33 __pthread_rwlock_init F +GLIBC_2.33 __pthread_rwlock_rdlock F +GLIBC_2.33 __pthread_rwlock_tryrdlock F +GLIBC_2.33 __pthread_rwlock_trywrlock F +GLIBC_2.33 __pthread_rwlock_unlock F +GLIBC_2.33 __pthread_rwlock_wrlock F +GLIBC_2.33 __pthread_setspecific F +GLIBC_2.33 __pthread_unregister_cancel F +GLIBC_2.33 __pthread_unregister_cancel_restore F +GLIBC_2.33 __pthread_unwind_next F +GLIBC_2.33 __pwrite64 F +GLIBC_2.33 __read F +GLIBC_2.33 __res_state F +GLIBC_2.33 __send F +GLIBC_2.33 __sigaction F +GLIBC_2.33 __write F +GLIBC_2.33 _pthread_cleanup_pop F +GLIBC_2.33 _pthread_cleanup_pop_restore F +GLIBC_2.33 _pthread_cleanup_push F +GLIBC_2.33 _pthread_cleanup_push_defer F +GLIBC_2.33 accept F +GLIBC_2.33 call_once F +GLIBC_2.33 close F +GLIBC_2.33 cnd_broadcast F +GLIBC_2.33 cnd_destroy F +GLIBC_2.33 cnd_init F +GLIBC_2.33 cnd_signal F +GLIBC_2.33 cnd_timedwait F +GLIBC_2.33 cnd_wait F +GLIBC_2.33 connect F +GLIBC_2.33 flockfile F +GLIBC_2.33 fsync F +GLIBC_2.33 ftrylockfile F +GLIBC_2.33 funlockfile F +GLIBC_2.33 lseek F +GLIBC_2.33 lseek64 F +GLIBC_2.33 msync F +GLIBC_2.33 mtx_destroy F +GLIBC_2.33 mtx_init F +GLIBC_2.33 mtx_lock F +GLIBC_2.33 mtx_timedlock F +GLIBC_2.33 mtx_trylock F +GLIBC_2.33 mtx_unlock F +GLIBC_2.33 open F +GLIBC_2.33 open64 F +GLIBC_2.33 pause F +GLIBC_2.33 pread F +GLIBC_2.33 pread64 F +GLIBC_2.33 pthread_attr_getaffinity_np F +GLIBC_2.33 pthread_attr_getguardsize F +GLIBC_2.33 pthread_attr_getstack F +GLIBC_2.33 pthread_attr_getstackaddr F +GLIBC_2.33 pthread_attr_getstacksize F +GLIBC_2.33 pthread_attr_setguardsize F +GLIBC_2.33 pthread_attr_setstack F +GLIBC_2.33 pthread_attr_setstackaddr F +GLIBC_2.33 pthread_attr_setstacksize F +GLIBC_2.33 pthread_barrier_destroy F +GLIBC_2.33 pthread_barrier_init F +GLIBC_2.33 pthread_barrier_wait F +GLIBC_2.33 pthread_barrierattr_destroy F +GLIBC_2.33 pthread_barrierattr_getpshared F +GLIBC_2.33 pthread_barrierattr_init F +GLIBC_2.33 pthread_barrierattr_setpshared F +GLIBC_2.33 pthread_cancel F +GLIBC_2.33 pthread_clockjoin_np F +GLIBC_2.33 pthread_cond_broadcast F +GLIBC_2.33 pthread_cond_clockwait F +GLIBC_2.33 pthread_cond_signal F +GLIBC_2.33 pthread_cond_timedwait F +GLIBC_2.33 pthread_cond_wait F +GLIBC_2.33 pthread_condattr_getclock F +GLIBC_2.33 pthread_condattr_getpshared F +GLIBC_2.33 pthread_condattr_setclock F +GLIBC_2.33 pthread_condattr_setpshared F +GLIBC_2.33 pthread_create F +GLIBC_2.33 pthread_detach F +GLIBC_2.33 pthread_exit F +GLIBC_2.33 pthread_getattr_default_np F +GLIBC_2.33 pthread_getconcurrency F +GLIBC_2.33 pthread_getcpuclockid F +GLIBC_2.33 pthread_getname_np F +GLIBC_2.33 pthread_getspecific F +GLIBC_2.33 pthread_join F +GLIBC_2.33 pthread_key_create F +GLIBC_2.33 pthread_key_delete F +GLIBC_2.33 pthread_kill F +GLIBC_2.33 pthread_kill_other_threads_np F +GLIBC_2.33 pthread_mutex_clocklock F +GLIBC_2.33 pthread_mutex_consistent F +GLIBC_2.33 pthread_mutex_consistent_np F +GLIBC_2.33 pthread_mutex_destroy F +GLIBC_2.33 pthread_mutex_getprioceiling F +GLIBC_2.33 pthread_mutex_init F +GLIBC_2.33 pthread_mutex_lock F +GLIBC_2.33 pthread_mutex_setprioceiling F +GLIBC_2.33 pthread_mutex_timedlock F +GLIBC_2.33 pthread_mutex_trylock F +GLIBC_2.33 pthread_mutex_unlock F +GLIBC_2.33 pthread_mutexattr_destroy F +GLIBC_2.33 pthread_mutexattr_getkind_np F +GLIBC_2.33 pthread_mutexattr_getprioceiling F +GLIBC_2.33 pthread_mutexattr_getprotocol F +GLIBC_2.33 pthread_mutexattr_getpshared F +GLIBC_2.33 pthread_mutexattr_getrobust F +GLIBC_2.33 pthread_mutexattr_getrobust_np F +GLIBC_2.33 pthread_mutexattr_gettype F +GLIBC_2.33 pthread_mutexattr_init F +GLIBC_2.33 pthread_mutexattr_setkind_np F +GLIBC_2.33 pthread_mutexattr_setprioceiling F +GLIBC_2.33 pthread_mutexattr_setprotocol F +GLIBC_2.33 pthread_mutexattr_setpshared F +GLIBC_2.33 pthread_mutexattr_setrobust F +GLIBC_2.33 pthread_mutexattr_setrobust_np F +GLIBC_2.33 pthread_mutexattr_settype F +GLIBC_2.33 pthread_once F +GLIBC_2.33 pthread_rwlock_clockrdlock F +GLIBC_2.33 pthread_rwlock_clockwrlock F +GLIBC_2.33 pthread_rwlock_destroy F +GLIBC_2.33 pthread_rwlock_init F +GLIBC_2.33 pthread_rwlock_rdlock F +GLIBC_2.33 pthread_rwlock_timedrdlock F +GLIBC_2.33 pthread_rwlock_timedwrlock F +GLIBC_2.33 pthread_rwlock_tryrdlock F +GLIBC_2.33 pthread_rwlock_trywrlock F +GLIBC_2.33 pthread_rwlock_unlock F +GLIBC_2.33 pthread_rwlock_wrlock F +GLIBC_2.33 pthread_rwlockattr_destroy F +GLIBC_2.33 pthread_rwlockattr_getkind_np F +GLIBC_2.33 pthread_rwlockattr_getpshared F +GLIBC_2.33 pthread_rwlockattr_init F +GLIBC_2.33 pthread_rwlockattr_setkind_np F +GLIBC_2.33 pthread_rwlockattr_setpshared F +GLIBC_2.33 pthread_setaffinity_np F +GLIBC_2.33 pthread_setattr_default_np F +GLIBC_2.33 pthread_setcancelstate F +GLIBC_2.33 pthread_setcanceltype F +GLIBC_2.33 pthread_setconcurrency F +GLIBC_2.33 pthread_setname_np F +GLIBC_2.33 pthread_setschedprio F +GLIBC_2.33 pthread_setspecific F +GLIBC_2.33 pthread_sigqueue F +GLIBC_2.33 pthread_spin_destroy F +GLIBC_2.33 pthread_spin_init F +GLIBC_2.33 pthread_spin_lock F +GLIBC_2.33 pthread_spin_trylock F +GLIBC_2.33 pthread_spin_unlock F +GLIBC_2.33 pthread_testcancel F +GLIBC_2.33 pthread_timedjoin_np F +GLIBC_2.33 pthread_tryjoin_np F +GLIBC_2.33 pthread_yield F +GLIBC_2.33 pwrite F +GLIBC_2.33 pwrite64 F +GLIBC_2.33 raise F +GLIBC_2.33 read F +GLIBC_2.33 recv F +GLIBC_2.33 recvfrom F +GLIBC_2.33 recvmsg F +GLIBC_2.33 sem_clockwait F +GLIBC_2.33 sem_close F +GLIBC_2.33 sem_destroy F +GLIBC_2.33 sem_getvalue F +GLIBC_2.33 sem_init F +GLIBC_2.33 sem_open F +GLIBC_2.33 sem_post F +GLIBC_2.33 sem_timedwait F +GLIBC_2.33 sem_trywait F +GLIBC_2.33 sem_unlink F +GLIBC_2.33 sem_wait F +GLIBC_2.33 send F +GLIBC_2.33 sendmsg F +GLIBC_2.33 sendto F +GLIBC_2.33 sigaction F +GLIBC_2.33 sigwait F +GLIBC_2.33 tcdrain F +GLIBC_2.33 thrd_create F +GLIBC_2.33 thrd_detach F +GLIBC_2.33 thrd_exit F +GLIBC_2.33 thrd_join F +GLIBC_2.33 tss_create F +GLIBC_2.33 tss_delete F +GLIBC_2.33 tss_get F +GLIBC_2.33 tss_set F +GLIBC_2.33 write F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist new file mode 100644 index 0000000000..43947f7e27 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist @@ -0,0 +1,79 @@ +GLIBC_2.33 __b64_ntop F +GLIBC_2.33 __b64_pton F +GLIBC_2.33 __dn_comp F +GLIBC_2.33 __dn_count_labels F +GLIBC_2.33 __dn_expand F +GLIBC_2.33 __dn_skipname F +GLIBC_2.33 __fp_nquery F +GLIBC_2.33 __fp_query F +GLIBC_2.33 __fp_resstat F +GLIBC_2.33 __hostalias F +GLIBC_2.33 __loc_aton F +GLIBC_2.33 __loc_ntoa F +GLIBC_2.33 __p_cdname F +GLIBC_2.33 __p_cdnname F +GLIBC_2.33 __p_class F +GLIBC_2.33 __p_class_syms D 0x54 +GLIBC_2.33 __p_fqname F +GLIBC_2.33 __p_fqnname F +GLIBC_2.33 __p_option F +GLIBC_2.33 __p_query F +GLIBC_2.33 __p_rcode F +GLIBC_2.33 __p_time F +GLIBC_2.33 __p_type F +GLIBC_2.33 __p_type_syms D 0x228 +GLIBC_2.33 __putlong F +GLIBC_2.33 __putshort F +GLIBC_2.33 __res_close F +GLIBC_2.33 __res_dnok F +GLIBC_2.33 __res_hnok F +GLIBC_2.33 __res_hostalias F +GLIBC_2.33 __res_isourserver F +GLIBC_2.33 __res_mailok F +GLIBC_2.33 __res_mkquery F +GLIBC_2.33 __res_nameinquery F +GLIBC_2.33 __res_nmkquery F +GLIBC_2.33 __res_nquery F +GLIBC_2.33 __res_nquerydomain F +GLIBC_2.33 __res_nsearch F +GLIBC_2.33 __res_nsend F +GLIBC_2.33 __res_ownok F +GLIBC_2.33 __res_queriesmatch F +GLIBC_2.33 __res_query F +GLIBC_2.33 __res_querydomain F +GLIBC_2.33 __res_search F +GLIBC_2.33 __res_send F +GLIBC_2.33 __sym_ntop F +GLIBC_2.33 __sym_ntos F +GLIBC_2.33 __sym_ston F +GLIBC_2.33 _getlong F +GLIBC_2.33 _getshort F +GLIBC_2.33 inet_net_ntop F +GLIBC_2.33 inet_net_pton F +GLIBC_2.33 inet_neta F +GLIBC_2.33 ns_datetosecs F +GLIBC_2.33 ns_format_ttl F +GLIBC_2.33 ns_get16 F +GLIBC_2.33 ns_get32 F +GLIBC_2.33 ns_initparse F +GLIBC_2.33 ns_makecanon F +GLIBC_2.33 ns_msg_getflag F +GLIBC_2.33 ns_name_compress F +GLIBC_2.33 ns_name_ntol F +GLIBC_2.33 ns_name_ntop F +GLIBC_2.33 ns_name_pack F +GLIBC_2.33 ns_name_pton F +GLIBC_2.33 ns_name_rollback F +GLIBC_2.33 ns_name_skip F +GLIBC_2.33 ns_name_uncompress F +GLIBC_2.33 ns_name_unpack F +GLIBC_2.33 ns_parse_ttl F +GLIBC_2.33 ns_parserr F +GLIBC_2.33 ns_put16 F +GLIBC_2.33 ns_put32 F +GLIBC_2.33 ns_samedomain F +GLIBC_2.33 ns_samename F +GLIBC_2.33 ns_skiprr F +GLIBC_2.33 ns_sprintrr F +GLIBC_2.33 ns_sprintrrf F +GLIBC_2.33 ns_subdomain F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist new file mode 100644 index 0000000000..8a3f5ed516 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist @@ -0,0 +1,35 @@ +GLIBC_2.33 __mq_open_2 F +GLIBC_2.33 aio_cancel F +GLIBC_2.33 aio_cancel64 F +GLIBC_2.33 aio_error F +GLIBC_2.33 aio_error64 F +GLIBC_2.33 aio_fsync F +GLIBC_2.33 aio_fsync64 F +GLIBC_2.33 aio_init F +GLIBC_2.33 aio_read F +GLIBC_2.33 aio_read64 F +GLIBC_2.33 aio_return F +GLIBC_2.33 aio_return64 F +GLIBC_2.33 aio_suspend F +GLIBC_2.33 aio_suspend64 F +GLIBC_2.33 aio_write F +GLIBC_2.33 aio_write64 F +GLIBC_2.33 lio_listio F +GLIBC_2.33 lio_listio64 F +GLIBC_2.33 mq_close F +GLIBC_2.33 mq_getattr F +GLIBC_2.33 mq_notify F +GLIBC_2.33 mq_open F +GLIBC_2.33 mq_receive F +GLIBC_2.33 mq_send F +GLIBC_2.33 mq_setattr F +GLIBC_2.33 mq_timedreceive F +GLIBC_2.33 mq_timedsend F +GLIBC_2.33 mq_unlink F +GLIBC_2.33 shm_open F +GLIBC_2.33 shm_unlink F +GLIBC_2.33 timer_create F +GLIBC_2.33 timer_delete F +GLIBC_2.33 timer_getoverrun F +GLIBC_2.33 timer_gettime F +GLIBC_2.33 timer_settime F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libthread_db.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libthread_db.abilist new file mode 100644 index 0000000000..50dde8f69b --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libthread_db.abilist @@ -0,0 +1,40 @@ +GLIBC_2.33 td_init F +GLIBC_2.33 td_log F +GLIBC_2.33 td_symbol_list F +GLIBC_2.33 td_ta_clear_event F +GLIBC_2.33 td_ta_delete F +GLIBC_2.33 td_ta_enable_stats F +GLIBC_2.33 td_ta_event_addr F +GLIBC_2.33 td_ta_event_getmsg F +GLIBC_2.33 td_ta_get_nthreads F +GLIBC_2.33 td_ta_get_ph F +GLIBC_2.33 td_ta_get_stats F +GLIBC_2.33 td_ta_map_id2thr F +GLIBC_2.33 td_ta_map_lwp2thr F +GLIBC_2.33 td_ta_new F +GLIBC_2.33 td_ta_reset_stats F +GLIBC_2.33 td_ta_set_event F +GLIBC_2.33 td_ta_setconcurrency F +GLIBC_2.33 td_ta_thr_iter F +GLIBC_2.33 td_ta_tsd_iter F +GLIBC_2.33 td_thr_clear_event F +GLIBC_2.33 td_thr_dbresume F +GLIBC_2.33 td_thr_dbsuspend F +GLIBC_2.33 td_thr_event_enable F +GLIBC_2.33 td_thr_event_getmsg F +GLIBC_2.33 td_thr_get_info F +GLIBC_2.33 td_thr_getfpregs F +GLIBC_2.33 td_thr_getgregs F +GLIBC_2.33 td_thr_getxregs F +GLIBC_2.33 td_thr_getxregsize F +GLIBC_2.33 td_thr_set_event F +GLIBC_2.33 td_thr_setfpregs F +GLIBC_2.33 td_thr_setgregs F +GLIBC_2.33 td_thr_setprio F +GLIBC_2.33 td_thr_setsigpending F +GLIBC_2.33 td_thr_setxregs F +GLIBC_2.33 td_thr_sigsetmask F +GLIBC_2.33 td_thr_tls_get_addr F +GLIBC_2.33 td_thr_tlsbase F +GLIBC_2.33 td_thr_tsd F +GLIBC_2.33 td_thr_validate F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist new file mode 100644 index 0000000000..59ae944bda --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libutil.abilist @@ -0,0 +1,6 @@ +GLIBC_2.33 forkpty F +GLIBC_2.33 login F +GLIBC_2.33 login_tty F +GLIBC_2.33 logout F +GLIBC_2.33 logwtmp F +GLIBC_2.33 openpty F From patchwork Wed Aug 12 14:41:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40259 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 0F57A3846077; Wed, 12 Aug 2020 14:51:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F57A3846077 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243894; bh=wqX44jg0zbRUM9G/20FZ15BvZtSBWnideZVp3JAhyfg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=UKsME58qDU/zPiq5KhBDnCi5VTfJpeu0qLBMPhI89HZbGTyn9qmid8depMVoU/9je 5aCuSgYC5UCpWwI4+fYdaPs4a/q0kUSDU8jS6LBkLhCoBhmKD39ieXOiGSopUjQhtP U6PyppGgQVtSAFQNnDAuYqojSVz2JsiEyiZSrJ48= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245]) by sourceware.org (Postfix) with ESMTPS id 2C54F3846405 for ; Wed, 12 Aug 2020 14:51:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2C54F3846405 IronPort-SDR: 7laDU2dtiiBPHnfeKFsP3MT/A90ThSmtPYrygY2dx5RF9zHOdqRSRpbUby0GrMcbS+Y3/tX1ct dvXOAmOi8RgpntwsnnS7vz9RB9NRgjIyHZxOLV5+NHsNynY1dJiBdzMHge2eJCGe00sBObTTAF qQbsdCnWIcxZM5xD2a65y09J28+MXkJL81uwz5x3u2hj+H13eFzYrzHnq4D8EwrV5stTV6+pZc saDvt+bD3SH7UnfsEvcwulJghHYBGBZ5oAOV7BYiJKcFIwN05YevGKY5GBh90KKR6arrxnUgrg FJ4= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="254163274" Received: from h199-255-45-15.hgst.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:29 +0800 IronPort-SDR: PgNXTWh6PuLMPWZtbyhl5qT7AINeMzskNRmg8DpEUYncO3o872I7Hcl7aJ9U1wigNyQHqD5CKJ Yp4VoiIpf2hQ== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:38:38 -0700 IronPort-SDR: qk1Ygh6LEY9YI28Wy87KzNE0/i8/etz8VZmjWYE4HTjh8CyZhOZdjLyO1jhjxMUdW0Yib7bhmW bWjfRWI4Qngg== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:51:27 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 12/18] RISC-V: Add the RV32 libm-test-ulps Date: Wed, 12 Aug 2020 07:41:28 -0700 Message-Id: <51761c15e515eb8c90be7312454198454f59c0cd.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Add a libm-test-ulps for RV32, this is the same as the RV64 one. This dosn't match what is generated by running `make regen-ulps` on RV32 QEMU, but the current in tree RV64 doesn't match that either. Reviewed-by: Maciej W. Rozycki --- sysdeps/riscv/rv32/rvd/libm-test-ulps | 1405 ++++++++++++++++++++ sysdeps/riscv/rv32/rvd/libm-test-ulps-name | 1 + 2 files changed, 1406 insertions(+) create mode 100644 sysdeps/riscv/rv32/rvd/libm-test-ulps create mode 100644 sysdeps/riscv/rv32/rvd/libm-test-ulps-name diff --git a/sysdeps/riscv/rv32/rvd/libm-test-ulps b/sysdeps/riscv/rv32/rvd/libm-test-ulps new file mode 100644 index 0000000000..5b6f121ac5 --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/libm-test-ulps @@ -0,0 +1,1405 @@ +# Begin of automatic generation + +# Maximal error of functions: +Function: "acos": +float: 1 +ldouble: 1 + +Function: "acos_downward": +double: 1 +float: 1 +ldouble: 1 + +Function: "acos_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "acos_upward": +double: 1 +float: 1 +ldouble: 1 + +Function: "acosh": +double: 2 +float: 2 +ldouble: 2 + +Function: "acosh_downward": +double: 2 +float: 2 +ldouble: 3 + +Function: "acosh_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "acosh_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: "asin": +float: 1 +ldouble: 1 + +Function: "asin_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "asin_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "asin_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "asinh": +double: 1 +float: 2 +ldouble: 3 + +Function: "asinh_downward": +double: 3 +float: 3 +ldouble: 4 + +Function: "asinh_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "asinh_upward": +double: 3 +float: 3 +ldouble: 4 + +Function: "atan": +float: 1 +ldouble: 1 + +Function: "atan2": +float: 1 +ldouble: 1 + +Function: "atan2_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: "atan2_towardzero": +double: 1 +float: 2 +ldouble: 3 + +Function: "atan2_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "atan_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: "atan_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "atan_upward": +double: 1 +float: 2 +ldouble: 2 + +Function: "atanh": +double: 2 +float: 2 +ldouble: 3 + +Function: "atanh_downward": +double: 3 +float: 3 +ldouble: 4 + +Function: "atanh_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: "atanh_upward": +double: 3 +float: 3 +ldouble: 4 + +Function: "cabs": +double: 1 +ldouble: 1 + +Function: "cabs_downward": +double: 1 +ldouble: 1 + +Function: "cabs_towardzero": +double: 1 +ldouble: 1 + +Function: "cabs_upward": +double: 1 +ldouble: 1 + +Function: Real part of "cacos": +double: 1 +float: 2 +ldouble: 2 + +Function: Imaginary part of "cacos": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "cacos_downward": +double: 3 +float: 2 +ldouble: 3 + +Function: Imaginary part of "cacos_downward": +double: 5 +float: 3 +ldouble: 6 + +Function: Real part of "cacos_towardzero": +double: 3 +float: 2 +ldouble: 3 + +Function: Imaginary part of "cacos_towardzero": +double: 4 +float: 2 +ldouble: 5 + +Function: Real part of "cacos_upward": +double: 2 +float: 2 +ldouble: 3 + +Function: Imaginary part of "cacos_upward": +double: 5 +float: 5 +ldouble: 7 + +Function: Real part of "cacosh": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "cacosh": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "cacosh_downward": +double: 4 +float: 2 +ldouble: 5 + +Function: Imaginary part of "cacosh_downward": +double: 3 +float: 3 +ldouble: 4 + +Function: Real part of "cacosh_towardzero": +double: 4 +float: 2 +ldouble: 5 + +Function: Imaginary part of "cacosh_towardzero": +double: 3 +float: 2 +ldouble: 3 + +Function: Real part of "cacosh_upward": +double: 4 +float: 3 +ldouble: 6 + +Function: Imaginary part of "cacosh_upward": +double: 3 +float: 2 +ldouble: 4 + +Function: "carg": +float: 1 +ldouble: 2 + +Function: "carg_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: "carg_towardzero": +double: 1 +float: 2 +ldouble: 3 + +Function: "carg_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: Real part of "casin": +double: 1 +float: 1 +ldouble: 2 + +Function: Imaginary part of "casin": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "casin_downward": +double: 3 +float: 2 +ldouble: 3 + +Function: Imaginary part of "casin_downward": +double: 5 +float: 3 +ldouble: 6 + +Function: Real part of "casin_towardzero": +double: 3 +float: 1 +ldouble: 3 + +Function: Imaginary part of "casin_towardzero": +double: 4 +float: 2 +ldouble: 5 + +Function: Real part of "casin_upward": +double: 3 +float: 2 +ldouble: 3 + +Function: Imaginary part of "casin_upward": +double: 5 +float: 5 +ldouble: 7 + +Function: Real part of "casinh": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "casinh": +double: 1 +float: 1 +ldouble: 2 + +Function: Real part of "casinh_downward": +double: 5 +float: 3 +ldouble: 6 + +Function: Imaginary part of "casinh_downward": +double: 3 +float: 2 +ldouble: 3 + +Function: Real part of "casinh_towardzero": +double: 4 +float: 2 +ldouble: 5 + +Function: Imaginary part of "casinh_towardzero": +double: 3 +float: 1 +ldouble: 3 + +Function: Real part of "casinh_upward": +double: 5 +float: 5 +ldouble: 7 + +Function: Imaginary part of "casinh_upward": +double: 3 +float: 2 +ldouble: 3 + +Function: Real part of "catan": +double: 1 +float: 1 +ldouble: 1 + +Function: Imaginary part of "catan": +double: 1 +float: 1 +ldouble: 1 + +Function: Real part of "catan_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: Imaginary part of "catan_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "catan_towardzero": +double: 1 +float: 2 +ldouble: 2 + +Function: Imaginary part of "catan_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "catan_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: Imaginary part of "catan_upward": +double: 2 +float: 2 +ldouble: 3 + +Function: Real part of "catanh": +double: 1 +float: 1 +ldouble: 1 + +Function: Imaginary part of "catanh": +double: 1 +float: 1 +ldouble: 1 + +Function: Real part of "catanh_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "catanh_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "catanh_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "catanh_towardzero": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "catanh_upward": +double: 4 +float: 4 +ldouble: 4 + +Function: Imaginary part of "catanh_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "cbrt": +double: 3 +float: 1 +ldouble: 1 + +Function: "cbrt_downward": +double: 4 +float: 1 +ldouble: 1 + +Function: "cbrt_towardzero": +double: 3 +float: 1 +ldouble: 1 + +Function: "cbrt_upward": +double: 5 +float: 1 +ldouble: 1 + +Function: Real part of "ccos": +double: 1 +float: 1 +ldouble: 1 + +Function: Imaginary part of "ccos": +double: 1 +float: 1 +ldouble: 1 + +Function: Real part of "ccos_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: Imaginary part of "ccos_downward": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "ccos_towardzero": +double: 1 +float: 2 +ldouble: 2 + +Function: Imaginary part of "ccos_towardzero": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "ccos_upward": +double: 1 +float: 2 +ldouble: 3 + +Function: Imaginary part of "ccos_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "ccosh": +double: 1 +float: 1 +ldouble: 1 + +Function: Imaginary part of "ccosh": +double: 1 +float: 1 +ldouble: 1 + +Function: Real part of "ccosh_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "ccosh_downward": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "ccosh_towardzero": +double: 2 +float: 3 +ldouble: 2 + +Function: Imaginary part of "ccosh_towardzero": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "ccosh_upward": +double: 1 +float: 2 +ldouble: 3 + +Function: Imaginary part of "ccosh_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "cexp": +double: 2 +float: 1 +ldouble: 1 + +Function: Imaginary part of "cexp": +double: 1 +float: 2 +ldouble: 1 + +Function: Real part of "cexp_downward": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "cexp_downward": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "cexp_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "cexp_towardzero": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "cexp_upward": +double: 1 +float: 2 +ldouble: 3 + +Function: Imaginary part of "cexp_upward": +double: 3 +float: 2 +ldouble: 3 + +Function: Real part of "clog": +double: 3 +float: 3 +ldouble: 2 + +Function: Imaginary part of "clog": +float: 1 +ldouble: 1 + +Function: Real part of "clog10": +double: 3 +float: 4 +ldouble: 2 + +Function: Imaginary part of "clog10": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "clog10_downward": +double: 5 +float: 5 +ldouble: 3 + +Function: Imaginary part of "clog10_downward": +double: 2 +float: 4 +ldouble: 3 + +Function: Real part of "clog10_towardzero": +double: 5 +float: 5 +ldouble: 4 + +Function: Imaginary part of "clog10_towardzero": +double: 2 +float: 4 +ldouble: 3 + +Function: Real part of "clog10_upward": +double: 6 +float: 5 +ldouble: 4 + +Function: Imaginary part of "clog10_upward": +double: 2 +float: 4 +ldouble: 3 + +Function: Real part of "clog_downward": +double: 4 +float: 3 +ldouble: 3 + +Function: Imaginary part of "clog_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "clog_towardzero": +double: 4 +float: 4 +ldouble: 3 + +Function: Imaginary part of "clog_towardzero": +double: 1 +float: 3 +ldouble: 2 + +Function: Real part of "clog_upward": +double: 4 +float: 3 +ldouble: 4 + +Function: Imaginary part of "clog_upward": +double: 1 +float: 2 +ldouble: 2 + +Function: "cos": +double: 1 +float: 1 +ldouble: 1 + +Function: "cos_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "cos_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "cos_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "cosh": +double: 1 +float: 2 +ldouble: 1 + +Function: "cosh_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: "cosh_towardzero": +double: 2 +float: 1 +ldouble: 2 + +Function: "cosh_upward": +double: 2 +float: 2 +ldouble: 3 + +Function: Real part of "cpow": +double: 2 +float: 5 +ldouble: 4 + +Function: Imaginary part of "cpow": +float: 2 +ldouble: 1 + +Function: Real part of "cpow_downward": +double: 5 +float: 8 +ldouble: 6 + +Function: Imaginary part of "cpow_downward": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "cpow_towardzero": +double: 5 +float: 8 +ldouble: 6 + +Function: Imaginary part of "cpow_towardzero": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "cpow_upward": +double: 4 +float: 1 +ldouble: 3 + +Function: Imaginary part of "cpow_upward": +double: 1 +float: 2 +ldouble: 2 + +Function: Real part of "csin": +double: 1 +float: 1 +ldouble: 1 + +Function: Imaginary part of "csin": +ldouble: 1 + +Function: Real part of "csin_downward": +double: 3 +float: 3 +ldouble: 2 + +Function: Imaginary part of "csin_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: Real part of "csin_towardzero": +double: 3 +float: 3 +ldouble: 2 + +Function: Imaginary part of "csin_towardzero": +double: 1 +float: 1 +ldouble: 2 + +Function: Real part of "csin_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "csin_upward": +double: 1 +float: 2 +ldouble: 3 + +Function: Real part of "csinh": +float: 1 +ldouble: 1 + +Function: Imaginary part of "csinh": +double: 1 +float: 1 +ldouble: 1 + +Function: Real part of "csinh_downward": +double: 2 +float: 1 +ldouble: 2 + +Function: Imaginary part of "csinh_downward": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "csinh_towardzero": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "csinh_towardzero": +double: 3 +float: 3 +ldouble: 2 + +Function: Real part of "csinh_upward": +double: 1 +float: 2 +ldouble: 3 + +Function: Imaginary part of "csinh_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "csqrt": +double: 2 +float: 2 +ldouble: 2 + +Function: Imaginary part of "csqrt": +double: 2 +float: 2 +ldouble: 2 + +Function: Real part of "csqrt_downward": +double: 5 +float: 4 +ldouble: 4 + +Function: Imaginary part of "csqrt_downward": +double: 4 +float: 3 +ldouble: 3 + +Function: Real part of "csqrt_towardzero": +double: 4 +float: 3 +ldouble: 3 + +Function: Imaginary part of "csqrt_towardzero": +double: 4 +float: 3 +ldouble: 3 + +Function: Real part of "csqrt_upward": +double: 5 +float: 4 +ldouble: 4 + +Function: Imaginary part of "csqrt_upward": +double: 3 +float: 3 +ldouble: 3 + +Function: Real part of "ctan": +double: 1 +float: 1 +ldouble: 3 + +Function: Imaginary part of "ctan": +double: 2 +float: 2 +ldouble: 3 + +Function: Real part of "ctan_downward": +double: 6 +float: 5 +ldouble: 4 + +Function: Imaginary part of "ctan_downward": +double: 2 +float: 2 +ldouble: 5 + +Function: Real part of "ctan_towardzero": +double: 5 +float: 2 +ldouble: 4 + +Function: Imaginary part of "ctan_towardzero": +double: 2 +float: 2 +ldouble: 5 + +Function: Real part of "ctan_upward": +double: 2 +float: 4 +ldouble: 5 + +Function: Imaginary part of "ctan_upward": +double: 2 +float: 2 +ldouble: 5 + +Function: Real part of "ctanh": +double: 2 +float: 2 +ldouble: 3 + +Function: Imaginary part of "ctanh": +double: 2 +float: 1 +ldouble: 3 + +Function: Real part of "ctanh_downward": +double: 4 +float: 2 +ldouble: 5 + +Function: Imaginary part of "ctanh_downward": +double: 6 +float: 5 +ldouble: 4 + +Function: Real part of "ctanh_towardzero": +double: 2 +float: 2 +ldouble: 5 + +Function: Imaginary part of "ctanh_towardzero": +double: 5 +float: 2 +ldouble: 3 + +Function: Real part of "ctanh_upward": +double: 2 +float: 2 +ldouble: 5 + +Function: Imaginary part of "ctanh_upward": +double: 2 +float: 3 +ldouble: 5 + +Function: "erf": +double: 1 +float: 1 +ldouble: 1 + +Function: "erf_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "erf_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "erf_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "erfc": +double: 2 +float: 2 +ldouble: 2 + +Function: "erfc_downward": +double: 4 +float: 4 +ldouble: 5 + +Function: "erfc_towardzero": +double: 3 +float: 3 +ldouble: 4 + +Function: "erfc_upward": +double: 4 +float: 4 +ldouble: 5 + +Function: "exp": +float: 1 +ldouble: 1 + +Function: "exp10": +double: 2 +ldouble: 2 + +Function: "exp10_downward": +double: 3 +float: 1 +ldouble: 3 + +Function: "exp10_towardzero": +double: 3 +float: 1 +ldouble: 3 + +Function: "exp10_upward": +double: 2 +float: 1 +ldouble: 3 + +Function: "exp2": +double: 1 +ldouble: 1 + +Function: "exp2_downward": +double: 1 +ldouble: 1 + +Function: "exp2_towardzero": +double: 1 +ldouble: 1 + +Function: "exp2_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "exp_downward": +double: 1 +float: 1 + +Function: "exp_towardzero": +double: 1 +float: 1 + +Function: "exp_upward": +double: 1 +float: 1 + +Function: "expm1": +double: 1 +float: 1 +ldouble: 1 + +Function: "expm1_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "expm1_towardzero": +double: 1 +float: 2 +ldouble: 4 + +Function: "expm1_upward": +double: 1 +float: 1 +ldouble: 3 + +Function: "gamma": +double: 3 +float: 3 +ldouble: 5 + +Function: "gamma_downward": +double: 4 +float: 4 +ldouble: 8 + +Function: "gamma_towardzero": +double: 4 +float: 3 +ldouble: 5 + +Function: "gamma_upward": +double: 4 +float: 5 +ldouble: 8 + +Function: "hypot": +double: 1 +ldouble: 1 + +Function: "hypot_downward": +double: 1 +ldouble: 1 + +Function: "hypot_towardzero": +double: 1 +ldouble: 1 + +Function: "hypot_upward": +double: 1 +ldouble: 1 + +Function: "j0": +double: 2 +float: 8 +ldouble: 2 + +Function: "j0_downward": +double: 2 +float: 4 +ldouble: 4 + +Function: "j0_towardzero": +double: 5 +float: 6 +ldouble: 2 + +Function: "j0_upward": +double: 4 +float: 5 +ldouble: 5 + +Function: "j1": +double: 2 +float: 8 +ldouble: 4 + +Function: "j1_downward": +double: 3 +float: 5 +ldouble: 4 + +Function: "j1_towardzero": +double: 3 +float: 2 +ldouble: 4 + +Function: "j1_upward": +double: 3 +float: 4 +ldouble: 3 + +Function: "jn": +double: 4 +float: 4 +ldouble: 7 + +Function: "jn_downward": +double: 4 +float: 5 +ldouble: 8 + +Function: "jn_towardzero": +double: 4 +float: 5 +ldouble: 8 + +Function: "jn_upward": +double: 5 +float: 4 +ldouble: 7 + +Function: "lgamma": +double: 3 +float: 3 +ldouble: 5 + +Function: "lgamma_downward": +double: 4 +float: 4 +ldouble: 8 + +Function: "lgamma_towardzero": +double: 4 +float: 3 +ldouble: 5 + +Function: "lgamma_upward": +double: 4 +float: 5 +ldouble: 8 + +Function: "log": +ldouble: 1 + +Function: "log10": +double: 2 +float: 2 +ldouble: 1 + +Function: "log10_downward": +double: 2 +float: 3 +ldouble: 1 + +Function: "log10_towardzero": +double: 2 +float: 1 +ldouble: 1 + +Function: "log10_upward": +double: 2 +float: 2 +ldouble: 1 + +Function: "log1p": +double: 1 +float: 1 +ldouble: 2 + +Function: "log1p_downward": +double: 1 +float: 2 +ldouble: 3 + +Function: "log1p_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "log1p_upward": +double: 2 +float: 2 +ldouble: 2 + +Function: "log2": +double: 1 +float: 1 +ldouble: 2 + +Function: "log2_downward": +double: 3 +ldouble: 3 + +Function: "log2_towardzero": +double: 2 +ldouble: 1 + +Function: "log2_upward": +double: 3 +ldouble: 1 + +Function: "log_downward": +ldouble: 1 + +Function: "log_towardzero": +ldouble: 2 + +Function: "log_upward": +double: 1 +ldouble: 2 + +Function: "pow": +double: 1 +ldouble: 2 + +Function: "pow_downward": +double: 1 +float: 1 +ldouble: 2 + +Function: "pow_towardzero": +double: 1 +float: 1 +ldouble: 2 + +Function: "pow_upward": +double: 1 +float: 1 +ldouble: 2 + +Function: "sin": +double: 1 +float: 1 +ldouble: 1 + +Function: "sin_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "sin_towardzero": +double: 1 +float: 1 +ldouble: 2 + +Function: "sin_upward": +double: 1 +float: 1 +ldouble: 3 + +Function: "sincos": +double: 1 +ldouble: 1 + +Function: "sincos_downward": +double: 1 +float: 1 +ldouble: 3 + +Function: "sincos_towardzero": +double: 1 +float: 1 +ldouble: 2 + +Function: "sincos_upward": +double: 1 +float: 1 +ldouble: 3 + +Function: "sinh": +double: 2 +float: 2 +ldouble: 2 + +Function: "sinh_downward": +double: 3 +float: 3 +ldouble: 3 + +Function: "sinh_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "sinh_upward": +double: 3 +float: 3 +ldouble: 4 + +Function: "tan": +float: 1 +ldouble: 1 + +Function: "tan_downward": +double: 1 +float: 2 +ldouble: 1 + +Function: "tan_towardzero": +double: 1 +float: 1 +ldouble: 1 + +Function: "tan_upward": +double: 1 +float: 1 +ldouble: 1 + +Function: "tanh": +double: 2 +float: 2 +ldouble: 2 + +Function: "tanh_downward": +double: 3 +float: 3 +ldouble: 4 + +Function: "tanh_towardzero": +double: 2 +float: 2 +ldouble: 3 + +Function: "tanh_upward": +double: 3 +float: 3 +ldouble: 3 + +Function: "tgamma": +double: 5 +float: 8 +ldouble: 4 + +Function: "tgamma_downward": +double: 5 +float: 7 +ldouble: 5 + +Function: "tgamma_towardzero": +double: 5 +float: 7 +ldouble: 5 + +Function: "tgamma_upward": +double: 4 +float: 8 +ldouble: 4 + +Function: "y0": +double: 2 +float: 6 +ldouble: 3 + +Function: "y0_downward": +double: 3 +float: 4 +ldouble: 4 + +Function: "y0_towardzero": +double: 3 +float: 3 +ldouble: 3 + +Function: "y0_upward": +double: 2 +float: 5 +ldouble: 3 + +Function: "y1": +double: 3 +float: 2 +ldouble: 2 + +Function: "y1_downward": +double: 3 +float: 2 +ldouble: 4 + +Function: "y1_towardzero": +double: 3 +float: 2 +ldouble: 2 + +Function: "y1_upward": +double: 5 +float: 2 +ldouble: 5 + +Function: "yn": +double: 3 +float: 3 +ldouble: 5 + +Function: "yn_downward": +double: 3 +float: 4 +ldouble: 5 + +Function: "yn_towardzero": +double: 3 +float: 3 +ldouble: 5 + +Function: "yn_upward": +double: 4 +float: 5 +ldouble: 5 + +# end of automatic generation diff --git a/sysdeps/riscv/rv32/rvd/libm-test-ulps-name b/sysdeps/riscv/rv32/rvd/libm-test-ulps-name new file mode 100644 index 0000000000..827fcdca19 --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/libm-test-ulps-name @@ -0,0 +1 @@ +RISC-V From patchwork Wed Aug 12 14:41:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40261 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 9AD453844041; Wed, 12 Aug 2020 14:51:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9AD453844041 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243905; bh=TLybtM6ptHtc1N9e6O+iZ/LCteDsT4rdkiz+yc0x58Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vwu1DoQJIAnLg7+jmYhA+sIZnc6byDKcr0fyV2ulCYTJ9g9q2MDYcABOX/KDlvZrm o0OX3tV9DjZS8IaoU82ZCSCKZI0ZGtL0UFMpzkS/NDPYdj5wi/46evXDGZWqPqIGe5 B/CAUnAF+LQQSO7IMs4q60LwUdXlODc6ReiyxMpY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by sourceware.org (Postfix) with ESMTPS id EB2623846416 for ; Wed, 12 Aug 2020 14:51:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EB2623846416 IronPort-SDR: pV0YqI9e/rXBRXWYRXAj2ofJ7jYugawyWxnjsww5p5BWY6oxew3Id5sgcFvncxcXyNLPw32kXn TsF4lxLje61dQ4oBaXXme/YRqAc6TiG0rXMklnBwAZfrRRqAsZ9rBqyR5brPdrUuO3SgIBiDsq ckJ0vIFWBDi6bABveIIGVuniW+s3RS/9zul0CN+AOuefeAkrZ/IxhslJE+dEWODXqJWft+a0AS 2YY0HZufj7hS2ov8Pu2CcSUPLyBS8xmI9tQQ65EWgKtZ2rE3sBUwHS8VG+rT4q+IxhhZHPpeG4 VPk= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="144758234" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:41 +0800 IronPort-SDR: klul0r2WQvZGNlXWVhrJvp82RPVrQf3S4thyZhw0NQK9kfnOr6/9vMyEN48OG++ynbX/rpPT0d SPKEr0MlvfTQ== Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:39:33 -0700 IronPort-SDR: rjVVMUv+W9MyzxVc8+0gvFQevcgQVzYbfYUCJMZFpkIRfSQxdscuA2MjRXutedTMBMaXKp0KVn E1u+cqTOYQjA== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip02.wdc.com with ESMTP; 12 Aug 2020 07:51:41 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 13/18] RISC-V: Fix llrint and llround missing exceptions on RV32 Date: Wed, 12 Aug 2020 07:41:32 -0700 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li Conversions from a float to a long long on 32-bit RISC-V (RV32) may not raise the correct exceptions on overflow, it also may raise spurious "inexact" exceptions on non overflow cases. This patch fixes the problem, similary to the fix for MIPS, ARM and S390. --- .../riscv/rv32/fix-fp-int-convert-overflow.h | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h diff --git a/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h b/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h new file mode 100644 index 0000000000..ddf9e3c351 --- /dev/null +++ b/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h @@ -0,0 +1,38 @@ +/* Fix for conversion of floating point to integer overflow. RISC-V version. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef FIX_FP_INT_CONVERT_OVERFLOW_H +#define FIX_FP_INT_CONVERT_OVERFLOW_H 1 + +/* The generic libgcc2.c conversions from floating point to long long + may not raise the correct exceptions on overflow (and may raise + spurious "inexact" exceptions even in non-overflow cases, see + ). */ +#define FIX_FLT_LONG_CONVERT_OVERFLOW 0 +#define FIX_FLT_LLONG_CONVERT_OVERFLOW 1 + +#define FIX_DBL_LONG_CONVERT_OVERFLOW 0 +#define FIX_DBL_LLONG_CONVERT_OVERFLOW 1 + +#define FIX_LDBL_LONG_CONVERT_OVERFLOW 0 +#define FIX_LDBL_LLONG_CONVERT_OVERFLOW 0 + +#define FIX_FLT128_LONG_CONVERT_OVERFLOW 0 +#define FIX_FLT128_LLONG_CONVERT_OVERFLOW 0 + +#endif /* fix-fp-int-convert-overflow.h */ From patchwork Wed Aug 12 14:41:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40262 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 311BB3844048; Wed, 12 Aug 2020 14:51:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 311BB3844048 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243907; bh=gcixLrHW7tYWDsvi/CLAc/LCAeTlPkNWF6B8kYzRMvA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=MHRP4Yn9wDjubpWHs9LwJLD4KgH5qepz8AmsinQ0UzKlmYj8QAf3G2pzuZ3wtPbI0 LNNU2grjMo9QHVy/79A7GVvAmEgpPl9WbtuqneYjSqUu3awTS96fm9Nb9dt37qlQMR WS4bm0/gNYPsQMcZdA4E3yd7T+7+rQNc2TJ94A4Q= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by sourceware.org (Postfix) with ESMTPS id E00BD3846405 for ; Wed, 12 Aug 2020 14:51:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E00BD3846405 IronPort-SDR: +3HXhFSVCn+vinxXdr5llxn7E816SzMwzZNa0YU681QMJ111uMxbuJa7L4dF+CDX3fcA8sqL+B L/2cOjXBmBCfeIMH63JR35/9NE6KeT3EgLNTZQE3b59Oibl53amsO/ynaqkK+8NLp4QkJV7u43 MhN0pgsENcIQKRQ3/fziA7TCH/uE10xnJDlXTfti/JoAXhmf9u3aoAc+PTpL+pNzcYLOfypkzg PLvgFU22HrOiMemdcHNpAqoiHswVGQjmOIuYmekPqN8fCVQyd4cV9LHSoGijbd3syb67AQwZ+/ f5o= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="144758235" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:44 +0800 IronPort-SDR: qTFV9HFVvX/rdLWVimhWjMhajEi/iRE7tkhMJKJ3owfUMK0Pjlc8ig4vxXrd20AxasZXg21ZUJ 45Zuw3BP3u1w== Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:39:36 -0700 IronPort-SDR: jOXxVemFGOWeZuZFA2KS19WUmgD/PKV3V4WYF8ytJKGD9WSUShVC8+c3Sl60yID8iN0gCMogcP PlmJPiumN8Nw== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip02.wdc.com with ESMTP; 12 Aug 2020 07:51:44 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 14/18] riscv32: Specify the arch_minimum_kernel as 5.4 Date: Wed, 12 Aug 2020 07:41:44 -0700 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Specify the minimum kernel version for RISC-V 32-bit as the 5.4 kernel. We require this commit: "waitid: Add support for waiting for the current process group" for the kernel as it adds support for the P_PGID id for the waitid syscall. Without this patch we can't replace the wait4 syscall on 64-bit time_t only systems. --- sysdeps/unix/sysv/linux/riscv/configure | 4 ++++ sysdeps/unix/sysv/linux/riscv/configure.ac | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sysdeps/unix/sysv/linux/riscv/configure b/sysdeps/unix/sysv/linux/riscv/configure index 3018ca8f1b..de3bb62003 100755 --- a/sysdeps/unix/sysv/linux/riscv/configure +++ b/sysdeps/unix/sysv/linux/riscv/configure @@ -151,6 +151,10 @@ if test $libc_cv_riscv_int_abi = no; then as_fn_error $? "Unable to determine integer ABI" "$LINENO" 5 fi +if test $libc_cv_riscv_int_abi = ilp32; then + arch_minimum_kernel=5.4.0 +fi + libc_cv_riscv_float_abi=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ diff --git a/sysdeps/unix/sysv/linux/riscv/configure.ac b/sysdeps/unix/sysv/linux/riscv/configure.ac index d4819931ca..0f7596502b 100644 --- a/sysdeps/unix/sysv/linux/riscv/configure.ac +++ b/sysdeps/unix/sysv/linux/riscv/configure.ac @@ -11,6 +11,10 @@ if test $libc_cv_riscv_int_abi = no; then AC_MSG_ERROR([Unable to determine integer ABI]) fi +if test $libc_cv_riscv_int_abi = ilp32; then + arch_minimum_kernel=5.4.0 +fi + libc_cv_riscv_float_abi=no AC_EGREP_CPP(yes, [#ifdef __riscv_float_abi_double yes From patchwork Wed Aug 12 14:41:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40263 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 C65B53846416; Wed, 12 Aug 2020 14:52:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C65B53846416 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243933; bh=0WOA97UEfuLVBEdI6QRTIZp5KoOzV0euwUztk7Cj3CU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=UcbRgG7M00TOK01yL3c8k6QjvYP4zgWRbP0vZ3hOlq7+keJjONpE8BSJ9tFQyXwdk qUr80EqImH5tyyDXz2oFtwzq7Xrhxm8oT5yCcoyvn8lWclzOxLb2hdY3cdicQ0lUzN tNJwDjqP324y2zzhP1Yt6GVSJ404dJi9hhFI/yiQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa5.hgst.iphmx.com (esa5.hgst.iphmx.com [216.71.153.144]) by sourceware.org (Postfix) with ESMTPS id 9379B384A882 for ; Wed, 12 Aug 2020 14:52:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9379B384A882 IronPort-SDR: cjzwLqSQ1Qb4e6ILFiqePZsucIb+tD5A32fBFDkhyiMGBFaLzgiS+3/TlkYXk6mRNUd74uLBjr ogNutb1gWYFhOLV+3FxwIGQu2ZoaB1wP8WeoDM6feFRrwBEmpQL6OlUm/BqAvU2LIf7/0vWoan 6XxzZ4egesYU/l7NMmSxMsFKLIp63MV3HpMoirmfh5OQoarISdMFLI+TST6hJUCesoeGo/KCuV ciElFLEcSg29YdCUBHzAkxl1cRwqyv9vu/sdHmcgekFXb4G+BBBqrJ01wH8O9pEnlf/AOQxmx6 aWA= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="144812652" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:51:58 +0800 IronPort-SDR: mCalv7X1cHF2B8qDuXsqVqTvIFtfysxRJ5XZelk8JbI0lku2PsuUy7neokPKHUuF7x1mglyStm XgREO13rdZKA== Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:39:49 -0700 IronPort-SDR: PRJORPXj5gZnVmFzvEOpfoV7z2WiL3/Y4ynIBpXQtnkQkr/WElGBL1eqOA9u//hu2UzjebMoAr 7mfUJvIjwS+A== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip02.wdc.com with ESMTP; 12 Aug 2020 07:51:58 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 16/18] RISC-V: Add rv32 path to RTLDLIST in ldd Date: Wed, 12 Aug 2020 07:41:58 -0700 Message-Id: <703af27797ca64c90c3c6103454fba4dc4ac34b9.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li --- sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed index 377a9c6ef4..0b26352c21 100644 --- a/sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed +++ b/sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed @@ -1 +1 @@ -s_^\(RTLDLIST=\)\(.*lib/\)\(ld-linux\)-\(riscv64\)-\(lp64\)\(d*\)\(\.so\.[0-9.]*\)_\1"\2\3-\4-\5\7 \2\3-\4-\5d\7"_ +s_^\(RTLDLIST=\)\(.*lib\)\(/[^/]*\)\(64\|32\)\(-.*\)\(lp\)\(64\|32\)\(d*\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\364-\664\9 \2\364-\664d\9 \2\332-i\632\9 \2\332-i\632d\9"_ From patchwork Wed Aug 12 14:42:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40264 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 5624A384A882; Wed, 12 Aug 2020 14:52:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5624A384A882 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243935; bh=Q9xoaRg0QgCLVPLMbQct9KgT+X6BxrqMEMAHmXZxpCs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=fORpS1XoJOmrHqJvXlqZ1u/mc7vxDVOnvSB6zwkVoE4d0u3Yq99VARNqMbN9hsJQL ZqpREpYBrewxE8169BjIV8teyWa7tmPKUyC0GR64AeacHtnt0xePWRljQljowic8DJ 5fa4MwX1Ha9RmAPI4lXHRoUk+BmMfsLLoZLoCbjM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa5.hgst.iphmx.com (esa5.hgst.iphmx.com [216.71.153.144]) by sourceware.org (Postfix) with ESMTPS id EA6D8384A882 for ; Wed, 12 Aug 2020 14:52:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EA6D8384A882 IronPort-SDR: n4YQHGMAeKN0B0La+7G/IKKkmo8XhGL4bpZVoB/jcYw6v//oN2266PFIH15jaRIKfrn4aNIVN/ pjbnQzZ80ij/CSQ0oo+5IF2j7rboBH5qfnN4RAaUgIMR0c3U9lcq9knCm3F9X/uhCkyIYmvCYn tmJt4g6RQ/2QYcWDIV0WgySscORX9BUfBiaTyO7YW/eC8aU01/naOlOx9cnUFICx2WfPdTpY+3 m5YAWn3y4ZPQJ8viSBh8L3kgzSd0Lden8HQYBGGVkDEIt8b2iKeo2JQetCgdDK3t157398WWIe YTM= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="144812656" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:52:02 +0800 IronPort-SDR: nCpr7Q+LNEYzpjHAQ3oAIBb4GVRfboqRydGI1pqsBNyWSzpfxIYvpsm1z2I9+dOSlKrg2OBk+8 Gg2rDnQPrEmw== Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:39:53 -0700 IronPort-SDR: 1pkYe5JDnuGVoCjGEPTtziEZVheIf+PjXgtDbAAnrmA2I1kk38+uePwwrtsV5NANesZ1PC4lMA 92XEDfuywmBA== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip02.wdc.com with ESMTP; 12 Aug 2020 07:52:02 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 17/18] Documentation for the RISC-V 32-bit port Date: Wed, 12 Aug 2020 07:42:01 -0700 Message-Id: <6b04040addd0fe87cb349b5b1b9cda14e38f74b2.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" There is already RISC-V 64-bit port information in the documentation. Let's add some documentation entries for the RISC-V 32-bit as well. --- NEWS | 9 ++++++++- README | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2937adc3f3..c039a7aede 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,14 @@ Version 2.33 Major new features: - [Add new features here] +* Support for the RISC-V ISA running on Linux has been expanded to run on + 32-bit hardware. This requires at least Linux 5.4 and is supported for + the following ISA and ABI pairs: + - rv32imac ilp32 + - rv32imafdc ilp32 + - rv32imafdc ilp32d + The 32-bit RISC-V port requires the Linux kernel 5.4+, GCC 7.1+ and + binutils 2.28+. Deprecated and removed features, and other changes affecting compatibility: diff --git a/README b/README index 903f07e484..d0f0edb393 100644 --- a/README +++ b/README @@ -39,6 +39,7 @@ The GNU C Library supports these configurations for using Linux kernels: powerpc64*-*-linux-gnu Big-endian and little-endian. s390-*-linux-gnu s390x-*-linux-gnu + riscv32-*-linux-gnu riscv64-*-linux-gnu sh[34]-*-linux-gnu sparc*-*-linux-gnu From patchwork Wed Aug 12 14:42:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 40265 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 EE9F13844070; Wed, 12 Aug 2020 14:52:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE9F13844070 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1597243937; bh=NStJCe3Ym7xuZfdyzDI2Mn+r/M2rfPMBZAiOWtnumYQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Du8GAGcTdYl7xQYGPKpF5D6w3ddLE/9tTIhxUkvVhirm/1oTxRfTn6Cc5twZGTDct aA1II03Ux/wxOm43xJHIh9Vp/2tTanLF81gsuIwfnEJd4BEero2NEAOpNozxgTMEkZ 9Ubgzxrc65wtDEB4KJT4nTocPmLdk07pxqbqTwwY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa5.hgst.iphmx.com (esa5.hgst.iphmx.com [216.71.153.144]) by sourceware.org (Postfix) with ESMTPS id 9DFE1386191F for ; Wed, 12 Aug 2020 14:52:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9DFE1386191F IronPort-SDR: UMc490xAMioPVAY+RTR2HmrZqHB6eCLFFhAhk66rIuWWu4Lv41LBkbuDyYQ8TK2rKxN79jciZc l5KkKsDsEbulW3dbg/9xzSgwzDju9k61XUxsd27+xFa1KDdL9Wp55Fd3meMoEqIiXiyNgLSf1Y Y/hOTc079kaV2FPWlMLrLZO081ZtvcbXpwKKnLBet4ok2navi7DzU6brTDudEFmVYJQmW1A6EO U2QuoNE7/9RKfCzD6CUnDhF7XXsH3QFfYv7y4TGrcr4DwbQRnHnavisEqvpJqyubqgI2iA/ZJi +cg= X-IronPort-AV: E=Sophos;i="5.76,304,1592841600"; d="scan'208";a="144812662" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 12 Aug 2020 22:52:05 +0800 IronPort-SDR: WIdYMLSIjeNRDM/s6d8qCNieeTF8MWC+JnpIBaX9jGcpZY/myu3B2KIg1na3LfY1Ceducvm571 CbBWGL7au2lg== Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2020 07:39:56 -0700 IronPort-SDR: lTh7FimvPSfrqvP+KWPqTTJUSvoOnrgcW3FFTXKkV4rRRfnQmFHFKNNvtjdLH+/OsLA4DGpo7w FuvgCtSai6vg== WDCIronportException: Internal Received: from jbfyk72.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.59.14]) by uls-op-cesaip01.wdc.com with ESMTP; 12 Aug 2020 07:52:04 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v4 18/18] Add RISC-V 32-bit target to build-many-glibcs.py Date: Wed, 12 Aug 2020 07:42:04 -0700 Message-Id: <4a9e808e94b4212ef437a88230f81f8cf2cf1e39.1597243100.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP 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: , X-Patchwork-Original-From: Alistair Francis via Libc-alpha From: Alistair Francis Reply-To: Alistair Francis Cc: macro@wdc.com, alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li Support building three variants of 32-bit RISC-V glibc as follows: - riscv32-linux-gnu-rv32imac-ilp32 - riscv32-linux-gnu-rv32imafdc-ilp32 - riscv32-linux-gnu-rv32imafdc-ilp32d Reviewed-by: Maciej W. Rozycki --- scripts/build-many-glibcs.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index 325591b2c6..c7b2c84fce 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -347,6 +347,21 @@ class Context(object): self.add_config(arch='powerpc64le', os_name='linux-gnu', gcc_cfg=['--disable-multilib', '--enable-secureplt']) + self.add_config(arch='riscv32', + os_name='linux-gnu', + variant='rv32imac-ilp32', + gcc_cfg=['--with-arch=rv32imac', '--with-abi=ilp32', + '--disable-multilib']) + self.add_config(arch='riscv32', + os_name='linux-gnu', + variant='rv32imafdc-ilp32', + gcc_cfg=['--with-arch=rv32imafdc', '--with-abi=ilp32', + '--disable-multilib']) + self.add_config(arch='riscv32', + os_name='linux-gnu', + variant='rv32imafdc-ilp32d', + gcc_cfg=['--with-arch=rv32imafdc', '--with-abi=ilp32d', + '--disable-multilib']) self.add_config(arch='riscv64', os_name='linux-gnu', variant='rv64imac-lp64',