From patchwork Wed Jun 3 16:25:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39437 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 80D3C388B01B; Wed, 3 Jun 2020 16:34:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 80D3C388B01B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202056; bh=JWehKYwbBqVkKlccWVBnO+RgBHKWNw/Nl16ptksgneU=; 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=CrJBfvd281TUIt2GKc5L+aT42ssFqjbkqmNWaAZLOHUHIoNvpJiMTwFqLn37UC7Ee brak4e24QyZF+t+9PAB/lbZHMbu5A23j9b3HX2R+gq6fG/ZF7NUuyaeGiWXFNNH/AR 7bBTEeeFHa/gB4ib31yllh1HK85OS/w+onqrPaaU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 37830388B018 for ; Wed, 3 Jun 2020 16:34:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 37830388B018 IronPort-SDR: Vg4IXH+D6rQXmhhpWRTAZn7WPC2Bo/eGDPvr6YQnE/ZOvrjK5BZRfqGyJbpLO0AybOIDN2Gvff NjLi239tSQ5xBzUHhWG71YuqcFVMgCf0WeRHaZIPDZHlzrC0MZTBnxhfrIpLl6dOSPX/jnSbfF 5SfhxRKMljdd9fuETnHPIHZz3bm8naH7Olo9jeedxFp7DHphJVW4QEVeuPKM3Qj7EEoq2Lixmp z9egDMG8CVFWTuRX9DFeARU5d1uvcTfETYPLwA6vjWPifT2yeyEeM/6mzFSD8xXyNWka9+zsT6 S1Q= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452219" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:12 +0800 IronPort-SDR: vOmGC/qfBmZ84GZTx1SfXvKfARAnefJk85oWxfAyt31XzH+yB5SgYqG8EmP/6kgVq19wB6C3C6 /lmuHBujvDNo/Jz49vQxdIhIYdxbUMXCg= 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; 03 Jun 2020 09:23:50 -0700 IronPort-SDR: xVLdC71mKvIx6YTuaBMKEzkE6S3xuTkcH0hXrIDOsfDnUPOU9ghw84m5zMW9bcL7SdHqdKBVhq rDjOLX4ohMHA== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:12 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 01/18] RISC-V: Use 64-bit time_t and off_t for RV32 and RV64 Date: Wed, 3 Jun 2020 09:25:26 -0700 Message-Id: <04882fb114ae3d8b2621dd5438682f1bdb316d84.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.2 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_NONE, 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: 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. --- .../unix/sysv/linux/riscv/bits/environments.h | 85 +++++++++++++++++++ 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, 166 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..c1768af17b --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/environments.h @@ -0,0 +1,85 @@ +/* Copyright (C) 2019-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 + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFF32 + # undef _XBS5_ILP32_OFF32 + */ + +# 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 + +/* CFLAGS. */ +#define __ILP32_OFFBIG_CFLAGS "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + +#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..7ba0dd1cfd --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. Generic version. + Copyright (C) 2019-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..78394b7489 --- /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, general case. + Copyright (C) 2019-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..25e698b9bf --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/kernel_stat.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2019-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 Jun 3 16:25:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39438 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 95FD8388C00E; Wed, 3 Jun 2020 16:34:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 95FD8388C00E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202057; bh=/1wI/axjrII5F4yaOX9QVTmJF06vtLSmbgAdZh/Y0HQ=; 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=foTvuB5OqFNvdS3yCVMl21sTKdxuMAkJL1qHlwnCsjsOveLj7R47Cw3FC/G4ij1sH +cv6qzKDrQQUYMWQIq+TJFeBnA/HshS8SApVxF6DbmJYAmwOomYrfoj/cE1QKcuyeH FzNDUX22ezPB50KkcBtBaMYok908poifZJ0V1mYk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 66F81388B018 for ; Wed, 3 Jun 2020 16:34:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 66F81388B018 IronPort-SDR: EQvQl/C3OXlX0LXIe0d1nRA/PNteOrIM5LeHkfbfq3WZ/ydFE1SEWdHCjJMKGWBdFurYaqnDF4 44Q9q5tEPYIqWQ+q8YoFXIpxtPwW0jm6IrE3FGTEDhRmrQTGHmpO+HVfc1HK4ng0HiEkANFvBb M2aZWj6WPqMHLdJKOsb0kCoiFowcSG7GiMB/ygTtnwoDsuJPUQcWtEarCglC1s1knZ6a/Pp1lq W6wtogyGebrBGpcXPMeeA8oA6cAg0tOq3WnprPuS+Pg9PxIJJYFAb0gF2hK8ADq3JKXOVPA92/ 3OA= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452226" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:15 +0800 IronPort-SDR: GLaJrhLaQo6ibui7kgRKHSL4mQt3QlDjeKsaKKVgfuj3wZDHTnndko2AcoZS/XA/ukRwVVVRL+ FCSaqa/sDVV/dYmw844ezK9San/yiqWKY= 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; 03 Jun 2020 09:23:53 -0700 IronPort-SDR: 54nVoRCkpNqDb2epxSo5e3k724pOTfbBk18zQaRiepDtaYqCaAHN5NXtFrgh1PziiJvxFPhxTD pr2ydQEkXNuw== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:14 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 02/18] RISC-V: Define __NR_* as __NR_*_time64/64 for 32-bit Date: Wed, 3 Jun 2020 09:25:29 -0700 Message-Id: <56ade7ab382535b83feb14058df9a84aad0dcaac.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- sysdeps/unix/sysv/linux/riscv/sysdep.h | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index 83e4adf6a2..aa61e8b04d 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -116,6 +116,67 @@ #include +#if __riscv_xlen == 32 +/* Define the __NR_futex as __NR_futex64 as RV32 doesn't have a + * __NR_futex syscall. + */ +# ifndef __NR_futex +# define __NR_futex __NR_futex_time64 +# endif + +# ifndef __NR_rt_sigtimedwait +# define __NR_rt_sigtimedwait __NR_rt_sigtimedwait_time64 +# endif + +# ifndef __NR_ppoll +# define __NR_ppoll __NR_ppoll_time64 +# endif + +# ifndef __NR_utimensat +# define __NR_utimensat __NR_utimensat_time64 +# endif + +# ifndef __NR_pselect6 +# define __NR_pselect6 __NR_pselect6_time64 +# endif + +# ifndef __NR_recvmmsg +# define __NR_recvmmsg __NR_recvmmsg_time64 +# endif + +# ifndef __NR_semtimedop +# define __NR_semtimedop __NR_semtimedop_time64 +# endif + +# ifndef __NR_mq_timedreceive +# define __NR_mq_timedreceive __NR_mq_timedreceive_time64 +# endif + +# ifndef __NR_mq_timedsend +# define __NR_mq_timedsend __NR_mq_timedsend_time64 +# endif + +# ifndef __NR_clock_getres +# define __NR_clock_getres __NR_clock_getres_time64 +# endif + +# ifndef __NR_timerfd_settime +# define __NR_timerfd_settime __NR_timerfd_settime64 +# endif + +# ifndef __NR_timerfd_gettime +# define __NR_timerfd_gettime __NR_timerfd_gettime64 +# endif + +# ifndef __NR_sched_rr_get_interval +# define __NR_sched_rr_get_interval __NR_sched_rr_get_interval_time64 +# endif + +# ifndef __NR_clock_adjtime +# define __NR_clock_adjtime __NR_clock_adjtime64 +# endif +#endif /* __riscv_xlen == 32 */ + #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name From patchwork Wed Jun 3 16:25:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39439 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 2EDA4388C013; Wed, 3 Jun 2020 16:34:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2EDA4388C013 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202060; bh=mPJD5fW2rn+hsNlfujDEXp4+4UUTtqbFZibaAnNHu3s=; 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=OsRwfg67FiD87OC9nOE8KqW1M8sI4PeEM236c6q6V25XGKX0UzHmvJFhBMoYswsAP 0x/I32pk7wAERtUgzU3CXUQqdCrC6UCVwo5q2Cm1oyFAwHwBZwtJ2oWxrYP9hyl33q CbMjGBKS6FkWFqIoemE2+i3X8Jq0p8Sin6GpnmHg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 8AD0B388B018 for ; Wed, 3 Jun 2020 16:34:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8AD0B388B018 IronPort-SDR: rCAa3RVuQfOTIo7OGtE82EKupiwGElCDt+JagxrM87KSflBJM1dpWQYannzAoqyhU8gyPKceNZ OtidvGVpWmsWlshGnrMLDHubCRYFeC67gdFOx5ICN/I7Z+Z4o3ypRlro7KXDS3O4jeWrSSGMOf fRabKYkd/FzJqUPFYpsb1te3PHxJfn0eB16tJgmjoNopVTQ3mhuXHixD88VLYN+K+2TAJQvVRU C2Xa00UPOwr5PXohUVnDbuv9nwsxtYKkjKIE0CDT1rWDFZrgWgIRtN3JA7qbA3wDoFFHTL31og 8vg= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452230" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:18 +0800 IronPort-SDR: wVgUi++v3VmgmH/68GSGAduOkPqvrjMjijHVqWjWyybuh8UuwRx0j3sdQbtF0lhn8Tjpg9l8AM qJTnPLcrgg/4ssAHg3hJGTPOOOi+GMVJQ= 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; 03 Jun 2020 09:23:55 -0700 IronPort-SDR: 3MRL/lfnnYXX92TZ61Oq+Eqru41FCD1Xujs2txckcgh7bk1/SzvbIUc3Intmj0TmD5Vddu+E5z ClnivtZzLrHQ== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:17 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 03/18] RISC-V: Add support for 32-bit vDSO calls Date: Wed, 3 Jun 2020 09:25:31 -0700 Message-Id: <02bea72edffeb116ab4d139d1e14b89d1f58c7ce.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- sysdeps/unix/sysv/linux/riscv/sysdep.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index aa61e8b04d..9f6ed2001b 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -182,14 +182,21 @@ #ifndef __ASSEMBLER__ -# define VDSO_NAME "LINUX_4.15" -# define VDSO_HASH 182943605 +# if __riscv_xlen == 32 +# define VDSO_NAME "LINUX_5.4" +# define VDSO_HASH 61765876 /* 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" -# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu" +# else +# define VDSO_NAME "LINUX_4.15" +# define VDSO_HASH 182943605 + +/* 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" +# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu" +# endif # define INTERNAL_SYSCALL(name, nr, args...) \ internal_syscall##nr (SYS_ify (name), args) From patchwork Wed Jun 3 16:25:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39440 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 B4C08388C018; Wed, 3 Jun 2020 16:34:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4C08388C018 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202063; bh=//IniVVFfNkzn8LVVCyHrqSlhZ4IBkNfhzjLE9Qp1bw=; 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=TjXhIDEdNfj1YtasdJb+JybGOhTVpZ32WWhCtbuN/wMaNjSIelQnMQchOPGL8suLd EzZHRxOtqurj070O/u50A8Vsx1lIB8jy4jAeJM6UYRYiKlPr7Z9FTlo2QhVlRw60ky pvJXxz1Y1QN5zS+1ps8TPrWRYXOt1ZCMBKG7FyS8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 70499388C016 for ; Wed, 3 Jun 2020 16:34:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 70499388C016 IronPort-SDR: kFlojjK8X7/tEMGT+GNBtvf55284HhuQJZIlMWsWbB/uXyf0rvlWk6Xc3fhhUjm6M2YlcJrYTT wXBZTt0RQs6X/fxrliWLn05xwG/MkrpV4utUGN6LtbsRZ3qzwgVwgnBUEKVc8cgE9SiXUeO1DA Bwj+nLNd3LhlueeurtvZ1nAYzF9zAM7XXsL/HA9GpLGRnm6Q318Wq1nCOXNxZbdu9lUieJtOqY YZE8cJaYtQUnrOKMv7PKT7zR4R1PLoJoM3S2/RBNowCyItMt/DxxYQcmmcfnnXcRKNJuLryPj+ W/c= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452235" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:20 +0800 IronPort-SDR: JTi+OeCGBKV6qJYEzqFKsFQzF3HZEjpkWTNvZ3COWfgakj9kG4TC36skyeV554Z0krZFkEfkr9 JYDlDsdu4L/hNgdXTMQUNRDygOFy7CHQU= 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; 03 Jun 2020 09:23:58 -0700 IronPort-SDR: ma1tkCrgrguyy5BYuuuCE+ZcH1oS35E2JM60g5xsoGhfAacg/wLBNsIuAExtLlGsmwvKE/yUHk 8gcf/7D/it1Q== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:20 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 04/18] RISC-V: Support dynamic loader for the 32-bit Date: Wed, 3 Jun 2020 09:25:34 -0700 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: 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 Jun 3 16:25:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39441 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 CA766388C021; Wed, 3 Jun 2020 16:34:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA766388C021 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202066; bh=XFCNmasIZACVBsLwWYHZTCo/eCVq4oQiPlKlaoQp5Mw=; 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=UMKyA4E7jbx0fHh6WhPFAiB5/fhpgNfDHDdRUDbWqG7Sd3+7Ksb9OU6vDYqAkavQ8 kHWCu9dglwbKbLaT44dpC8B76kMjRcvD0nFHktD1dVq08wE+LxfbC1VIZH5u53wUoe 9MM98UcJD5r81pzEOBYgl29Ipbd5DvDY1pSbep18= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id AB04A388C016 for ; Wed, 3 Jun 2020 16:34:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org AB04A388C016 IronPort-SDR: nkaPjdlv8iLfOrwciVjVuKKZ/0v+MPucbUwuZXDXk/zMTgxEDIDS55hpaEsVafRM2zoS7R1oFg nDopj3vjH99m105ayNxf/p/iyI1zdSQHh5nB5gazxKGFuT+5+RP2wruLQErvjgm39rd6+5LU0b 1yifNZMNU6vPJUNedZN36wuJVHtgqi2fBKzP5cO6xEPL0a4zXtkisUsm2BEEmxg1cObAs/AIGY G+JBxGEoVYN9k99CAY1WvFhtrMvhaXm3QaNtBuWc1JYMoKXDK7K3hVWMLkP3OdgroMYUfx+SWK fk8= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452245" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:24 +0800 IronPort-SDR: vECvpmyGqLFVMGfnWHHKV9paAxvGX6jGBgNu/OizCxHSjHJxavLaApb6yM8L5ej1w9RAZV4CR3 Gyb0Tiy4RTwaDhAiOtLT/bpwQN5HPoUSo= 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; 03 Jun 2020 09:24:01 -0700 IronPort-SDR: kYGKL5jU7d2zMROmwkIzMKPQMT9U+QPUU1iHL3RlhMI41/221UtH4HmzgsI65K34BkbEUnw+gn tXYuTyuvebiw== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:23 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 05/18] RISC-V: Add path of library directories for the 32-bit Date: Wed, 3 Jun 2020 09:25:37 -0700 Message-Id: <110083dce6019a1b98bda674d2e19acef4ed1dda.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li For the recommand of 64 bit version, we add the libraries path of 32 bit in this patch. The status of RV32 binaries under RV64 kernels is that the ISA optionally supports having different XLEN for user and supervisor modes, but AFAIK there's no silicon that implements this feature, and the Linux kernel doesn't support it yet. For the recommand of 64 bit version, we add the libraries path of 32 bit in this patch. This includes a fix to avoid an out of bound array check when building with GCC 8.2. --- sysdeps/unix/sysv/linux/riscv/dl-cache.h | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sysdeps/unix/sysv/linux/riscv/dl-cache.h b/sysdeps/unix/sysv/linux/riscv/dl-cache.h index c297dfe84f..60fc172edb 100644 --- a/sysdeps/unix/sysv/linux/riscv/dl-cache.h +++ b/sysdeps/unix/sysv/linux/riscv/dl-cache.h @@ -34,6 +34,8 @@ RISC-V, libraries can be found in paths ending in: - /lib64/lp64d - /lib64/lp64 + - /lib32/ilp32d + - /lib32/ilp32 - /lib (only ld.so) so this will add all of those paths. @@ -49,9 +51,16 @@ do \ { \ size_t len = strlen (dir); \ - char path[len + 9]; \ + char path[len + 10]; \ memcpy (path, dir, len + 1); \ - if (len >= 12 && ! memcmp(path + len - 12, "/lib64/lp64d", 12)) \ + if (len >= 13 && ! memcmp(path + len - 13, "/lib32/ilp32d", 13)) \ + { \ + len -= 9; \ + path[len] = '\0'; \ + } \ + if (len >= 12 \ + && (! memcmp(path + len - 12, "/lib32/ilp32", 12) \ + || ! memcmp(path + len - 12, "/lib64/lp64d", 12))) \ { \ len -= 8; \ path[len] = '\0'; \ @@ -64,6 +73,10 @@ add_dir (path); \ if (len >= 4 && ! memcmp(path + len - 4, "/lib", 4)) \ { \ + memcpy (path + len, "32/ilp32d", 10); \ + add_dir (path); \ + memcpy (path + len, "32/ilp32", 9); \ + add_dir (path); \ memcpy (path + len, "64/lp64d", 9); \ add_dir (path); \ memcpy (path + len, "64/lp64", 8); \ From patchwork Wed Jun 3 16:25:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39442 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 5E713388B018; Wed, 3 Jun 2020 16:34:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5E713388B018 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202069; bh=Ld86rlpsnAovMVSRBX+YBE0cbW4+iBIqgElOY1oXS0Q=; 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=IPcpKFH4wGvh0W6hddBV3jEfSBN8JnHy0P8geV+19GKUNMAmbnfgj3dUDJRxuyOni dXEhQE3K/93h1u2dV0mayjc1wYoah7o5o4NrzEkOs9YB1PIq8SgEPRsIJXfAFNiN2R NRAZOin+GPRfn5ywalJGz06MDkKN5L1Iaq8Xv7kY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 9B6D0388C00C for ; Wed, 3 Jun 2020 16:34:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9B6D0388C00C IronPort-SDR: N8SbrXcYv8Qq23XaOuCUZco2E7Z9kUONddQq0eywdAa4pqN98hFPdE/KHVarad7+shi1KciTlK IeOG5ZUx5x0oJr03QhSEcoxyJw+9c7sVtW5E+qvbHxOMdI1JwPGQ8koPL6P3My94bW01hBaoGu nH3NNBX5LEqgaW5/Fj8l8mOAYhZ2SLDsfTpD2HDLcSrY969yRt/S4DCtPmGURAI2hp+DCNS3QM GuphsWe3kXSaybLMIEHEPRdJ3E+Yr8M3R3/Ml9J5sf1pn8z1rxJDtc5FGNA7sbSiQ6pvSgmTKH eaM= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452263" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:27 +0800 IronPort-SDR: u/UNBrOD3ui/jsQuWUG40vFL379LRBNotL6fnsdlJI/5WDnuJXzaYOKBdlvKp0lSFTPQWdIHEs FHokKTj19OcNbDKGw5G9nnqE5QNjPjTPY= 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; 03 Jun 2020 09:24:04 -0700 IronPort-SDR: gSsffNuzm5xAEqofHIHA+HM9KM0bnm2W41qnmGk3R3TAPR7JY9iRy4zO1JIlqoOPTagJQeI4J5 fwofcn7Bnm7A== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:26 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 06/18] RISC-V: Add arch-syscall.h for RV32 Date: Wed, 3 Jun 2020 09:25:40 -0700 Message-Id: <14dd59146bf31cb5b6a9802df3a960936ea0c7aa.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- .../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 Reviewed-by: Maciej W. Rozycki 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 Jun 3 16:25: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: 39443 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 F0AA5388C01D; Wed, 3 Jun 2020 16:34:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0AA5388C01D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202073; bh=uBNr24lfPhGK5wbUn3rV7Krb/DmwzJwPeBCP4E7pVtU=; 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=inp2u9XPqaV7M4+oKLim+VQcvBBFTyBHK+ABWG+Ea/LBGPdzrREHo9YEtkQ75TTbh At+SfoSCookYq0bWmE2w5oNXzuMgxW4hIs+1G+NPYl4GwJ7XOASRXeDhmSOF+r/Bf4 lxLyqUWIE6v3L2ADPUev2zo8ANqUD+zqgo2l5Fzs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 094EB388C028 for ; Wed, 3 Jun 2020 16:34:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 094EB388C028 IronPort-SDR: ljvDujMtswCMvu+k94b2Q/piZq3RrnCt7HJcFTBiuAuzoSdgP3zsCYNy03KjlqCQQtBL2AE4rl uatwpeEAJN0lz6d4V0OBC/idcIOHQI45I9UZWTZZEvVfXjdB9Nyg83S/dNYb5fzsI0n50sLCXc 23rNTfoK7YLMbFXL1dCpz0hlyZXLgbVlz8EC5b++0G9Ro5MNV2KiGwE8t/JmgqOPxiaWXKFMdx HoCc/bJrhG/Z0k0kL4LcGSOeiVHeiCfisRLWjCSS1p42vbN/TOwE+ln90gXpUfCwqwwZ251q2z mMs= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452268" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:30 +0800 IronPort-SDR: kBTpdtEX0I3B8o7MV/C/j3zEz0iLG+ekdZx3PoSEj3JZT7PbUPfA6PzV042dg+GGkx2U9v4orJ sWXu67DDhcnPGpzewE2r/o0ocAPhEVHq0= 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; 03 Jun 2020 09:24:08 -0700 IronPort-SDR: OOr0Eiwr5hqOg+nfyrkoN/LFeoy287QMjdyFrybiv0Zi6qXYPgM1F1B0BZVdf1LYe0jvWEfF9e uwvl+FLSz65Q== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:29 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 07/18] RISC-V: nptl: update default pthread-offsets.h Date: Wed, 3 Jun 2020 09:25:44 -0700 Message-Id: <25ef7709e4468a35cc42607cfc0f233d4cec3c25.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Update the RISC-V pthread-offsets.h values to support RV32. --- sysdeps/riscv/nptl/pthread-offsets.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sysdeps/riscv/nptl/pthread-offsets.h b/sysdeps/riscv/nptl/pthread-offsets.h index 31f0587bec..a85c752a1f 100644 --- a/sysdeps/riscv/nptl/pthread-offsets.h +++ b/sysdeps/riscv/nptl/pthread-offsets.h @@ -1,3 +1,12 @@ -#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 +# define __PTHREAD_RWLOCK_FLAGS_OFFSET 24 +#endif From patchwork Wed Jun 3 16:25: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: 39444 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 7FCCA388C02D; Wed, 3 Jun 2020 16:34:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7FCCA388C02D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202075; bh=qWY869fgKS2Bx9Pvoqc28HCChNTYn7EBRxrzP4+eRKc=; 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=cS6jZQemtv0ptCqFFMtpfAim0KnslPDJ+1H5U9gz+/Hl1M/1mHwDXUquRi2x3Wm5C 3EANSD6vNGYgHhQdhpJqUwjcA7GQn9K/ajXrkDHtkM1/eJWmYPhtQ/S6/U+qGP0kln msiatophe8E53h0vlPCH92+aGfeSdyShH78CCvkc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id 34211388C02B for ; Wed, 3 Jun 2020 16:34:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 34211388C02B IronPort-SDR: uq0P5McJURmqHUdzoYtKn33ZeA+wyvf4LohGG0UwbrkD1WuX5Ofaz9MAorFz2x//z3K2j7PWAN NnGD8rFthKjqaOUGu5bib6SIQO5uv8QkGEf6yxkva7clJATnbLG7bkU9fkcuZCvXQ72Zq0o3NT N7EsM0EuKvYDYCyVMrUiUHeMm5FSwYCGeD5hFTp3XVd89+X0sq1ezt/v87Xj03hjYfVlhWjSlS ADphduDGj6cnHZL5MQX8mfcK2Ty/wqzbJMveAm5T9VsnkLjcWycmdlFZjOmRWNtArKQrV2XBBj JbA= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452275" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:33 +0800 IronPort-SDR: rH0aOQJgnXHDC3EHFH+ecflhw6eFWG2nBXzX5od2TyaAZhxq/+KLHls2ts6Xf9dBBaTSiA1Uwa p2yVheKkuuzU3FAqD0i553EWiJ8Uh8D9w= 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; 03 Jun 2020 09:24:11 -0700 IronPort-SDR: F9CVzDq38ofv4UuS9KJ++WmhnwCJFnOXpZmHF6xV+eYpfK4DM85SQKO8Zsq01/cFR8XZTBDZgj RwRUrPplM70g== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:32 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 08/18] riscv32: Add an architecture ipctypes.h Date: Wed, 3 Jun 2020 09:25:47 -0700 Message-Id: <1d5e19158693fc2a2cd9e7acf2d767c8954514f4.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Add a RISC-V specific ipctypes.h file so we can define __IPC_CMD_TIME64 as 0. Signed-off-by: Alistair Francis --- sysdeps/unix/sysv/linux/riscv/bits/ipctypes.h | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/riscv/bits/ipctypes.h diff --git a/sysdeps/unix/sysv/linux/riscv/bits/ipctypes.h b/sysdeps/unix/sysv/linux/riscv/bits/ipctypes.h new file mode 100644 index 0000000000..c73019bffb --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/bits/ipctypes.h @@ -0,0 +1,35 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. + Copyright (C) 2012-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 _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +/* Used in `struct shmid_ds'. */ +# if __WORDSIZE == 32 +typedef unsigned short int __ipc_pid_t; +# else +typedef int __ipc_pid_t; +# endif + +#define __IPC_CMD_TIME64 0x0 + +#endif /* bits/ipctypes.h */ From patchwork Wed Jun 3 16:25: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: 39445 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 0EE1B388C01C; Wed, 3 Jun 2020 16:34:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0EE1B388C01C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202080; bh=ueb+y+yLBJlxi9G3TJeNyZ8IksqQJKgp0h4AhOFef30=; 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=DGYlrbdr9X5TOynanzTTQU3sl/glXEWiXv9J0zmeQRnIEYdJoiL+lv4r0duPYoIK/ J0jNxY/K6SGyXdreT29741E8wCd+tEMddjw0Ti2KdOVdaUOGGMoH8YGN7qXtLan+rD vDJHF83fDNCkkKm1FxI4TM1wSXoArWUr1IGv901k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id EE395388C02B for ; Wed, 3 Jun 2020 16:34:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EE395388C02B IronPort-SDR: a5bwyxCB7sLEt6smXExWfL02+kB7rI43ww0AtgbIyiAVAhewKAP11Ht4MNRDc1GsFrDjcS02Ft hUEROoMpiDiyu7nRLBsX0jgHUMsPq43rS615KFLUjQdV5AwerFedx9oIlkF/BVfIHm3ICqdWSh aEFpBnIXx6JPCnJuQbtGbzzND6sZfULine74eJfSANzvg9LIsepnZa7F/toPhZLB6JJNF7r0LD vL1EuVicX5tbmKJevWYs967f6kRehzjs3PTaQXLyATrVnCFiGOdV9DlZrAUonjB94hgeAwemNg mcw= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452285" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:36 +0800 IronPort-SDR: pjh53/7+fJ6nJthpTeH9Q895Gye1b0Zbkx1hLGEhtQ7zTkCgLg7E/5V/DHCM6/N6+9q0x6F+Pi rY4euW2yy4M7+BVxJ/RCM0/IEC0DOS2vs= 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; 03 Jun 2020 09:24:13 -0700 IronPort-SDR: QsE5j7OZ+s1kYhd0gL0k57SYCOgKr6mIQoyPOsEz8foUBC9zqKAtfgCJxplYM4MzwU8FKOC2/u vRAgUw8kVB/g== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:35 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 09/18] RISC-V: The ABI implementation for 32-bit Date: Wed, 3 Jun 2020 09:25:50 -0700 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li This patch adds the ABI implementation about 32 bit version. It contains the Linux-specific and RISC-V architecture code, I've collected here. --- sysdeps/riscv/bits/wordsize.h | 4 +- sysdeps/riscv/nptl/bits/pthreadtypes-arch.h | 10 +++- sysdeps/riscv/nptl/bits/struct_rwlock.h | 27 +++++++++- sysdeps/riscv/sfp-machine.h | 27 +++++++++- sysdeps/riscv/sys/asm.h | 5 +- .../unix/sysv/linux/riscv/jmp_buf-macros.h | 53 +++++++++++++++++++ 6 files changed, 121 insertions(+), 5 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..ee430d9036 100644 --- a/sysdeps/riscv/bits/wordsize.h +++ b/sysdeps/riscv/bits/wordsize.h @@ -25,5 +25,7 @@ #if __riscv_xlen == 64 # define __WORDSIZE_TIME64_COMPAT32 1 #else -# error "rv32i-based targets are not supported" +# define __WORDSIZE_TIME64_COMPAT32 0 +# 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..363034c38a 100644 --- a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h @@ -32,7 +32,15 @@ # define __SIZEOF_PTHREAD_BARRIER_T 32 # define __SIZEOF_PTHREAD_BARRIERATTR_T 4 #else -# error "rv32i-based systems are not supported" +# define __SIZEOF_PTHREAD_ATTR_T 32 +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +# define __SIZEOF_PTHREAD_COND_T 48 +# define __SIZEOF_PTHREAD_CONDATTR_T 4 +# define __SIZEOF_PTHREAD_RWLOCK_T 48 +# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +# define __SIZEOF_PTHREAD_BARRIERATTR_T 4 #endif #define __LOCK_ALIGNMENT diff --git a/sysdeps/riscv/nptl/bits/struct_rwlock.h b/sysdeps/riscv/nptl/bits/struct_rwlock.h index acfaa75e1b..b478da0132 100644 --- a/sysdeps/riscv/nptl/bits/struct_rwlock.h +++ b/sysdeps/riscv/nptl/bits/struct_rwlock.h @@ -32,14 +32,39 @@ struct __pthread_rwlock_arch_t unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; +#if __riscv_xlen == 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 __riscv_xlen == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __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 #endif diff --git a/sysdeps/riscv/sfp-machine.h b/sysdeps/riscv/sfp-machine.h index 08a84fd701..aef8c61a67 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..e314133ce4 100644 --- a/sysdeps/riscv/sys/asm.h +++ b/sysdeps/riscv/sys/asm.h @@ -26,7 +26,10 @@ # 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..7e48f24345 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/jmp_buf-macros.h @@ -0,0 +1,53 @@ +/* jump buffer constants for RISC-V + Copyright (C) 2017-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 Jun 3 16:25:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39446 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 15BA8388C039; Wed, 3 Jun 2020 16:34:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 15BA8388C039 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202082; bh=uiw7FAVJVGE1Ouhl7sWLMC0EiiSvK8ursgzJ5BKupuE=; 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=T3c4jtUHcd/rIMNivxEAzJZmpS4DT+fpGHhJB/TDb9y3jc7FfdSt6iqej3TVWzbED CdX/F7vVRU6Ey/ZkI136eMn33w32e570cLt1zLaA6PwVly+8SNJHyEITMBsG2uv9/M IMpN3DPtBNNCRHx00OPr3Skbmd+z5bYevKI5oL0A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141]) by sourceware.org (Postfix) with ESMTPS id D2842388C00C for ; Wed, 3 Jun 2020 16:34:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D2842388C00C IronPort-SDR: DQgzoCX0qq83JiiG6n39pPi+NscY0pMhJ+L7alQvLcpkcASAQWBllcR8o52ERyS93u/tGjcsCI acPENXaAVb4z66kip1qh4l06a3vLejkNzKOfy9UzVB+Aj79DHa8H3mHkJtHRwhGmoYuohjVtln EMqB1o+o7BsN29WJegiGQQ2JszMWtFms6ZyB0EFbgAfwhD1FJg/yUt/PZlUsFGkIC6F5uKH4Pq tHivB8ZhCKAi4RYUVNCSMDzOuP7tEjQhIKEG7h2EObqW3bufSqQxrDHwnPKy186MLpBn39ledq x+U= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="143452293" Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 04 Jun 2020 00:34:39 +0800 IronPort-SDR: rMXQFb1YmxxNlzXqCrmFWrPzr5BB0IaW1pE8agyklj2t7WSVp5n5bxqBFe9Ml36pjeYR8M2dad TbY+VtzQ6u1OBsyPmW405MxBBQ42bLEV0= 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; 03 Jun 2020 09:24:16 -0700 IronPort-SDR: sE+L//WHKE6ARo6Q7wLk9aEh+WkGysgVE0Lfxu5R/hayhqdY6M+9JvF9GkM2sjnfYucsnaSe6q 0WrxHCeeKamw== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:38 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 10/18] RISC-V: Hard float support for 32-bit Date: Wed, 3 Jun 2020 09:25:52 -0700 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, 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: 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..df406aacb6 --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/s_lrint.c @@ -0,0 +1,31 @@ +/* lrint(). RISC-V version. + Copyright (C) 2017-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..72aa2b179d --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/s_lround.c @@ -0,0 +1,31 @@ +/* lround(). RISC-V version. + Copyright (C) 2017-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..08d44fa738 --- /dev/null +++ b/sysdeps/riscv/rv32/rvf/s_lrintf.c @@ -0,0 +1,31 @@ +/* lrintf(). RISC-V version. + Copyright (C) 2017-2018 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..9ff5d63d1c --- /dev/null +++ b/sysdeps/riscv/rv32/rvf/s_lroundf.c @@ -0,0 +1,31 @@ +/* lroundf(). RISC-V version. + Copyright (C) 2017-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 Jun 3 16:25:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39449 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 50E05388E802; Wed, 3 Jun 2020 16:34:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 50E05388E802 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202092; bh=OHfeGYUFEMkFypdB2jZurmAm5GakxSq4rdbUfnOJtts=; 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=v2W2OABHBpdw+UmR92gogumewB252olGQTG1QxHwcYtmMFVFbh+gcwRzaC5X6nitm YZTubyC2usqHE6EkaUmcVFCuxs6mniZo1wsnuXJhocvQXU+ReEdi8c1So5D9y8phmW OiOYPGWZZ2SFd0CFulDfyY8WxhSE+uZfAbBaKV90= 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 4BBD7388C03D for ; Wed, 3 Jun 2020 16:34:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4BBD7388C03D IronPort-SDR: eUnk4SAI7yJMRpLrM+k5CGil+yry3fI9sN1T42ISNq4fNKUanGbCYVRrEuFLJe8Pt7xE4WxnRe 97vtQ7rGDIJinqtqUqivlreoIzZzLkaMJIfFt9D/k1DYVJFDRkvKSBd0VOcbufAV3g2hpjrqZG E8ZUj6CbJc+QmJ6/A6l2qjLcgUxiEOpw+gFmHbnzGq23A7r6udbzSbK2T85ku2yBqoQF55FngB BWLvYrbS1zEDeUgFyyvquBkkIxbhXO8sWYqim7YBErBoKN/OQuMafsLpOVs0+Tr3deH+ZplQVk s0o= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="248216388" 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; 04 Jun 2020 00:34:40 +0800 IronPort-SDR: DLSkOdIjc8PWHRVy9h18rO824OT5ji6kHZ7F9b8pWLR6aZDmCtEFr4cZeniWOA1JneTVL8E9pT ePZym43qHf0ASawUsb0pS+2ZhAKlNSiNI= 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; 03 Jun 2020 09:23:46 -0700 IronPort-SDR: uEkoUTMixLOYRsGFn3tDoAvqZPTWMtg1NX8f13q3LgNktUQ94ObmwuALoP1BIRyD1WcHiuv71o VhTxUGIbbHXQ== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:40 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 11/18] RISC-V: Add ABI lists Date: Wed, 3 Jun 2020 09:25:55 -0700 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Use the check-api and update-abi to generate the abilist for rv32. --- sysdeps/unix/sysv/linux/riscv/c++-types.data | 67 + sysdeps/unix/sysv/linux/riscv/ld.abilist | 5 + .../sysv/linux/riscv/libBrokenLocale.abilist | 1 + sysdeps/unix/sysv/linux/riscv/libanl.abilist | 4 + sysdeps/unix/sysv/linux/riscv/libc.abilist | 2099 +++++++++++++++++ .../unix/sysv/linux/riscv/libcrypt.abilist | 2 + sysdeps/unix/sysv/linux/riscv/libdl.abilist | 9 + sysdeps/unix/sysv/linux/riscv/libm.abilist | 940 ++++++++ .../unix/sysv/linux/riscv/libpthread.abilist | 213 ++ .../unix/sysv/linux/riscv/libresolv.abilist | 79 + sysdeps/unix/sysv/linux/riscv/librt.abilist | 35 + .../sysv/linux/riscv/libthread_db.abilist | 40 + sysdeps/unix/sysv/linux/riscv/libutil.abilist | 6 + 13 files changed, 3500 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/riscv/c++-types.data create mode 100644 sysdeps/unix/sysv/linux/riscv/ld.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libBrokenLocale.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libanl.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libc.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libcrypt.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libdl.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libm.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libpthread.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libresolv.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/librt.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libthread_db.abilist create mode 100644 sysdeps/unix/sysv/linux/riscv/libutil.abilist diff --git a/sysdeps/unix/sysv/linux/riscv/c++-types.data b/sysdeps/unix/sysv/linux/riscv/c++-types.data new file mode 100644 index 0000000000..0fb0143ae7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/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/ld.abilist b/sysdeps/unix/sysv/linux/riscv/ld.abilist new file mode 100644 index 0000000000..048f17c848 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/ld.abilist @@ -0,0 +1,5 @@ +GLIBC_2.32 __libc_stack_end D 0x4 +GLIBC_2.32 __stack_chk_guard D 0x4 +GLIBC_2.32 __tls_get_addr F +GLIBC_2.32 _dl_mcount F +GLIBC_2.32 _r_debug D 0x14 diff --git a/sysdeps/unix/sysv/linux/riscv/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/riscv/libBrokenLocale.abilist new file mode 100644 index 0000000000..b0869cec1f --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libBrokenLocale.abilist @@ -0,0 +1 @@ +GLIBC_2.32 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/riscv/libanl.abilist b/sysdeps/unix/sysv/linux/riscv/libanl.abilist new file mode 100644 index 0000000000..ba513bd028 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libanl.abilist @@ -0,0 +1,4 @@ +GLIBC_2.32 gai_cancel F +GLIBC_2.32 gai_error F +GLIBC_2.32 gai_suspend F +GLIBC_2.32 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/riscv/libc.abilist b/sysdeps/unix/sysv/linux/riscv/libc.abilist new file mode 100644 index 0000000000..9f354d8438 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libc.abilist @@ -0,0 +1,2099 @@ +GLIBC_2.32 _Exit F +GLIBC_2.32 _IO_2_1_stderr_ D 0xa0 +GLIBC_2.32 _IO_2_1_stdin_ D 0xa0 +GLIBC_2.32 _IO_2_1_stdout_ D 0xa0 +GLIBC_2.32 _IO_adjust_column F +GLIBC_2.32 _IO_adjust_wcolumn F +GLIBC_2.32 _IO_default_doallocate F +GLIBC_2.32 _IO_default_finish F +GLIBC_2.32 _IO_default_pbackfail F +GLIBC_2.32 _IO_default_uflow F +GLIBC_2.32 _IO_default_xsgetn F +GLIBC_2.32 _IO_default_xsputn F +GLIBC_2.32 _IO_do_write F +GLIBC_2.32 _IO_doallocbuf F +GLIBC_2.32 _IO_fclose F +GLIBC_2.32 _IO_fdopen F +GLIBC_2.32 _IO_feof F +GLIBC_2.32 _IO_ferror F +GLIBC_2.32 _IO_fflush F +GLIBC_2.32 _IO_fgetpos F +GLIBC_2.32 _IO_fgetpos64 F +GLIBC_2.32 _IO_fgets F +GLIBC_2.32 _IO_file_attach F +GLIBC_2.32 _IO_file_close F +GLIBC_2.32 _IO_file_close_it F +GLIBC_2.32 _IO_file_doallocate F +GLIBC_2.32 _IO_file_finish F +GLIBC_2.32 _IO_file_fopen F +GLIBC_2.32 _IO_file_init F +GLIBC_2.32 _IO_file_jumps D 0x54 +GLIBC_2.32 _IO_file_open F +GLIBC_2.32 _IO_file_overflow F +GLIBC_2.32 _IO_file_read F +GLIBC_2.32 _IO_file_seek F +GLIBC_2.32 _IO_file_seekoff F +GLIBC_2.32 _IO_file_setbuf F +GLIBC_2.32 _IO_file_stat F +GLIBC_2.32 _IO_file_sync F +GLIBC_2.32 _IO_file_underflow F +GLIBC_2.32 _IO_file_write F +GLIBC_2.32 _IO_file_xsputn F +GLIBC_2.32 _IO_flockfile F +GLIBC_2.32 _IO_flush_all F +GLIBC_2.32 _IO_flush_all_linebuffered F +GLIBC_2.32 _IO_fopen F +GLIBC_2.32 _IO_fprintf F +GLIBC_2.32 _IO_fputs F +GLIBC_2.32 _IO_fread F +GLIBC_2.32 _IO_free_backup_area F +GLIBC_2.32 _IO_free_wbackup_area F +GLIBC_2.32 _IO_fsetpos F +GLIBC_2.32 _IO_fsetpos64 F +GLIBC_2.32 _IO_ftell F +GLIBC_2.32 _IO_ftrylockfile F +GLIBC_2.32 _IO_funlockfile F +GLIBC_2.32 _IO_fwrite F +GLIBC_2.32 _IO_getc F +GLIBC_2.32 _IO_getline F +GLIBC_2.32 _IO_getline_info F +GLIBC_2.32 _IO_gets F +GLIBC_2.32 _IO_init F +GLIBC_2.32 _IO_init_marker F +GLIBC_2.32 _IO_init_wmarker F +GLIBC_2.32 _IO_iter_begin F +GLIBC_2.32 _IO_iter_end F +GLIBC_2.32 _IO_iter_file F +GLIBC_2.32 _IO_iter_next F +GLIBC_2.32 _IO_least_wmarker F +GLIBC_2.32 _IO_link_in F +GLIBC_2.32 _IO_list_all D 0x4 +GLIBC_2.32 _IO_list_lock F +GLIBC_2.32 _IO_list_resetlock F +GLIBC_2.32 _IO_list_unlock F +GLIBC_2.32 _IO_marker_delta F +GLIBC_2.32 _IO_marker_difference F +GLIBC_2.32 _IO_padn F +GLIBC_2.32 _IO_peekc_locked F +GLIBC_2.32 _IO_popen F +GLIBC_2.32 _IO_printf F +GLIBC_2.32 _IO_proc_close F +GLIBC_2.32 _IO_proc_open F +GLIBC_2.32 _IO_putc F +GLIBC_2.32 _IO_puts F +GLIBC_2.32 _IO_remove_marker F +GLIBC_2.32 _IO_seekmark F +GLIBC_2.32 _IO_seekoff F +GLIBC_2.32 _IO_seekpos F +GLIBC_2.32 _IO_seekwmark F +GLIBC_2.32 _IO_setb F +GLIBC_2.32 _IO_setbuffer F +GLIBC_2.32 _IO_setvbuf F +GLIBC_2.32 _IO_sgetn F +GLIBC_2.32 _IO_sprintf F +GLIBC_2.32 _IO_sputbackc F +GLIBC_2.32 _IO_sputbackwc F +GLIBC_2.32 _IO_sscanf F +GLIBC_2.32 _IO_str_init_readonly F +GLIBC_2.32 _IO_str_init_static F +GLIBC_2.32 _IO_str_overflow F +GLIBC_2.32 _IO_str_pbackfail F +GLIBC_2.32 _IO_str_seekoff F +GLIBC_2.32 _IO_str_underflow F +GLIBC_2.32 _IO_sungetc F +GLIBC_2.32 _IO_sungetwc F +GLIBC_2.32 _IO_switch_to_get_mode F +GLIBC_2.32 _IO_switch_to_main_wget_area F +GLIBC_2.32 _IO_switch_to_wbackup_area F +GLIBC_2.32 _IO_switch_to_wget_mode F +GLIBC_2.32 _IO_un_link F +GLIBC_2.32 _IO_ungetc F +GLIBC_2.32 _IO_unsave_markers F +GLIBC_2.32 _IO_unsave_wmarkers F +GLIBC_2.32 _IO_vfprintf F +GLIBC_2.32 _IO_vsprintf F +GLIBC_2.32 _IO_wdefault_doallocate F +GLIBC_2.32 _IO_wdefault_finish F +GLIBC_2.32 _IO_wdefault_pbackfail F +GLIBC_2.32 _IO_wdefault_uflow F +GLIBC_2.32 _IO_wdefault_xsgetn F +GLIBC_2.32 _IO_wdefault_xsputn F +GLIBC_2.32 _IO_wdo_write F +GLIBC_2.32 _IO_wdoallocbuf F +GLIBC_2.32 _IO_wfile_jumps D 0x54 +GLIBC_2.32 _IO_wfile_overflow F +GLIBC_2.32 _IO_wfile_seekoff F +GLIBC_2.32 _IO_wfile_sync F +GLIBC_2.32 _IO_wfile_underflow F +GLIBC_2.32 _IO_wfile_xsputn F +GLIBC_2.32 _IO_wmarker_delta F +GLIBC_2.32 _IO_wsetb F +GLIBC_2.32 ___brk_addr D 0x4 +GLIBC_2.32 __adjtimex F +GLIBC_2.32 __after_morecore_hook D 0x4 +GLIBC_2.32 __argz_count F +GLIBC_2.32 __argz_next F +GLIBC_2.32 __argz_stringify F +GLIBC_2.32 __asprintf F +GLIBC_2.32 __asprintf_chk F +GLIBC_2.32 __assert F +GLIBC_2.32 __assert_fail F +GLIBC_2.32 __assert_perror_fail F +GLIBC_2.32 __backtrace F +GLIBC_2.32 __backtrace_symbols F +GLIBC_2.32 __backtrace_symbols_fd F +GLIBC_2.32 __bsd_getpgrp F +GLIBC_2.32 __bzero F +GLIBC_2.32 __check_rhosts_file D 0x4 +GLIBC_2.32 __chk_fail F +GLIBC_2.32 __clone F +GLIBC_2.32 __close F +GLIBC_2.32 __cmsg_nxthdr F +GLIBC_2.32 __confstr_chk F +GLIBC_2.32 __connect F +GLIBC_2.32 __ctype_b_loc F +GLIBC_2.32 __ctype_get_mb_cur_max F +GLIBC_2.32 __ctype_tolower_loc F +GLIBC_2.32 __ctype_toupper_loc F +GLIBC_2.32 __curbrk D 0x4 +GLIBC_2.32 __cxa_at_quick_exit F +GLIBC_2.32 __cxa_atexit F +GLIBC_2.32 __cxa_finalize F +GLIBC_2.32 __cxa_thread_atexit_impl F +GLIBC_2.32 __cyg_profile_func_enter F +GLIBC_2.32 __cyg_profile_func_exit F +GLIBC_2.32 __daylight D 0x4 +GLIBC_2.32 __dcgettext F +GLIBC_2.32 __default_morecore F +GLIBC_2.32 __dgettext F +GLIBC_2.32 __dprintf_chk F +GLIBC_2.32 __dup2 F +GLIBC_2.32 __duplocale F +GLIBC_2.32 __endmntent F +GLIBC_2.32 __environ D 0x4 +GLIBC_2.32 __errno_location F +GLIBC_2.32 __explicit_bzero_chk F +GLIBC_2.32 __fbufsize F +GLIBC_2.32 __fcntl F +GLIBC_2.32 __fdelt_chk F +GLIBC_2.32 __fdelt_warn F +GLIBC_2.32 __ffs F +GLIBC_2.32 __fgets_chk F +GLIBC_2.32 __fgets_unlocked_chk F +GLIBC_2.32 __fgetws_chk F +GLIBC_2.32 __fgetws_unlocked_chk F +GLIBC_2.32 __finite F +GLIBC_2.32 __finitef F +GLIBC_2.32 __finitel F +GLIBC_2.32 __flbf F +GLIBC_2.32 __fork F +GLIBC_2.32 __fpending F +GLIBC_2.32 __fprintf_chk F +GLIBC_2.32 __fpu_control D 0x4 +GLIBC_2.32 __fpurge F +GLIBC_2.32 __fread_chk F +GLIBC_2.32 __fread_unlocked_chk F +GLIBC_2.32 __freadable F +GLIBC_2.32 __freading F +GLIBC_2.32 __free_hook D 0x4 +GLIBC_2.32 __freelocale F +GLIBC_2.32 __fsetlocking F +GLIBC_2.32 __fwprintf_chk F +GLIBC_2.32 __fwritable F +GLIBC_2.32 __fwriting F +GLIBC_2.32 __fxstat F +GLIBC_2.32 __fxstat64 F +GLIBC_2.32 __fxstatat F +GLIBC_2.32 __fxstatat64 F +GLIBC_2.32 __getauxval F +GLIBC_2.32 __getcwd_chk F +GLIBC_2.32 __getdelim F +GLIBC_2.32 __getdomainname_chk F +GLIBC_2.32 __getgroups_chk F +GLIBC_2.32 __gethostname_chk F +GLIBC_2.32 __getlogin_r_chk F +GLIBC_2.32 __getmntent_r F +GLIBC_2.32 __getpagesize F +GLIBC_2.32 __getpgid F +GLIBC_2.32 __getpid F +GLIBC_2.32 __gets_chk F +GLIBC_2.32 __gettimeofday F +GLIBC_2.32 __getwd_chk F +GLIBC_2.32 __gmtime_r F +GLIBC_2.32 __h_errno_location F +GLIBC_2.32 __isalnum_l F +GLIBC_2.32 __isalpha_l F +GLIBC_2.32 __isascii_l F +GLIBC_2.32 __isblank_l F +GLIBC_2.32 __iscntrl_l F +GLIBC_2.32 __isctype F +GLIBC_2.32 __isdigit_l F +GLIBC_2.32 __isgraph_l F +GLIBC_2.32 __isinf F +GLIBC_2.32 __isinff F +GLIBC_2.32 __isinfl F +GLIBC_2.32 __islower_l F +GLIBC_2.32 __isnan F +GLIBC_2.32 __isnanf F +GLIBC_2.32 __isnanl F +GLIBC_2.32 __isoc99_fscanf F +GLIBC_2.32 __isoc99_fwscanf F +GLIBC_2.32 __isoc99_scanf F +GLIBC_2.32 __isoc99_sscanf F +GLIBC_2.32 __isoc99_swscanf F +GLIBC_2.32 __isoc99_vfscanf F +GLIBC_2.32 __isoc99_vfwscanf F +GLIBC_2.32 __isoc99_vscanf F +GLIBC_2.32 __isoc99_vsscanf F +GLIBC_2.32 __isoc99_vswscanf F +GLIBC_2.32 __isoc99_vwscanf F +GLIBC_2.32 __isoc99_wscanf F +GLIBC_2.32 __isprint_l F +GLIBC_2.32 __ispunct_l F +GLIBC_2.32 __isspace_l F +GLIBC_2.32 __isupper_l F +GLIBC_2.32 __iswalnum_l F +GLIBC_2.32 __iswalpha_l F +GLIBC_2.32 __iswblank_l F +GLIBC_2.32 __iswcntrl_l F +GLIBC_2.32 __iswctype F +GLIBC_2.32 __iswctype_l F +GLIBC_2.32 __iswdigit_l F +GLIBC_2.32 __iswgraph_l F +GLIBC_2.32 __iswlower_l F +GLIBC_2.32 __iswprint_l F +GLIBC_2.32 __iswpunct_l F +GLIBC_2.32 __iswspace_l F +GLIBC_2.32 __iswupper_l F +GLIBC_2.32 __iswxdigit_l F +GLIBC_2.32 __isxdigit_l F +GLIBC_2.32 __ivaliduser F +GLIBC_2.32 __key_decryptsession_pk_LOCAL D 0x4 +GLIBC_2.32 __key_encryptsession_pk_LOCAL D 0x4 +GLIBC_2.32 __key_gendes_LOCAL D 0x4 +GLIBC_2.32 __libc_allocate_rtsig F +GLIBC_2.32 __libc_calloc F +GLIBC_2.32 __libc_current_sigrtmax F +GLIBC_2.32 __libc_current_sigrtmin F +GLIBC_2.32 __libc_free F +GLIBC_2.32 __libc_freeres F +GLIBC_2.32 __libc_init_first F +GLIBC_2.32 __libc_mallinfo F +GLIBC_2.32 __libc_malloc F +GLIBC_2.32 __libc_mallopt F +GLIBC_2.32 __libc_memalign F +GLIBC_2.32 __libc_pvalloc F +GLIBC_2.32 __libc_realloc F +GLIBC_2.32 __libc_sa_len F +GLIBC_2.32 __libc_start_main F +GLIBC_2.32 __libc_valloc F +GLIBC_2.32 __longjmp_chk F +GLIBC_2.32 __lseek F +GLIBC_2.32 __lxstat F +GLIBC_2.32 __lxstat64 F +GLIBC_2.32 __malloc_hook D 0x4 +GLIBC_2.32 __mbrlen F +GLIBC_2.32 __mbrtowc F +GLIBC_2.32 __mbsnrtowcs_chk F +GLIBC_2.32 __mbsrtowcs_chk F +GLIBC_2.32 __mbstowcs_chk F +GLIBC_2.32 __memalign_hook D 0x4 +GLIBC_2.32 __memcpy_chk F +GLIBC_2.32 __memmove_chk F +GLIBC_2.32 __mempcpy F +GLIBC_2.32 __mempcpy_chk F +GLIBC_2.32 __memset_chk F +GLIBC_2.32 __monstartup F +GLIBC_2.32 __morecore D 0x4 +GLIBC_2.32 __nanosleep F +GLIBC_2.32 __newlocale F +GLIBC_2.32 __nl_langinfo_l F +GLIBC_2.32 __nss_configure_lookup F +GLIBC_2.32 __nss_hostname_digits_dots F +GLIBC_2.32 __obstack_printf_chk F +GLIBC_2.32 __obstack_vprintf_chk F +GLIBC_2.32 __open F +GLIBC_2.32 __open64 F +GLIBC_2.32 __open64_2 F +GLIBC_2.32 __open_2 F +GLIBC_2.32 __openat64_2 F +GLIBC_2.32 __openat_2 F +GLIBC_2.32 __overflow F +GLIBC_2.32 __pipe F +GLIBC_2.32 __poll F +GLIBC_2.32 __poll_chk F +GLIBC_2.32 __posix_getopt F +GLIBC_2.32 __ppoll_chk F +GLIBC_2.32 __pread64 F +GLIBC_2.32 __pread64_chk F +GLIBC_2.32 __pread_chk F +GLIBC_2.32 __printf_chk F +GLIBC_2.32 __printf_fp F +GLIBC_2.32 __profile_frequency F +GLIBC_2.32 __progname D 0x4 +GLIBC_2.32 __progname_full D 0x4 +GLIBC_2.32 __ptsname_r_chk F +GLIBC_2.32 __pwrite64 F +GLIBC_2.32 __rawmemchr F +GLIBC_2.32 __rcmd_errstr D 0x4 +GLIBC_2.32 __read F +GLIBC_2.32 __read_chk F +GLIBC_2.32 __readlink_chk F +GLIBC_2.32 __readlinkat_chk F +GLIBC_2.32 __realloc_hook D 0x4 +GLIBC_2.32 __realpath_chk F +GLIBC_2.32 __recv_chk F +GLIBC_2.32 __recvfrom_chk F +GLIBC_2.32 __register_atfork F +GLIBC_2.32 __res_init F +GLIBC_2.32 __res_nclose F +GLIBC_2.32 __res_ninit F +GLIBC_2.32 __res_randomid F +GLIBC_2.32 __res_state F +GLIBC_2.32 __riscv_flush_icache F +GLIBC_2.32 __rpc_thread_createerr F +GLIBC_2.32 __rpc_thread_svc_fdset F +GLIBC_2.32 __rpc_thread_svc_max_pollfd F +GLIBC_2.32 __rpc_thread_svc_pollfd F +GLIBC_2.32 __sbrk F +GLIBC_2.32 __sched_cpualloc F +GLIBC_2.32 __sched_cpucount F +GLIBC_2.32 __sched_cpufree F +GLIBC_2.32 __sched_get_priority_max F +GLIBC_2.32 __sched_get_priority_min F +GLIBC_2.32 __sched_getparam F +GLIBC_2.32 __sched_getscheduler F +GLIBC_2.32 __sched_setscheduler F +GLIBC_2.32 __sched_yield F +GLIBC_2.32 __select F +GLIBC_2.32 __send F +GLIBC_2.32 __setmntent F +GLIBC_2.32 __setpgid F +GLIBC_2.32 __sigaction F +GLIBC_2.32 __signbit F +GLIBC_2.32 __signbitf F +GLIBC_2.32 __signbitl F +GLIBC_2.32 __sigpause F +GLIBC_2.32 __sigsetjmp F +GLIBC_2.32 __sigsuspend F +GLIBC_2.32 __snprintf_chk F +GLIBC_2.32 __sprintf_chk F +GLIBC_2.32 __stack_chk_fail F +GLIBC_2.32 __statfs F +GLIBC_2.32 __stpcpy F +GLIBC_2.32 __stpcpy_chk F +GLIBC_2.32 __stpncpy F +GLIBC_2.32 __stpncpy_chk F +GLIBC_2.32 __strcasecmp F +GLIBC_2.32 __strcasecmp_l F +GLIBC_2.32 __strcasestr F +GLIBC_2.32 __strcat_chk F +GLIBC_2.32 __strcoll_l F +GLIBC_2.32 __strcpy_chk F +GLIBC_2.32 __strdup F +GLIBC_2.32 __strerror_r F +GLIBC_2.32 __strfmon_l F +GLIBC_2.32 __strftime_l F +GLIBC_2.32 __strncasecmp_l F +GLIBC_2.32 __strncat_chk F +GLIBC_2.32 __strncpy_chk F +GLIBC_2.32 __strndup F +GLIBC_2.32 __strsep_g F +GLIBC_2.32 __strtod_internal F +GLIBC_2.32 __strtod_l F +GLIBC_2.32 __strtof_internal F +GLIBC_2.32 __strtof_l F +GLIBC_2.32 __strtok_r F +GLIBC_2.32 __strtol_internal F +GLIBC_2.32 __strtol_l F +GLIBC_2.32 __strtold_internal F +GLIBC_2.32 __strtold_l F +GLIBC_2.32 __strtoll_internal F +GLIBC_2.32 __strtoll_l F +GLIBC_2.32 __strtoul_internal F +GLIBC_2.32 __strtoul_l F +GLIBC_2.32 __strtoull_internal F +GLIBC_2.32 __strtoull_l F +GLIBC_2.32 __strverscmp F +GLIBC_2.32 __strxfrm_l F +GLIBC_2.32 __swprintf_chk F +GLIBC_2.32 __sysconf F +GLIBC_2.32 __syslog_chk F +GLIBC_2.32 __sysv_signal F +GLIBC_2.32 __timezone D 0x4 +GLIBC_2.32 __toascii_l F +GLIBC_2.32 __tolower_l F +GLIBC_2.32 __toupper_l F +GLIBC_2.32 __towctrans F +GLIBC_2.32 __towctrans_l F +GLIBC_2.32 __towlower_l F +GLIBC_2.32 __towupper_l F +GLIBC_2.32 __ttyname_r_chk F +GLIBC_2.32 __tzname D 0x8 +GLIBC_2.32 __uflow F +GLIBC_2.32 __underflow F +GLIBC_2.32 __uselocale F +GLIBC_2.32 __vasprintf_chk F +GLIBC_2.32 __vdprintf_chk F +GLIBC_2.32 __vfork F +GLIBC_2.32 __vfprintf_chk F +GLIBC_2.32 __vfscanf F +GLIBC_2.32 __vfwprintf_chk F +GLIBC_2.32 __vprintf_chk F +GLIBC_2.32 __vsnprintf F +GLIBC_2.32 __vsnprintf_chk F +GLIBC_2.32 __vsprintf_chk F +GLIBC_2.32 __vsscanf F +GLIBC_2.32 __vswprintf_chk F +GLIBC_2.32 __vsyslog_chk F +GLIBC_2.32 __vwprintf_chk F +GLIBC_2.32 __wait F +GLIBC_2.32 __waitpid F +GLIBC_2.32 __wcpcpy_chk F +GLIBC_2.32 __wcpncpy_chk F +GLIBC_2.32 __wcrtomb_chk F +GLIBC_2.32 __wcscasecmp_l F +GLIBC_2.32 __wcscat_chk F +GLIBC_2.32 __wcscoll_l F +GLIBC_2.32 __wcscpy_chk F +GLIBC_2.32 __wcsftime_l F +GLIBC_2.32 __wcsncasecmp_l F +GLIBC_2.32 __wcsncat_chk F +GLIBC_2.32 __wcsncpy_chk F +GLIBC_2.32 __wcsnrtombs_chk F +GLIBC_2.32 __wcsrtombs_chk F +GLIBC_2.32 __wcstod_internal F +GLIBC_2.32 __wcstod_l F +GLIBC_2.32 __wcstof_internal F +GLIBC_2.32 __wcstof_l F +GLIBC_2.32 __wcstol_internal F +GLIBC_2.32 __wcstol_l F +GLIBC_2.32 __wcstold_internal F +GLIBC_2.32 __wcstold_l F +GLIBC_2.32 __wcstoll_internal F +GLIBC_2.32 __wcstoll_l F +GLIBC_2.32 __wcstombs_chk F +GLIBC_2.32 __wcstoul_internal F +GLIBC_2.32 __wcstoul_l F +GLIBC_2.32 __wcstoull_internal F +GLIBC_2.32 __wcstoull_l F +GLIBC_2.32 __wcsxfrm_l F +GLIBC_2.32 __wctomb_chk F +GLIBC_2.32 __wctrans_l F +GLIBC_2.32 __wctype_l F +GLIBC_2.32 __wmemcpy_chk F +GLIBC_2.32 __wmemmove_chk F +GLIBC_2.32 __wmempcpy_chk F +GLIBC_2.32 __wmemset_chk F +GLIBC_2.32 __woverflow F +GLIBC_2.32 __wprintf_chk F +GLIBC_2.32 __write F +GLIBC_2.32 __wuflow F +GLIBC_2.32 __wunderflow F +GLIBC_2.32 __xmknod F +GLIBC_2.32 __xmknodat F +GLIBC_2.32 __xpg_basename F +GLIBC_2.32 __xpg_sigpause F +GLIBC_2.32 __xpg_strerror_r F +GLIBC_2.32 __xstat F +GLIBC_2.32 __xstat64 F +GLIBC_2.32 _authenticate F +GLIBC_2.32 _dl_mcount_wrapper F +GLIBC_2.32 _dl_mcount_wrapper_check F +GLIBC_2.32 _environ D 0x4 +GLIBC_2.32 _exit F +GLIBC_2.32 _flushlbf F +GLIBC_2.32 _libc_intl_domainname D 0x5 +GLIBC_2.32 _longjmp F +GLIBC_2.32 _mcleanup F +GLIBC_2.32 _mcount F +GLIBC_2.32 _nl_default_dirname D 0x12 +GLIBC_2.32 _nl_domain_bindings D 0x4 +GLIBC_2.32 _nl_msg_cat_cntr D 0x4 +GLIBC_2.32 _null_auth D 0xc +GLIBC_2.32 _obstack_allocated_p F +GLIBC_2.32 _obstack_begin F +GLIBC_2.32 _obstack_begin_1 F +GLIBC_2.32 _obstack_free F +GLIBC_2.32 _obstack_memory_used F +GLIBC_2.32 _obstack_newchunk F +GLIBC_2.32 _res D 0x200 +GLIBC_2.32 _res_hconf D 0x30 +GLIBC_2.32 _rpc_dtablesize F +GLIBC_2.32 _seterr_reply F +GLIBC_2.32 _setjmp F +GLIBC_2.32 _sys_errlist D 0x21c +GLIBC_2.32 _sys_nerr D 0x4 +GLIBC_2.32 _sys_siglist D 0x104 +GLIBC_2.32 _tolower F +GLIBC_2.32 _toupper F +GLIBC_2.32 a64l F +GLIBC_2.32 abort F +GLIBC_2.32 abs F +GLIBC_2.32 accept F +GLIBC_2.32 accept4 F +GLIBC_2.32 access F +GLIBC_2.32 acct F +GLIBC_2.32 addmntent F +GLIBC_2.32 addseverity F +GLIBC_2.32 adjtime F +GLIBC_2.32 adjtimex F +GLIBC_2.32 alarm F +GLIBC_2.32 aligned_alloc F +GLIBC_2.32 alphasort F +GLIBC_2.32 alphasort64 F +GLIBC_2.32 argp_err_exit_status D 0x4 +GLIBC_2.32 argp_error F +GLIBC_2.32 argp_failure F +GLIBC_2.32 argp_help F +GLIBC_2.32 argp_parse F +GLIBC_2.32 argp_program_bug_address D 0x4 +GLIBC_2.32 argp_program_version D 0x4 +GLIBC_2.32 argp_program_version_hook D 0x4 +GLIBC_2.32 argp_state_help F +GLIBC_2.32 argp_usage F +GLIBC_2.32 argz_add F +GLIBC_2.32 argz_add_sep F +GLIBC_2.32 argz_append F +GLIBC_2.32 argz_count F +GLIBC_2.32 argz_create F +GLIBC_2.32 argz_create_sep F +GLIBC_2.32 argz_delete F +GLIBC_2.32 argz_extract F +GLIBC_2.32 argz_insert F +GLIBC_2.32 argz_next F +GLIBC_2.32 argz_replace F +GLIBC_2.32 argz_stringify F +GLIBC_2.32 asctime F +GLIBC_2.32 asctime_r F +GLIBC_2.32 asprintf F +GLIBC_2.32 atof F +GLIBC_2.32 atoi F +GLIBC_2.32 atol F +GLIBC_2.32 atoll F +GLIBC_2.32 authdes_create F +GLIBC_2.32 authdes_getucred F +GLIBC_2.32 authdes_pk_create F +GLIBC_2.32 authnone_create F +GLIBC_2.32 authunix_create F +GLIBC_2.32 authunix_create_default F +GLIBC_2.32 backtrace F +GLIBC_2.32 backtrace_symbols F +GLIBC_2.32 backtrace_symbols_fd F +GLIBC_2.32 basename F +GLIBC_2.32 bcmp F +GLIBC_2.32 bcopy F +GLIBC_2.32 bind F +GLIBC_2.32 bind_textdomain_codeset F +GLIBC_2.32 bindresvport F +GLIBC_2.32 bindtextdomain F +GLIBC_2.32 brk F +GLIBC_2.32 bsd_signal F +GLIBC_2.32 bsearch F +GLIBC_2.32 btowc F +GLIBC_2.32 bzero F +GLIBC_2.32 c16rtomb F +GLIBC_2.32 c32rtomb F +GLIBC_2.32 calloc F +GLIBC_2.32 callrpc F +GLIBC_2.32 canonicalize_file_name F +GLIBC_2.32 capget F +GLIBC_2.32 capset F +GLIBC_2.32 catclose F +GLIBC_2.32 catgets F +GLIBC_2.32 catopen F +GLIBC_2.32 cbc_crypt F +GLIBC_2.32 cfgetispeed F +GLIBC_2.32 cfgetospeed F +GLIBC_2.32 cfmakeraw F +GLIBC_2.32 cfsetispeed F +GLIBC_2.32 cfsetospeed F +GLIBC_2.32 cfsetspeed F +GLIBC_2.32 chdir F +GLIBC_2.32 chflags F +GLIBC_2.32 chmod F +GLIBC_2.32 chown F +GLIBC_2.32 chroot F +GLIBC_2.32 clearenv F +GLIBC_2.32 clearerr F +GLIBC_2.32 clearerr_unlocked F +GLIBC_2.32 clnt_broadcast F +GLIBC_2.32 clnt_create F +GLIBC_2.32 clnt_pcreateerror F +GLIBC_2.32 clnt_perrno F +GLIBC_2.32 clnt_perror F +GLIBC_2.32 clnt_spcreateerror F +GLIBC_2.32 clnt_sperrno F +GLIBC_2.32 clnt_sperror F +GLIBC_2.32 clntraw_create F +GLIBC_2.32 clnttcp_create F +GLIBC_2.32 clntudp_bufcreate F +GLIBC_2.32 clntudp_create F +GLIBC_2.32 clntunix_create F +GLIBC_2.32 clock F +GLIBC_2.32 clock_adjtime F +GLIBC_2.32 clock_getcpuclockid F +GLIBC_2.32 clock_getres F +GLIBC_2.32 clock_gettime F +GLIBC_2.32 clock_nanosleep F +GLIBC_2.32 clock_settime F +GLIBC_2.32 clone F +GLIBC_2.32 close F +GLIBC_2.32 closedir F +GLIBC_2.32 closelog F +GLIBC_2.32 confstr F +GLIBC_2.32 connect F +GLIBC_2.32 copy_file_range F +GLIBC_2.32 copysign F +GLIBC_2.32 copysignf F +GLIBC_2.32 copysignl F +GLIBC_2.32 creat F +GLIBC_2.32 creat64 F +GLIBC_2.32 ctermid F +GLIBC_2.32 ctime F +GLIBC_2.32 ctime_r F +GLIBC_2.32 cuserid F +GLIBC_2.32 daemon F +GLIBC_2.32 daylight D 0x4 +GLIBC_2.32 dcgettext F +GLIBC_2.32 dcngettext F +GLIBC_2.32 delete_module F +GLIBC_2.32 des_setparity F +GLIBC_2.32 dgettext F +GLIBC_2.32 difftime F +GLIBC_2.32 dirfd F +GLIBC_2.32 dirname F +GLIBC_2.32 div F +GLIBC_2.32 dl_iterate_phdr F +GLIBC_2.32 dngettext F +GLIBC_2.32 dprintf F +GLIBC_2.32 drand48 F +GLIBC_2.32 drand48_r F +GLIBC_2.32 dup F +GLIBC_2.32 dup2 F +GLIBC_2.32 dup3 F +GLIBC_2.32 duplocale F +GLIBC_2.32 dysize F +GLIBC_2.32 eaccess F +GLIBC_2.32 ecb_crypt F +GLIBC_2.32 ecvt F +GLIBC_2.32 ecvt_r F +GLIBC_2.32 endaliasent F +GLIBC_2.32 endfsent F +GLIBC_2.32 endgrent F +GLIBC_2.32 endhostent F +GLIBC_2.32 endmntent F +GLIBC_2.32 endnetent F +GLIBC_2.32 endnetgrent F +GLIBC_2.32 endprotoent F +GLIBC_2.32 endpwent F +GLIBC_2.32 endrpcent F +GLIBC_2.32 endservent F +GLIBC_2.32 endsgent F +GLIBC_2.32 endspent F +GLIBC_2.32 endttyent F +GLIBC_2.32 endusershell F +GLIBC_2.32 endutent F +GLIBC_2.32 endutxent F +GLIBC_2.32 environ D 0x4 +GLIBC_2.32 envz_add F +GLIBC_2.32 envz_entry F +GLIBC_2.32 envz_get F +GLIBC_2.32 envz_merge F +GLIBC_2.32 envz_remove F +GLIBC_2.32 envz_strip F +GLIBC_2.32 epoll_create F +GLIBC_2.32 epoll_create1 F +GLIBC_2.32 epoll_ctl F +GLIBC_2.32 epoll_pwait F +GLIBC_2.32 epoll_wait F +GLIBC_2.32 erand48 F +GLIBC_2.32 erand48_r F +GLIBC_2.32 err F +GLIBC_2.32 error F +GLIBC_2.32 error_at_line F +GLIBC_2.32 error_message_count D 0x4 +GLIBC_2.32 error_one_per_line D 0x4 +GLIBC_2.32 error_print_progname D 0x4 +GLIBC_2.32 errx F +GLIBC_2.32 ether_aton F +GLIBC_2.32 ether_aton_r F +GLIBC_2.32 ether_hostton F +GLIBC_2.32 ether_line F +GLIBC_2.32 ether_ntoa F +GLIBC_2.32 ether_ntoa_r F +GLIBC_2.32 ether_ntohost F +GLIBC_2.32 euidaccess F +GLIBC_2.32 eventfd F +GLIBC_2.32 eventfd_read F +GLIBC_2.32 eventfd_write F +GLIBC_2.32 execl F +GLIBC_2.32 execle F +GLIBC_2.32 execlp F +GLIBC_2.32 execv F +GLIBC_2.32 execve F +GLIBC_2.32 execvp F +GLIBC_2.32 execvpe F +GLIBC_2.32 exit F +GLIBC_2.32 explicit_bzero F +GLIBC_2.32 faccessat F +GLIBC_2.32 fallocate F +GLIBC_2.32 fallocate64 F +GLIBC_2.32 fanotify_init F +GLIBC_2.32 fanotify_mark F +GLIBC_2.32 fchdir F +GLIBC_2.32 fchflags F +GLIBC_2.32 fchmod F +GLIBC_2.32 fchmodat F +GLIBC_2.32 fchown F +GLIBC_2.32 fchownat F +GLIBC_2.32 fclose F +GLIBC_2.32 fcloseall F +GLIBC_2.32 fcntl F +GLIBC_2.32 fcntl64 F +GLIBC_2.32 fcvt F +GLIBC_2.32 fcvt_r F +GLIBC_2.32 fdatasync F +GLIBC_2.32 fdopen F +GLIBC_2.32 fdopendir F +GLIBC_2.32 feof F +GLIBC_2.32 feof_unlocked F +GLIBC_2.32 ferror F +GLIBC_2.32 ferror_unlocked F +GLIBC_2.32 fexecve F +GLIBC_2.32 fflush F +GLIBC_2.32 fflush_unlocked F +GLIBC_2.32 ffs F +GLIBC_2.32 ffsl F +GLIBC_2.32 ffsll F +GLIBC_2.32 fgetc F +GLIBC_2.32 fgetc_unlocked F +GLIBC_2.32 fgetgrent F +GLIBC_2.32 fgetgrent_r F +GLIBC_2.32 fgetpos F +GLIBC_2.32 fgetpos64 F +GLIBC_2.32 fgetpwent F +GLIBC_2.32 fgetpwent_r F +GLIBC_2.32 fgets F +GLIBC_2.32 fgets_unlocked F +GLIBC_2.32 fgetsgent F +GLIBC_2.32 fgetsgent_r F +GLIBC_2.32 fgetspent F +GLIBC_2.32 fgetspent_r F +GLIBC_2.32 fgetwc F +GLIBC_2.32 fgetwc_unlocked F +GLIBC_2.32 fgetws F +GLIBC_2.32 fgetws_unlocked F +GLIBC_2.32 fgetxattr F +GLIBC_2.32 fileno F +GLIBC_2.32 fileno_unlocked F +GLIBC_2.32 finite F +GLIBC_2.32 finitef F +GLIBC_2.32 finitel F +GLIBC_2.32 flistxattr F +GLIBC_2.32 flock F +GLIBC_2.32 flockfile F +GLIBC_2.32 fmemopen F +GLIBC_2.32 fmtmsg F +GLIBC_2.32 fnmatch F +GLIBC_2.32 fopen F +GLIBC_2.32 fopen64 F +GLIBC_2.32 fopencookie F +GLIBC_2.32 fork F +GLIBC_2.32 fpathconf F +GLIBC_2.32 fprintf F +GLIBC_2.32 fputc F +GLIBC_2.32 fputc_unlocked F +GLIBC_2.32 fputs F +GLIBC_2.32 fputs_unlocked F +GLIBC_2.32 fputwc F +GLIBC_2.32 fputwc_unlocked F +GLIBC_2.32 fputws F +GLIBC_2.32 fputws_unlocked F +GLIBC_2.32 fread F +GLIBC_2.32 fread_unlocked F +GLIBC_2.32 free F +GLIBC_2.32 freeaddrinfo F +GLIBC_2.32 freeifaddrs F +GLIBC_2.32 freelocale F +GLIBC_2.32 fremovexattr F +GLIBC_2.32 freopen F +GLIBC_2.32 freopen64 F +GLIBC_2.32 frexp F +GLIBC_2.32 frexpf F +GLIBC_2.32 frexpl F +GLIBC_2.32 fscanf F +GLIBC_2.32 fseek F +GLIBC_2.32 fseeko F +GLIBC_2.32 fseeko64 F +GLIBC_2.32 fsetpos F +GLIBC_2.32 fsetpos64 F +GLIBC_2.32 fsetxattr F +GLIBC_2.32 fstatfs F +GLIBC_2.32 fstatfs64 F +GLIBC_2.32 fstatvfs F +GLIBC_2.32 fstatvfs64 F +GLIBC_2.32 fsync F +GLIBC_2.32 ftell F +GLIBC_2.32 ftello F +GLIBC_2.32 ftello64 F +GLIBC_2.32 ftime F +GLIBC_2.32 ftok F +GLIBC_2.32 ftruncate F +GLIBC_2.32 ftruncate64 F +GLIBC_2.32 ftrylockfile F +GLIBC_2.32 fts64_children F +GLIBC_2.32 fts64_close F +GLIBC_2.32 fts64_open F +GLIBC_2.32 fts64_read F +GLIBC_2.32 fts64_set F +GLIBC_2.32 fts_children F +GLIBC_2.32 fts_close F +GLIBC_2.32 fts_open F +GLIBC_2.32 fts_read F +GLIBC_2.32 fts_set F +GLIBC_2.32 ftw F +GLIBC_2.32 ftw64 F +GLIBC_2.32 funlockfile F +GLIBC_2.32 futimens F +GLIBC_2.32 futimes F +GLIBC_2.32 futimesat F +GLIBC_2.32 fwide F +GLIBC_2.32 fwprintf F +GLIBC_2.32 fwrite F +GLIBC_2.32 fwrite_unlocked F +GLIBC_2.32 fwscanf F +GLIBC_2.32 gai_strerror F +GLIBC_2.32 gcvt F +GLIBC_2.32 get_avphys_pages F +GLIBC_2.32 get_current_dir_name F +GLIBC_2.32 get_myaddress F +GLIBC_2.32 get_nprocs F +GLIBC_2.32 get_nprocs_conf F +GLIBC_2.32 get_phys_pages F +GLIBC_2.32 getaddrinfo F +GLIBC_2.32 getaliasbyname F +GLIBC_2.32 getaliasbyname_r F +GLIBC_2.32 getaliasent F +GLIBC_2.32 getaliasent_r F +GLIBC_2.32 getauxval F +GLIBC_2.32 getc F +GLIBC_2.32 getc_unlocked F +GLIBC_2.32 getchar F +GLIBC_2.32 getchar_unlocked F +GLIBC_2.32 getcontext F +GLIBC_2.32 getcpu F +GLIBC_2.32 getcwd F +GLIBC_2.32 getdate F +GLIBC_2.32 getdate_err D 0x4 +GLIBC_2.32 getdate_r F +GLIBC_2.32 getdelim F +GLIBC_2.32 getdents64 F +GLIBC_2.32 getdirentries F +GLIBC_2.32 getdirentries64 F +GLIBC_2.32 getdomainname F +GLIBC_2.32 getdtablesize F +GLIBC_2.32 getegid F +GLIBC_2.32 getentropy F +GLIBC_2.32 getenv F +GLIBC_2.32 geteuid F +GLIBC_2.32 getfsent F +GLIBC_2.32 getfsfile F +GLIBC_2.32 getfsspec F +GLIBC_2.32 getgid F +GLIBC_2.32 getgrent F +GLIBC_2.32 getgrent_r F +GLIBC_2.32 getgrgid F +GLIBC_2.32 getgrgid_r F +GLIBC_2.32 getgrnam F +GLIBC_2.32 getgrnam_r F +GLIBC_2.32 getgrouplist F +GLIBC_2.32 getgroups F +GLIBC_2.32 gethostbyaddr F +GLIBC_2.32 gethostbyaddr_r F +GLIBC_2.32 gethostbyname F +GLIBC_2.32 gethostbyname2 F +GLIBC_2.32 gethostbyname2_r F +GLIBC_2.32 gethostbyname_r F +GLIBC_2.32 gethostent F +GLIBC_2.32 gethostent_r F +GLIBC_2.32 gethostid F +GLIBC_2.32 gethostname F +GLIBC_2.32 getifaddrs F +GLIBC_2.32 getipv4sourcefilter F +GLIBC_2.32 getitimer F +GLIBC_2.32 getline F +GLIBC_2.32 getloadavg F +GLIBC_2.32 getlogin F +GLIBC_2.32 getlogin_r F +GLIBC_2.32 getmntent F +GLIBC_2.32 getmntent_r F +GLIBC_2.32 getnameinfo F +GLIBC_2.32 getnetbyaddr F +GLIBC_2.32 getnetbyaddr_r F +GLIBC_2.32 getnetbyname F +GLIBC_2.32 getnetbyname_r F +GLIBC_2.32 getnetent F +GLIBC_2.32 getnetent_r F +GLIBC_2.32 getnetgrent F +GLIBC_2.32 getnetgrent_r F +GLIBC_2.32 getnetname F +GLIBC_2.32 getopt F +GLIBC_2.32 getopt_long F +GLIBC_2.32 getopt_long_only F +GLIBC_2.32 getpagesize F +GLIBC_2.32 getpass F +GLIBC_2.32 getpeername F +GLIBC_2.32 getpgid F +GLIBC_2.32 getpgrp F +GLIBC_2.32 getpid F +GLIBC_2.32 getppid F +GLIBC_2.32 getpriority F +GLIBC_2.32 getprotobyname F +GLIBC_2.32 getprotobyname_r F +GLIBC_2.32 getprotobynumber F +GLIBC_2.32 getprotobynumber_r F +GLIBC_2.32 getprotoent F +GLIBC_2.32 getprotoent_r F +GLIBC_2.32 getpt F +GLIBC_2.32 getpublickey F +GLIBC_2.32 getpw F +GLIBC_2.32 getpwent F +GLIBC_2.32 getpwent_r F +GLIBC_2.32 getpwnam F +GLIBC_2.32 getpwnam_r F +GLIBC_2.32 getpwuid F +GLIBC_2.32 getpwuid_r F +GLIBC_2.32 getrandom F +GLIBC_2.32 getresgid F +GLIBC_2.32 getresuid F +GLIBC_2.32 getrlimit F +GLIBC_2.32 getrlimit64 F +GLIBC_2.32 getrpcbyname F +GLIBC_2.32 getrpcbyname_r F +GLIBC_2.32 getrpcbynumber F +GLIBC_2.32 getrpcbynumber_r F +GLIBC_2.32 getrpcent F +GLIBC_2.32 getrpcent_r F +GLIBC_2.32 getrpcport F +GLIBC_2.32 getrusage F +GLIBC_2.32 gets F +GLIBC_2.32 getsecretkey F +GLIBC_2.32 getservbyname F +GLIBC_2.32 getservbyname_r F +GLIBC_2.32 getservbyport F +GLIBC_2.32 getservbyport_r F +GLIBC_2.32 getservent F +GLIBC_2.32 getservent_r F +GLIBC_2.32 getsgent F +GLIBC_2.32 getsgent_r F +GLIBC_2.32 getsgnam F +GLIBC_2.32 getsgnam_r F +GLIBC_2.32 getsid F +GLIBC_2.32 getsockname F +GLIBC_2.32 getsockopt F +GLIBC_2.32 getsourcefilter F +GLIBC_2.32 getspent F +GLIBC_2.32 getspent_r F +GLIBC_2.32 getspnam F +GLIBC_2.32 getspnam_r F +GLIBC_2.32 getsubopt F +GLIBC_2.32 gettext F +GLIBC_2.32 gettid F +GLIBC_2.32 gettimeofday F +GLIBC_2.32 getttyent F +GLIBC_2.32 getttynam F +GLIBC_2.32 getuid F +GLIBC_2.32 getusershell F +GLIBC_2.32 getutent F +GLIBC_2.32 getutent_r F +GLIBC_2.32 getutid F +GLIBC_2.32 getutid_r F +GLIBC_2.32 getutline F +GLIBC_2.32 getutline_r F +GLIBC_2.32 getutmp F +GLIBC_2.32 getutmpx F +GLIBC_2.32 getutxent F +GLIBC_2.32 getutxid F +GLIBC_2.32 getutxline F +GLIBC_2.32 getw F +GLIBC_2.32 getwc F +GLIBC_2.32 getwc_unlocked F +GLIBC_2.32 getwchar F +GLIBC_2.32 getwchar_unlocked F +GLIBC_2.32 getwd F +GLIBC_2.32 getxattr F +GLIBC_2.32 glob F +GLIBC_2.32 glob64 F +GLIBC_2.32 glob_pattern_p F +GLIBC_2.32 globfree F +GLIBC_2.32 globfree64 F +GLIBC_2.32 gmtime F +GLIBC_2.32 gmtime_r F +GLIBC_2.32 gnu_dev_major F +GLIBC_2.32 gnu_dev_makedev F +GLIBC_2.32 gnu_dev_minor F +GLIBC_2.32 gnu_get_libc_release F +GLIBC_2.32 gnu_get_libc_version F +GLIBC_2.32 grantpt F +GLIBC_2.32 group_member F +GLIBC_2.32 gsignal F +GLIBC_2.32 gtty F +GLIBC_2.32 h_errlist D 0x14 +GLIBC_2.32 h_nerr D 0x4 +GLIBC_2.32 hasmntopt F +GLIBC_2.32 hcreate F +GLIBC_2.32 hcreate_r F +GLIBC_2.32 hdestroy F +GLIBC_2.32 hdestroy_r F +GLIBC_2.32 herror F +GLIBC_2.32 host2netname F +GLIBC_2.32 hsearch F +GLIBC_2.32 hsearch_r F +GLIBC_2.32 hstrerror F +GLIBC_2.32 htonl F +GLIBC_2.32 htons F +GLIBC_2.32 iconv F +GLIBC_2.32 iconv_close F +GLIBC_2.32 iconv_open F +GLIBC_2.32 if_freenameindex F +GLIBC_2.32 if_indextoname F +GLIBC_2.32 if_nameindex F +GLIBC_2.32 if_nametoindex F +GLIBC_2.32 imaxabs F +GLIBC_2.32 imaxdiv F +GLIBC_2.32 in6addr_any D 0x10 +GLIBC_2.32 in6addr_loopback D 0x10 +GLIBC_2.32 index F +GLIBC_2.32 inet6_opt_append F +GLIBC_2.32 inet6_opt_find F +GLIBC_2.32 inet6_opt_finish F +GLIBC_2.32 inet6_opt_get_val F +GLIBC_2.32 inet6_opt_init F +GLIBC_2.32 inet6_opt_next F +GLIBC_2.32 inet6_opt_set_val F +GLIBC_2.32 inet6_option_alloc F +GLIBC_2.32 inet6_option_append F +GLIBC_2.32 inet6_option_find F +GLIBC_2.32 inet6_option_init F +GLIBC_2.32 inet6_option_next F +GLIBC_2.32 inet6_option_space F +GLIBC_2.32 inet6_rth_add F +GLIBC_2.32 inet6_rth_getaddr F +GLIBC_2.32 inet6_rth_init F +GLIBC_2.32 inet6_rth_reverse F +GLIBC_2.32 inet6_rth_segments F +GLIBC_2.32 inet6_rth_space F +GLIBC_2.32 inet_addr F +GLIBC_2.32 inet_aton F +GLIBC_2.32 inet_lnaof F +GLIBC_2.32 inet_makeaddr F +GLIBC_2.32 inet_netof F +GLIBC_2.32 inet_network F +GLIBC_2.32 inet_nsap_addr F +GLIBC_2.32 inet_nsap_ntoa F +GLIBC_2.32 inet_ntoa F +GLIBC_2.32 inet_ntop F +GLIBC_2.32 inet_pton F +GLIBC_2.32 init_module F +GLIBC_2.32 initgroups F +GLIBC_2.32 initstate F +GLIBC_2.32 initstate_r F +GLIBC_2.32 innetgr F +GLIBC_2.32 inotify_add_watch F +GLIBC_2.32 inotify_init F +GLIBC_2.32 inotify_init1 F +GLIBC_2.32 inotify_rm_watch F +GLIBC_2.32 insque F +GLIBC_2.32 ioctl F +GLIBC_2.32 iruserok F +GLIBC_2.32 iruserok_af F +GLIBC_2.32 isalnum F +GLIBC_2.32 isalnum_l F +GLIBC_2.32 isalpha F +GLIBC_2.32 isalpha_l F +GLIBC_2.32 isascii F +GLIBC_2.32 isatty F +GLIBC_2.32 isblank F +GLIBC_2.32 isblank_l F +GLIBC_2.32 iscntrl F +GLIBC_2.32 iscntrl_l F +GLIBC_2.32 isctype F +GLIBC_2.32 isdigit F +GLIBC_2.32 isdigit_l F +GLIBC_2.32 isfdtype F +GLIBC_2.32 isgraph F +GLIBC_2.32 isgraph_l F +GLIBC_2.32 isinf F +GLIBC_2.32 isinff F +GLIBC_2.32 isinfl F +GLIBC_2.32 islower F +GLIBC_2.32 islower_l F +GLIBC_2.32 isnan F +GLIBC_2.32 isnanf F +GLIBC_2.32 isnanl F +GLIBC_2.32 isprint F +GLIBC_2.32 isprint_l F +GLIBC_2.32 ispunct F +GLIBC_2.32 ispunct_l F +GLIBC_2.32 isspace F +GLIBC_2.32 isspace_l F +GLIBC_2.32 isupper F +GLIBC_2.32 isupper_l F +GLIBC_2.32 iswalnum F +GLIBC_2.32 iswalnum_l F +GLIBC_2.32 iswalpha F +GLIBC_2.32 iswalpha_l F +GLIBC_2.32 iswblank F +GLIBC_2.32 iswblank_l F +GLIBC_2.32 iswcntrl F +GLIBC_2.32 iswcntrl_l F +GLIBC_2.32 iswctype F +GLIBC_2.32 iswctype_l F +GLIBC_2.32 iswdigit F +GLIBC_2.32 iswdigit_l F +GLIBC_2.32 iswgraph F +GLIBC_2.32 iswgraph_l F +GLIBC_2.32 iswlower F +GLIBC_2.32 iswlower_l F +GLIBC_2.32 iswprint F +GLIBC_2.32 iswprint_l F +GLIBC_2.32 iswpunct F +GLIBC_2.32 iswpunct_l F +GLIBC_2.32 iswspace F +GLIBC_2.32 iswspace_l F +GLIBC_2.32 iswupper F +GLIBC_2.32 iswupper_l F +GLIBC_2.32 iswxdigit F +GLIBC_2.32 iswxdigit_l F +GLIBC_2.32 isxdigit F +GLIBC_2.32 isxdigit_l F +GLIBC_2.32 jrand48 F +GLIBC_2.32 jrand48_r F +GLIBC_2.32 key_decryptsession F +GLIBC_2.32 key_decryptsession_pk F +GLIBC_2.32 key_encryptsession F +GLIBC_2.32 key_encryptsession_pk F +GLIBC_2.32 key_gendes F +GLIBC_2.32 key_get_conv F +GLIBC_2.32 key_secretkey_is_set F +GLIBC_2.32 key_setnet F +GLIBC_2.32 key_setsecret F +GLIBC_2.32 kill F +GLIBC_2.32 killpg F +GLIBC_2.32 klogctl F +GLIBC_2.32 l64a F +GLIBC_2.32 labs F +GLIBC_2.32 lchmod F +GLIBC_2.32 lchown F +GLIBC_2.32 lckpwdf F +GLIBC_2.32 lcong48 F +GLIBC_2.32 lcong48_r F +GLIBC_2.32 ldexp F +GLIBC_2.32 ldexpf F +GLIBC_2.32 ldexpl F +GLIBC_2.32 ldiv F +GLIBC_2.32 lfind F +GLIBC_2.32 lgetxattr F +GLIBC_2.32 link F +GLIBC_2.32 linkat F +GLIBC_2.32 listen F +GLIBC_2.32 listxattr F +GLIBC_2.32 llabs F +GLIBC_2.32 lldiv F +GLIBC_2.32 llistxattr F +GLIBC_2.32 localeconv F +GLIBC_2.32 localtime F +GLIBC_2.32 localtime_r F +GLIBC_2.32 lockf F +GLIBC_2.32 lockf64 F +GLIBC_2.32 longjmp F +GLIBC_2.32 lrand48 F +GLIBC_2.32 lrand48_r F +GLIBC_2.32 lremovexattr F +GLIBC_2.32 lsearch F +GLIBC_2.32 lseek F +GLIBC_2.32 lseek64 F +GLIBC_2.32 lsetxattr F +GLIBC_2.32 lutimes F +GLIBC_2.32 madvise F +GLIBC_2.32 makecontext F +GLIBC_2.32 mallinfo F +GLIBC_2.32 malloc F +GLIBC_2.32 malloc_info F +GLIBC_2.32 malloc_stats F +GLIBC_2.32 malloc_trim F +GLIBC_2.32 malloc_usable_size F +GLIBC_2.32 mallopt F +GLIBC_2.32 mallwatch D 0x4 +GLIBC_2.32 mblen F +GLIBC_2.32 mbrlen F +GLIBC_2.32 mbrtoc16 F +GLIBC_2.32 mbrtoc32 F +GLIBC_2.32 mbrtowc F +GLIBC_2.32 mbsinit F +GLIBC_2.32 mbsnrtowcs F +GLIBC_2.32 mbsrtowcs F +GLIBC_2.32 mbstowcs F +GLIBC_2.32 mbtowc F +GLIBC_2.32 mcheck F +GLIBC_2.32 mcheck_check_all F +GLIBC_2.32 mcheck_pedantic F +GLIBC_2.32 memalign F +GLIBC_2.32 memccpy F +GLIBC_2.32 memchr F +GLIBC_2.32 memcmp F +GLIBC_2.32 memcpy F +GLIBC_2.32 memfd_create F +GLIBC_2.32 memfrob F +GLIBC_2.32 memmem F +GLIBC_2.32 memmove F +GLIBC_2.32 mempcpy F +GLIBC_2.32 memrchr F +GLIBC_2.32 memset F +GLIBC_2.32 mincore F +GLIBC_2.32 mkdir F +GLIBC_2.32 mkdirat F +GLIBC_2.32 mkdtemp F +GLIBC_2.32 mkfifo F +GLIBC_2.32 mkfifoat F +GLIBC_2.32 mkostemp F +GLIBC_2.32 mkostemp64 F +GLIBC_2.32 mkostemps F +GLIBC_2.32 mkostemps64 F +GLIBC_2.32 mkstemp F +GLIBC_2.32 mkstemp64 F +GLIBC_2.32 mkstemps F +GLIBC_2.32 mkstemps64 F +GLIBC_2.32 mktemp F +GLIBC_2.32 mktime F +GLIBC_2.32 mlock F +GLIBC_2.32 mlock2 F +GLIBC_2.32 mlockall F +GLIBC_2.32 mmap F +GLIBC_2.32 mmap64 F +GLIBC_2.32 modf F +GLIBC_2.32 modff F +GLIBC_2.32 modfl F +GLIBC_2.32 moncontrol F +GLIBC_2.32 monstartup F +GLIBC_2.32 mount F +GLIBC_2.32 mprobe F +GLIBC_2.32 mprotect F +GLIBC_2.32 mrand48 F +GLIBC_2.32 mrand48_r F +GLIBC_2.32 mremap F +GLIBC_2.32 msgctl F +GLIBC_2.32 msgget F +GLIBC_2.32 msgrcv F +GLIBC_2.32 msgsnd F +GLIBC_2.32 msync F +GLIBC_2.32 mtrace F +GLIBC_2.32 munlock F +GLIBC_2.32 munlockall F +GLIBC_2.32 munmap F +GLIBC_2.32 muntrace F +GLIBC_2.32 name_to_handle_at F +GLIBC_2.32 nanosleep F +GLIBC_2.32 netname2host F +GLIBC_2.32 netname2user F +GLIBC_2.32 newlocale F +GLIBC_2.32 nftw F +GLIBC_2.32 nftw64 F +GLIBC_2.32 ngettext F +GLIBC_2.32 nice F +GLIBC_2.32 nl_langinfo F +GLIBC_2.32 nl_langinfo_l F +GLIBC_2.32 nrand48 F +GLIBC_2.32 nrand48_r F +GLIBC_2.32 ntohl F +GLIBC_2.32 ntohs F +GLIBC_2.32 ntp_adjtime F +GLIBC_2.32 ntp_gettime F +GLIBC_2.32 ntp_gettimex F +GLIBC_2.32 obstack_alloc_failed_handler D 0x4 +GLIBC_2.32 obstack_exit_failure D 0x4 +GLIBC_2.32 obstack_free F +GLIBC_2.32 obstack_printf F +GLIBC_2.32 obstack_vprintf F +GLIBC_2.32 on_exit F +GLIBC_2.32 open F +GLIBC_2.32 open64 F +GLIBC_2.32 open_by_handle_at F +GLIBC_2.32 open_memstream F +GLIBC_2.32 open_wmemstream F +GLIBC_2.32 openat F +GLIBC_2.32 openat64 F +GLIBC_2.32 opendir F +GLIBC_2.32 openlog F +GLIBC_2.32 optarg D 0x4 +GLIBC_2.32 opterr D 0x4 +GLIBC_2.32 optind D 0x4 +GLIBC_2.32 optopt D 0x4 +GLIBC_2.32 parse_printf_format F +GLIBC_2.32 passwd2des F +GLIBC_2.32 pathconf F +GLIBC_2.32 pause F +GLIBC_2.32 pclose F +GLIBC_2.32 perror F +GLIBC_2.32 personality F +GLIBC_2.32 pipe F +GLIBC_2.32 pipe2 F +GLIBC_2.32 pivot_root F +GLIBC_2.32 pkey_alloc F +GLIBC_2.32 pkey_free F +GLIBC_2.32 pkey_get F +GLIBC_2.32 pkey_mprotect F +GLIBC_2.32 pkey_set F +GLIBC_2.32 pmap_getmaps F +GLIBC_2.32 pmap_getport F +GLIBC_2.32 pmap_rmtcall F +GLIBC_2.32 pmap_set F +GLIBC_2.32 pmap_unset F +GLIBC_2.32 poll F +GLIBC_2.32 popen F +GLIBC_2.32 posix_fadvise F +GLIBC_2.32 posix_fadvise64 F +GLIBC_2.32 posix_fallocate F +GLIBC_2.32 posix_fallocate64 F +GLIBC_2.32 posix_madvise F +GLIBC_2.32 posix_memalign F +GLIBC_2.32 posix_openpt F +GLIBC_2.32 posix_spawn F +GLIBC_2.32 posix_spawn_file_actions_addchdir_np F +GLIBC_2.32 posix_spawn_file_actions_addclose F +GLIBC_2.32 posix_spawn_file_actions_adddup2 F +GLIBC_2.32 posix_spawn_file_actions_addfchdir_np F +GLIBC_2.32 posix_spawn_file_actions_addopen F +GLIBC_2.32 posix_spawn_file_actions_destroy F +GLIBC_2.32 posix_spawn_file_actions_init F +GLIBC_2.32 posix_spawnattr_destroy F +GLIBC_2.32 posix_spawnattr_getflags F +GLIBC_2.32 posix_spawnattr_getpgroup F +GLIBC_2.32 posix_spawnattr_getschedparam F +GLIBC_2.32 posix_spawnattr_getschedpolicy F +GLIBC_2.32 posix_spawnattr_getsigdefault F +GLIBC_2.32 posix_spawnattr_getsigmask F +GLIBC_2.32 posix_spawnattr_init F +GLIBC_2.32 posix_spawnattr_setflags F +GLIBC_2.32 posix_spawnattr_setpgroup F +GLIBC_2.32 posix_spawnattr_setschedparam F +GLIBC_2.32 posix_spawnattr_setschedpolicy F +GLIBC_2.32 posix_spawnattr_setsigdefault F +GLIBC_2.32 posix_spawnattr_setsigmask F +GLIBC_2.32 posix_spawnp F +GLIBC_2.32 ppoll F +GLIBC_2.32 prctl F +GLIBC_2.32 pread F +GLIBC_2.32 pread64 F +GLIBC_2.32 preadv F +GLIBC_2.32 preadv2 F +GLIBC_2.32 preadv64 F +GLIBC_2.32 preadv64v2 F +GLIBC_2.32 printf F +GLIBC_2.32 printf_size F +GLIBC_2.32 printf_size_info F +GLIBC_2.32 prlimit F +GLIBC_2.32 prlimit64 F +GLIBC_2.32 process_vm_readv F +GLIBC_2.32 process_vm_writev F +GLIBC_2.32 profil F +GLIBC_2.32 program_invocation_name D 0x4 +GLIBC_2.32 program_invocation_short_name D 0x4 +GLIBC_2.32 pselect F +GLIBC_2.32 psiginfo F +GLIBC_2.32 psignal F +GLIBC_2.32 pthread_attr_destroy F +GLIBC_2.32 pthread_attr_getdetachstate F +GLIBC_2.32 pthread_attr_getinheritsched F +GLIBC_2.32 pthread_attr_getschedparam F +GLIBC_2.32 pthread_attr_getschedpolicy F +GLIBC_2.32 pthread_attr_getscope F +GLIBC_2.32 pthread_attr_init F +GLIBC_2.32 pthread_attr_getsigmask_np F +GLIBC_2.32 pthread_attr_setaffinity_np F +GLIBC_2.32 pthread_attr_setsigmask_np F +GLIBC_2.32 pthread_attr_setdetachstate F +GLIBC_2.32 pthread_attr_setinheritsched F +GLIBC_2.32 pthread_attr_setschedparam F +GLIBC_2.32 pthread_attr_setschedpolicy F +GLIBC_2.32 pthread_attr_setscope F +GLIBC_2.32 pthread_cond_broadcast F +GLIBC_2.32 pthread_cond_destroy F +GLIBC_2.32 pthread_cond_init F +GLIBC_2.32 pthread_cond_signal F +GLIBC_2.32 pthread_cond_timedwait F +GLIBC_2.32 pthread_cond_wait F +GLIBC_2.32 pthread_condattr_destroy F +GLIBC_2.32 pthread_condattr_init F +GLIBC_2.32 pthread_equal F +GLIBC_2.32 pthread_exit F +GLIBC_2.32 pthread_getaffinity_np F +GLIBC_2.32 pthread_getattr_np F +GLIBC_2.32 pthread_getschedparam F +GLIBC_2.32 pthread_mutex_destroy F +GLIBC_2.32 pthread_mutex_init F +GLIBC_2.32 pthread_mutex_lock F +GLIBC_2.32 pthread_mutex_unlock F +GLIBC_2.32 pthread_self F +GLIBC_2.32 pthread_setcancelstate F +GLIBC_2.32 pthread_setcanceltype F +GLIBC_2.32 pthread_setschedparam F +GLIBC_2.32 pthread_sigmask F +GLIBC_2.32 ptrace F +GLIBC_2.32 ptsname F +GLIBC_2.32 ptsname_r F +GLIBC_2.32 putc F +GLIBC_2.32 putc_unlocked F +GLIBC_2.32 putchar F +GLIBC_2.32 putchar_unlocked F +GLIBC_2.32 putenv F +GLIBC_2.32 putgrent F +GLIBC_2.32 putpwent F +GLIBC_2.32 puts F +GLIBC_2.32 putsgent F +GLIBC_2.32 putspent F +GLIBC_2.32 pututline F +GLIBC_2.32 pututxline F +GLIBC_2.32 putw F +GLIBC_2.32 putwc F +GLIBC_2.32 putwc_unlocked F +GLIBC_2.32 putwchar F +GLIBC_2.32 putwchar_unlocked F +GLIBC_2.32 pvalloc F +GLIBC_2.32 pwrite F +GLIBC_2.32 pwrite64 F +GLIBC_2.32 pwritev F +GLIBC_2.32 pwritev2 F +GLIBC_2.32 pwritev64 F +GLIBC_2.32 pwritev64v2 F +GLIBC_2.32 qecvt F +GLIBC_2.32 qecvt_r F +GLIBC_2.32 qfcvt F +GLIBC_2.32 qfcvt_r F +GLIBC_2.32 qgcvt F +GLIBC_2.32 qsort F +GLIBC_2.32 qsort_r F +GLIBC_2.32 quick_exit F +GLIBC_2.32 quotactl F +GLIBC_2.32 raise F +GLIBC_2.32 rand F +GLIBC_2.32 rand_r F +GLIBC_2.32 random F +GLIBC_2.32 random_r F +GLIBC_2.32 rawmemchr F +GLIBC_2.32 rcmd F +GLIBC_2.32 rcmd_af F +GLIBC_2.32 re_comp F +GLIBC_2.32 re_compile_fastmap F +GLIBC_2.32 re_compile_pattern F +GLIBC_2.32 re_exec F +GLIBC_2.32 re_match F +GLIBC_2.32 re_match_2 F +GLIBC_2.32 re_search F +GLIBC_2.32 re_search_2 F +GLIBC_2.32 re_set_registers F +GLIBC_2.32 re_set_syntax F +GLIBC_2.32 re_syntax_options D 0x4 +GLIBC_2.32 read F +GLIBC_2.32 readahead F +GLIBC_2.32 readdir F +GLIBC_2.32 readdir64 F +GLIBC_2.32 readdir64_r F +GLIBC_2.32 readdir_r F +GLIBC_2.32 readlink F +GLIBC_2.32 readlinkat F +GLIBC_2.32 readv F +GLIBC_2.32 realloc F +GLIBC_2.32 reallocarray F +GLIBC_2.32 realpath F +GLIBC_2.32 reboot F +GLIBC_2.32 recv F +GLIBC_2.32 recvfrom F +GLIBC_2.32 recvmmsg F +GLIBC_2.32 recvmsg F +GLIBC_2.32 regcomp F +GLIBC_2.32 regerror F +GLIBC_2.32 regexec F +GLIBC_2.32 regfree F +GLIBC_2.32 register_printf_function F +GLIBC_2.32 register_printf_modifier F +GLIBC_2.32 register_printf_specifier F +GLIBC_2.32 register_printf_type F +GLIBC_2.32 registerrpc F +GLIBC_2.32 remap_file_pages F +GLIBC_2.32 remove F +GLIBC_2.32 removexattr F +GLIBC_2.32 remque F +GLIBC_2.32 rename F +GLIBC_2.32 renameat F +GLIBC_2.32 renameat2 F +GLIBC_2.32 revoke F +GLIBC_2.32 rewind F +GLIBC_2.32 rewinddir F +GLIBC_2.32 rexec F +GLIBC_2.32 rexec_af F +GLIBC_2.32 rexecoptions D 0x4 +GLIBC_2.32 rindex F +GLIBC_2.32 rmdir F +GLIBC_2.32 rpc_createerr D 0x10 +GLIBC_2.32 rpmatch F +GLIBC_2.32 rresvport F +GLIBC_2.32 rresvport_af F +GLIBC_2.32 rtime F +GLIBC_2.32 ruserok F +GLIBC_2.32 ruserok_af F +GLIBC_2.32 ruserpass F +GLIBC_2.32 sbrk F +GLIBC_2.32 scalbn F +GLIBC_2.32 scalbnf F +GLIBC_2.32 scalbnl F +GLIBC_2.32 scandir F +GLIBC_2.32 scandir64 F +GLIBC_2.32 scandirat F +GLIBC_2.32 scandirat64 F +GLIBC_2.32 scanf F +GLIBC_2.32 sched_get_priority_max F +GLIBC_2.32 sched_get_priority_min F +GLIBC_2.32 sched_getaffinity F +GLIBC_2.32 sched_getcpu F +GLIBC_2.32 sched_getparam F +GLIBC_2.32 sched_getscheduler F +GLIBC_2.32 sched_rr_get_interval F +GLIBC_2.32 sched_setaffinity F +GLIBC_2.32 sched_setparam F +GLIBC_2.32 sched_setscheduler F +GLIBC_2.32 sched_yield F +GLIBC_2.32 secure_getenv F +GLIBC_2.32 seed48 F +GLIBC_2.32 seed48_r F +GLIBC_2.32 seekdir F +GLIBC_2.32 select F +GLIBC_2.32 semctl F +GLIBC_2.32 semget F +GLIBC_2.32 semop F +GLIBC_2.32 semtimedop F +GLIBC_2.32 send F +GLIBC_2.32 sendfile F +GLIBC_2.32 sendfile64 F +GLIBC_2.32 sendmmsg F +GLIBC_2.32 sendmsg F +GLIBC_2.32 sendto F +GLIBC_2.32 setaliasent F +GLIBC_2.32 setbuf F +GLIBC_2.32 setbuffer F +GLIBC_2.32 setcontext F +GLIBC_2.32 setdomainname F +GLIBC_2.32 setegid F +GLIBC_2.32 setenv F +GLIBC_2.32 seteuid F +GLIBC_2.32 setfsent F +GLIBC_2.32 setfsgid F +GLIBC_2.32 setfsuid F +GLIBC_2.32 setgid F +GLIBC_2.32 setgrent F +GLIBC_2.32 setgroups F +GLIBC_2.32 sethostent F +GLIBC_2.32 sethostid F +GLIBC_2.32 sethostname F +GLIBC_2.32 setipv4sourcefilter F +GLIBC_2.32 setitimer F +GLIBC_2.32 setjmp F +GLIBC_2.32 setlinebuf F +GLIBC_2.32 setlocale F +GLIBC_2.32 setlogin F +GLIBC_2.32 setlogmask F +GLIBC_2.32 setmntent F +GLIBC_2.32 setnetent F +GLIBC_2.32 setnetgrent F +GLIBC_2.32 setns F +GLIBC_2.32 setpgid F +GLIBC_2.32 setpgrp F +GLIBC_2.32 setpriority F +GLIBC_2.32 setprotoent F +GLIBC_2.32 setpwent F +GLIBC_2.32 setregid F +GLIBC_2.32 setresgid F +GLIBC_2.32 setresuid F +GLIBC_2.32 setreuid F +GLIBC_2.32 setrlimit F +GLIBC_2.32 setrlimit64 F +GLIBC_2.32 setrpcent F +GLIBC_2.32 setservent F +GLIBC_2.32 setsgent F +GLIBC_2.32 setsid F +GLIBC_2.32 setsockopt F +GLIBC_2.32 setsourcefilter F +GLIBC_2.32 setspent F +GLIBC_2.32 setstate F +GLIBC_2.32 setstate_r F +GLIBC_2.32 settimeofday F +GLIBC_2.32 setttyent F +GLIBC_2.32 setuid F +GLIBC_2.32 setusershell F +GLIBC_2.32 setutent F +GLIBC_2.32 setutxent F +GLIBC_2.32 setvbuf F +GLIBC_2.32 setxattr F +GLIBC_2.32 sgetsgent F +GLIBC_2.32 sgetsgent_r F +GLIBC_2.32 sgetspent F +GLIBC_2.32 sgetspent_r F +GLIBC_2.32 shmat F +GLIBC_2.32 shmctl F +GLIBC_2.32 shmdt F +GLIBC_2.32 shmget F +GLIBC_2.32 shutdown F +GLIBC_2.32 sigaction F +GLIBC_2.32 sigaddset F +GLIBC_2.32 sigaltstack F +GLIBC_2.32 sigandset F +GLIBC_2.32 sigblock F +GLIBC_2.32 sigdelset F +GLIBC_2.32 sigemptyset F +GLIBC_2.32 sigfillset F +GLIBC_2.32 siggetmask F +GLIBC_2.32 sighold F +GLIBC_2.32 sigignore F +GLIBC_2.32 siginterrupt F +GLIBC_2.32 sigisemptyset F +GLIBC_2.32 sigismember F +GLIBC_2.32 siglongjmp F +GLIBC_2.32 signal F +GLIBC_2.32 signalfd F +GLIBC_2.32 sigorset F +GLIBC_2.32 sigpause F +GLIBC_2.32 sigpending F +GLIBC_2.32 sigprocmask F +GLIBC_2.32 sigqueue F +GLIBC_2.32 sigrelse F +GLIBC_2.32 sigreturn F +GLIBC_2.32 sigset F +GLIBC_2.32 sigsetmask F +GLIBC_2.32 sigstack F +GLIBC_2.32 sigsuspend F +GLIBC_2.32 sigtimedwait F +GLIBC_2.32 sigwait F +GLIBC_2.32 sigwaitinfo F +GLIBC_2.32 sleep F +GLIBC_2.32 snprintf F +GLIBC_2.32 sockatmark F +GLIBC_2.32 socket F +GLIBC_2.32 socketpair F +GLIBC_2.32 splice F +GLIBC_2.32 sprintf F +GLIBC_2.32 sprofil F +GLIBC_2.32 srand F +GLIBC_2.32 srand48 F +GLIBC_2.32 srand48_r F +GLIBC_2.32 srandom F +GLIBC_2.32 srandom_r F +GLIBC_2.32 sscanf F +GLIBC_2.32 ssignal F +GLIBC_2.32 statfs F +GLIBC_2.32 statfs64 F +GLIBC_2.32 statvfs F +GLIBC_2.32 statvfs64 F +GLIBC_2.32 statx F +GLIBC_2.32 stderr D 0x4 +GLIBC_2.32 stdin D 0x4 +GLIBC_2.32 stdout D 0x4 +GLIBC_2.32 stpcpy F +GLIBC_2.32 stpncpy F +GLIBC_2.32 strcasecmp F +GLIBC_2.32 strcasecmp_l F +GLIBC_2.32 strcasestr F +GLIBC_2.32 strcat F +GLIBC_2.32 strchr F +GLIBC_2.32 strchrnul F +GLIBC_2.32 strcmp F +GLIBC_2.32 strcoll F +GLIBC_2.32 strcoll_l F +GLIBC_2.32 strcpy F +GLIBC_2.32 strcspn F +GLIBC_2.32 strdup F +GLIBC_2.32 strerror F +GLIBC_2.32 strerror_l F +GLIBC_2.32 strerror_r F +GLIBC_2.32 strfmon F +GLIBC_2.32 strfmon_l F +GLIBC_2.32 strfromd F +GLIBC_2.32 strfromf F +GLIBC_2.32 strfromf128 F +GLIBC_2.32 strfromf32 F +GLIBC_2.32 strfromf32x F +GLIBC_2.32 strfromf64 F +GLIBC_2.32 strfromf64x F +GLIBC_2.32 strfroml F +GLIBC_2.32 strfry F +GLIBC_2.32 strftime F +GLIBC_2.32 strftime_l F +GLIBC_2.32 strlen F +GLIBC_2.32 strncasecmp F +GLIBC_2.32 strncasecmp_l F +GLIBC_2.32 strncat F +GLIBC_2.32 strncmp F +GLIBC_2.32 strncpy F +GLIBC_2.32 strndup F +GLIBC_2.32 strnlen F +GLIBC_2.32 strpbrk F +GLIBC_2.32 strptime F +GLIBC_2.32 strptime_l F +GLIBC_2.32 strrchr F +GLIBC_2.32 strsep F +GLIBC_2.32 strsignal F +GLIBC_2.32 strspn F +GLIBC_2.32 strstr F +GLIBC_2.32 strtod F +GLIBC_2.32 strtod_l F +GLIBC_2.32 strtof F +GLIBC_2.32 strtof128 F +GLIBC_2.32 strtof128_l F +GLIBC_2.32 strtof32 F +GLIBC_2.32 strtof32_l F +GLIBC_2.32 strtof32x F +GLIBC_2.32 strtof32x_l F +GLIBC_2.32 strtof64 F +GLIBC_2.32 strtof64_l F +GLIBC_2.32 strtof64x F +GLIBC_2.32 strtof64x_l F +GLIBC_2.32 strtof_l F +GLIBC_2.32 strtoimax F +GLIBC_2.32 strtok F +GLIBC_2.32 strtok_r F +GLIBC_2.32 strtol F +GLIBC_2.32 strtol_l F +GLIBC_2.32 strtold F +GLIBC_2.32 strtold_l F +GLIBC_2.32 strtoll F +GLIBC_2.32 strtoll_l F +GLIBC_2.32 strtoq F +GLIBC_2.32 strtoul F +GLIBC_2.32 strtoul_l F +GLIBC_2.32 strtoull F +GLIBC_2.32 strtoull_l F +GLIBC_2.32 strtoumax F +GLIBC_2.32 strtouq F +GLIBC_2.32 strverscmp F +GLIBC_2.32 strxfrm F +GLIBC_2.32 strxfrm_l F +GLIBC_2.32 stty F +GLIBC_2.32 svc_exit F +GLIBC_2.32 svc_fdset D 0x80 +GLIBC_2.32 svc_getreq F +GLIBC_2.32 svc_getreq_common F +GLIBC_2.32 svc_getreq_poll F +GLIBC_2.32 svc_getreqset F +GLIBC_2.32 svc_max_pollfd D 0x4 +GLIBC_2.32 svc_pollfd D 0x4 +GLIBC_2.32 svc_register F +GLIBC_2.32 svc_run F +GLIBC_2.32 svc_sendreply F +GLIBC_2.32 svc_unregister F +GLIBC_2.32 svcauthdes_stats D 0xc +GLIBC_2.32 svcerr_auth F +GLIBC_2.32 svcerr_decode F +GLIBC_2.32 svcerr_noproc F +GLIBC_2.32 svcerr_noprog F +GLIBC_2.32 svcerr_progvers F +GLIBC_2.32 svcerr_systemerr F +GLIBC_2.32 svcerr_weakauth F +GLIBC_2.32 svcfd_create F +GLIBC_2.32 svcraw_create F +GLIBC_2.32 svctcp_create F +GLIBC_2.32 svcudp_bufcreate F +GLIBC_2.32 svcudp_create F +GLIBC_2.32 svcudp_enablecache F +GLIBC_2.32 svcunix_create F +GLIBC_2.32 svcunixfd_create F +GLIBC_2.32 swab F +GLIBC_2.32 swapcontext F +GLIBC_2.32 swapoff F +GLIBC_2.32 swapon F +GLIBC_2.32 swprintf F +GLIBC_2.32 swscanf F +GLIBC_2.32 symlink F +GLIBC_2.32 symlinkat F +GLIBC_2.32 sync F +GLIBC_2.32 sync_file_range F +GLIBC_2.32 syncfs F +GLIBC_2.32 sys_errlist D 0x21c +GLIBC_2.32 sys_nerr D 0x4 +GLIBC_2.32 sys_sigabbrev D 0x104 +GLIBC_2.32 sys_siglist D 0x104 +GLIBC_2.32 syscall F +GLIBC_2.32 sysconf F +GLIBC_2.32 sysinfo F +GLIBC_2.32 syslog F +GLIBC_2.32 system F +GLIBC_2.32 sysv_signal F +GLIBC_2.32 tcdrain F +GLIBC_2.32 tcflow F +GLIBC_2.32 tcflush F +GLIBC_2.32 tcgetattr F +GLIBC_2.32 tcgetpgrp F +GLIBC_2.32 tcgetsid F +GLIBC_2.32 tcsendbreak F +GLIBC_2.32 tcsetattr F +GLIBC_2.32 tcsetpgrp F +GLIBC_2.32 tdelete F +GLIBC_2.32 tdestroy F +GLIBC_2.32 tee F +GLIBC_2.32 telldir F +GLIBC_2.32 tempnam F +GLIBC_2.32 textdomain F +GLIBC_2.32 tfind F +GLIBC_2.32 tgkill F +GLIBC_2.32 thrd_current F +GLIBC_2.32 thrd_equal F +GLIBC_2.32 thrd_sleep F +GLIBC_2.32 thrd_yield F +GLIBC_2.32 time F +GLIBC_2.32 timegm F +GLIBC_2.32 timelocal F +GLIBC_2.32 timerfd_create F +GLIBC_2.32 timerfd_gettime F +GLIBC_2.32 timerfd_settime F +GLIBC_2.32 times F +GLIBC_2.32 timespec_get F +GLIBC_2.32 timezone D 0x4 +GLIBC_2.32 tmpfile F +GLIBC_2.32 tmpfile64 F +GLIBC_2.32 tmpnam F +GLIBC_2.32 tmpnam_r F +GLIBC_2.32 toascii F +GLIBC_2.32 tolower F +GLIBC_2.32 tolower_l F +GLIBC_2.32 toupper F +GLIBC_2.32 toupper_l F +GLIBC_2.32 towctrans F +GLIBC_2.32 towctrans_l F +GLIBC_2.32 towlower F +GLIBC_2.32 towlower_l F +GLIBC_2.32 towupper F +GLIBC_2.32 towupper_l F +GLIBC_2.32 tr_break F +GLIBC_2.32 truncate F +GLIBC_2.32 truncate64 F +GLIBC_2.32 tsearch F +GLIBC_2.32 ttyname F +GLIBC_2.32 ttyname_r F +GLIBC_2.32 ttyslot F +GLIBC_2.32 twalk F +GLIBC_2.32 twalk_r F +GLIBC_2.32 tzname D 0x8 +GLIBC_2.32 tzset F +GLIBC_2.32 ualarm F +GLIBC_2.32 ulckpwdf F +GLIBC_2.32 ulimit F +GLIBC_2.32 umask F +GLIBC_2.32 umount F +GLIBC_2.32 umount2 F +GLIBC_2.32 uname F +GLIBC_2.32 ungetc F +GLIBC_2.32 ungetwc F +GLIBC_2.32 unlink F +GLIBC_2.32 unlinkat F +GLIBC_2.32 unlockpt F +GLIBC_2.32 unsetenv F +GLIBC_2.32 unshare F +GLIBC_2.32 updwtmp F +GLIBC_2.32 updwtmpx F +GLIBC_2.32 uselocale F +GLIBC_2.32 user2netname F +GLIBC_2.32 usleep F +GLIBC_2.32 utime F +GLIBC_2.32 utimensat F +GLIBC_2.32 utimes F +GLIBC_2.32 utmpname F +GLIBC_2.32 utmpxname F +GLIBC_2.32 valloc F +GLIBC_2.32 vasprintf F +GLIBC_2.32 vdprintf F +GLIBC_2.32 verr F +GLIBC_2.32 verrx F +GLIBC_2.32 versionsort F +GLIBC_2.32 versionsort64 F +GLIBC_2.32 vfork F +GLIBC_2.32 vfprintf F +GLIBC_2.32 vfscanf F +GLIBC_2.32 vfwprintf F +GLIBC_2.32 vfwscanf F +GLIBC_2.32 vhangup F +GLIBC_2.32 vlimit F +GLIBC_2.32 vmsplice F +GLIBC_2.32 vprintf F +GLIBC_2.32 vscanf F +GLIBC_2.32 vsnprintf F +GLIBC_2.32 vsprintf F +GLIBC_2.32 vsscanf F +GLIBC_2.32 vswprintf F +GLIBC_2.32 vswscanf F +GLIBC_2.32 vsyslog F +GLIBC_2.32 vtimes F +GLIBC_2.32 vwarn F +GLIBC_2.32 vwarnx F +GLIBC_2.32 vwprintf F +GLIBC_2.32 vwscanf F +GLIBC_2.32 wait F +GLIBC_2.32 wait3 F +GLIBC_2.32 wait4 F +GLIBC_2.32 waitid F +GLIBC_2.32 waitpid F +GLIBC_2.32 warn F +GLIBC_2.32 warnx F +GLIBC_2.32 wcpcpy F +GLIBC_2.32 wcpncpy F +GLIBC_2.32 wcrtomb F +GLIBC_2.32 wcscasecmp F +GLIBC_2.32 wcscasecmp_l F +GLIBC_2.32 wcscat F +GLIBC_2.32 wcschr F +GLIBC_2.32 wcschrnul F +GLIBC_2.32 wcscmp F +GLIBC_2.32 wcscoll F +GLIBC_2.32 wcscoll_l F +GLIBC_2.32 wcscpy F +GLIBC_2.32 wcscspn F +GLIBC_2.32 wcsdup F +GLIBC_2.32 wcsftime F +GLIBC_2.32 wcsftime_l F +GLIBC_2.32 wcslen F +GLIBC_2.32 wcsncasecmp F +GLIBC_2.32 wcsncasecmp_l F +GLIBC_2.32 wcsncat F +GLIBC_2.32 wcsncmp F +GLIBC_2.32 wcsncpy F +GLIBC_2.32 wcsnlen F +GLIBC_2.32 wcsnrtombs F +GLIBC_2.32 wcspbrk F +GLIBC_2.32 wcsrchr F +GLIBC_2.32 wcsrtombs F +GLIBC_2.32 wcsspn F +GLIBC_2.32 wcsstr F +GLIBC_2.32 wcstod F +GLIBC_2.32 wcstod_l F +GLIBC_2.32 wcstof F +GLIBC_2.32 wcstof128 F +GLIBC_2.32 wcstof128_l F +GLIBC_2.32 wcstof32 F +GLIBC_2.32 wcstof32_l F +GLIBC_2.32 wcstof32x F +GLIBC_2.32 wcstof32x_l F +GLIBC_2.32 wcstof64 F +GLIBC_2.32 wcstof64_l F +GLIBC_2.32 wcstof64x F +GLIBC_2.32 wcstof64x_l F +GLIBC_2.32 wcstof_l F +GLIBC_2.32 wcstoimax F +GLIBC_2.32 wcstok F +GLIBC_2.32 wcstol F +GLIBC_2.32 wcstol_l F +GLIBC_2.32 wcstold F +GLIBC_2.32 wcstold_l F +GLIBC_2.32 wcstoll F +GLIBC_2.32 wcstoll_l F +GLIBC_2.32 wcstombs F +GLIBC_2.32 wcstoq F +GLIBC_2.32 wcstoul F +GLIBC_2.32 wcstoul_l F +GLIBC_2.32 wcstoull F +GLIBC_2.32 wcstoull_l F +GLIBC_2.32 wcstoumax F +GLIBC_2.32 wcstouq F +GLIBC_2.32 wcswcs F +GLIBC_2.32 wcswidth F +GLIBC_2.32 wcsxfrm F +GLIBC_2.32 wcsxfrm_l F +GLIBC_2.32 wctob F +GLIBC_2.32 wctomb F +GLIBC_2.32 wctrans F +GLIBC_2.32 wctrans_l F +GLIBC_2.32 wctype F +GLIBC_2.32 wctype_l F +GLIBC_2.32 wcwidth F +GLIBC_2.32 wmemchr F +GLIBC_2.32 wmemcmp F +GLIBC_2.32 wmemcpy F +GLIBC_2.32 wmemmove F +GLIBC_2.32 wmempcpy F +GLIBC_2.32 wmemset F +GLIBC_2.32 wordexp F +GLIBC_2.32 wordfree F +GLIBC_2.32 wprintf F +GLIBC_2.32 write F +GLIBC_2.32 writev F +GLIBC_2.32 wscanf F +GLIBC_2.32 xdecrypt F +GLIBC_2.32 xdr_accepted_reply F +GLIBC_2.32 xdr_array F +GLIBC_2.32 xdr_authdes_cred F +GLIBC_2.32 xdr_authdes_verf F +GLIBC_2.32 xdr_authunix_parms F +GLIBC_2.32 xdr_bool F +GLIBC_2.32 xdr_bytes F +GLIBC_2.32 xdr_callhdr F +GLIBC_2.32 xdr_callmsg F +GLIBC_2.32 xdr_char F +GLIBC_2.32 xdr_cryptkeyarg F +GLIBC_2.32 xdr_cryptkeyarg2 F +GLIBC_2.32 xdr_cryptkeyres F +GLIBC_2.32 xdr_des_block F +GLIBC_2.32 xdr_double F +GLIBC_2.32 xdr_enum F +GLIBC_2.32 xdr_float F +GLIBC_2.32 xdr_free F +GLIBC_2.32 xdr_getcredres F +GLIBC_2.32 xdr_hyper F +GLIBC_2.32 xdr_int F +GLIBC_2.32 xdr_int16_t F +GLIBC_2.32 xdr_int32_t F +GLIBC_2.32 xdr_int64_t F +GLIBC_2.32 xdr_int8_t F +GLIBC_2.32 xdr_key_netstarg F +GLIBC_2.32 xdr_key_netstres F +GLIBC_2.32 xdr_keybuf F +GLIBC_2.32 xdr_keystatus F +GLIBC_2.32 xdr_long F +GLIBC_2.32 xdr_longlong_t F +GLIBC_2.32 xdr_netnamestr F +GLIBC_2.32 xdr_netobj F +GLIBC_2.32 xdr_opaque F +GLIBC_2.32 xdr_opaque_auth F +GLIBC_2.32 xdr_pmap F +GLIBC_2.32 xdr_pmaplist F +GLIBC_2.32 xdr_pointer F +GLIBC_2.32 xdr_quad_t F +GLIBC_2.32 xdr_reference F +GLIBC_2.32 xdr_rejected_reply F +GLIBC_2.32 xdr_replymsg F +GLIBC_2.32 xdr_rmtcall_args F +GLIBC_2.32 xdr_rmtcallres F +GLIBC_2.32 xdr_short F +GLIBC_2.32 xdr_sizeof F +GLIBC_2.32 xdr_string F +GLIBC_2.32 xdr_u_char F +GLIBC_2.32 xdr_u_hyper F +GLIBC_2.32 xdr_u_int F +GLIBC_2.32 xdr_u_long F +GLIBC_2.32 xdr_u_longlong_t F +GLIBC_2.32 xdr_u_quad_t F +GLIBC_2.32 xdr_u_short F +GLIBC_2.32 xdr_uint16_t F +GLIBC_2.32 xdr_uint32_t F +GLIBC_2.32 xdr_uint64_t F +GLIBC_2.32 xdr_uint8_t F +GLIBC_2.32 xdr_union F +GLIBC_2.32 xdr_unixcred F +GLIBC_2.32 xdr_vector F +GLIBC_2.32 xdr_void F +GLIBC_2.32 xdr_wrapstring F +GLIBC_2.32 xdrmem_create F +GLIBC_2.32 xdrrec_create F +GLIBC_2.32 xdrrec_endofrecord F +GLIBC_2.32 xdrrec_eof F +GLIBC_2.32 xdrrec_skiprecord F +GLIBC_2.32 xdrstdio_create F +GLIBC_2.32 xencrypt F +GLIBC_2.32 xprt_register F +GLIBC_2.32 xprt_unregister F diff --git a/sysdeps/unix/sysv/linux/riscv/libcrypt.abilist b/sysdeps/unix/sysv/linux/riscv/libcrypt.abilist new file mode 100644 index 0000000000..6bd253453e --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libcrypt.abilist @@ -0,0 +1,2 @@ +GLIBC_2.32 crypt F +GLIBC_2.32 crypt_r F diff --git a/sysdeps/unix/sysv/linux/riscv/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/libdl.abilist new file mode 100644 index 0000000000..bf20b0c404 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libdl.abilist @@ -0,0 +1,9 @@ +GLIBC_2.32 dladdr F +GLIBC_2.32 dladdr1 F +GLIBC_2.32 dlclose F +GLIBC_2.32 dlerror F +GLIBC_2.32 dlinfo F +GLIBC_2.32 dlmopen F +GLIBC_2.32 dlopen F +GLIBC_2.32 dlsym F +GLIBC_2.32 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/libm.abilist b/sysdeps/unix/sysv/linux/riscv/libm.abilist new file mode 100644 index 0000000000..a79e180258 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libm.abilist @@ -0,0 +1,940 @@ +GLIBC_2.32 __clog10 F +GLIBC_2.32 __clog10f F +GLIBC_2.32 __clog10l F +GLIBC_2.32 __finite F +GLIBC_2.32 __finitef F +GLIBC_2.32 __finitel F +GLIBC_2.32 __fpclassify F +GLIBC_2.32 __fpclassifyf F +GLIBC_2.32 __fpclassifyl F +GLIBC_2.32 __iseqsig F +GLIBC_2.32 __iseqsigf F +GLIBC_2.32 __iseqsigl F +GLIBC_2.32 __issignaling F +GLIBC_2.32 __issignalingf F +GLIBC_2.32 __issignalingl F +GLIBC_2.32 __signbit F +GLIBC_2.32 __signbitf F +GLIBC_2.32 __signbitl F +GLIBC_2.32 __signgam D 0x4 +GLIBC_2.32 acos F +GLIBC_2.32 acosf F +GLIBC_2.32 acosf128 F +GLIBC_2.32 acosf32 F +GLIBC_2.32 acosf32x F +GLIBC_2.32 acosf64 F +GLIBC_2.32 acosf64x F +GLIBC_2.32 acosh F +GLIBC_2.32 acoshf F +GLIBC_2.32 acoshf128 F +GLIBC_2.32 acoshf32 F +GLIBC_2.32 acoshf32x F +GLIBC_2.32 acoshf64 F +GLIBC_2.32 acoshf64x F +GLIBC_2.32 acoshl F +GLIBC_2.32 acosl F +GLIBC_2.32 asin F +GLIBC_2.32 asinf F +GLIBC_2.32 asinf128 F +GLIBC_2.32 asinf32 F +GLIBC_2.32 asinf32x F +GLIBC_2.32 asinf64 F +GLIBC_2.32 asinf64x F +GLIBC_2.32 asinh F +GLIBC_2.32 asinhf F +GLIBC_2.32 asinhf128 F +GLIBC_2.32 asinhf32 F +GLIBC_2.32 asinhf32x F +GLIBC_2.32 asinhf64 F +GLIBC_2.32 asinhf64x F +GLIBC_2.32 asinhl F +GLIBC_2.32 asinl F +GLIBC_2.32 atan F +GLIBC_2.32 atan2 F +GLIBC_2.32 atan2f F +GLIBC_2.32 atan2f128 F +GLIBC_2.32 atan2f32 F +GLIBC_2.32 atan2f32x F +GLIBC_2.32 atan2f64 F +GLIBC_2.32 atan2f64x F +GLIBC_2.32 atan2l F +GLIBC_2.32 atanf F +GLIBC_2.32 atanf128 F +GLIBC_2.32 atanf32 F +GLIBC_2.32 atanf32x F +GLIBC_2.32 atanf64 F +GLIBC_2.32 atanf64x F +GLIBC_2.32 atanh F +GLIBC_2.32 atanhf F +GLIBC_2.32 atanhf128 F +GLIBC_2.32 atanhf32 F +GLIBC_2.32 atanhf32x F +GLIBC_2.32 atanhf64 F +GLIBC_2.32 atanhf64x F +GLIBC_2.32 atanhl F +GLIBC_2.32 atanl F +GLIBC_2.32 cabs F +GLIBC_2.32 cabsf F +GLIBC_2.32 cabsf128 F +GLIBC_2.32 cabsf32 F +GLIBC_2.32 cabsf32x F +GLIBC_2.32 cabsf64 F +GLIBC_2.32 cabsf64x F +GLIBC_2.32 cabsl F +GLIBC_2.32 cacos F +GLIBC_2.32 cacosf F +GLIBC_2.32 cacosf128 F +GLIBC_2.32 cacosf32 F +GLIBC_2.32 cacosf32x F +GLIBC_2.32 cacosf64 F +GLIBC_2.32 cacosf64x F +GLIBC_2.32 cacosh F +GLIBC_2.32 cacoshf F +GLIBC_2.32 cacoshf128 F +GLIBC_2.32 cacoshf32 F +GLIBC_2.32 cacoshf32x F +GLIBC_2.32 cacoshf64 F +GLIBC_2.32 cacoshf64x F +GLIBC_2.32 cacoshl F +GLIBC_2.32 cacosl F +GLIBC_2.32 canonicalize F +GLIBC_2.32 canonicalizef F +GLIBC_2.32 canonicalizef128 F +GLIBC_2.32 canonicalizef32 F +GLIBC_2.32 canonicalizef32x F +GLIBC_2.32 canonicalizef64 F +GLIBC_2.32 canonicalizef64x F +GLIBC_2.32 canonicalizel F +GLIBC_2.32 carg F +GLIBC_2.32 cargf F +GLIBC_2.32 cargf128 F +GLIBC_2.32 cargf32 F +GLIBC_2.32 cargf32x F +GLIBC_2.32 cargf64 F +GLIBC_2.32 cargf64x F +GLIBC_2.32 cargl F +GLIBC_2.32 casin F +GLIBC_2.32 casinf F +GLIBC_2.32 casinf128 F +GLIBC_2.32 casinf32 F +GLIBC_2.32 casinf32x F +GLIBC_2.32 casinf64 F +GLIBC_2.32 casinf64x F +GLIBC_2.32 casinh F +GLIBC_2.32 casinhf F +GLIBC_2.32 casinhf128 F +GLIBC_2.32 casinhf32 F +GLIBC_2.32 casinhf32x F +GLIBC_2.32 casinhf64 F +GLIBC_2.32 casinhf64x F +GLIBC_2.32 casinhl F +GLIBC_2.32 casinl F +GLIBC_2.32 catan F +GLIBC_2.32 catanf F +GLIBC_2.32 catanf128 F +GLIBC_2.32 catanf32 F +GLIBC_2.32 catanf32x F +GLIBC_2.32 catanf64 F +GLIBC_2.32 catanf64x F +GLIBC_2.32 catanh F +GLIBC_2.32 catanhf F +GLIBC_2.32 catanhf128 F +GLIBC_2.32 catanhf32 F +GLIBC_2.32 catanhf32x F +GLIBC_2.32 catanhf64 F +GLIBC_2.32 catanhf64x F +GLIBC_2.32 catanhl F +GLIBC_2.32 catanl F +GLIBC_2.32 cbrt F +GLIBC_2.32 cbrtf F +GLIBC_2.32 cbrtf128 F +GLIBC_2.32 cbrtf32 F +GLIBC_2.32 cbrtf32x F +GLIBC_2.32 cbrtf64 F +GLIBC_2.32 cbrtf64x F +GLIBC_2.32 cbrtl F +GLIBC_2.32 ccos F +GLIBC_2.32 ccosf F +GLIBC_2.32 ccosf128 F +GLIBC_2.32 ccosf32 F +GLIBC_2.32 ccosf32x F +GLIBC_2.32 ccosf64 F +GLIBC_2.32 ccosf64x F +GLIBC_2.32 ccosh F +GLIBC_2.32 ccoshf F +GLIBC_2.32 ccoshf128 F +GLIBC_2.32 ccoshf32 F +GLIBC_2.32 ccoshf32x F +GLIBC_2.32 ccoshf64 F +GLIBC_2.32 ccoshf64x F +GLIBC_2.32 ccoshl F +GLIBC_2.32 ccosl F +GLIBC_2.32 ceil F +GLIBC_2.32 ceilf F +GLIBC_2.32 ceilf128 F +GLIBC_2.32 ceilf32 F +GLIBC_2.32 ceilf32x F +GLIBC_2.32 ceilf64 F +GLIBC_2.32 ceilf64x F +GLIBC_2.32 ceill F +GLIBC_2.32 cexp F +GLIBC_2.32 cexpf F +GLIBC_2.32 cexpf128 F +GLIBC_2.32 cexpf32 F +GLIBC_2.32 cexpf32x F +GLIBC_2.32 cexpf64 F +GLIBC_2.32 cexpf64x F +GLIBC_2.32 cexpl F +GLIBC_2.32 cimag F +GLIBC_2.32 cimagf F +GLIBC_2.32 cimagf128 F +GLIBC_2.32 cimagf32 F +GLIBC_2.32 cimagf32x F +GLIBC_2.32 cimagf64 F +GLIBC_2.32 cimagf64x F +GLIBC_2.32 cimagl F +GLIBC_2.32 clog F +GLIBC_2.32 clog10 F +GLIBC_2.32 clog10f F +GLIBC_2.32 clog10f128 F +GLIBC_2.32 clog10f32 F +GLIBC_2.32 clog10f32x F +GLIBC_2.32 clog10f64 F +GLIBC_2.32 clog10f64x F +GLIBC_2.32 clog10l F +GLIBC_2.32 clogf F +GLIBC_2.32 clogf128 F +GLIBC_2.32 clogf32 F +GLIBC_2.32 clogf32x F +GLIBC_2.32 clogf64 F +GLIBC_2.32 clogf64x F +GLIBC_2.32 clogl F +GLIBC_2.32 conj F +GLIBC_2.32 conjf F +GLIBC_2.32 conjf128 F +GLIBC_2.32 conjf32 F +GLIBC_2.32 conjf32x F +GLIBC_2.32 conjf64 F +GLIBC_2.32 conjf64x F +GLIBC_2.32 conjl F +GLIBC_2.32 copysign F +GLIBC_2.32 copysignf F +GLIBC_2.32 copysignf128 F +GLIBC_2.32 copysignf32 F +GLIBC_2.32 copysignf32x F +GLIBC_2.32 copysignf64 F +GLIBC_2.32 copysignf64x F +GLIBC_2.32 copysignl F +GLIBC_2.32 cos F +GLIBC_2.32 cosf F +GLIBC_2.32 cosf128 F +GLIBC_2.32 cosf32 F +GLIBC_2.32 cosf32x F +GLIBC_2.32 cosf64 F +GLIBC_2.32 cosf64x F +GLIBC_2.32 cosh F +GLIBC_2.32 coshf F +GLIBC_2.32 coshf128 F +GLIBC_2.32 coshf32 F +GLIBC_2.32 coshf32x F +GLIBC_2.32 coshf64 F +GLIBC_2.32 coshf64x F +GLIBC_2.32 coshl F +GLIBC_2.32 cosl F +GLIBC_2.32 cpow F +GLIBC_2.32 cpowf F +GLIBC_2.32 cpowf128 F +GLIBC_2.32 cpowf32 F +GLIBC_2.32 cpowf32x F +GLIBC_2.32 cpowf64 F +GLIBC_2.32 cpowf64x F +GLIBC_2.32 cpowl F +GLIBC_2.32 cproj F +GLIBC_2.32 cprojf F +GLIBC_2.32 cprojf128 F +GLIBC_2.32 cprojf32 F +GLIBC_2.32 cprojf32x F +GLIBC_2.32 cprojf64 F +GLIBC_2.32 cprojf64x F +GLIBC_2.32 cprojl F +GLIBC_2.32 creal F +GLIBC_2.32 crealf F +GLIBC_2.32 crealf128 F +GLIBC_2.32 crealf32 F +GLIBC_2.32 crealf32x F +GLIBC_2.32 crealf64 F +GLIBC_2.32 crealf64x F +GLIBC_2.32 creall F +GLIBC_2.32 csin F +GLIBC_2.32 csinf F +GLIBC_2.32 csinf128 F +GLIBC_2.32 csinf32 F +GLIBC_2.32 csinf32x F +GLIBC_2.32 csinf64 F +GLIBC_2.32 csinf64x F +GLIBC_2.32 csinh F +GLIBC_2.32 csinhf F +GLIBC_2.32 csinhf128 F +GLIBC_2.32 csinhf32 F +GLIBC_2.32 csinhf32x F +GLIBC_2.32 csinhf64 F +GLIBC_2.32 csinhf64x F +GLIBC_2.32 csinhl F +GLIBC_2.32 csinl F +GLIBC_2.32 csqrt F +GLIBC_2.32 csqrtf F +GLIBC_2.32 csqrtf128 F +GLIBC_2.32 csqrtf32 F +GLIBC_2.32 csqrtf32x F +GLIBC_2.32 csqrtf64 F +GLIBC_2.32 csqrtf64x F +GLIBC_2.32 csqrtl F +GLIBC_2.32 ctan F +GLIBC_2.32 ctanf F +GLIBC_2.32 ctanf128 F +GLIBC_2.32 ctanf32 F +GLIBC_2.32 ctanf32x F +GLIBC_2.32 ctanf64 F +GLIBC_2.32 ctanf64x F +GLIBC_2.32 ctanh F +GLIBC_2.32 ctanhf F +GLIBC_2.32 ctanhf128 F +GLIBC_2.32 ctanhf32 F +GLIBC_2.32 ctanhf32x F +GLIBC_2.32 ctanhf64 F +GLIBC_2.32 ctanhf64x F +GLIBC_2.32 ctanhl F +GLIBC_2.32 ctanl F +GLIBC_2.32 daddl F +GLIBC_2.32 ddivl F +GLIBC_2.32 dmull F +GLIBC_2.32 drem F +GLIBC_2.32 dremf F +GLIBC_2.32 dreml F +GLIBC_2.32 dsubl F +GLIBC_2.32 erf F +GLIBC_2.32 erfc F +GLIBC_2.32 erfcf F +GLIBC_2.32 erfcf128 F +GLIBC_2.32 erfcf32 F +GLIBC_2.32 erfcf32x F +GLIBC_2.32 erfcf64 F +GLIBC_2.32 erfcf64x F +GLIBC_2.32 erfcl F +GLIBC_2.32 erff F +GLIBC_2.32 erff128 F +GLIBC_2.32 erff32 F +GLIBC_2.32 erff32x F +GLIBC_2.32 erff64 F +GLIBC_2.32 erff64x F +GLIBC_2.32 erfl F +GLIBC_2.32 exp F +GLIBC_2.32 exp10 F +GLIBC_2.32 exp10f F +GLIBC_2.32 exp10f128 F +GLIBC_2.32 exp10f32 F +GLIBC_2.32 exp10f32x F +GLIBC_2.32 exp10f64 F +GLIBC_2.32 exp10f64x F +GLIBC_2.32 exp10l F +GLIBC_2.32 exp2 F +GLIBC_2.32 exp2f F +GLIBC_2.32 exp2f128 F +GLIBC_2.32 exp2f32 F +GLIBC_2.32 exp2f32x F +GLIBC_2.32 exp2f64 F +GLIBC_2.32 exp2f64x F +GLIBC_2.32 exp2l F +GLIBC_2.32 expf F +GLIBC_2.32 expf128 F +GLIBC_2.32 expf32 F +GLIBC_2.32 expf32x F +GLIBC_2.32 expf64 F +GLIBC_2.32 expf64x F +GLIBC_2.32 expl F +GLIBC_2.32 expm1 F +GLIBC_2.32 expm1f F +GLIBC_2.32 expm1f128 F +GLIBC_2.32 expm1f32 F +GLIBC_2.32 expm1f32x F +GLIBC_2.32 expm1f64 F +GLIBC_2.32 expm1f64x F +GLIBC_2.32 expm1l F +GLIBC_2.32 f32addf128 F +GLIBC_2.32 f32addf32x F +GLIBC_2.32 f32addf64 F +GLIBC_2.32 f32addf64x F +GLIBC_2.32 f32divf128 F +GLIBC_2.32 f32divf32x F +GLIBC_2.32 f32divf64 F +GLIBC_2.32 f32divf64x F +GLIBC_2.32 f32mulf128 F +GLIBC_2.32 f32mulf32x F +GLIBC_2.32 f32mulf64 F +GLIBC_2.32 f32mulf64x F +GLIBC_2.32 f32subf128 F +GLIBC_2.32 f32subf32x F +GLIBC_2.32 f32subf64 F +GLIBC_2.32 f32subf64x F +GLIBC_2.32 f32xaddf128 F +GLIBC_2.32 f32xaddf64 F +GLIBC_2.32 f32xaddf64x F +GLIBC_2.32 f32xdivf128 F +GLIBC_2.32 f32xdivf64 F +GLIBC_2.32 f32xdivf64x F +GLIBC_2.32 f32xmulf128 F +GLIBC_2.32 f32xmulf64 F +GLIBC_2.32 f32xmulf64x F +GLIBC_2.32 f32xsubf128 F +GLIBC_2.32 f32xsubf64 F +GLIBC_2.32 f32xsubf64x F +GLIBC_2.32 f64addf128 F +GLIBC_2.32 f64addf64x F +GLIBC_2.32 f64divf128 F +GLIBC_2.32 f64divf64x F +GLIBC_2.32 f64mulf128 F +GLIBC_2.32 f64mulf64x F +GLIBC_2.32 f64subf128 F +GLIBC_2.32 f64subf64x F +GLIBC_2.32 f64xaddf128 F +GLIBC_2.32 f64xdivf128 F +GLIBC_2.32 f64xmulf128 F +GLIBC_2.32 f64xsubf128 F +GLIBC_2.32 fabs F +GLIBC_2.32 fabsf F +GLIBC_2.32 fabsf128 F +GLIBC_2.32 fabsf32 F +GLIBC_2.32 fabsf32x F +GLIBC_2.32 fabsf64 F +GLIBC_2.32 fabsf64x F +GLIBC_2.32 fabsl F +GLIBC_2.32 fadd F +GLIBC_2.32 faddl F +GLIBC_2.32 fdim F +GLIBC_2.32 fdimf F +GLIBC_2.32 fdimf128 F +GLIBC_2.32 fdimf32 F +GLIBC_2.32 fdimf32x F +GLIBC_2.32 fdimf64 F +GLIBC_2.32 fdimf64x F +GLIBC_2.32 fdiml F +GLIBC_2.32 fdiv F +GLIBC_2.32 fdivl F +GLIBC_2.32 feclearexcept F +GLIBC_2.32 fedisableexcept F +GLIBC_2.32 feenableexcept F +GLIBC_2.32 fegetenv F +GLIBC_2.32 fegetexcept F +GLIBC_2.32 fegetexceptflag F +GLIBC_2.32 fegetmode F +GLIBC_2.32 fegetround F +GLIBC_2.32 feholdexcept F +GLIBC_2.32 feraiseexcept F +GLIBC_2.32 fesetenv F +GLIBC_2.32 fesetexcept F +GLIBC_2.32 fesetexceptflag F +GLIBC_2.32 fesetmode F +GLIBC_2.32 fesetround F +GLIBC_2.32 fetestexcept F +GLIBC_2.32 fetestexceptflag F +GLIBC_2.32 feupdateenv F +GLIBC_2.32 finite F +GLIBC_2.32 finitef F +GLIBC_2.32 finitel F +GLIBC_2.32 floor F +GLIBC_2.32 floorf F +GLIBC_2.32 floorf128 F +GLIBC_2.32 floorf32 F +GLIBC_2.32 floorf32x F +GLIBC_2.32 floorf64 F +GLIBC_2.32 floorf64x F +GLIBC_2.32 floorl F +GLIBC_2.32 fma F +GLIBC_2.32 fmaf F +GLIBC_2.32 fmaf128 F +GLIBC_2.32 fmaf32 F +GLIBC_2.32 fmaf32x F +GLIBC_2.32 fmaf64 F +GLIBC_2.32 fmaf64x F +GLIBC_2.32 fmal F +GLIBC_2.32 fmax F +GLIBC_2.32 fmaxf F +GLIBC_2.32 fmaxf128 F +GLIBC_2.32 fmaxf32 F +GLIBC_2.32 fmaxf32x F +GLIBC_2.32 fmaxf64 F +GLIBC_2.32 fmaxf64x F +GLIBC_2.32 fmaxl F +GLIBC_2.32 fmaxmag F +GLIBC_2.32 fmaxmagf F +GLIBC_2.32 fmaxmagf128 F +GLIBC_2.32 fmaxmagf32 F +GLIBC_2.32 fmaxmagf32x F +GLIBC_2.32 fmaxmagf64 F +GLIBC_2.32 fmaxmagf64x F +GLIBC_2.32 fmaxmagl F +GLIBC_2.32 fmin F +GLIBC_2.32 fminf F +GLIBC_2.32 fminf128 F +GLIBC_2.32 fminf32 F +GLIBC_2.32 fminf32x F +GLIBC_2.32 fminf64 F +GLIBC_2.32 fminf64x F +GLIBC_2.32 fminl F +GLIBC_2.32 fminmag F +GLIBC_2.32 fminmagf F +GLIBC_2.32 fminmagf128 F +GLIBC_2.32 fminmagf32 F +GLIBC_2.32 fminmagf32x F +GLIBC_2.32 fminmagf64 F +GLIBC_2.32 fminmagf64x F +GLIBC_2.32 fminmagl F +GLIBC_2.32 fmod F +GLIBC_2.32 fmodf F +GLIBC_2.32 fmodf128 F +GLIBC_2.32 fmodf32 F +GLIBC_2.32 fmodf32x F +GLIBC_2.32 fmodf64 F +GLIBC_2.32 fmodf64x F +GLIBC_2.32 fmodl F +GLIBC_2.32 fmul F +GLIBC_2.32 fmull F +GLIBC_2.32 frexp F +GLIBC_2.32 frexpf F +GLIBC_2.32 frexpf128 F +GLIBC_2.32 frexpf32 F +GLIBC_2.32 frexpf32x F +GLIBC_2.32 frexpf64 F +GLIBC_2.32 frexpf64x F +GLIBC_2.32 frexpl F +GLIBC_2.32 fromfp F +GLIBC_2.32 fromfpf F +GLIBC_2.32 fromfpf128 F +GLIBC_2.32 fromfpf32 F +GLIBC_2.32 fromfpf32x F +GLIBC_2.32 fromfpf64 F +GLIBC_2.32 fromfpf64x F +GLIBC_2.32 fromfpl F +GLIBC_2.32 fromfpx F +GLIBC_2.32 fromfpxf F +GLIBC_2.32 fromfpxf128 F +GLIBC_2.32 fromfpxf32 F +GLIBC_2.32 fromfpxf32x F +GLIBC_2.32 fromfpxf64 F +GLIBC_2.32 fromfpxf64x F +GLIBC_2.32 fromfpxl F +GLIBC_2.32 fsub F +GLIBC_2.32 fsubl F +GLIBC_2.32 gamma F +GLIBC_2.32 gammaf F +GLIBC_2.32 gammal F +GLIBC_2.32 getpayload F +GLIBC_2.32 getpayloadf F +GLIBC_2.32 getpayloadf128 F +GLIBC_2.32 getpayloadf32 F +GLIBC_2.32 getpayloadf32x F +GLIBC_2.32 getpayloadf64 F +GLIBC_2.32 getpayloadf64x F +GLIBC_2.32 getpayloadl F +GLIBC_2.32 hypot F +GLIBC_2.32 hypotf F +GLIBC_2.32 hypotf128 F +GLIBC_2.32 hypotf32 F +GLIBC_2.32 hypotf32x F +GLIBC_2.32 hypotf64 F +GLIBC_2.32 hypotf64x F +GLIBC_2.32 hypotl F +GLIBC_2.32 ilogb F +GLIBC_2.32 ilogbf F +GLIBC_2.32 ilogbf128 F +GLIBC_2.32 ilogbf32 F +GLIBC_2.32 ilogbf32x F +GLIBC_2.32 ilogbf64 F +GLIBC_2.32 ilogbf64x F +GLIBC_2.32 ilogbl F +GLIBC_2.32 j0 F +GLIBC_2.32 j0f F +GLIBC_2.32 j0f128 F +GLIBC_2.32 j0f32 F +GLIBC_2.32 j0f32x F +GLIBC_2.32 j0f64 F +GLIBC_2.32 j0f64x F +GLIBC_2.32 j0l F +GLIBC_2.32 j1 F +GLIBC_2.32 j1f F +GLIBC_2.32 j1f128 F +GLIBC_2.32 j1f32 F +GLIBC_2.32 j1f32x F +GLIBC_2.32 j1f64 F +GLIBC_2.32 j1f64x F +GLIBC_2.32 j1l F +GLIBC_2.32 jn F +GLIBC_2.32 jnf F +GLIBC_2.32 jnf128 F +GLIBC_2.32 jnf32 F +GLIBC_2.32 jnf32x F +GLIBC_2.32 jnf64 F +GLIBC_2.32 jnf64x F +GLIBC_2.32 jnl F +GLIBC_2.32 ldexp F +GLIBC_2.32 ldexpf F +GLIBC_2.32 ldexpf128 F +GLIBC_2.32 ldexpf32 F +GLIBC_2.32 ldexpf32x F +GLIBC_2.32 ldexpf64 F +GLIBC_2.32 ldexpf64x F +GLIBC_2.32 ldexpl F +GLIBC_2.32 lgamma F +GLIBC_2.32 lgamma_r F +GLIBC_2.32 lgammaf F +GLIBC_2.32 lgammaf128 F +GLIBC_2.32 lgammaf128_r F +GLIBC_2.32 lgammaf32 F +GLIBC_2.32 lgammaf32_r F +GLIBC_2.32 lgammaf32x F +GLIBC_2.32 lgammaf32x_r F +GLIBC_2.32 lgammaf64 F +GLIBC_2.32 lgammaf64_r F +GLIBC_2.32 lgammaf64x F +GLIBC_2.32 lgammaf64x_r F +GLIBC_2.32 lgammaf_r F +GLIBC_2.32 lgammal F +GLIBC_2.32 lgammal_r F +GLIBC_2.32 llogb F +GLIBC_2.32 llogbf F +GLIBC_2.32 llogbf128 F +GLIBC_2.32 llogbf32 F +GLIBC_2.32 llogbf32x F +GLIBC_2.32 llogbf64 F +GLIBC_2.32 llogbf64x F +GLIBC_2.32 llogbl F +GLIBC_2.32 llrint F +GLIBC_2.32 llrintf F +GLIBC_2.32 llrintf128 F +GLIBC_2.32 llrintf32 F +GLIBC_2.32 llrintf32x F +GLIBC_2.32 llrintf64 F +GLIBC_2.32 llrintf64x F +GLIBC_2.32 llrintl F +GLIBC_2.32 llround F +GLIBC_2.32 llroundf F +GLIBC_2.32 llroundf128 F +GLIBC_2.32 llroundf32 F +GLIBC_2.32 llroundf32x F +GLIBC_2.32 llroundf64 F +GLIBC_2.32 llroundf64x F +GLIBC_2.32 llroundl F +GLIBC_2.32 log F +GLIBC_2.32 log10 F +GLIBC_2.32 log10f F +GLIBC_2.32 log10f128 F +GLIBC_2.32 log10f32 F +GLIBC_2.32 log10f32x F +GLIBC_2.32 log10f64 F +GLIBC_2.32 log10f64x F +GLIBC_2.32 log10l F +GLIBC_2.32 log1p F +GLIBC_2.32 log1pf F +GLIBC_2.32 log1pf128 F +GLIBC_2.32 log1pf32 F +GLIBC_2.32 log1pf32x F +GLIBC_2.32 log1pf64 F +GLIBC_2.32 log1pf64x F +GLIBC_2.32 log1pl F +GLIBC_2.32 log2 F +GLIBC_2.32 log2f F +GLIBC_2.32 log2f128 F +GLIBC_2.32 log2f32 F +GLIBC_2.32 log2f32x F +GLIBC_2.32 log2f64 F +GLIBC_2.32 log2f64x F +GLIBC_2.32 log2l F +GLIBC_2.32 logb F +GLIBC_2.32 logbf F +GLIBC_2.32 logbf128 F +GLIBC_2.32 logbf32 F +GLIBC_2.32 logbf32x F +GLIBC_2.32 logbf64 F +GLIBC_2.32 logbf64x F +GLIBC_2.32 logbl F +GLIBC_2.32 logf F +GLIBC_2.32 logf128 F +GLIBC_2.32 logf32 F +GLIBC_2.32 logf32x F +GLIBC_2.32 logf64 F +GLIBC_2.32 logf64x F +GLIBC_2.32 logl F +GLIBC_2.32 lrint F +GLIBC_2.32 lrintf F +GLIBC_2.32 lrintf128 F +GLIBC_2.32 lrintf32 F +GLIBC_2.32 lrintf32x F +GLIBC_2.32 lrintf64 F +GLIBC_2.32 lrintf64x F +GLIBC_2.32 lrintl F +GLIBC_2.32 lround F +GLIBC_2.32 lroundf F +GLIBC_2.32 lroundf128 F +GLIBC_2.32 lroundf32 F +GLIBC_2.32 lroundf32x F +GLIBC_2.32 lroundf64 F +GLIBC_2.32 lroundf64x F +GLIBC_2.32 lroundl F +GLIBC_2.32 modf F +GLIBC_2.32 modff F +GLIBC_2.32 modff128 F +GLIBC_2.32 modff32 F +GLIBC_2.32 modff32x F +GLIBC_2.32 modff64 F +GLIBC_2.32 modff64x F +GLIBC_2.32 modfl F +GLIBC_2.32 nan F +GLIBC_2.32 nanf F +GLIBC_2.32 nanf128 F +GLIBC_2.32 nanf32 F +GLIBC_2.32 nanf32x F +GLIBC_2.32 nanf64 F +GLIBC_2.32 nanf64x F +GLIBC_2.32 nanl F +GLIBC_2.32 nearbyint F +GLIBC_2.32 nearbyintf F +GLIBC_2.32 nearbyintf128 F +GLIBC_2.32 nearbyintf32 F +GLIBC_2.32 nearbyintf32x F +GLIBC_2.32 nearbyintf64 F +GLIBC_2.32 nearbyintf64x F +GLIBC_2.32 nearbyintl F +GLIBC_2.32 nextafter F +GLIBC_2.32 nextafterf F +GLIBC_2.32 nextafterf128 F +GLIBC_2.32 nextafterf32 F +GLIBC_2.32 nextafterf32x F +GLIBC_2.32 nextafterf64 F +GLIBC_2.32 nextafterf64x F +GLIBC_2.32 nextafterl F +GLIBC_2.32 nextdown F +GLIBC_2.32 nextdownf F +GLIBC_2.32 nextdownf128 F +GLIBC_2.32 nextdownf32 F +GLIBC_2.32 nextdownf32x F +GLIBC_2.32 nextdownf64 F +GLIBC_2.32 nextdownf64x F +GLIBC_2.32 nextdownl F +GLIBC_2.32 nexttoward F +GLIBC_2.32 nexttowardf F +GLIBC_2.32 nexttowardl F +GLIBC_2.32 nextup F +GLIBC_2.32 nextupf F +GLIBC_2.32 nextupf128 F +GLIBC_2.32 nextupf32 F +GLIBC_2.32 nextupf32x F +GLIBC_2.32 nextupf64 F +GLIBC_2.32 nextupf64x F +GLIBC_2.32 nextupl F +GLIBC_2.32 pow F +GLIBC_2.32 powf F +GLIBC_2.32 powf128 F +GLIBC_2.32 powf32 F +GLIBC_2.32 powf32x F +GLIBC_2.32 powf64 F +GLIBC_2.32 powf64x F +GLIBC_2.32 powl F +GLIBC_2.32 remainder F +GLIBC_2.32 remainderf F +GLIBC_2.32 remainderf128 F +GLIBC_2.32 remainderf32 F +GLIBC_2.32 remainderf32x F +GLIBC_2.32 remainderf64 F +GLIBC_2.32 remainderf64x F +GLIBC_2.32 remainderl F +GLIBC_2.32 remquo F +GLIBC_2.32 remquof F +GLIBC_2.32 remquof128 F +GLIBC_2.32 remquof32 F +GLIBC_2.32 remquof32x F +GLIBC_2.32 remquof64 F +GLIBC_2.32 remquof64x F +GLIBC_2.32 remquol F +GLIBC_2.32 rint F +GLIBC_2.32 rintf F +GLIBC_2.32 rintf128 F +GLIBC_2.32 rintf32 F +GLIBC_2.32 rintf32x F +GLIBC_2.32 rintf64 F +GLIBC_2.32 rintf64x F +GLIBC_2.32 rintl F +GLIBC_2.32 round F +GLIBC_2.32 roundeven F +GLIBC_2.32 roundevenf F +GLIBC_2.32 roundevenf128 F +GLIBC_2.32 roundevenf32 F +GLIBC_2.32 roundevenf32x F +GLIBC_2.32 roundevenf64 F +GLIBC_2.32 roundevenf64x F +GLIBC_2.32 roundevenl F +GLIBC_2.32 roundf F +GLIBC_2.32 roundf128 F +GLIBC_2.32 roundf32 F +GLIBC_2.32 roundf32x F +GLIBC_2.32 roundf64 F +GLIBC_2.32 roundf64x F +GLIBC_2.32 roundl F +GLIBC_2.32 scalb F +GLIBC_2.32 scalbf F +GLIBC_2.32 scalbl F +GLIBC_2.32 scalbln F +GLIBC_2.32 scalblnf F +GLIBC_2.32 scalblnf128 F +GLIBC_2.32 scalblnf32 F +GLIBC_2.32 scalblnf32x F +GLIBC_2.32 scalblnf64 F +GLIBC_2.32 scalblnf64x F +GLIBC_2.32 scalblnl F +GLIBC_2.32 scalbn F +GLIBC_2.32 scalbnf F +GLIBC_2.32 scalbnf128 F +GLIBC_2.32 scalbnf32 F +GLIBC_2.32 scalbnf32x F +GLIBC_2.32 scalbnf64 F +GLIBC_2.32 scalbnf64x F +GLIBC_2.32 scalbnl F +GLIBC_2.32 setpayload F +GLIBC_2.32 setpayloadf F +GLIBC_2.32 setpayloadf128 F +GLIBC_2.32 setpayloadf32 F +GLIBC_2.32 setpayloadf32x F +GLIBC_2.32 setpayloadf64 F +GLIBC_2.32 setpayloadf64x F +GLIBC_2.32 setpayloadl F +GLIBC_2.32 setpayloadsig F +GLIBC_2.32 setpayloadsigf F +GLIBC_2.32 setpayloadsigf128 F +GLIBC_2.32 setpayloadsigf32 F +GLIBC_2.32 setpayloadsigf32x F +GLIBC_2.32 setpayloadsigf64 F +GLIBC_2.32 setpayloadsigf64x F +GLIBC_2.32 setpayloadsigl F +GLIBC_2.32 signgam D 0x4 +GLIBC_2.32 significand F +GLIBC_2.32 significandf F +GLIBC_2.32 significandl F +GLIBC_2.32 sin F +GLIBC_2.32 sincos F +GLIBC_2.32 sincosf F +GLIBC_2.32 sincosf128 F +GLIBC_2.32 sincosf32 F +GLIBC_2.32 sincosf32x F +GLIBC_2.32 sincosf64 F +GLIBC_2.32 sincosf64x F +GLIBC_2.32 sincosl F +GLIBC_2.32 sinf F +GLIBC_2.32 sinf128 F +GLIBC_2.32 sinf32 F +GLIBC_2.32 sinf32x F +GLIBC_2.32 sinf64 F +GLIBC_2.32 sinf64x F +GLIBC_2.32 sinh F +GLIBC_2.32 sinhf F +GLIBC_2.32 sinhf128 F +GLIBC_2.32 sinhf32 F +GLIBC_2.32 sinhf32x F +GLIBC_2.32 sinhf64 F +GLIBC_2.32 sinhf64x F +GLIBC_2.32 sinhl F +GLIBC_2.32 sinl F +GLIBC_2.32 sqrt F +GLIBC_2.32 sqrtf F +GLIBC_2.32 sqrtf128 F +GLIBC_2.32 sqrtf32 F +GLIBC_2.32 sqrtf32x F +GLIBC_2.32 sqrtf64 F +GLIBC_2.32 sqrtf64x F +GLIBC_2.32 sqrtl F +GLIBC_2.32 tan F +GLIBC_2.32 tanf F +GLIBC_2.32 tanf128 F +GLIBC_2.32 tanf32 F +GLIBC_2.32 tanf32x F +GLIBC_2.32 tanf64 F +GLIBC_2.32 tanf64x F +GLIBC_2.32 tanh F +GLIBC_2.32 tanhf F +GLIBC_2.32 tanhf128 F +GLIBC_2.32 tanhf32 F +GLIBC_2.32 tanhf32x F +GLIBC_2.32 tanhf64 F +GLIBC_2.32 tanhf64x F +GLIBC_2.32 tanhl F +GLIBC_2.32 tanl F +GLIBC_2.32 tgamma F +GLIBC_2.32 tgammaf F +GLIBC_2.32 tgammaf128 F +GLIBC_2.32 tgammaf32 F +GLIBC_2.32 tgammaf32x F +GLIBC_2.32 tgammaf64 F +GLIBC_2.32 tgammaf64x F +GLIBC_2.32 tgammal F +GLIBC_2.32 totalorder F +GLIBC_2.32 totalorderf F +GLIBC_2.32 totalorderf128 F +GLIBC_2.32 totalorderf32 F +GLIBC_2.32 totalorderf32x F +GLIBC_2.32 totalorderf64 F +GLIBC_2.32 totalorderf64x F +GLIBC_2.32 totalorderl F +GLIBC_2.32 totalordermag F +GLIBC_2.32 totalordermagf F +GLIBC_2.32 totalordermagf128 F +GLIBC_2.32 totalordermagf32 F +GLIBC_2.32 totalordermagf32x F +GLIBC_2.32 totalordermagf64 F +GLIBC_2.32 totalordermagf64x F +GLIBC_2.32 totalordermagl F +GLIBC_2.32 trunc F +GLIBC_2.32 truncf F +GLIBC_2.32 truncf128 F +GLIBC_2.32 truncf32 F +GLIBC_2.32 truncf32x F +GLIBC_2.32 truncf64 F +GLIBC_2.32 truncf64x F +GLIBC_2.32 truncl F +GLIBC_2.32 ufromfp F +GLIBC_2.32 ufromfpf F +GLIBC_2.32 ufromfpf128 F +GLIBC_2.32 ufromfpf32 F +GLIBC_2.32 ufromfpf32x F +GLIBC_2.32 ufromfpf64 F +GLIBC_2.32 ufromfpf64x F +GLIBC_2.32 ufromfpl F +GLIBC_2.32 ufromfpx F +GLIBC_2.32 ufromfpxf F +GLIBC_2.32 ufromfpxf128 F +GLIBC_2.32 ufromfpxf32 F +GLIBC_2.32 ufromfpxf32x F +GLIBC_2.32 ufromfpxf64 F +GLIBC_2.32 ufromfpxf64x F +GLIBC_2.32 ufromfpxl F +GLIBC_2.32 y0 F +GLIBC_2.32 y0f F +GLIBC_2.32 y0f128 F +GLIBC_2.32 y0f32 F +GLIBC_2.32 y0f32x F +GLIBC_2.32 y0f64 F +GLIBC_2.32 y0f64x F +GLIBC_2.32 y0l F +GLIBC_2.32 y1 F +GLIBC_2.32 y1f F +GLIBC_2.32 y1f128 F +GLIBC_2.32 y1f32 F +GLIBC_2.32 y1f32x F +GLIBC_2.32 y1f64 F +GLIBC_2.32 y1f64x F +GLIBC_2.32 y1l F +GLIBC_2.32 yn F +GLIBC_2.32 ynf F +GLIBC_2.32 ynf128 F +GLIBC_2.32 ynf32 F +GLIBC_2.32 ynf32x F +GLIBC_2.32 ynf64 F +GLIBC_2.32 ynf64x F +GLIBC_2.32 ynl F diff --git a/sysdeps/unix/sysv/linux/riscv/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/libpthread.abilist new file mode 100644 index 0000000000..1adcbecc2e --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libpthread.abilist @@ -0,0 +1,213 @@ +GLIBC_2.32 _IO_flockfile F +GLIBC_2.32 _IO_ftrylockfile F +GLIBC_2.32 _IO_funlockfile F +GLIBC_2.32 __close F +GLIBC_2.32 __connect F +GLIBC_2.32 __errno_location F +GLIBC_2.32 __h_errno_location F +GLIBC_2.32 __libc_allocate_rtsig F +GLIBC_2.32 __libc_current_sigrtmax F +GLIBC_2.32 __libc_current_sigrtmin F +GLIBC_2.32 __lseek F +GLIBC_2.32 __open F +GLIBC_2.32 __open64 F +GLIBC_2.32 __pread64 F +GLIBC_2.32 __pthread_cleanup_routine F +GLIBC_2.32 __pthread_getspecific F +GLIBC_2.32 __pthread_key_create F +GLIBC_2.32 __pthread_mutex_destroy F +GLIBC_2.32 __pthread_mutex_init F +GLIBC_2.32 __pthread_mutex_lock F +GLIBC_2.32 __pthread_mutex_trylock F +GLIBC_2.32 __pthread_mutex_unlock F +GLIBC_2.32 __pthread_mutexattr_destroy F +GLIBC_2.32 __pthread_mutexattr_init F +GLIBC_2.32 __pthread_mutexattr_settype F +GLIBC_2.32 __pthread_once F +GLIBC_2.32 __pthread_register_cancel F +GLIBC_2.32 __pthread_register_cancel_defer F +GLIBC_2.32 __pthread_rwlock_destroy F +GLIBC_2.32 __pthread_rwlock_init F +GLIBC_2.32 __pthread_rwlock_rdlock F +GLIBC_2.32 __pthread_rwlock_tryrdlock F +GLIBC_2.32 __pthread_rwlock_trywrlock F +GLIBC_2.32 __pthread_rwlock_unlock F +GLIBC_2.32 __pthread_rwlock_wrlock F +GLIBC_2.32 __pthread_setspecific F +GLIBC_2.32 __pthread_unregister_cancel F +GLIBC_2.32 __pthread_unregister_cancel_restore F +GLIBC_2.32 __pthread_unwind_next F +GLIBC_2.32 __pwrite64 F +GLIBC_2.32 __read F +GLIBC_2.32 __res_state F +GLIBC_2.32 __send F +GLIBC_2.32 __sigaction F +GLIBC_2.32 __write F +GLIBC_2.32 _pthread_cleanup_pop F +GLIBC_2.32 _pthread_cleanup_pop_restore F +GLIBC_2.32 _pthread_cleanup_push F +GLIBC_2.32 _pthread_cleanup_push_defer F +GLIBC_2.32 accept F +GLIBC_2.32 call_once F +GLIBC_2.32 close F +GLIBC_2.32 cnd_broadcast F +GLIBC_2.32 cnd_destroy F +GLIBC_2.32 cnd_init F +GLIBC_2.32 cnd_signal F +GLIBC_2.32 cnd_timedwait F +GLIBC_2.32 cnd_wait F +GLIBC_2.32 connect F +GLIBC_2.32 flockfile F +GLIBC_2.32 fsync F +GLIBC_2.32 ftrylockfile F +GLIBC_2.32 funlockfile F +GLIBC_2.32 lseek F +GLIBC_2.32 lseek64 F +GLIBC_2.32 msync F +GLIBC_2.32 mtx_destroy F +GLIBC_2.32 mtx_init F +GLIBC_2.32 mtx_lock F +GLIBC_2.32 mtx_timedlock F +GLIBC_2.32 mtx_trylock F +GLIBC_2.32 mtx_unlock F +GLIBC_2.32 open F +GLIBC_2.32 open64 F +GLIBC_2.32 pause F +GLIBC_2.32 pread F +GLIBC_2.32 pread64 F +GLIBC_2.32 pthread_attr_getaffinity_np F +GLIBC_2.32 pthread_attr_getguardsize F +GLIBC_2.32 pthread_attr_getstack F +GLIBC_2.32 pthread_attr_getstackaddr F +GLIBC_2.32 pthread_attr_getstacksize F +GLIBC_2.32 pthread_attr_setguardsize F +GLIBC_2.32 pthread_attr_setstack F +GLIBC_2.32 pthread_attr_setstackaddr F +GLIBC_2.32 pthread_attr_setstacksize F +GLIBC_2.32 pthread_barrier_destroy F +GLIBC_2.32 pthread_barrier_init F +GLIBC_2.32 pthread_barrier_wait F +GLIBC_2.32 pthread_barrierattr_destroy F +GLIBC_2.32 pthread_barrierattr_getpshared F +GLIBC_2.32 pthread_barrierattr_init F +GLIBC_2.32 pthread_barrierattr_setpshared F +GLIBC_2.32 pthread_cancel F +GLIBC_2.32 pthread_clockjoin_np F +GLIBC_2.32 pthread_cond_broadcast F +GLIBC_2.32 pthread_cond_clockwait F +GLIBC_2.32 pthread_cond_signal F +GLIBC_2.32 pthread_cond_timedwait F +GLIBC_2.32 pthread_cond_wait F +GLIBC_2.32 pthread_condattr_getclock F +GLIBC_2.32 pthread_condattr_getpshared F +GLIBC_2.32 pthread_condattr_setclock F +GLIBC_2.32 pthread_condattr_setpshared F +GLIBC_2.32 pthread_create F +GLIBC_2.32 pthread_detach F +GLIBC_2.32 pthread_exit F +GLIBC_2.32 pthread_getattr_default_np F +GLIBC_2.32 pthread_getconcurrency F +GLIBC_2.32 pthread_getcpuclockid F +GLIBC_2.32 pthread_getname_np F +GLIBC_2.32 pthread_getspecific F +GLIBC_2.32 pthread_join F +GLIBC_2.32 pthread_key_create F +GLIBC_2.32 pthread_key_delete F +GLIBC_2.32 pthread_kill F +GLIBC_2.32 pthread_kill_other_threads_np F +GLIBC_2.32 pthread_mutex_clocklock F +GLIBC_2.32 pthread_mutex_consistent F +GLIBC_2.32 pthread_mutex_consistent_np F +GLIBC_2.32 pthread_mutex_destroy F +GLIBC_2.32 pthread_mutex_getprioceiling F +GLIBC_2.32 pthread_mutex_init F +GLIBC_2.32 pthread_mutex_lock F +GLIBC_2.32 pthread_mutex_setprioceiling F +GLIBC_2.32 pthread_mutex_timedlock F +GLIBC_2.32 pthread_mutex_trylock F +GLIBC_2.32 pthread_mutex_unlock F +GLIBC_2.32 pthread_mutexattr_destroy F +GLIBC_2.32 pthread_mutexattr_getkind_np F +GLIBC_2.32 pthread_mutexattr_getprioceiling F +GLIBC_2.32 pthread_mutexattr_getprotocol F +GLIBC_2.32 pthread_mutexattr_getpshared F +GLIBC_2.32 pthread_mutexattr_getrobust F +GLIBC_2.32 pthread_mutexattr_getrobust_np F +GLIBC_2.32 pthread_mutexattr_gettype F +GLIBC_2.32 pthread_mutexattr_init F +GLIBC_2.32 pthread_mutexattr_setkind_np F +GLIBC_2.32 pthread_mutexattr_setprioceiling F +GLIBC_2.32 pthread_mutexattr_setprotocol F +GLIBC_2.32 pthread_mutexattr_setpshared F +GLIBC_2.32 pthread_mutexattr_setrobust F +GLIBC_2.32 pthread_mutexattr_setrobust_np F +GLIBC_2.32 pthread_mutexattr_settype F +GLIBC_2.32 pthread_once F +GLIBC_2.32 pthread_rwlock_clockrdlock F +GLIBC_2.32 pthread_rwlock_clockwrlock F +GLIBC_2.32 pthread_rwlock_destroy F +GLIBC_2.32 pthread_rwlock_init F +GLIBC_2.32 pthread_rwlock_rdlock F +GLIBC_2.32 pthread_rwlock_timedrdlock F +GLIBC_2.32 pthread_rwlock_timedwrlock F +GLIBC_2.32 pthread_rwlock_tryrdlock F +GLIBC_2.32 pthread_rwlock_trywrlock F +GLIBC_2.32 pthread_rwlock_unlock F +GLIBC_2.32 pthread_rwlock_wrlock F +GLIBC_2.32 pthread_rwlockattr_destroy F +GLIBC_2.32 pthread_rwlockattr_getkind_np F +GLIBC_2.32 pthread_rwlockattr_getpshared F +GLIBC_2.32 pthread_rwlockattr_init F +GLIBC_2.32 pthread_rwlockattr_setkind_np F +GLIBC_2.32 pthread_rwlockattr_setpshared F +GLIBC_2.32 pthread_setaffinity_np F +GLIBC_2.32 pthread_setattr_default_np F +GLIBC_2.32 pthread_setcancelstate F +GLIBC_2.32 pthread_setcanceltype F +GLIBC_2.32 pthread_setconcurrency F +GLIBC_2.32 pthread_setname_np F +GLIBC_2.32 pthread_setschedprio F +GLIBC_2.32 pthread_setspecific F +GLIBC_2.32 pthread_sigqueue F +GLIBC_2.32 pthread_spin_destroy F +GLIBC_2.32 pthread_spin_init F +GLIBC_2.32 pthread_spin_lock F +GLIBC_2.32 pthread_spin_trylock F +GLIBC_2.32 pthread_spin_unlock F +GLIBC_2.32 pthread_testcancel F +GLIBC_2.32 pthread_timedjoin_np F +GLIBC_2.32 pthread_tryjoin_np F +GLIBC_2.32 pthread_yield F +GLIBC_2.32 pwrite F +GLIBC_2.32 pwrite64 F +GLIBC_2.32 raise F +GLIBC_2.32 read F +GLIBC_2.32 recv F +GLIBC_2.32 recvfrom F +GLIBC_2.32 recvmsg F +GLIBC_2.32 sem_clockwait F +GLIBC_2.32 sem_close F +GLIBC_2.32 sem_destroy F +GLIBC_2.32 sem_getvalue F +GLIBC_2.32 sem_init F +GLIBC_2.32 sem_open F +GLIBC_2.32 sem_post F +GLIBC_2.32 sem_timedwait F +GLIBC_2.32 sem_trywait F +GLIBC_2.32 sem_unlink F +GLIBC_2.32 sem_wait F +GLIBC_2.32 send F +GLIBC_2.32 sendmsg F +GLIBC_2.32 sendto F +GLIBC_2.32 sigaction F +GLIBC_2.32 sigwait F +GLIBC_2.32 tcdrain F +GLIBC_2.32 thrd_create F +GLIBC_2.32 thrd_detach F +GLIBC_2.32 thrd_exit F +GLIBC_2.32 thrd_join F +GLIBC_2.32 tss_create F +GLIBC_2.32 tss_delete F +GLIBC_2.32 tss_get F +GLIBC_2.32 tss_set F +GLIBC_2.32 write F diff --git a/sysdeps/unix/sysv/linux/riscv/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/libresolv.abilist new file mode 100644 index 0000000000..c5edf99ea9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libresolv.abilist @@ -0,0 +1,79 @@ +GLIBC_2.32 __b64_ntop F +GLIBC_2.32 __b64_pton F +GLIBC_2.32 __dn_comp F +GLIBC_2.32 __dn_count_labels F +GLIBC_2.32 __dn_expand F +GLIBC_2.32 __dn_skipname F +GLIBC_2.32 __fp_nquery F +GLIBC_2.32 __fp_query F +GLIBC_2.32 __fp_resstat F +GLIBC_2.32 __hostalias F +GLIBC_2.32 __loc_aton F +GLIBC_2.32 __loc_ntoa F +GLIBC_2.32 __p_cdname F +GLIBC_2.32 __p_cdnname F +GLIBC_2.32 __p_class F +GLIBC_2.32 __p_class_syms D 0x54 +GLIBC_2.32 __p_fqname F +GLIBC_2.32 __p_fqnname F +GLIBC_2.32 __p_option F +GLIBC_2.32 __p_query F +GLIBC_2.32 __p_rcode F +GLIBC_2.32 __p_time F +GLIBC_2.32 __p_type F +GLIBC_2.32 __p_type_syms D 0x228 +GLIBC_2.32 __putlong F +GLIBC_2.32 __putshort F +GLIBC_2.32 __res_close F +GLIBC_2.32 __res_dnok F +GLIBC_2.32 __res_hnok F +GLIBC_2.32 __res_hostalias F +GLIBC_2.32 __res_isourserver F +GLIBC_2.32 __res_mailok F +GLIBC_2.32 __res_mkquery F +GLIBC_2.32 __res_nameinquery F +GLIBC_2.32 __res_nmkquery F +GLIBC_2.32 __res_nquery F +GLIBC_2.32 __res_nquerydomain F +GLIBC_2.32 __res_nsearch F +GLIBC_2.32 __res_nsend F +GLIBC_2.32 __res_ownok F +GLIBC_2.32 __res_queriesmatch F +GLIBC_2.32 __res_query F +GLIBC_2.32 __res_querydomain F +GLIBC_2.32 __res_search F +GLIBC_2.32 __res_send F +GLIBC_2.32 __sym_ntop F +GLIBC_2.32 __sym_ntos F +GLIBC_2.32 __sym_ston F +GLIBC_2.32 _getlong F +GLIBC_2.32 _getshort F +GLIBC_2.32 inet_net_ntop F +GLIBC_2.32 inet_net_pton F +GLIBC_2.32 inet_neta F +GLIBC_2.32 ns_datetosecs F +GLIBC_2.32 ns_format_ttl F +GLIBC_2.32 ns_get16 F +GLIBC_2.32 ns_get32 F +GLIBC_2.32 ns_initparse F +GLIBC_2.32 ns_makecanon F +GLIBC_2.32 ns_msg_getflag F +GLIBC_2.32 ns_name_compress F +GLIBC_2.32 ns_name_ntol F +GLIBC_2.32 ns_name_ntop F +GLIBC_2.32 ns_name_pack F +GLIBC_2.32 ns_name_pton F +GLIBC_2.32 ns_name_rollback F +GLIBC_2.32 ns_name_skip F +GLIBC_2.32 ns_name_uncompress F +GLIBC_2.32 ns_name_unpack F +GLIBC_2.32 ns_parse_ttl F +GLIBC_2.32 ns_parserr F +GLIBC_2.32 ns_put16 F +GLIBC_2.32 ns_put32 F +GLIBC_2.32 ns_samedomain F +GLIBC_2.32 ns_samename F +GLIBC_2.32 ns_skiprr F +GLIBC_2.32 ns_sprintrr F +GLIBC_2.32 ns_sprintrrf F +GLIBC_2.32 ns_subdomain F diff --git a/sysdeps/unix/sysv/linux/riscv/librt.abilist b/sysdeps/unix/sysv/linux/riscv/librt.abilist new file mode 100644 index 0000000000..fda2b20c01 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/librt.abilist @@ -0,0 +1,35 @@ +GLIBC_2.32 __mq_open_2 F +GLIBC_2.32 aio_cancel F +GLIBC_2.32 aio_cancel64 F +GLIBC_2.32 aio_error F +GLIBC_2.32 aio_error64 F +GLIBC_2.32 aio_fsync F +GLIBC_2.32 aio_fsync64 F +GLIBC_2.32 aio_init F +GLIBC_2.32 aio_read F +GLIBC_2.32 aio_read64 F +GLIBC_2.32 aio_return F +GLIBC_2.32 aio_return64 F +GLIBC_2.32 aio_suspend F +GLIBC_2.32 aio_suspend64 F +GLIBC_2.32 aio_write F +GLIBC_2.32 aio_write64 F +GLIBC_2.32 lio_listio F +GLIBC_2.32 lio_listio64 F +GLIBC_2.32 mq_close F +GLIBC_2.32 mq_getattr F +GLIBC_2.32 mq_notify F +GLIBC_2.32 mq_open F +GLIBC_2.32 mq_receive F +GLIBC_2.32 mq_send F +GLIBC_2.32 mq_setattr F +GLIBC_2.32 mq_timedreceive F +GLIBC_2.32 mq_timedsend F +GLIBC_2.32 mq_unlink F +GLIBC_2.32 shm_open F +GLIBC_2.32 shm_unlink F +GLIBC_2.32 timer_create F +GLIBC_2.32 timer_delete F +GLIBC_2.32 timer_getoverrun F +GLIBC_2.32 timer_gettime F +GLIBC_2.32 timer_settime F diff --git a/sysdeps/unix/sysv/linux/riscv/libthread_db.abilist b/sysdeps/unix/sysv/linux/riscv/libthread_db.abilist new file mode 100644 index 0000000000..dcbc4a8fbe --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libthread_db.abilist @@ -0,0 +1,40 @@ +GLIBC_2.32 td_init F +GLIBC_2.32 td_log F +GLIBC_2.32 td_symbol_list F +GLIBC_2.32 td_ta_clear_event F +GLIBC_2.32 td_ta_delete F +GLIBC_2.32 td_ta_enable_stats F +GLIBC_2.32 td_ta_event_addr F +GLIBC_2.32 td_ta_event_getmsg F +GLIBC_2.32 td_ta_get_nthreads F +GLIBC_2.32 td_ta_get_ph F +GLIBC_2.32 td_ta_get_stats F +GLIBC_2.32 td_ta_map_id2thr F +GLIBC_2.32 td_ta_map_lwp2thr F +GLIBC_2.32 td_ta_new F +GLIBC_2.32 td_ta_reset_stats F +GLIBC_2.32 td_ta_set_event F +GLIBC_2.32 td_ta_setconcurrency F +GLIBC_2.32 td_ta_thr_iter F +GLIBC_2.32 td_ta_tsd_iter F +GLIBC_2.32 td_thr_clear_event F +GLIBC_2.32 td_thr_dbresume F +GLIBC_2.32 td_thr_dbsuspend F +GLIBC_2.32 td_thr_event_enable F +GLIBC_2.32 td_thr_event_getmsg F +GLIBC_2.32 td_thr_get_info F +GLIBC_2.32 td_thr_getfpregs F +GLIBC_2.32 td_thr_getgregs F +GLIBC_2.32 td_thr_getxregs F +GLIBC_2.32 td_thr_getxregsize F +GLIBC_2.32 td_thr_set_event F +GLIBC_2.32 td_thr_setfpregs F +GLIBC_2.32 td_thr_setgregs F +GLIBC_2.32 td_thr_setprio F +GLIBC_2.32 td_thr_setsigpending F +GLIBC_2.32 td_thr_setxregs F +GLIBC_2.32 td_thr_sigsetmask F +GLIBC_2.32 td_thr_tls_get_addr F +GLIBC_2.32 td_thr_tlsbase F +GLIBC_2.32 td_thr_tsd F +GLIBC_2.32 td_thr_validate F diff --git a/sysdeps/unix/sysv/linux/riscv/libutil.abilist b/sysdeps/unix/sysv/linux/riscv/libutil.abilist new file mode 100644 index 0000000000..61f73bc34e --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/libutil.abilist @@ -0,0 +1,6 @@ +GLIBC_2.32 forkpty F +GLIBC_2.32 login F +GLIBC_2.32 login_tty F +GLIBC_2.32 logout F +GLIBC_2.32 logwtmp F +GLIBC_2.32 openpty F From patchwork Wed Jun 3 16:25: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: 39447 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 9B377388C016; Wed, 3 Jun 2020 16:34:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9B377388C016 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202088; bh=TImY5zIKL0YAD+RilgC/Q9b6zAGquYsnnwmOnTvzpes=; 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=bylCvftvMmqr3nfsTrQs6gBBV4ek3HndLFr9U8A6HyYahsJ8P9gABfWjbx9MKoXZu EqNDXsBiFYQZaU6J3afW8jJ7cTfZMD/r3Ojzyv9qKcwkeLQB6hHdyH4d8B9Z3Gd+Ep uSt4Az6SmKrDz4rKdUoFz0Ek3hXGzVh5kN6DaKxo= 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 A1739388B02B for ; Wed, 3 Jun 2020 16:34:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A1739388B02B IronPort-SDR: sFqbcExBYwGp/V0yKq8aRtPtZNOM69wQDV9cVnfvMW+49AwiZKFczO2TKyzNWCZekwW0vKtmAB EwyKuRxn5zg5zxUvB0NRAoKdh8em4PoodE3NxKxCtMjP4q7kHPYabdRnd/YZ1tJz53894HiKi8 ACsQa0jwf4Nrme4S1Dcs+0eoFs5P9SHert5ErViII6M0qXG5iJoEEZCwt/Fb1brcySz5cYza9s IvrzeGaX4yK9Bw2aDgfZiXqItmnY4kQ2iCiNiICLCTV0hkJDHG+dcKnW3NDvtyDD7cBri0lQoA qm8= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="248216392" 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; 04 Jun 2020 00:34:43 +0800 IronPort-SDR: AtvoAU3HWm8JAQcGsuMd27Uj9E2OhLRPdB9jW9viXWSWTJ0rsicIx+MIVDruIi9fsc13Kzcrn3 POHeH0YAomr8lN0ChBpuLu/pJ2JAqWpaU= 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; 03 Jun 2020 09:23:49 -0700 IronPort-SDR: e24CAA12MIVKyZvTKB6eEc3MtLzg4QZKODMCvbI5HI8gR66aiqbDReE2pmvaMj9Nn2jK1d1Zwa 4WZsXUpGcDnQ== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:43 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 12/18] RISC-V: Add the RV32 libm-test-ulps Date: Wed, 3 Jun 2020 09:25:58 -0700 Message-Id: <382678c76a8feb7b2cf3bec7db7cf229b520e5d1.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-16.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Add a libm-test-ulps for RV32, generated by running `make regen-ulps`. This is different to the RV64 one. --- sysdeps/riscv/rv32/rvd/libm-test-ulps | 1401 ++++++++++++++++++++ sysdeps/riscv/rv32/rvd/libm-test-ulps-name | 1 + 2 files changed, 1402 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..35d77ff1ac --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/libm-test-ulps @@ -0,0 +1,1401 @@ +# 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: 4 + +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: 3 + +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: 4 + +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: 3 +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: 3 +float: 3 +ldouble: 3 + +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: 2 +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: 3 + +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: 3 +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: 2 +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: 4 + +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: 4 +float: 2 +ldouble: 2 + +Function: Imaginary part of "csin_upward": +double: 2 +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: 1 +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: 1 +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: 2 +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: 1 +float: 2 +ldouble: 5 + +Function: Imaginary part of "ctanh_upward": +double: 3 +float: 6 +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: 2 + +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: 5 + +Function: "erfc_upward": +double: 4 +float: 4 +ldouble: 6 + +Function: "exp": +float: 1 +ldouble: 1 + +Function: "exp10": +double: 2 +float: 1 +ldouble: 2 + +Function: "exp10_downward": +double: 3 +ldouble: 3 + +Function: "exp10_towardzero": +double: 3 +ldouble: 3 + +Function: "exp10_upward": +double: 2 +float: 1 +ldouble: 4 + +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: 2 +float: 1 +ldouble: 3 + +Function: "gamma": +double: 3 +float: 3 +ldouble: 5 + +Function: "gamma_downward": +double: 5 +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: 2 + +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: 5 + +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: 4 +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: 4 + +Function: "log2": +float: 1 +ldouble: 2 + +Function: "log2_downward": +ldouble: 3 + +Function: "log2_towardzero": +double: 1 +ldouble: 2 + +Function: "log2_upward": +double: 1 +ldouble: 3 + +Function: "log_downward": +ldouble: 1 + +Function: "log_towardzero": +ldouble: 2 + +Function: "log_upward": +ldouble: 1 + +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: 2 +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: 2 +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: 5 + +Function: "y0_upward": +double: 2 +float: 5 +ldouble: 5 + +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: 5 + +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 Jun 3 16:26: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: 39448 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 9DB1F388A82C; Wed, 3 Jun 2020 16:34:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9DB1F388A82C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202090; bh=ES66Hi/KOOMRMHYIGyjnEh2UGGwofK98jfnqQwxstSA=; 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=jfiSysmaK+4lDD7z8WeDcJ9FLdNM70HK/Ckf+MCzZED56zMrfLzY9bUgONltuUGkm RCyW0zUyjCmcrWSwrp/NIAUrw8aHeoCGUglQG+t87zSes5PZtjMpvNFiGQzjWhnbqz r1WWbIoKwODMqAK6RrZ+yVWza4NDZSAzgllG8N20= 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 6A826388B003 for ; Wed, 3 Jun 2020 16:34:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6A826388B003 IronPort-SDR: 3qVnANN89qKGVsHIfwMsuGVwti6wfrf78dn7Nhy0X2+5yEHC5fe+jXLsbFHn9E/C0asgLQJT42 F3pr6QuFHvh93wUFI4ahYu2s7hIfjvW2Pbz+BmrxtCj93U4autYN4MTij3epNv8YDk+QdRxEIM /YCCuk+mTpjReGuyfnrI3ZDVh8qNU6g8vDv43g+t4Jq3jE1HncmDuJ94436l4Lw65IRfyOTrGx eBsAA6TBtlCAxwDOGuKUXnaSXuZHOPiC6tTqg9WMdso4xrdT71rQblRZVNXCXB91h1oiZcySbR n6A= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="248216399" 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; 04 Jun 2020 00:34:46 +0800 IronPort-SDR: 8Cv1aEL5e0OcYZNFVR0s0MQm7CwLWMcTFHAbP6x5Biz/mppvUVhBYR6EXlgSrNy7ZMOq700FOb FDLAtvNvkdRg92wjFwBbUSfNnW26j9de0= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2020 09:23:51 -0700 IronPort-SDR: CLADwQ8kJ+xGkdMfVELYVkxaFb6brPN8K4n/LAJ4kTMbL8V3judbZ4eLLrZpzQDkIs/Vs1mS+V 0GSNp7Y4SfRw== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip02.wdc.com with ESMTP; 03 Jun 2020 09:34:46 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 13/18] RISC-V: Fix llrint and llround missing exceptions on RV32 Date: Wed, 3 Jun 2020 09:26:01 -0700 Message-Id: <1ded17a7de68b0bd4923ec480863c64d6056dfe6.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.8 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_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li Similar to the fix for MIPS, ARM and S/390, RV32 is missing correct exception on overflow from llrint and llround functions because cast from floating-point types to long long do not result in correct exceptions on overflow. --- .../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..9137ee0fd8 --- /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) 2015-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 Jun 3 16:26:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39450 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 79643388E80E; Wed, 3 Jun 2020 16:34:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79643388E80E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202093; bh=5oR58pQ4CqRM08yBhOClqZJQrM9JLv820wdzOyJqYcE=; 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=dfZr7jukBkUWZZ+XXTEy/gd7v4XSQZ1LqOOP3qRmMxmw+ctaD5S5nUOlK4pAe79Dy g5G6lgulTR3tYgOuu9WhBrGpxgW1N/IRFNzYt8LWh9La/D6nyC7LaREPitlbjIMf2e Tfhu3Z2+iLKP0Di6pSXg3ia+lKECkyki5et/oq+g= 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 3F5FB388C034 for ; Wed, 3 Jun 2020 16:34:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3F5FB388C034 IronPort-SDR: /7ASUOj3PJAH/aAPvEhzJAaOOpD/CjxYVE902HX+2NlWrzt+PZO/vnoujPvTvATLUV7udqcbOX hRm4W4GhYvZ8bkFcowYD6HWw2HlpHCwRC776IZT5RKI+PG1yPskA+hy6xtvaNEuIO8qsEUJyH6 Nggyu/+HUmtuXIfb9g+4WncLs6vZwiqf8HsEnSYtNiM4UpIiOdU/IBDIMcRrEI6Ep3HiVfMSKv 62jZ7ak7ul/ca+BOO8bhw3RdrkCikPbZcPbveo40uBcO1biaNGt4v9cQfKk/YHwUhLOFeR8npN sTU= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="140547122" 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; 04 Jun 2020 00:34:49 +0800 IronPort-SDR: JHjdVW21PadRdJbWFRMOfqqFKfsUbe/JEMiMItVM1kqzvayBC80pUBHkm8e/0nn2yYp2AMAoR+ y6o2fMz6emNQ9xB1v/oGTNO/22c+f9I0k= 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; 03 Jun 2020 09:24:27 -0700 IronPort-SDR: TRqMNJ8wtFwZA2kV198uaNLUMBzltRANU9tv2ETqPaYrVkgtbbH6G4ioHmw5wTKedlE+Q3U8pk /e82joxZkJ3g== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:48 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 14/18] RISC-V: Build Infastructure for 32-bit Date: Wed, 3 Jun 2020 09:26:03 -0700 Message-Id: <0ec88f8453d69bad692d41c6894f560676a1ebad.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li This patch lays out the top-level orginazition of the RISC-V 32-bit port. It contains all the Implies files as well as various other fragments of build infastructure for the RISC-V 32-bit port. --- sysdeps/riscv/preconfigure | 6 +-- sysdeps/riscv/rv32/Implies-after | 1 + sysdeps/riscv/rv32/rvd/Implies | 3 ++ sysdeps/riscv/rv32/rvf/Implies | 1 + sysdeps/unix/sysv/linux/riscv/Makefile | 4 +- sysdeps/unix/sysv/linux/riscv/configure | 39 ++++++++++++++++++++ sysdeps/unix/sysv/linux/riscv/configure.ac | 8 ++++ sysdeps/unix/sysv/linux/riscv/rv32/Implies | 3 ++ sysdeps/unix/sysv/linux/riscv/shlib-versions | 10 ++++- 9 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 sysdeps/riscv/rv32/Implies-after create mode 100644 sysdeps/riscv/rv32/rvd/Implies create mode 100644 sysdeps/riscv/rv32/rvf/Implies create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/Implies diff --git a/sysdeps/riscv/preconfigure b/sysdeps/riscv/preconfigure index d9adb31b64..1ab5d20f0e 100644 --- a/sysdeps/riscv/preconfigure +++ b/sysdeps/riscv/preconfigure @@ -6,11 +6,7 @@ riscv*) atomic=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep '#define __riscv_atomic' | cut -d' ' -f2` case "$xlen" in - 32) - echo "glibc does not yet support 32-bit systems" >&2 - exit 1 - ;; - 64) + 64 | 32) ;; *) echo "Unable to determine XLEN" >&2 diff --git a/sysdeps/riscv/rv32/Implies-after b/sysdeps/riscv/rv32/Implies-after new file mode 100644 index 0000000000..39a34c5f57 --- /dev/null +++ b/sysdeps/riscv/rv32/Implies-after @@ -0,0 +1 @@ +wordsize-32 diff --git a/sysdeps/riscv/rv32/rvd/Implies b/sysdeps/riscv/rv32/rvd/Implies new file mode 100644 index 0000000000..1151214e8f --- /dev/null +++ b/sysdeps/riscv/rv32/rvd/Implies @@ -0,0 +1,3 @@ +riscv/rv32/rvf +riscv/rvd +riscv/rvf diff --git a/sysdeps/riscv/rv32/rvf/Implies b/sysdeps/riscv/rv32/rvf/Implies new file mode 100644 index 0000000000..66c401443b --- /dev/null +++ b/sysdeps/riscv/rv32/rvf/Implies @@ -0,0 +1 @@ +riscv/rvf diff --git a/sysdeps/unix/sysv/linux/riscv/Makefile b/sysdeps/unix/sysv/linux/riscv/Makefile index 301b082398..6c11f7fd9a 100644 --- a/sysdeps/unix/sysv/linux/riscv/Makefile +++ b/sysdeps/unix/sysv/linux/riscv/Makefile @@ -7,11 +7,13 @@ ifeq ($(subdir),stdlib) gen-as-const-headers += ucontext_i.sym endif -abi-variants := lp64 lp64d +abi-variants := ilp32 ilp32d lp64 lp64d ifeq (,$(filter $(default-abi),$(abi-variants))) $(error Unknown ABI $(default-abi), must be one of $(abi-variants)) endif +abi-ilp32-condition := !defined __LP64__ && defined __riscv_float_abi_soft +abi-ilp32d-condition := !defined __LP64__ && defined __riscv_float_abi_double abi-lp64-condition := defined __LP64__ && defined __riscv_float_abi_soft abi-lp64d-condition := defined __LP64__ && defined __riscv_float_abi_double diff --git a/sysdeps/unix/sysv/linux/riscv/configure b/sysdeps/unix/sysv/linux/riscv/configure index 3018ca8f1b..2b3c77f18c 100755 --- a/sysdeps/unix/sysv/linux/riscv/configure +++ b/sysdeps/unix/sysv/linux/riscv/configure @@ -147,6 +147,17 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | fi rm -f conftest* +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +__SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "4 4 4" >/dev/null 2>&1; then : + libc_cv_riscv_int_abi=ilp32 +fi +rm -f conftest* + if test $libc_cv_riscv_int_abi = no; then as_fn_error $? "Unable to determine integer ABI" "$LINENO" 5 fi @@ -214,6 +225,34 @@ case "$prefix" in ;; esac ;; +ilp32-riscv/rv32/*) + test -n "$libc_cv_slibdir" || +case "$prefix" in +/usr | /usr/) + libc_cv_slibdir='/lib32/ilp32' + libc_cv_rtlddir='/lib' + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib32/ilp32'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi + ;; +esac + ;; +ilp32d-riscv/rv32/*) + test -n "$libc_cv_slibdir" || +case "$prefix" in +/usr | /usr/) + libc_cv_slibdir='/lib32/ilp32d' + libc_cv_rtlddir='/lib' + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib32/ilp32d'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi + ;; +esac + ;; esac ldd_rewrite_script=sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed diff --git a/sysdeps/unix/sysv/linux/riscv/configure.ac b/sysdeps/unix/sysv/linux/riscv/configure.ac index d4819931ca..710d46afcd 100644 --- a/sysdeps/unix/sysv/linux/riscv/configure.ac +++ b/sysdeps/unix/sysv/linux/riscv/configure.ac @@ -7,6 +7,8 @@ arch_minimum_kernel=4.15.0 libc_cv_riscv_int_abi=no AC_EGREP_CPP(4 8 8, [__SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ ], libc_cv_riscv_int_abi=lp64) +AC_EGREP_CPP(4 4 4, [__SIZEOF_INT__ __SIZEOF_LONG__ __SIZEOF_POINTER__ + ], libc_cv_riscv_int_abi=ilp32) if test $libc_cv_riscv_int_abi = no; then AC_MSG_ERROR([Unable to determine integer ABI]) fi @@ -33,6 +35,12 @@ lp64-riscv/rv64/*) lp64d-riscv/rv64/*) LIBC_SLIBDIR_RTLDDIR([lib64/lp64d], [lib]) ;; +ilp32-riscv/rv32/*) + LIBC_SLIBDIR_RTLDDIR([lib32/ilp32], [lib]) + ;; +ilp32d-riscv/rv32/*) + LIBC_SLIBDIR_RTLDDIR([lib32/ilp32d], [lib]) + ;; esac ldd_rewrite_script=sysdeps/unix/sysv/linux/riscv/ldd-rewrite.sed diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/Implies b/sysdeps/unix/sysv/linux/riscv/rv32/Implies new file mode 100644 index 0000000000..8b7deb33cd --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/rv32/Implies @@ -0,0 +1,3 @@ +unix/sysv/linux/riscv +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/riscv/shlib-versions b/sysdeps/unix/sysv/linux/riscv/shlib-versions index 98c9b29cc4..919c8ec1fd 100644 --- a/sysdeps/unix/sysv/linux/riscv/shlib-versions +++ b/sysdeps/unix/sysv/linux/riscv/shlib-versions @@ -1,9 +1,15 @@ -DEFAULT GLIBC_2.27 - %if RISCV_ABI_XLEN == 64 && RISCV_ABI_FLEN == 64 +DEFAULT GLIBC_2.27 ld=ld-linux-riscv64-lp64d.so.1 %elif RISCV_ABI_XLEN == 64 && RISCV_ABI_FLEN == 0 +DEFAULT GLIBC_2.27 ld=ld-linux-riscv64-lp64.so.1 +%elif RISCV_ABI_XLEN == 32 && RISCV_ABI_FLEN == 64 +DEFAULT GLIBC_2.32 +ld=ld-linux-riscv32-ilp32d.so.1 +%elif RISCV_ABI_XLEN == 32 && RISCV_ABI_FLEN == 0 +DEFAULT GLIBC_2.32 +ld=ld-linux-riscv32-ilp32.so.1 %else %error cannot determine ABI %endif From patchwork Wed Jun 3 16:26:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39451 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 04BDC388E814; Wed, 3 Jun 2020 16:34:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 04BDC388E814 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202095; bh=j5Ay566FteMDrW2RD7qdu5jgcmlcaYwjgQ20oMZ30wY=; 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=eoXQjNpyDWaJdLnxIkXcEv7f2PTBmidIqDlGDFc7YlbOC9g2oIpx6Z7j1n9zkaKL9 dvs+/0K1AyAZ2AkE1tQDEZCFv6yv0GgT3J9JO34Pshmn1CsLOXR+hBLQ/pKl4T5CMp pg+z5D95zuKr8dRv3j7gu15+lqr3m0Ud6KjT2zXw= 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 54E94388E803 for ; Wed, 3 Jun 2020 16:34:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 54E94388E803 IronPort-SDR: jG0JjRCMrGhK+JGO6IIlPFBurnFRpDAo0DLJ/N8e5cKlpAITmlLygGPuEq1UE+gIjv2YMSzRuT vjYJAr+aCYdbG8OISh2rwyClIezZUCey851jZGsSA/IuYMp21tKeZC42HP1sgFuNSch0RvZOJN 9FQ3CFF+1qpJJJkXIawyuoOCeOINxe+DX6lXb8UT+16Xus6jxQTEoATzJLPmvV45hONrfRRNgx EsDXUkujYKVMHFQa3QKtux9yQLaDdd3wgcRmpMlTl+7Q9mDg0841keYUWbxtqoxhGCW9BL89cN ZNU= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="140547126" 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; 04 Jun 2020 00:34:52 +0800 IronPort-SDR: RS/XlArAxDU63RCHFuwwyRzx7tfn1Rlvhix94W/7MMykX1Mggpi9yxrw523TgHC1kF10b+5Lys sC4z2HFPqatXCaLDi3IgDKcIEpkRZ4Gyw= 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; 03 Jun 2020 09:24:30 -0700 IronPort-SDR: lCSiBPI0dyOe8BLyZyhE2MJrnCyhNDh4gWkmdk0IQG8cRIMRMlaNS+tvdxxNGyWa5HjUXpBkbG 0W65vvhldi6w== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:51 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 15/18] riscv32: Specify the arch_minimum_kernel as 5.4 Date: Wed, 3 Jun 2020 09:26:06 -0700 Message-Id: <33169356cba36b85a5d9e121b90be4590b134add.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- 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 2b3c77f18c..33139618e7 100755 --- a/sysdeps/unix/sysv/linux/riscv/configure +++ b/sysdeps/unix/sysv/linux/riscv/configure @@ -162,6 +162,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 710d46afcd..9c736415f7 100644 --- a/sysdeps/unix/sysv/linux/riscv/configure.ac +++ b/sysdeps/unix/sysv/linux/riscv/configure.ac @@ -13,6 +13,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 Jun 3 16:26:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39452 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 83FA7388E80A; Wed, 3 Jun 2020 16:34:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83FA7388E80A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202097; bh=seF1jwQ96PSs8PPoFEaKTqkXHq8lkyji4VhO+YJjstc=; 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=Gly2Xw3A1qn8mSmJiF2mqhSKUtOY2F5GVnMVDefD3C7fjdNdtn86UoFZo2kWesIO5 rtoWVLfvhJyIJscbZ6V13DMsC3NPGcqZqfhLZv4WhGxz+pbnMFdrt64UKsKPVyvx9j uUZc2nrTa88VyNQKcEN7S40uc0M5SmV+t0HD+YbA= 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 34FD2388E817 for ; Wed, 3 Jun 2020 16:34:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 34FD2388E817 IronPort-SDR: 9kFeiUm1HK38DVCf2evnLm5j1xm+lQD34HdMmgZIN81a/XmeCq6AqRUpfhFuTH0p1bKx0ND4DM wdf53wI9IrrsyrWBXMJIWbpHxU8CVbRTArZcRvx4R5lcQxbbWgmu8J3T/oPBhC7p6Q0xJ+p6Rq Ijgj7z+gw0EHK+Yu7YtapGUVz0poxlQVc9HsNPdSuH0KtvRTblPCGmuDX5iMHV6qAiVkvH1MK2 WWEUwY0BXBOpURchO+Y2R/H2lLaNlBEpm3P8NSqL+MWjPWPYyr1CD4bdfrLtZf2mcNxNuJ2DIR yS4= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="140547127" 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; 04 Jun 2020 00:34:55 +0800 IronPort-SDR: kCGu8ej/DtBiIxxYKQLOgIdnXkKXZ1IPGUIjzy1DayWMhs9m1dbwyiJ0K9zKapQUTNC3laMOU2 wiodALq8fFQwkySGZF2TXKAx3jSNhF5xc= 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; 03 Jun 2020 09:24:32 -0700 IronPort-SDR: 6Z0Jg49u+IgLHXAdtPqbX9VVU86hXdGX7JEpO4UAYKkTc0EVx3llUvqnOrFD/PMp+xfzV6gTpp 1qNklji8Z55A== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:53 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 16/18] RISC-V: Add rv32 path to RTLDLIST in ldd Date: Wed, 3 Jun 2020 09:26:09 -0700 Message-Id: <8086b12d12c554dd43f8c51157895fc0c14627a6.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: 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..bc0c4f51a1 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-\664\8\9 \2\332-i\632\9 \2\332-i\632\8\9"_ From patchwork Wed Jun 3 16:26:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 39453 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 106F4388E801; Wed, 3 Jun 2020 16:35:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 106F4388E801 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202100; bh=FW5VvexYSDSWPME8N4jMlfOhM8IwBzAwCgcJEN+NsN0=; 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=E1Dj/p4CtODnlciyscp4IVwfesYSTgGxmLFDiwsibJwSHTtIfbX6LXp1glIjbnLsZ VfgYfF31bS/MD4ukEpdLmIASAm34OHVRq+ynrirJku1nzkPj2AFtn1nwFcObXB1fzy rUrKglmonWw9Q1pPLJ26jeBjdQIKRrqNYCBCBGZ0= 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 62639388E801 for ; Wed, 3 Jun 2020 16:34:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 62639388E801 IronPort-SDR: pFW90EYcJW+4pk7cQOY0hFg/CHBn8wS2LoTb8xjccEaK0h+k6wGa+bStiebTH73gR5QVqWXQvU uSCqtT82dwQawP+dHVF/IiraYl1tI5pLBkSg3M5sgW6QyI81UwdUI2GVZOdcimTnT2S6yMjczB gPeIz5gtB8k/MxNS8CkIP06xygcTxcgg0ASlDID4XjGn90h/iQayP4416InQsvoOAS+a42Sw8W mYkcFY6Jn7PKPmFDa0Lj9pzjrA15/qTrDTA0mrqxq9GVyV8PExn/3pZBXlGRl+D0QcNWSnweKF zBc= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="140547129" 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; 04 Jun 2020 00:34:57 +0800 IronPort-SDR: GtwIgjoXZdp2bNX94SDaTOad5rhVKGPJmxE/hEdqPd34/DzldJYzafP1axgwglTelDEFX7O1Xr V/w2DJeKK+psL2ZyvWcs4GejWBV0QAmgc= 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; 03 Jun 2020 09:24:35 -0700 IronPort-SDR: lfEze1fBbRCu1BmdTSuc8TYArlBdeYfswW09rzsPs0bf59asqMhsA5gLRbN271pzQ0NI7Qnm3x MqlxkiCFD66Q== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:56 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 17/18] Documentation for the RISC-V 32-bit port Date: Wed, 3 Jun 2020 09:26:11 -0700 Message-Id: <6e4924a4ef9a18a4bd80556b5edcb4be61a43e96.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li 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 | 6 ++++++ README | 1 + 2 files changed, 7 insertions(+) diff --git a/NEWS b/NEWS index a660fc59a8..d408c25592 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,12 @@ Major new features: pthread_attr_getsigmask_np have been added. They allow applications to specify the signal mask of a thread created with pthread_create. +* Support RISC-V port for 32-bit. The ISA and ABI pairs supported as follows: + + - rv32imac ilp32 + - rv32imafdc ilp32 + - rv32imafdc ilp32d + Deprecated and removed features, and other changes affecting compatibility: * The deprecated header and the sysctl function have been diff --git a/README b/README index 31c5da0405..cee86ab178 100644 --- a/README +++ b/README @@ -38,6 +38,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 Jun 3 16:26: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: 39454 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 8F875388E81F; Wed, 3 Jun 2020 16:35:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F875388E81F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1591202102; bh=oO81cTFa6qDRfzmRhGLw84VpRYp8/kVOdXFgle8VQuU=; 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=vXDhCOG/xCYmqA8gCBbhGlRU9gbQSGCJGl/uJl05N+z9PuXCf25ZHdwpmQf8a1vVx roQ/EzsMHj8q1sBCElFkIJBcVX8ITM+2bQoTqK2ERpXsqKH6QqgCAhSyPOQrMuUzuO 3DZJP7d18nJR8O+Ol5SYOCzhYwE3GMonBWeJast0= 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 1C75C388E81C for ; Wed, 3 Jun 2020 16:35:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1C75C388E81C IronPort-SDR: 5trRFjW/444wBc7hGXejxVYsyiC1YJveV6ItcvuDT4fjxz6Chj8VEogCp++Cfsb6ZSfOt8YZ13 wWoH6fcB5xum9zhku0do5dh+B8gv/tOsGat9N5sI2dZZsyFleKMZJLD58G7mCuZcfHsHynqI+R 4ru092FXDkBnpi36ikyA8+gcBIAnlQHlgvW9QFgCR1N6OzL25T3hQ+er+vpjudWCtTd1Yz8N3K jPcrDDScSbUpKNyCHt6k71sb5bKSvUytezZV1nG67eNO9PA1RasZk81/Wdq26x/olRIWv6tPGM u/0= X-IronPort-AV: E=Sophos;i="5.73,468,1583164800"; d="scan'208";a="140547131" 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; 04 Jun 2020 00:35:00 +0800 IronPort-SDR: RG2YVAl1pBi7a4ePdkDWNGXrSWaFscYzjBCDAZ+tBT8AlOlnUaKyGxrRqaPaTrr+GOzp7EiQUL AJxH7xtX0TFzxWcDZKMNXsqj6vkCDzrLI= 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; 03 Jun 2020 09:24:38 -0700 IronPort-SDR: ydQfJWg5uJV0YgnjDkmnCv/k0NByjyIHdPNgwm/O287IOT5bsFku6vgZnNHWAD/MtONhnHUdwn basx1CzagF/Q== WDCIronportException: Internal Received: from cne220230.ad.shared (HELO risc6-mainframe.hgst.com) ([10.86.57.144]) by uls-op-cesaip01.wdc.com with ESMTP; 03 Jun 2020 09:34:59 -0700 To: libc-alpha@sourceware.org Subject: [PATCH v2 18/18] Add RISC-V 32-bit target to build-many-glibcs.py Date: Wed, 3 Jun 2020 09:26:14 -0700 Message-Id: <641bd162abc8fdf0ff3cbd03486715067a069469.1591201405.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-15.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: alistair.francis@wdc.com Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" From: Zong Li Support building three variant of 32 bit RISC-V glibc as follows: - riscv32-linux-gnu-rv32imac-ilp32 - riscv32-linux-gnu-rv32imafdc-ilp32 - riscv32-linux-gnu-rv32imafdc-ilp32d --- 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 6c6615b200..929ad8d0a5 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -338,6 +338,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',