1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

Remove nios2-linux-gnu

GCC 15 (e876acab6cdd84bb2b32c98fc69fb0ba29c81153) and binutils
(e7a16d9fd65098045ef5959bf98d990f12314111) both removed all Nios II
support, and the architecture has been EOL'ed by the vendor.  The
kernel still has support, but without a proper compiler there
is no much sense in keep it on glibc.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
This commit is contained in:
Adhemerval Zanella
2024-11-26 16:34:00 -03:00
parent 293369689a
commit 82a3991a84
113 changed files with 115 additions and 8540 deletions

View File

@ -30,7 +30,7 @@ __fstat64_time64 (int fd, struct __stat64_t64 *buf)
{
#if !FSTATAT_USE_STATX
# if XSTAT_IS_XSTAT64
/* The __NR_stat macro is defined for all ABIs that also define
/* The __NR_stat macro is defined for all ABIs that also define
XSTAT_IS_STAT64, so to correctly identify alpha and sparc check
__NR_newfstatat (similar to what fstatat64 does). */
# ifdef __NR_newfstatat
@ -60,7 +60,7 @@ __fstat64_time64 (int fd, struct __stat64_t64 *buf)
# endif
#else /* !FSTATAT_USE_STATX */
/* All kABIs with non-LFS support and with old 32-bit time_t support
e.g. arm, csky, i386, hppa, m68k, microblaze, nios2, sh, powerpc32,
e.g. arm, csky, i386, hppa, m68k, microblaze, sh, powerpc32,
and sparc32. */
if (fd < 0)
{

View File

@ -104,7 +104,7 @@ fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf,
#else
# ifdef __NR_fstatat64
/* All kABIs with non-LFS support and with old 32-bit time_t support
e.g. arm, csky, i386, hppa, m68k, microblaze, nios2, sh, powerpc32,
e.g. arm, csky, i386, hppa, m68k, microblaze, sh, powerpc32,
and sparc32. */
struct stat64 st64;
r = INTERNAL_SYSCALL_CALL (fstatat64, fd, file, &st64, flag);

View File

@ -38,7 +38,7 @@ __fxstat (int vers, int fd, struct stat *buf)
{
# if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI,
e.g. csky, nios2 */
e.g. csky */
int r = INLINE_SYSCALL_CALL (fstat64, fd, buf);
return r ?: stat_overflow (buf);
# else

View File

@ -61,7 +61,7 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf)
# endif
#else
/* All kABIs with non-LFS support, e.g. arm, csky, i386, hppa, m68k,
microblaze, mips32, nios2, sh, powerpc32, and sparc32. */
microblaze, mips32, sh, powerpc32, and sparc32. */
return INLINE_SYSCALL_CALL (fstat64, fd, buf);
#endif /* XSTAT_IS_XSTAT64 */
}

View File

@ -34,7 +34,7 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
{
#if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI, e.g.
csky, nios2 */
csky. */
if (vers == _STAT_VER_KERNEL)
{
int r = INLINE_SYSCALL_CALL (fstatat64, fd, file, st, flag);

View File

@ -58,7 +58,7 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
# endif
#else
/* All kABIs with non-LFS support, e.g. arm, csky, i386, hppa, m68k,
microblaze, mips32, nios2, sh, powerpc32, and sparc32. */
microblaze, mips32, sh, powerpc32, and sparc32. */
if (vers == _STAT_VER_LINUX)
return INLINE_SYSCALL_CALL (fstatat64, fd, file, st, flag);
#endif

View File

@ -38,7 +38,7 @@ __lxstat (int vers, const char *name, struct stat *buf)
{
# if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI,
e.g. csky, nios2 */
e.g. csky. */
int r = INLINE_SYSCALL_CALL (fstatat64, AT_FDCWD, name, buf,
AT_SYMLINK_NOFOLLOW);
return r ?: stat_overflow (buf);

View File

@ -69,7 +69,7 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf)
#else
# if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI,
e.g. csky, nios2 */
e.g. csky. */
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL_CALL (fstatat64, AT_FDCWD, name, buf,
AT_SYMLINK_NOFOLLOW);

View File

@ -1 +0,0 @@
nios2/nptl

View File

@ -1,18 +0,0 @@
ifeq ($(subdir),stdlib)
gen-as-const-headers += ucontext_i.sym
endif
ifeq ($(subdir),misc)
# MIPS-style cacheflush routine
sysdep_headers += sys/cachectl.h
sysdep_routines += cacheflush
endif
ifeq ($(subdir),csu)
# Work around an incorrect assumption that an object of variably
# modified type, with a small fixed size but a large variable-sized
# part (the static_slotinfo variable in libc-tls.c) is allocated in
# the small data section, not the data section where it belongs based
# on its size. See GCC PR 92499.
CFLAGS-libc-tls.c += -mgpopt=none
endif

View File

@ -1,6 +0,0 @@
libc {
GLIBC_2.21 {
_flush_cache;
cacheflush;
}
}

View File

@ -1,339 +0,0 @@
/* 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_adjtimex 171
#define __NR_bind 200
#define __NR_bpf 280
#define __NR_brk 214
#define __NR_cacheflush 244
#define __NR_cachestat 451
#define __NR_capget 90
#define __NR_capset 91
#define __NR_chdir 49
#define __NR_chroot 51
#define __NR_clock_adjtime 266
#define __NR_clock_adjtime64 405
#define __NR_clock_getres 114
#define __NR_clock_getres_time64 406
#define __NR_clock_gettime 113
#define __NR_clock_gettime64 403
#define __NR_clock_nanosleep 115
#define __NR_clock_nanosleep_time64 407
#define __NR_clock_settime 112
#define __NR_clock_settime64 404
#define __NR_clone 220
#define __NR_clone3 435
#define __NR_close 57
#define __NR_close_range 436
#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_epoll_pwait2 441
#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_faccessat2 439
#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_fchmodat2 452
#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_fstat64 80
#define __NR_fstatat64 79
#define __NR_fstatfs64 44
#define __NR_fsync 82
#define __NR_ftruncate64 46
#define __NR_futex 98
#define __NR_futex_requeue 456
#define __NR_futex_time64 422
#define __NR_futex_wait 455
#define __NR_futex_waitv 449
#define __NR_futex_wake 454
#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_getrlimit 163
#define __NR_getrusage 165
#define __NR_getsid 156
#define __NR_getsockname 204
#define __NR_getsockopt 209
#define __NR_gettid 178
#define __NR_gettimeofday 169
#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_getevents 4
#define __NR_io_pgetevents 292
#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_landlock_add_rule 445
#define __NR_landlock_create_ruleset 444
#define __NR_landlock_restrict_self 446
#define __NR_lgetxattr 9
#define __NR_linkat 37
#define __NR_listen 201
#define __NR_listmount 458
#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_lsm_get_self_attr 459
#define __NR_lsm_list_modules 461
#define __NR_lsm_set_self_attr 460
#define __NR_madvise 233
#define __NR_map_shadow_stack 453
#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_mount_setattr 442
#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 183
#define __NR_mq_timedreceive_time64 419
#define __NR_mq_timedsend 182
#define __NR_mq_timedsend_time64 418
#define __NR_mq_unlink 181
#define __NR_mremap 216
#define __NR_mseal 462
#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_nanosleep 101
#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 73
#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_madvise 440
#define __NR_process_mrelease 448
#define __NR_process_vm_readv 270
#define __NR_process_vm_writev 271
#define __NR_pselect6 72
#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_quotactl_fd 443
#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 243
#define __NR_recvmmsg_time64 417
#define __NR_recvmsg 212
#define __NR_remap_file_pages 234
#define __NR_removexattr 14
#define __NR_renameat 38
#define __NR_renameat2 276
#define __NR_request_key 218
#define __NR_restart_syscall 128
#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 137
#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 127
#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 192
#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_mempolicy_home_node 450
#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_setrlimit 164
#define __NR_setsid 157
#define __NR_setsockopt 208
#define __NR_settimeofday 170
#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_statmount 457
#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_gettime 108
#define __NR_timer_gettime64 408
#define __NR_timer_settime 110
#define __NR_timer_settime64 409
#define __NR_timerfd_create 85
#define __NR_timerfd_gettime 87
#define __NR_timerfd_gettime64 410
#define __NR_timerfd_settime 86
#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 88
#define __NR_utimensat_time64 412
#define __NR_vhangup 58
#define __NR_vmsplice 75
#define __NR_wait4 260
#define __NR_waitid 95
#define __NR_write 64
#define __NR_writev 66

View File

@ -1,83 +0,0 @@
/* Low-level functions for atomic operations. Nios II version.
Copyright (C) 2012-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _NIOS2_ATOMIC_MACHINE_H
#define _NIOS2_ATOMIC_MACHINE_H 1
#define __HAVE_64B_ATOMICS 0
#define USE_ATOMIC_COMPILER_BUILTINS 0
/* XXX Is this actually correct? */
#define ATOMIC_EXCHANGE_USES_CAS 1
#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
(abort (), (__typeof (*mem)) 0)
#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
(abort (), (__typeof (*mem)) 0)
#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
(abort (), (__typeof (*mem)) 0)
#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
(abort (), 0)
#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
(abort (), 0)
#define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
(abort (), 0)
#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
({ \
register int r2 asm ("r2"); \
register int* r4 asm ("r4") = (int*)(mem); \
register int r5 asm ("r5"); \
register int r6 asm ("r6") = (int)(newval); \
int retval, orig_oldval = (int)(oldval); \
long kernel_cmpxchg = 0x1004; \
while (1) \
{ \
r5 = *r4; \
if (r5 != orig_oldval) \
{ \
retval = r5; \
break; \
} \
asm volatile ("callr %1\n" \
: "=r" (r2) \
: "r" (kernel_cmpxchg), "r" (r4), "r" (r5), "r" (r6) \
: "ra", "memory"); \
if (!r2) { retval = orig_oldval; break; } \
} \
(__typeof (*(mem))) retval; \
})
#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
({ \
register int r2 asm ("r2"); \
register int *r4 asm ("r4") = (int*)(mem); \
register int r5 asm ("r5") = (int)(oldval); \
register int r6 asm ("r6") = (int)(newval); \
long kernel_cmpxchg = 0x1004; \
asm volatile ("callr %1\n" \
: "=r" (r2) \
: "r" (kernel_cmpxchg), "r" (r4), "r" (r5), "r" (r6) \
: "ra", "memory"); \
r2; \
})
#define atomic_full_barrier() ({ asm volatile ("sync"); })
#endif /* _NIOS2_ATOMIC_MACHINE_H */

View File

@ -1,34 +0,0 @@
/* Types for registers for sys/procfs.h. Nios II version.
Copyright (C) 1996-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _SYS_PROCFS_H
# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
#endif
/* Type for a general-purpose register. */
typedef unsigned long elf_greg_t;
/* And the whole bunch of them. We could have used `struct
user_regs' directly in the typedef, but tradition says that
the register set is an array, which does have some peculiar
semantics, so leave it that way. */
#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
/* Register set for the floating-point registers. */
typedef struct user_fpregs elf_fpregset_t;

View File

@ -1,75 +0,0 @@
/* Copyright (C) 2011-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _SYS_STATFS_H
# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
#endif
#include <bits/endian.h>
#include <bits/types.h>
#include <bits/wordsize.h>
#if defined __USE_FILE_OFFSET64
# define __field64(type, type64, name) type64 name
#elif __BYTE_ORDER == __LITTLE_ENDIAN
# define __field64(type, type64, name) \
type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
#else
# define __field64(type, type64, name) \
int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
#endif
struct statfs
{
__SWORD_TYPE f_type;
__SWORD_TYPE f_bsize;
__field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
__field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
__field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
__field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
__field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
__fsid_t f_fsid;
__SWORD_TYPE f_namelen;
__SWORD_TYPE f_frsize;
__SWORD_TYPE f_flags;
__SWORD_TYPE f_spare[4];
};
#undef __field64
#ifdef __USE_LARGEFILE64
struct statfs64
{
__SWORD_TYPE f_type;
__SWORD_TYPE f_bsize;
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
__fsid_t f_fsid;
__SWORD_TYPE f_namelen;
__SWORD_TYPE f_frsize;
__SWORD_TYPE f_flags;
__SWORD_TYPE f_spare[4];
};
#endif
/* Tell code we have these members. */
#define _STATFS_F_NAMELEN
#define _STATFS_F_FRSIZE
#define _STATFS_F_FLAGS

View File

@ -1,135 +0,0 @@
/* Definition for struct stat. Linux/nios2 version.
Copyright (C) 2020-2024 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
<https://www.gnu.org/licenses/>. */
#if !defined _SYS_STAT_H && !defined _FCNTL_H
# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
#endif
#ifndef _BITS_STRUCT_STAT_H
#define _BITS_STRUCT_STAT_H 1
#include <bits/endian.h>
#include <bits/wordsize.h>
#if defined __USE_FILE_OFFSET64
# define __field64(type, type64, name) type64 name
#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
# error "ino_t and off_t must both be the same type"
# endif
# define __field64(type, type64, name) type name
#elif __BYTE_ORDER == __LITTLE_ENDIAN
# define __field64(type, type64, name) \
type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
#else
# define __field64(type, type64, name) \
int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
#endif
struct stat
{
#ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h>
#else
__dev_t st_dev; /* Device. */
__field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
__dev_t st_rdev; /* Device number, if device. */
__dev_t __pad1;
__field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
__blksize_t st_blksize; /* Optimal block size for I/O. */
int __pad2;
__field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
# ifdef __USE_XOPEN2K8
/* Nanosecond resolution timestamps are stored in a format
equivalent to 'struct timespec'. This is the type used
whenever possible but the Unix namespace rules do not allow the
identifier 'timespec' to appear in the <sys/stat.h> header.
Therefore we have to handle the use of this header in strictly
standard-compliant sources special. */
struct timespec st_atim; /* Time of last access. */
struct timespec st_mtim; /* Time of last modification. */
struct timespec st_ctim; /* Time of last status change. */
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
# else
__time_t st_atime; /* Time of last access. */
unsigned long int st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif
int __glibc_reserved[2];
#endif
};
#undef __field64
#ifdef __USE_LARGEFILE64
struct stat64
{
# ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h>
# else
__dev_t st_dev; /* Device. */
__ino64_t st_ino; /* File serial number. */
__mode_t st_mode; /* File mode. */
__nlink_t st_nlink; /* Link count. */
__uid_t st_uid; /* User ID of the file's owner. */
__gid_t st_gid; /* Group ID of the file's group.*/
__dev_t st_rdev; /* Device number, if device. */
__dev_t __pad1;
__off64_t st_size; /* Size of file, in bytes. */
__blksize_t st_blksize; /* Optimal block size for I/O. */
int __pad2;
__blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
# ifdef __USE_XOPEN2K8
/* Nanosecond resolution timestamps are stored in a format
equivalent to 'struct timespec'. This is the type used
whenever possible but the Unix namespace rules do not allow the
identifier 'timespec' to appear in the <sys/stat.h> header.
Therefore we have to handle the use of this header in strictly
standard-compliant sources special. */
struct timespec st_atim; /* Time of last access. */
struct timespec st_mtim; /* Time of last modification. */
struct timespec st_ctim; /* Time of last status change. */
# else
__time_t st_atime; /* Time of last access. */
unsigned long int st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif
int __glibc_reserved[2];
# endif
};
#endif
/* Tell code we have these members. */
#define _STATBUF_ST_BLKSIZE
#define _STATBUF_ST_RDEV
/* Nanosecond resolution time values are supported. */
#define _STATBUF_ST_NSEC
#endif /* _BITS_STRUCT_STAT_H */

View File

@ -1,20 +0,0 @@
/* Bit size of the time_t type at glibc build time, Linux/NIOS2.
Copyright (C) 2021-2024 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
<https://www.gnu.org/licenses/>. */
/* Size in bits of the 'time_t' type of the default ABI. */
#define __TIMESIZE 32

View File

@ -1,67 +0,0 @@
blkcnt64_t:x
blkcnt_t:l
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:m
fsfilcnt64_t:y
fsfilcnt_t:m
fsid_t:8__fsid_t
gid_t:j
id_t:j
ino64_t:y
ino_t:m
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:l
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:m
sigset_t:10__sigset_t
size_t:j
socklen_t:j
ssize_t:i
suseconds_t:l
time_t:l
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

View File

@ -1,29 +0,0 @@
/* cacheflush system call for Nios II Linux.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <stddef.h>
#include <unistd.h>
/* Flush cache(s). */
int
_flush_cache (char *addr, const int nbytes, const int op)
{
return INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
}
weak_alias (_flush_cache, cacheflush)

View File

@ -1,83 +0,0 @@
/* clone() implementation for Nios II.
Copyright (C) 2008-2024 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
<https://www.gnu.org/licenses/>. */
/* clone() is even more special than fork() as it mucks with stacks
and invokes a function in the right context after its all over. */
#include <sysdep.h>
#define _ERRNO_H 1
#include <bits/errno.h>
#include <tcb-offsets.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
void *parent_tidptr, void *tls, void *child_tidptr) */
.text
ENTRY(__clone)
/* Sanity check arguments. */
movi r2, EINVAL
/* No NULL function pointers. */
beq r4, zero, SYSCALL_ERROR_LABEL
/* No NULL stack pointers. */
beq r5, zero, SYSCALL_ERROR_LABEL
subi r5, r5, 8 /* Reserve argument save space. */
stw r4, 4(r5) /* Save function pointer. */
stw r7, 0(r5) /* Save argument pointer. */
/* Load arguments. */
mov r4, r6
ldw r6, 0(sp)
ldw r7, 8(sp)
ldw r8, 4(sp)
/* Do the system call. */
movi r2, SYS_ify (clone)
/* End FDE now, because in the child the unwind info will be
wrong. */
cfi_endproc
trap
/* Check for errors. */
bne r7, zero, SYSCALL_ERROR_LABEL
/* See if we're on the newly created thread. */
beq r2, zero, thread_start
/* Successful return from the parent */
ret
thread_start:
cfi_startproc
cfi_undefined (ra)
ldw r5, 4(sp) /* Function pointer. */
ldw r4, 0(sp) /* Argument pointer. */
addi sp, sp, 8
/* Call the user's function. */
callr r5
/* exit with the result. */
movi r2, SYS_ify (exit)
trap
cfi_endproc
cfi_startproc
PSEUDO_END (__clone)
libc_hidden_def (__clone)
weak_alias (__clone, clone)

View File

@ -1,5 +0,0 @@
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/unix/sysv/linux/nios2.
arch_minimum_kernel=3.19.0

View File

@ -1,4 +0,0 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux/nios2.
arch_minimum_kernel=3.19.0

View File

@ -1,66 +0,0 @@
/* Save current context.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include "ucontext_i.h"
/* int getcontext (ucontext_t *ucp)
Returns 0 on success -1 and errno on failure.
*/
.text
ENTRY(__getcontext)
stw r16, (UCONTEXT_MCONTEXT + 16*4)(r4)
stw r17, (UCONTEXT_MCONTEXT + 17*4)(r4)
stw r18, (UCONTEXT_MCONTEXT + 18*4)(r4)
stw r19, (UCONTEXT_MCONTEXT + 19*4)(r4)
stw r20, (UCONTEXT_MCONTEXT + 20*4)(r4)
stw r21, (UCONTEXT_MCONTEXT + 21*4)(r4)
stw r22, (UCONTEXT_MCONTEXT + 22*4)(r4)
stw ra, (UCONTEXT_MCONTEXT + 24*4)(r4)
stw fp, (UCONTEXT_MCONTEXT + 25*4)(r4)
stw gp, (UCONTEXT_MCONTEXT + 26*4)(r4)
/* Store return address at place for EA. */
stw ra, (UCONTEXT_MCONTEXT + 28*4)(r4)
stw sp, (UCONTEXT_MCONTEXT + 29*4)(r4)
/* Store zero for return success. */
stw zero, (UCONTEXT_MCONTEXT + 2*4)(r4)
/* Store value "1" at uc_flags to recognize as getcontext created. */
movi r2, 1
stw r2, UCONTEXT_FLAGS(r4)
/* Store MCONTEXT_VERSION at first word of mcontext_t. */
movi r2, MCONTEXT_VERSION
stw r2, UCONTEXT_MCONTEXT(r4)
/* Get signal mask. */
/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
movi r7, _NSIG8
addi r6, r4, UCONTEXT_SIGMASK
mov r5, zero
movi r4, SIG_BLOCK
movi r2, SYS_ify (rt_sigprocmask)
trap
bne r7, zero, SYSCALL_ERROR_LABEL
mov r2, zero
ret
PSEUDO_END(__getcontext)
weak_alias(__getcontext, getcontext)

View File

@ -1,24 +0,0 @@
/* Set flags signalling availability of kernel features based on given
kernel version number. NIOS2 version.
Copyright (C) 2023-2024 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
<https://www.gnu.org/licenses/>. */
#include_next <kernel-features.h>
/* nios2 does not provide clone3. */
#undef __ASSUME_CLONE3
#define __ASSUME_CLONE3 0

View File

@ -1,26 +0,0 @@
/* Linux kernel struct rt_sigframe declaration for Nios II.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
/* This structure must have the same shape as the Linux kernel
equivalent. */
struct kernel_rt_sigframe
{
siginfo_t info;
ucontext_t uc;
};

View File

@ -1,9 +0,0 @@
/* NIOS2 uses the generic Linux UAPI but defines SA_RESTORER. */
#define SA_RESTORER 0x04000000
#define SET_SA_RESTORER(kact, act) \
(kact)->sa_restorer = (act)->sa_restorer
#define RESET_SA_RESTORER(act, kact) \
(act)->sa_restorer = (kact)->sa_restorer
#include <sysdeps/unix/sysv/linux/kernel_sigaction.h>

View File

@ -1,21 +0,0 @@
/* Internal definitions for stat functions. Linux/nios2.
Copyright (C) 2021-2024 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
<https://www.gnu.org/licenses/>. */
#define STAT_IS_KERNEL_STAT 1
#define XSTAT_IS_XSTAT64 0
#define STATFS_IS_STATFS64 0

View File

@ -1,9 +0,0 @@
GLIBC_2.21 __libc_stack_end D 0x4
GLIBC_2.21 __stack_chk_guard D 0x4
GLIBC_2.21 __tls_get_addr F
GLIBC_2.21 _dl_mcount F
GLIBC_2.21 _r_debug D 0x14
GLIBC_2.34 __rtld_version_placeholder F
GLIBC_2.35 __rseq_flags D 0x4
GLIBC_2.35 __rseq_offset D 0x4
GLIBC_2.35 __rseq_size D 0x4

View File

@ -1 +0,0 @@
GLIBC_2.21 __ctype_get_mb_cur_max F

View File

@ -1 +0,0 @@
GLIBC_2.21 __libanl_version_placeholder F

File diff suppressed because it is too large Load Diff

View File

@ -1,28 +0,0 @@
GLIBC_2.21 __free_hook D 0x4
GLIBC_2.21 __malloc_hook D 0x4
GLIBC_2.21 __memalign_hook D 0x4
GLIBC_2.21 __realloc_hook D 0x4
GLIBC_2.21 aligned_alloc F
GLIBC_2.21 calloc F
GLIBC_2.21 free F
GLIBC_2.21 mallinfo F
GLIBC_2.21 malloc F
GLIBC_2.21 malloc_get_state F
GLIBC_2.21 malloc_info F
GLIBC_2.21 malloc_set_state F
GLIBC_2.21 malloc_stats F
GLIBC_2.21 malloc_trim F
GLIBC_2.21 malloc_usable_size F
GLIBC_2.21 mallopt F
GLIBC_2.21 mcheck F
GLIBC_2.21 mcheck_check_all F
GLIBC_2.21 mcheck_pedantic F
GLIBC_2.21 memalign F
GLIBC_2.21 mprobe F
GLIBC_2.21 mtrace F
GLIBC_2.21 muntrace F
GLIBC_2.21 posix_memalign F
GLIBC_2.21 pvalloc F
GLIBC_2.21 realloc F
GLIBC_2.21 valloc F
GLIBC_2.33 mallinfo2 F

View File

@ -1 +0,0 @@
GLIBC_2.21 __libdl_version_placeholder F

View File

@ -1,880 +0,0 @@
GLIBC_2.21 _LIB_VERSION D 0x4
GLIBC_2.21 __acos_finite F
GLIBC_2.21 __acosf_finite F
GLIBC_2.21 __acosh_finite F
GLIBC_2.21 __acoshf_finite F
GLIBC_2.21 __asin_finite F
GLIBC_2.21 __asinf_finite F
GLIBC_2.21 __atan2_finite F
GLIBC_2.21 __atan2f_finite F
GLIBC_2.21 __atanh_finite F
GLIBC_2.21 __atanhf_finite F
GLIBC_2.21 __clog10 F
GLIBC_2.21 __clog10f F
GLIBC_2.21 __clog10l F
GLIBC_2.21 __cosh_finite F
GLIBC_2.21 __coshf_finite F
GLIBC_2.21 __exp10_finite F
GLIBC_2.21 __exp10f_finite F
GLIBC_2.21 __exp2_finite F
GLIBC_2.21 __exp2f_finite F
GLIBC_2.21 __exp_finite F
GLIBC_2.21 __expf_finite F
GLIBC_2.21 __finite F
GLIBC_2.21 __finitef F
GLIBC_2.21 __finitel F
GLIBC_2.21 __fmod_finite F
GLIBC_2.21 __fmodf_finite F
GLIBC_2.21 __fpclassify F
GLIBC_2.21 __fpclassifyf F
GLIBC_2.21 __gamma_r_finite F
GLIBC_2.21 __gammaf_r_finite F
GLIBC_2.21 __hypot_finite F
GLIBC_2.21 __hypotf_finite F
GLIBC_2.21 __issignaling F
GLIBC_2.21 __issignalingf F
GLIBC_2.21 __j0_finite F
GLIBC_2.21 __j0f_finite F
GLIBC_2.21 __j1_finite F
GLIBC_2.21 __j1f_finite F
GLIBC_2.21 __jn_finite F
GLIBC_2.21 __jnf_finite F
GLIBC_2.21 __lgamma_r_finite F
GLIBC_2.21 __lgammaf_r_finite F
GLIBC_2.21 __log10_finite F
GLIBC_2.21 __log10f_finite F
GLIBC_2.21 __log2_finite F
GLIBC_2.21 __log2f_finite F
GLIBC_2.21 __log_finite F
GLIBC_2.21 __logf_finite F
GLIBC_2.21 __pow_finite F
GLIBC_2.21 __powf_finite F
GLIBC_2.21 __remainder_finite F
GLIBC_2.21 __remainderf_finite F
GLIBC_2.21 __scalb_finite F
GLIBC_2.21 __scalbf_finite F
GLIBC_2.21 __signbit F
GLIBC_2.21 __signbitf F
GLIBC_2.21 __sinh_finite F
GLIBC_2.21 __sinhf_finite F
GLIBC_2.21 __sqrt_finite F
GLIBC_2.21 __sqrtf_finite F
GLIBC_2.21 __y0_finite F
GLIBC_2.21 __y0f_finite F
GLIBC_2.21 __y1_finite F
GLIBC_2.21 __y1f_finite F
GLIBC_2.21 __yn_finite F
GLIBC_2.21 __ynf_finite F
GLIBC_2.21 acos F
GLIBC_2.21 acosf F
GLIBC_2.21 acosh F
GLIBC_2.21 acoshf F
GLIBC_2.21 acoshl F
GLIBC_2.21 acosl F
GLIBC_2.21 asin F
GLIBC_2.21 asinf F
GLIBC_2.21 asinh F
GLIBC_2.21 asinhf F
GLIBC_2.21 asinhl F
GLIBC_2.21 asinl F
GLIBC_2.21 atan F
GLIBC_2.21 atan2 F
GLIBC_2.21 atan2f F
GLIBC_2.21 atan2l F
GLIBC_2.21 atanf F
GLIBC_2.21 atanh F
GLIBC_2.21 atanhf F
GLIBC_2.21 atanhl F
GLIBC_2.21 atanl F
GLIBC_2.21 cabs F
GLIBC_2.21 cabsf F
GLIBC_2.21 cabsl F
GLIBC_2.21 cacos F
GLIBC_2.21 cacosf F
GLIBC_2.21 cacosh F
GLIBC_2.21 cacoshf F
GLIBC_2.21 cacoshl F
GLIBC_2.21 cacosl F
GLIBC_2.21 carg F
GLIBC_2.21 cargf F
GLIBC_2.21 cargl F
GLIBC_2.21 casin F
GLIBC_2.21 casinf F
GLIBC_2.21 casinh F
GLIBC_2.21 casinhf F
GLIBC_2.21 casinhl F
GLIBC_2.21 casinl F
GLIBC_2.21 catan F
GLIBC_2.21 catanf F
GLIBC_2.21 catanh F
GLIBC_2.21 catanhf F
GLIBC_2.21 catanhl F
GLIBC_2.21 catanl F
GLIBC_2.21 cbrt F
GLIBC_2.21 cbrtf F
GLIBC_2.21 cbrtl F
GLIBC_2.21 ccos F
GLIBC_2.21 ccosf F
GLIBC_2.21 ccosh F
GLIBC_2.21 ccoshf F
GLIBC_2.21 ccoshl F
GLIBC_2.21 ccosl F
GLIBC_2.21 ceil F
GLIBC_2.21 ceilf F
GLIBC_2.21 ceill F
GLIBC_2.21 cexp F
GLIBC_2.21 cexpf F
GLIBC_2.21 cexpl F
GLIBC_2.21 cimag F
GLIBC_2.21 cimagf F
GLIBC_2.21 cimagl F
GLIBC_2.21 clog F
GLIBC_2.21 clog10 F
GLIBC_2.21 clog10f F
GLIBC_2.21 clog10l F
GLIBC_2.21 clogf F
GLIBC_2.21 clogl F
GLIBC_2.21 conj F
GLIBC_2.21 conjf F
GLIBC_2.21 conjl F
GLIBC_2.21 copysign F
GLIBC_2.21 copysignf F
GLIBC_2.21 copysignl F
GLIBC_2.21 cos F
GLIBC_2.21 cosf F
GLIBC_2.21 cosh F
GLIBC_2.21 coshf F
GLIBC_2.21 coshl F
GLIBC_2.21 cosl F
GLIBC_2.21 cpow F
GLIBC_2.21 cpowf F
GLIBC_2.21 cpowl F
GLIBC_2.21 cproj F
GLIBC_2.21 cprojf F
GLIBC_2.21 cprojl F
GLIBC_2.21 creal F
GLIBC_2.21 crealf F
GLIBC_2.21 creall F
GLIBC_2.21 csin F
GLIBC_2.21 csinf F
GLIBC_2.21 csinh F
GLIBC_2.21 csinhf F
GLIBC_2.21 csinhl F
GLIBC_2.21 csinl F
GLIBC_2.21 csqrt F
GLIBC_2.21 csqrtf F
GLIBC_2.21 csqrtl F
GLIBC_2.21 ctan F
GLIBC_2.21 ctanf F
GLIBC_2.21 ctanh F
GLIBC_2.21 ctanhf F
GLIBC_2.21 ctanhl F
GLIBC_2.21 ctanl F
GLIBC_2.21 drem F
GLIBC_2.21 dremf F
GLIBC_2.21 dreml F
GLIBC_2.21 erf F
GLIBC_2.21 erfc F
GLIBC_2.21 erfcf F
GLIBC_2.21 erfcl F
GLIBC_2.21 erff F
GLIBC_2.21 erfl F
GLIBC_2.21 exp F
GLIBC_2.21 exp10 F
GLIBC_2.21 exp10f F
GLIBC_2.21 exp10l F
GLIBC_2.21 exp2 F
GLIBC_2.21 exp2f F
GLIBC_2.21 exp2l F
GLIBC_2.21 expf F
GLIBC_2.21 expl F
GLIBC_2.21 expm1 F
GLIBC_2.21 expm1f F
GLIBC_2.21 expm1l F
GLIBC_2.21 fabs F
GLIBC_2.21 fabsf F
GLIBC_2.21 fabsl F
GLIBC_2.21 fdim F
GLIBC_2.21 fdimf F
GLIBC_2.21 fdiml F
GLIBC_2.21 feclearexcept F
GLIBC_2.21 fedisableexcept F
GLIBC_2.21 feenableexcept F
GLIBC_2.21 fegetenv F
GLIBC_2.21 fegetexcept F
GLIBC_2.21 fegetexceptflag F
GLIBC_2.21 fegetround F
GLIBC_2.21 feholdexcept F
GLIBC_2.21 feraiseexcept F
GLIBC_2.21 fesetenv F
GLIBC_2.21 fesetexceptflag F
GLIBC_2.21 fesetround F
GLIBC_2.21 fetestexcept F
GLIBC_2.21 feupdateenv F
GLIBC_2.21 finite F
GLIBC_2.21 finitef F
GLIBC_2.21 finitel F
GLIBC_2.21 floor F
GLIBC_2.21 floorf F
GLIBC_2.21 floorl F
GLIBC_2.21 fma F
GLIBC_2.21 fmaf F
GLIBC_2.21 fmal F
GLIBC_2.21 fmax F
GLIBC_2.21 fmaxf F
GLIBC_2.21 fmaxl F
GLIBC_2.21 fmin F
GLIBC_2.21 fminf F
GLIBC_2.21 fminl F
GLIBC_2.21 fmod F
GLIBC_2.21 fmodf F
GLIBC_2.21 fmodl F
GLIBC_2.21 frexp F
GLIBC_2.21 frexpf F
GLIBC_2.21 frexpl F
GLIBC_2.21 gamma F
GLIBC_2.21 gammaf F
GLIBC_2.21 gammal F
GLIBC_2.21 hypot F
GLIBC_2.21 hypotf F
GLIBC_2.21 hypotl F
GLIBC_2.21 ilogb F
GLIBC_2.21 ilogbf F
GLIBC_2.21 ilogbl F
GLIBC_2.21 j0 F
GLIBC_2.21 j0f F
GLIBC_2.21 j0l F
GLIBC_2.21 j1 F
GLIBC_2.21 j1f F
GLIBC_2.21 j1l F
GLIBC_2.21 jn F
GLIBC_2.21 jnf F
GLIBC_2.21 jnl F
GLIBC_2.21 ldexp F
GLIBC_2.21 ldexpf F
GLIBC_2.21 ldexpl F
GLIBC_2.21 lgamma F
GLIBC_2.21 lgamma_r F
GLIBC_2.21 lgammaf F
GLIBC_2.21 lgammaf_r F
GLIBC_2.21 lgammal F
GLIBC_2.21 lgammal_r F
GLIBC_2.21 llrint F
GLIBC_2.21 llrintf F
GLIBC_2.21 llrintl F
GLIBC_2.21 llround F
GLIBC_2.21 llroundf F
GLIBC_2.21 llroundl F
GLIBC_2.21 log F
GLIBC_2.21 log10 F
GLIBC_2.21 log10f F
GLIBC_2.21 log10l F
GLIBC_2.21 log1p F
GLIBC_2.21 log1pf F
GLIBC_2.21 log1pl F
GLIBC_2.21 log2 F
GLIBC_2.21 log2f F
GLIBC_2.21 log2l F
GLIBC_2.21 logb F
GLIBC_2.21 logbf F
GLIBC_2.21 logbl F
GLIBC_2.21 logf F
GLIBC_2.21 logl F
GLIBC_2.21 lrint F
GLIBC_2.21 lrintf F
GLIBC_2.21 lrintl F
GLIBC_2.21 lround F
GLIBC_2.21 lroundf F
GLIBC_2.21 lroundl F
GLIBC_2.21 matherr F
GLIBC_2.21 modf F
GLIBC_2.21 modff F
GLIBC_2.21 modfl F
GLIBC_2.21 nan F
GLIBC_2.21 nanf F
GLIBC_2.21 nanl F
GLIBC_2.21 nearbyint F
GLIBC_2.21 nearbyintf F
GLIBC_2.21 nearbyintl F
GLIBC_2.21 nextafter F
GLIBC_2.21 nextafterf F
GLIBC_2.21 nextafterl F
GLIBC_2.21 nexttoward F
GLIBC_2.21 nexttowardf F
GLIBC_2.21 nexttowardl F
GLIBC_2.21 pow F
GLIBC_2.21 pow10 F
GLIBC_2.21 pow10f F
GLIBC_2.21 pow10l F
GLIBC_2.21 powf F
GLIBC_2.21 powl F
GLIBC_2.21 remainder F
GLIBC_2.21 remainderf F
GLIBC_2.21 remainderl F
GLIBC_2.21 remquo F
GLIBC_2.21 remquof F
GLIBC_2.21 remquol F
GLIBC_2.21 rint F
GLIBC_2.21 rintf F
GLIBC_2.21 rintl F
GLIBC_2.21 round F
GLIBC_2.21 roundf F
GLIBC_2.21 roundl F
GLIBC_2.21 scalb F
GLIBC_2.21 scalbf F
GLIBC_2.21 scalbl F
GLIBC_2.21 scalbln F
GLIBC_2.21 scalblnf F
GLIBC_2.21 scalblnl F
GLIBC_2.21 scalbn F
GLIBC_2.21 scalbnf F
GLIBC_2.21 scalbnl F
GLIBC_2.21 signgam D 0x4
GLIBC_2.21 significand F
GLIBC_2.21 significandf F
GLIBC_2.21 significandl F
GLIBC_2.21 sin F
GLIBC_2.21 sincos F
GLIBC_2.21 sincosf F
GLIBC_2.21 sincosl F
GLIBC_2.21 sinf F
GLIBC_2.21 sinh F
GLIBC_2.21 sinhf F
GLIBC_2.21 sinhl F
GLIBC_2.21 sinl F
GLIBC_2.21 sqrt F
GLIBC_2.21 sqrtf F
GLIBC_2.21 sqrtl F
GLIBC_2.21 tan F
GLIBC_2.21 tanf F
GLIBC_2.21 tanh F
GLIBC_2.21 tanhf F
GLIBC_2.21 tanhl F
GLIBC_2.21 tanl F
GLIBC_2.21 tgamma F
GLIBC_2.21 tgammaf F
GLIBC_2.21 tgammal F
GLIBC_2.21 trunc F
GLIBC_2.21 truncf F
GLIBC_2.21 truncl F
GLIBC_2.21 y0 F
GLIBC_2.21 y0f F
GLIBC_2.21 y0l F
GLIBC_2.21 y1 F
GLIBC_2.21 y1f F
GLIBC_2.21 y1l F
GLIBC_2.21 yn F
GLIBC_2.21 ynf F
GLIBC_2.21 ynl F
GLIBC_2.23 __signgam D 0x4
GLIBC_2.23 lgamma F
GLIBC_2.23 lgammaf F
GLIBC_2.23 lgammal F
GLIBC_2.24 nextdown F
GLIBC_2.24 nextdownf F
GLIBC_2.24 nextdownl F
GLIBC_2.24 nextup F
GLIBC_2.24 nextupf F
GLIBC_2.24 nextupl F
GLIBC_2.25 __iseqsig F
GLIBC_2.25 __iseqsigf F
GLIBC_2.25 canonicalize F
GLIBC_2.25 canonicalizef F
GLIBC_2.25 canonicalizel F
GLIBC_2.25 fegetmode F
GLIBC_2.25 fesetexcept F
GLIBC_2.25 fesetmode F
GLIBC_2.25 fetestexceptflag F
GLIBC_2.25 fmaxmag F
GLIBC_2.25 fmaxmagf F
GLIBC_2.25 fmaxmagl F
GLIBC_2.25 fminmag F
GLIBC_2.25 fminmagf F
GLIBC_2.25 fminmagl F
GLIBC_2.25 fromfp F
GLIBC_2.25 fromfpf F
GLIBC_2.25 fromfpl F
GLIBC_2.25 fromfpx F
GLIBC_2.25 fromfpxf F
GLIBC_2.25 fromfpxl F
GLIBC_2.25 getpayload F
GLIBC_2.25 getpayloadf F
GLIBC_2.25 getpayloadl F
GLIBC_2.25 llogb F
GLIBC_2.25 llogbf F
GLIBC_2.25 llogbl F
GLIBC_2.25 roundeven F
GLIBC_2.25 roundevenf F
GLIBC_2.25 roundevenl F
GLIBC_2.25 setpayload F
GLIBC_2.25 setpayloadf F
GLIBC_2.25 setpayloadl F
GLIBC_2.25 setpayloadsig F
GLIBC_2.25 setpayloadsigf F
GLIBC_2.25 setpayloadsigl F
GLIBC_2.25 totalorder F
GLIBC_2.25 totalorderf F
GLIBC_2.25 totalorderl F
GLIBC_2.25 totalordermag F
GLIBC_2.25 totalordermagf F
GLIBC_2.25 totalordermagl F
GLIBC_2.25 ufromfp F
GLIBC_2.25 ufromfpf F
GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 acosf32 F
GLIBC_2.27 acosf32x F
GLIBC_2.27 acosf64 F
GLIBC_2.27 acoshf32 F
GLIBC_2.27 acoshf32x F
GLIBC_2.27 acoshf64 F
GLIBC_2.27 asinf32 F
GLIBC_2.27 asinf32x F
GLIBC_2.27 asinf64 F
GLIBC_2.27 asinhf32 F
GLIBC_2.27 asinhf32x F
GLIBC_2.27 asinhf64 F
GLIBC_2.27 atan2f32 F
GLIBC_2.27 atan2f32x F
GLIBC_2.27 atan2f64 F
GLIBC_2.27 atanf32 F
GLIBC_2.27 atanf32x F
GLIBC_2.27 atanf64 F
GLIBC_2.27 atanhf32 F
GLIBC_2.27 atanhf32x F
GLIBC_2.27 atanhf64 F
GLIBC_2.27 cabsf32 F
GLIBC_2.27 cabsf32x F
GLIBC_2.27 cabsf64 F
GLIBC_2.27 cacosf32 F
GLIBC_2.27 cacosf32x F
GLIBC_2.27 cacosf64 F
GLIBC_2.27 cacoshf32 F
GLIBC_2.27 cacoshf32x F
GLIBC_2.27 cacoshf64 F
GLIBC_2.27 canonicalizef32 F
GLIBC_2.27 canonicalizef32x F
GLIBC_2.27 canonicalizef64 F
GLIBC_2.27 cargf32 F
GLIBC_2.27 cargf32x F
GLIBC_2.27 cargf64 F
GLIBC_2.27 casinf32 F
GLIBC_2.27 casinf32x F
GLIBC_2.27 casinf64 F
GLIBC_2.27 casinhf32 F
GLIBC_2.27 casinhf32x F
GLIBC_2.27 casinhf64 F
GLIBC_2.27 catanf32 F
GLIBC_2.27 catanf32x F
GLIBC_2.27 catanf64 F
GLIBC_2.27 catanhf32 F
GLIBC_2.27 catanhf32x F
GLIBC_2.27 catanhf64 F
GLIBC_2.27 cbrtf32 F
GLIBC_2.27 cbrtf32x F
GLIBC_2.27 cbrtf64 F
GLIBC_2.27 ccosf32 F
GLIBC_2.27 ccosf32x F
GLIBC_2.27 ccosf64 F
GLIBC_2.27 ccoshf32 F
GLIBC_2.27 ccoshf32x F
GLIBC_2.27 ccoshf64 F
GLIBC_2.27 ceilf32 F
GLIBC_2.27 ceilf32x F
GLIBC_2.27 ceilf64 F
GLIBC_2.27 cexpf32 F
GLIBC_2.27 cexpf32x F
GLIBC_2.27 cexpf64 F
GLIBC_2.27 cimagf32 F
GLIBC_2.27 cimagf32x F
GLIBC_2.27 cimagf64 F
GLIBC_2.27 clog10f32 F
GLIBC_2.27 clog10f32x F
GLIBC_2.27 clog10f64 F
GLIBC_2.27 clogf32 F
GLIBC_2.27 clogf32x F
GLIBC_2.27 clogf64 F
GLIBC_2.27 conjf32 F
GLIBC_2.27 conjf32x F
GLIBC_2.27 conjf64 F
GLIBC_2.27 copysignf32 F
GLIBC_2.27 copysignf32x F
GLIBC_2.27 copysignf64 F
GLIBC_2.27 cosf32 F
GLIBC_2.27 cosf32x F
GLIBC_2.27 cosf64 F
GLIBC_2.27 coshf32 F
GLIBC_2.27 coshf32x F
GLIBC_2.27 coshf64 F
GLIBC_2.27 cpowf32 F
GLIBC_2.27 cpowf32x F
GLIBC_2.27 cpowf64 F
GLIBC_2.27 cprojf32 F
GLIBC_2.27 cprojf32x F
GLIBC_2.27 cprojf64 F
GLIBC_2.27 crealf32 F
GLIBC_2.27 crealf32x F
GLIBC_2.27 crealf64 F
GLIBC_2.27 csinf32 F
GLIBC_2.27 csinf32x F
GLIBC_2.27 csinf64 F
GLIBC_2.27 csinhf32 F
GLIBC_2.27 csinhf32x F
GLIBC_2.27 csinhf64 F
GLIBC_2.27 csqrtf32 F
GLIBC_2.27 csqrtf32x F
GLIBC_2.27 csqrtf64 F
GLIBC_2.27 ctanf32 F
GLIBC_2.27 ctanf32x F
GLIBC_2.27 ctanf64 F
GLIBC_2.27 ctanhf32 F
GLIBC_2.27 ctanhf32x F
GLIBC_2.27 ctanhf64 F
GLIBC_2.27 erfcf32 F
GLIBC_2.27 erfcf32x F
GLIBC_2.27 erfcf64 F
GLIBC_2.27 erff32 F
GLIBC_2.27 erff32x F
GLIBC_2.27 erff64 F
GLIBC_2.27 exp10f32 F
GLIBC_2.27 exp10f32x F
GLIBC_2.27 exp10f64 F
GLIBC_2.27 exp2f F
GLIBC_2.27 exp2f32 F
GLIBC_2.27 exp2f32x F
GLIBC_2.27 exp2f64 F
GLIBC_2.27 expf F
GLIBC_2.27 expf32 F
GLIBC_2.27 expf32x F
GLIBC_2.27 expf64 F
GLIBC_2.27 expm1f32 F
GLIBC_2.27 expm1f32x F
GLIBC_2.27 expm1f64 F
GLIBC_2.27 fabsf32 F
GLIBC_2.27 fabsf32x F
GLIBC_2.27 fabsf64 F
GLIBC_2.27 fdimf32 F
GLIBC_2.27 fdimf32x F
GLIBC_2.27 fdimf64 F
GLIBC_2.27 floorf32 F
GLIBC_2.27 floorf32x F
GLIBC_2.27 floorf64 F
GLIBC_2.27 fmaf32 F
GLIBC_2.27 fmaf32x F
GLIBC_2.27 fmaf64 F
GLIBC_2.27 fmaxf32 F
GLIBC_2.27 fmaxf32x F
GLIBC_2.27 fmaxf64 F
GLIBC_2.27 fmaxmagf32 F
GLIBC_2.27 fmaxmagf32x F
GLIBC_2.27 fmaxmagf64 F
GLIBC_2.27 fminf32 F
GLIBC_2.27 fminf32x F
GLIBC_2.27 fminf64 F
GLIBC_2.27 fminmagf32 F
GLIBC_2.27 fminmagf32x F
GLIBC_2.27 fminmagf64 F
GLIBC_2.27 fmodf32 F
GLIBC_2.27 fmodf32x F
GLIBC_2.27 fmodf64 F
GLIBC_2.27 frexpf32 F
GLIBC_2.27 frexpf32x F
GLIBC_2.27 frexpf64 F
GLIBC_2.27 fromfpf32 F
GLIBC_2.27 fromfpf32x F
GLIBC_2.27 fromfpf64 F
GLIBC_2.27 fromfpxf32 F
GLIBC_2.27 fromfpxf32x F
GLIBC_2.27 fromfpxf64 F
GLIBC_2.27 getpayloadf32 F
GLIBC_2.27 getpayloadf32x F
GLIBC_2.27 getpayloadf64 F
GLIBC_2.27 hypotf32 F
GLIBC_2.27 hypotf32x F
GLIBC_2.27 hypotf64 F
GLIBC_2.27 ilogbf32 F
GLIBC_2.27 ilogbf32x F
GLIBC_2.27 ilogbf64 F
GLIBC_2.27 j0f32 F
GLIBC_2.27 j0f32x F
GLIBC_2.27 j0f64 F
GLIBC_2.27 j1f32 F
GLIBC_2.27 j1f32x F
GLIBC_2.27 j1f64 F
GLIBC_2.27 jnf32 F
GLIBC_2.27 jnf32x F
GLIBC_2.27 jnf64 F
GLIBC_2.27 ldexpf32 F
GLIBC_2.27 ldexpf32x F
GLIBC_2.27 ldexpf64 F
GLIBC_2.27 lgammaf32 F
GLIBC_2.27 lgammaf32_r F
GLIBC_2.27 lgammaf32x F
GLIBC_2.27 lgammaf32x_r F
GLIBC_2.27 lgammaf64 F
GLIBC_2.27 lgammaf64_r F
GLIBC_2.27 llogbf32 F
GLIBC_2.27 llogbf32x F
GLIBC_2.27 llogbf64 F
GLIBC_2.27 llrintf32 F
GLIBC_2.27 llrintf32x F
GLIBC_2.27 llrintf64 F
GLIBC_2.27 llroundf32 F
GLIBC_2.27 llroundf32x F
GLIBC_2.27 llroundf64 F
GLIBC_2.27 log10f32 F
GLIBC_2.27 log10f32x F
GLIBC_2.27 log10f64 F
GLIBC_2.27 log1pf32 F
GLIBC_2.27 log1pf32x F
GLIBC_2.27 log1pf64 F
GLIBC_2.27 log2f F
GLIBC_2.27 log2f32 F
GLIBC_2.27 log2f32x F
GLIBC_2.27 log2f64 F
GLIBC_2.27 logbf32 F
GLIBC_2.27 logbf32x F
GLIBC_2.27 logbf64 F
GLIBC_2.27 logf F
GLIBC_2.27 logf32 F
GLIBC_2.27 logf32x F
GLIBC_2.27 logf64 F
GLIBC_2.27 lrintf32 F
GLIBC_2.27 lrintf32x F
GLIBC_2.27 lrintf64 F
GLIBC_2.27 lroundf32 F
GLIBC_2.27 lroundf32x F
GLIBC_2.27 lroundf64 F
GLIBC_2.27 modff32 F
GLIBC_2.27 modff32x F
GLIBC_2.27 modff64 F
GLIBC_2.27 nanf32 F
GLIBC_2.27 nanf32x F
GLIBC_2.27 nanf64 F
GLIBC_2.27 nearbyintf32 F
GLIBC_2.27 nearbyintf32x F
GLIBC_2.27 nearbyintf64 F
GLIBC_2.27 nextafterf32 F
GLIBC_2.27 nextafterf32x F
GLIBC_2.27 nextafterf64 F
GLIBC_2.27 nextdownf32 F
GLIBC_2.27 nextdownf32x F
GLIBC_2.27 nextdownf64 F
GLIBC_2.27 nextupf32 F
GLIBC_2.27 nextupf32x F
GLIBC_2.27 nextupf64 F
GLIBC_2.27 powf F
GLIBC_2.27 powf32 F
GLIBC_2.27 powf32x F
GLIBC_2.27 powf64 F
GLIBC_2.27 remainderf32 F
GLIBC_2.27 remainderf32x F
GLIBC_2.27 remainderf64 F
GLIBC_2.27 remquof32 F
GLIBC_2.27 remquof32x F
GLIBC_2.27 remquof64 F
GLIBC_2.27 rintf32 F
GLIBC_2.27 rintf32x F
GLIBC_2.27 rintf64 F
GLIBC_2.27 roundevenf32 F
GLIBC_2.27 roundevenf32x F
GLIBC_2.27 roundevenf64 F
GLIBC_2.27 roundf32 F
GLIBC_2.27 roundf32x F
GLIBC_2.27 roundf64 F
GLIBC_2.27 scalblnf32 F
GLIBC_2.27 scalblnf32x F
GLIBC_2.27 scalblnf64 F
GLIBC_2.27 scalbnf32 F
GLIBC_2.27 scalbnf32x F
GLIBC_2.27 scalbnf64 F
GLIBC_2.27 setpayloadf32 F
GLIBC_2.27 setpayloadf32x F
GLIBC_2.27 setpayloadf64 F
GLIBC_2.27 setpayloadsigf32 F
GLIBC_2.27 setpayloadsigf32x F
GLIBC_2.27 setpayloadsigf64 F
GLIBC_2.27 sincosf32 F
GLIBC_2.27 sincosf32x F
GLIBC_2.27 sincosf64 F
GLIBC_2.27 sinf32 F
GLIBC_2.27 sinf32x F
GLIBC_2.27 sinf64 F
GLIBC_2.27 sinhf32 F
GLIBC_2.27 sinhf32x F
GLIBC_2.27 sinhf64 F
GLIBC_2.27 sqrtf32 F
GLIBC_2.27 sqrtf32x F
GLIBC_2.27 sqrtf64 F
GLIBC_2.27 tanf32 F
GLIBC_2.27 tanf32x F
GLIBC_2.27 tanf64 F
GLIBC_2.27 tanhf32 F
GLIBC_2.27 tanhf32x F
GLIBC_2.27 tanhf64 F
GLIBC_2.27 tgammaf32 F
GLIBC_2.27 tgammaf32x F
GLIBC_2.27 tgammaf64 F
GLIBC_2.27 totalorderf32 F
GLIBC_2.27 totalorderf32x F
GLIBC_2.27 totalorderf64 F
GLIBC_2.27 totalordermagf32 F
GLIBC_2.27 totalordermagf32x F
GLIBC_2.27 totalordermagf64 F
GLIBC_2.27 truncf32 F
GLIBC_2.27 truncf32x F
GLIBC_2.27 truncf64 F
GLIBC_2.27 ufromfpf32 F
GLIBC_2.27 ufromfpf32x F
GLIBC_2.27 ufromfpf64 F
GLIBC_2.27 ufromfpxf32 F
GLIBC_2.27 ufromfpxf32x F
GLIBC_2.27 ufromfpxf64 F
GLIBC_2.27 y0f32 F
GLIBC_2.27 y0f32x F
GLIBC_2.27 y0f64 F
GLIBC_2.27 y1f32 F
GLIBC_2.27 y1f32x F
GLIBC_2.27 y1f64 F
GLIBC_2.27 ynf32 F
GLIBC_2.27 ynf32x F
GLIBC_2.27 ynf64 F
GLIBC_2.28 daddl F
GLIBC_2.28 ddivl F
GLIBC_2.28 dmull F
GLIBC_2.28 dsubl F
GLIBC_2.28 f32addf32x F
GLIBC_2.28 f32addf64 F
GLIBC_2.28 f32divf32x F
GLIBC_2.28 f32divf64 F
GLIBC_2.28 f32mulf32x F
GLIBC_2.28 f32mulf64 F
GLIBC_2.28 f32subf32x F
GLIBC_2.28 f32subf64 F
GLIBC_2.28 f32xaddf64 F
GLIBC_2.28 f32xdivf64 F
GLIBC_2.28 f32xmulf64 F
GLIBC_2.28 f32xsubf64 F
GLIBC_2.28 fadd F
GLIBC_2.28 faddl F
GLIBC_2.28 fdiv F
GLIBC_2.28 fdivl F
GLIBC_2.28 fmul F
GLIBC_2.28 fmull F
GLIBC_2.28 fsub F
GLIBC_2.28 fsubl F
GLIBC_2.29 exp F
GLIBC_2.29 exp2 F
GLIBC_2.29 log F
GLIBC_2.29 log2 F
GLIBC_2.29 pow F
GLIBC_2.31 totalorder F
GLIBC_2.31 totalorderf F
GLIBC_2.31 totalorderf32 F
GLIBC_2.31 totalorderf32x F
GLIBC_2.31 totalorderf64 F
GLIBC_2.31 totalorderl F
GLIBC_2.31 totalordermag F
GLIBC_2.31 totalordermagf F
GLIBC_2.31 totalordermagf32 F
GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fmaximum F
GLIBC_2.35 fmaximum_mag F
GLIBC_2.35 fmaximum_mag_num F
GLIBC_2.35 fmaximum_mag_numf F
GLIBC_2.35 fmaximum_mag_numf32 F
GLIBC_2.35 fmaximum_mag_numf32x F
GLIBC_2.35 fmaximum_mag_numf64 F
GLIBC_2.35 fmaximum_mag_numl F
GLIBC_2.35 fmaximum_magf F
GLIBC_2.35 fmaximum_magf32 F
GLIBC_2.35 fmaximum_magf32x F
GLIBC_2.35 fmaximum_magf64 F
GLIBC_2.35 fmaximum_magl F
GLIBC_2.35 fmaximum_num F
GLIBC_2.35 fmaximum_numf F
GLIBC_2.35 fmaximum_numf32 F
GLIBC_2.35 fmaximum_numf32x F
GLIBC_2.35 fmaximum_numf64 F
GLIBC_2.35 fmaximum_numl F
GLIBC_2.35 fmaximumf F
GLIBC_2.35 fmaximumf32 F
GLIBC_2.35 fmaximumf32x F
GLIBC_2.35 fmaximumf64 F
GLIBC_2.35 fmaximuml F
GLIBC_2.35 fminimum F
GLIBC_2.35 fminimum_mag F
GLIBC_2.35 fminimum_mag_num F
GLIBC_2.35 fminimum_mag_numf F
GLIBC_2.35 fminimum_mag_numf32 F
GLIBC_2.35 fminimum_mag_numf32x F
GLIBC_2.35 fminimum_mag_numf64 F
GLIBC_2.35 fminimum_mag_numl F
GLIBC_2.35 fminimum_magf F
GLIBC_2.35 fminimum_magf32 F
GLIBC_2.35 fminimum_magf32x F
GLIBC_2.35 fminimum_magf64 F
GLIBC_2.35 fminimum_magl F
GLIBC_2.35 fminimum_num F
GLIBC_2.35 fminimum_numf F
GLIBC_2.35 fminimum_numf32 F
GLIBC_2.35 fminimum_numf32x F
GLIBC_2.35 fminimum_numf64 F
GLIBC_2.35 fminimum_numl F
GLIBC_2.35 fminimumf F
GLIBC_2.35 fminimumf32 F
GLIBC_2.35 fminimumf32x F
GLIBC_2.35 fminimumf64 F
GLIBC_2.35 fminimuml F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.35 hypot F
GLIBC_2.35 hypotf F
GLIBC_2.38 fmod F
GLIBC_2.38 fmodf F
GLIBC_2.39 exp10 F
GLIBC_2.40 exp10m1 F
GLIBC_2.40 exp10m1f F
GLIBC_2.40 exp10m1f32 F
GLIBC_2.40 exp10m1f32x F
GLIBC_2.40 exp10m1f64 F
GLIBC_2.40 exp10m1l F
GLIBC_2.40 exp2m1 F
GLIBC_2.40 exp2m1f F
GLIBC_2.40 exp2m1f32 F
GLIBC_2.40 exp2m1f32x F
GLIBC_2.40 exp2m1f64 F
GLIBC_2.40 exp2m1l F
GLIBC_2.40 log10p1 F
GLIBC_2.40 log10p1f F
GLIBC_2.40 log10p1f32 F
GLIBC_2.40 log10p1f32x F
GLIBC_2.40 log10p1f64 F
GLIBC_2.40 log10p1l F
GLIBC_2.40 log2p1 F
GLIBC_2.40 log2p1f F
GLIBC_2.40 log2p1f32 F
GLIBC_2.40 log2p1f32x F
GLIBC_2.40 log2p1f64 F
GLIBC_2.40 log2p1l F
GLIBC_2.40 logp1 F
GLIBC_2.40 logp1f F
GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F

View File

@ -1,121 +0,0 @@
GLIBC_2.21 __free_fdresult F
GLIBC_2.21 __nis_default_access F
GLIBC_2.21 __nis_default_group F
GLIBC_2.21 __nis_default_owner F
GLIBC_2.21 __nis_default_ttl F
GLIBC_2.21 __nis_finddirectory F
GLIBC_2.21 __nis_hash F
GLIBC_2.21 __nisbind_connect F
GLIBC_2.21 __nisbind_create F
GLIBC_2.21 __nisbind_destroy F
GLIBC_2.21 __nisbind_next F
GLIBC_2.21 __yp_check F
GLIBC_2.21 nis_add F
GLIBC_2.21 nis_add_entry F
GLIBC_2.21 nis_addmember F
GLIBC_2.21 nis_checkpoint F
GLIBC_2.21 nis_clone_directory F
GLIBC_2.21 nis_clone_object F
GLIBC_2.21 nis_clone_result F
GLIBC_2.21 nis_creategroup F
GLIBC_2.21 nis_destroy_object F
GLIBC_2.21 nis_destroygroup F
GLIBC_2.21 nis_dir_cmp F
GLIBC_2.21 nis_domain_of F
GLIBC_2.21 nis_domain_of_r F
GLIBC_2.21 nis_first_entry F
GLIBC_2.21 nis_free_directory F
GLIBC_2.21 nis_free_object F
GLIBC_2.21 nis_free_request F
GLIBC_2.21 nis_freenames F
GLIBC_2.21 nis_freeresult F
GLIBC_2.21 nis_freeservlist F
GLIBC_2.21 nis_freetags F
GLIBC_2.21 nis_getnames F
GLIBC_2.21 nis_getservlist F
GLIBC_2.21 nis_ismember F
GLIBC_2.21 nis_leaf_of F
GLIBC_2.21 nis_leaf_of_r F
GLIBC_2.21 nis_lerror F
GLIBC_2.21 nis_list F
GLIBC_2.21 nis_local_directory F
GLIBC_2.21 nis_local_group F
GLIBC_2.21 nis_local_host F
GLIBC_2.21 nis_local_principal F
GLIBC_2.21 nis_lookup F
GLIBC_2.21 nis_mkdir F
GLIBC_2.21 nis_modify F
GLIBC_2.21 nis_modify_entry F
GLIBC_2.21 nis_name_of F
GLIBC_2.21 nis_name_of_r F
GLIBC_2.21 nis_next_entry F
GLIBC_2.21 nis_perror F
GLIBC_2.21 nis_ping F
GLIBC_2.21 nis_print_directory F
GLIBC_2.21 nis_print_entry F
GLIBC_2.21 nis_print_group F
GLIBC_2.21 nis_print_group_entry F
GLIBC_2.21 nis_print_link F
GLIBC_2.21 nis_print_object F
GLIBC_2.21 nis_print_result F
GLIBC_2.21 nis_print_rights F
GLIBC_2.21 nis_print_table F
GLIBC_2.21 nis_read_obj F
GLIBC_2.21 nis_remove F
GLIBC_2.21 nis_remove_entry F
GLIBC_2.21 nis_removemember F
GLIBC_2.21 nis_rmdir F
GLIBC_2.21 nis_servstate F
GLIBC_2.21 nis_sperrno F
GLIBC_2.21 nis_sperror F
GLIBC_2.21 nis_sperror_r F
GLIBC_2.21 nis_stats F
GLIBC_2.21 nis_verifygroup F
GLIBC_2.21 nis_write_obj F
GLIBC_2.21 readColdStartFile F
GLIBC_2.21 writeColdStartFile F
GLIBC_2.21 xdr_cback_data F
GLIBC_2.21 xdr_domainname F
GLIBC_2.21 xdr_keydat F
GLIBC_2.21 xdr_mapname F
GLIBC_2.21 xdr_obj_p F
GLIBC_2.21 xdr_peername F
GLIBC_2.21 xdr_valdat F
GLIBC_2.21 xdr_yp_buf F
GLIBC_2.21 xdr_ypall F
GLIBC_2.21 xdr_ypbind_binding F
GLIBC_2.21 xdr_ypbind_resp F
GLIBC_2.21 xdr_ypbind_resptype F
GLIBC_2.21 xdr_ypbind_setdom F
GLIBC_2.21 xdr_ypdelete_args F
GLIBC_2.21 xdr_ypmap_parms F
GLIBC_2.21 xdr_ypmaplist F
GLIBC_2.21 xdr_yppush_status F
GLIBC_2.21 xdr_yppushresp_xfr F
GLIBC_2.21 xdr_ypreq_key F
GLIBC_2.21 xdr_ypreq_nokey F
GLIBC_2.21 xdr_ypreq_xfr F
GLIBC_2.21 xdr_ypresp_all F
GLIBC_2.21 xdr_ypresp_key_val F
GLIBC_2.21 xdr_ypresp_maplist F
GLIBC_2.21 xdr_ypresp_master F
GLIBC_2.21 xdr_ypresp_order F
GLIBC_2.21 xdr_ypresp_val F
GLIBC_2.21 xdr_ypresp_xfr F
GLIBC_2.21 xdr_ypstat F
GLIBC_2.21 xdr_ypupdate_args F
GLIBC_2.21 xdr_ypxfrstat F
GLIBC_2.21 yp_all F
GLIBC_2.21 yp_bind F
GLIBC_2.21 yp_first F
GLIBC_2.21 yp_get_default_domain F
GLIBC_2.21 yp_maplist F
GLIBC_2.21 yp_master F
GLIBC_2.21 yp_match F
GLIBC_2.21 yp_next F
GLIBC_2.21 yp_order F
GLIBC_2.21 yp_unbind F
GLIBC_2.21 yp_update F
GLIBC_2.21 ypbinderr_string F
GLIBC_2.21 yperr_string F
GLIBC_2.21 ypprot_err F

View File

@ -1,4 +0,0 @@
GLIBC_2.21 __libpthread_version_placeholder F
GLIBC_2.28 __libpthread_version_placeholder F
GLIBC_2.30 __libpthread_version_placeholder F
GLIBC_2.31 __libpthread_version_placeholder F

View File

@ -1,67 +0,0 @@
GLIBC_2.21 __b64_ntop F
GLIBC_2.21 __b64_pton F
GLIBC_2.21 __dn_count_labels F
GLIBC_2.21 __fp_nquery F
GLIBC_2.21 __fp_query F
GLIBC_2.21 __fp_resstat F
GLIBC_2.21 __hostalias F
GLIBC_2.21 __loc_aton F
GLIBC_2.21 __loc_ntoa F
GLIBC_2.21 __p_cdname F
GLIBC_2.21 __p_cdnname F
GLIBC_2.21 __p_class F
GLIBC_2.21 __p_class_syms D 0x54
GLIBC_2.21 __p_fqname F
GLIBC_2.21 __p_fqnname F
GLIBC_2.21 __p_option F
GLIBC_2.21 __p_query F
GLIBC_2.21 __p_rcode F
GLIBC_2.21 __p_secstodate F
GLIBC_2.21 __p_time F
GLIBC_2.21 __p_type F
GLIBC_2.21 __p_type_syms D 0x228
GLIBC_2.21 __putlong F
GLIBC_2.21 __putshort F
GLIBC_2.21 __res_close F
GLIBC_2.21 __res_hostalias F
GLIBC_2.21 __res_isourserver F
GLIBC_2.21 __res_nameinquery F
GLIBC_2.21 __res_queriesmatch F
GLIBC_2.21 __sym_ntop F
GLIBC_2.21 __sym_ntos F
GLIBC_2.21 __sym_ston F
GLIBC_2.21 _gethtbyaddr F
GLIBC_2.21 _gethtbyname F
GLIBC_2.21 _gethtbyname2 F
GLIBC_2.21 _gethtent F
GLIBC_2.21 _getlong F
GLIBC_2.21 _getshort F
GLIBC_2.21 _res_opcodes D 0x40
GLIBC_2.21 _sethtent F
GLIBC_2.21 inet_net_ntop F
GLIBC_2.21 inet_net_pton F
GLIBC_2.21 inet_neta F
GLIBC_2.21 ns_datetosecs F
GLIBC_2.21 ns_format_ttl F
GLIBC_2.21 ns_get16 F
GLIBC_2.21 ns_get32 F
GLIBC_2.21 ns_initparse F
GLIBC_2.21 ns_makecanon F
GLIBC_2.21 ns_msg_getflag F
GLIBC_2.21 ns_name_ntol F
GLIBC_2.21 ns_name_rollback F
GLIBC_2.21 ns_parse_ttl F
GLIBC_2.21 ns_parserr F
GLIBC_2.21 ns_put16 F
GLIBC_2.21 ns_put32 F
GLIBC_2.21 ns_samedomain F
GLIBC_2.21 ns_samename F
GLIBC_2.21 ns_skiprr F
GLIBC_2.21 ns_sprintrr F
GLIBC_2.21 ns_sprintrrf F
GLIBC_2.21 ns_subdomain F
GLIBC_2.21 res_gethostbyaddr F
GLIBC_2.21 res_gethostbyname F
GLIBC_2.21 res_gethostbyname2 F
GLIBC_2.21 res_send_setqhook F
GLIBC_2.21 res_send_setrhook F

View File

@ -1 +0,0 @@
GLIBC_2.21 __librt_version_placeholder F

View File

@ -1,40 +0,0 @@
GLIBC_2.21 td_init F
GLIBC_2.21 td_log F
GLIBC_2.21 td_symbol_list F
GLIBC_2.21 td_ta_clear_event F
GLIBC_2.21 td_ta_delete F
GLIBC_2.21 td_ta_enable_stats F
GLIBC_2.21 td_ta_event_addr F
GLIBC_2.21 td_ta_event_getmsg F
GLIBC_2.21 td_ta_get_nthreads F
GLIBC_2.21 td_ta_get_ph F
GLIBC_2.21 td_ta_get_stats F
GLIBC_2.21 td_ta_map_id2thr F
GLIBC_2.21 td_ta_map_lwp2thr F
GLIBC_2.21 td_ta_new F
GLIBC_2.21 td_ta_reset_stats F
GLIBC_2.21 td_ta_set_event F
GLIBC_2.21 td_ta_setconcurrency F
GLIBC_2.21 td_ta_thr_iter F
GLIBC_2.21 td_ta_tsd_iter F
GLIBC_2.21 td_thr_clear_event F
GLIBC_2.21 td_thr_dbresume F
GLIBC_2.21 td_thr_dbsuspend F
GLIBC_2.21 td_thr_event_enable F
GLIBC_2.21 td_thr_event_getmsg F
GLIBC_2.21 td_thr_get_info F
GLIBC_2.21 td_thr_getfpregs F
GLIBC_2.21 td_thr_getgregs F
GLIBC_2.21 td_thr_getxregs F
GLIBC_2.21 td_thr_getxregsize F
GLIBC_2.21 td_thr_set_event F
GLIBC_2.21 td_thr_setfpregs F
GLIBC_2.21 td_thr_setgregs F
GLIBC_2.21 td_thr_setprio F
GLIBC_2.21 td_thr_setsigpending F
GLIBC_2.21 td_thr_setxregs F
GLIBC_2.21 td_thr_sigsetmask F
GLIBC_2.21 td_thr_tls_get_addr F
GLIBC_2.21 td_thr_tlsbase F
GLIBC_2.21 td_thr_tsd F
GLIBC_2.21 td_thr_validate F

View File

@ -1 +0,0 @@
GLIBC_2.21 __libutil_version_placeholder F

View File

@ -1,30 +0,0 @@
libc.so: realloc
libc.so: __floatsisf
libc.so: __gtdf2 ?
libc.so: __ltdf2
libc.so: __gedf2
libc.so: malloc
libc.so: __gtsf2 ?
libc.so: __nesf2
libc.so: __mulsf3
libc.so: __floatunsisf
libc.so: __addsf3
libc.so: __fixsfsi
libc.so: __subsf3
libc.so: __unorddf2 ?
libc.so: calloc
libc.so: __muldf3
libc.so: __unordsf2 ?
libc.so: free
libc.so: __subdf3
libc.so: __ledf2
libc.so: __adddf3
libc.so: __divdf3
libc.so: __floatsidf
libc.so: __divsf3
libc.so: __nedf2
libc.so: __eqdf2
libc.so: __extendsfdf2
libc.so: __floatundidf ?
libc.so: __floatunsidf ?
libm.so: matherr

View File

@ -1,79 +0,0 @@
/* Create new context.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <stdarg.h>
#include <stdint.h>
#include <ucontext.h>
/* makecontext sets up a stack and the registers for the
user context. The stack looks like this:
+-----------------------+
| padding as required |
+-----------------------+
sp -> | parameters 5 to n |
+-----------------------+
The registers are set up like this:
r4--r7 : parameter 1 to 4
r16 : uc_link
sp : stack pointer.
*/
void
__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
{
extern void __startcontext (void);
unsigned long *sp;
va_list ap;
int i;
sp = (unsigned long *)
((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
/* Allocate stack arguments. */
sp -= argc < 4 ? 0 : argc - 4;
/* Keep the stack aligned. */
sp = (unsigned long*) (((uintptr_t) sp) & -4L);
/* Init version field. */
ucp->uc_mcontext.version = 2;
/* Keep uc_link in r16. */
ucp->uc_mcontext.regs[15] = (uintptr_t) ucp->uc_link;
/* Return address points to __startcontext(). */
ucp->uc_mcontext.regs[23] = (uintptr_t) &__startcontext;
/* Frame pointer is null. */
ucp->uc_mcontext.regs[24] = (uintptr_t) 0;
/* Restart in user-space starting at 'func'. */
ucp->uc_mcontext.regs[27] = (uintptr_t) func;
/* Set stack pointer. */
ucp->uc_mcontext.regs[28] = (uintptr_t) sp;
va_start (ap, argc);
for (i = 0; i < argc; ++i)
if (i < 4)
ucp->uc_mcontext.regs[i + 3] = va_arg (ap, unsigned long);
else
sp[i - 4] = va_arg (ap, unsigned long);
va_end (ap);
}
weak_alias (__makecontext, makecontext)

View File

@ -1,40 +0,0 @@
/* Pointer obfuscation implenentation. Nios II version.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef POINTER_GUARD_H
#define POINTER_GUARD_H
#if IS_IN (rtld)
/* We cannot use the thread descriptor because in ld.so we use setjmp
earlier than the descriptor is initialized. */
# include <sysdeps/generic/pointer_guard.h>
#else
# ifdef __ASSEMBLER__
# define PTR_MANGLE_GUARD(guard) ldw guard, POINTER_GUARD(r23)
# define PTR_MANGLE(dst, src, guard) xor dst, src, guard
# define PTR_DEMANGLE(dst, src, guard) PTR_MANGLE (dst, src, guard)
# else
# include <stdint.h>
# include <tls.h>
# define PTR_MANGLE(var) \
(var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
# define PTR_DEMANGLE(var) PTR_MANGLE (var)
# endif
#endif
#endif /* POINTER_GUARD_H */

View File

@ -1,9 +0,0 @@
#include <shlib-compat.h>
#include <sysdeps/unix/sysv/linux/send.c>
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_34)
/* libpthread compat symbol: Nios2 used the generic version without the
libc_hidden_def which lead in a non existent __send symbol in libc.so. */
compat_symbol (libc, __libc_send, __send, GLIBC_2_21);
#endif

View File

@ -1,115 +0,0 @@
/* Set current context.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include "ucontext_i.h"
/* int setcontext (const ucontext_t *ucp) */
.text
ENTRY(__setcontext)
ldw r5, UCONTEXT_FLAGS(r4)
movi r6, 1
bne r5, r6, .Lsigreturn
mov r10, r4
/* Restore signal mask. */
/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */
movi r7, _NSIG8
addi r5, r4, UCONTEXT_SIGMASK
mov r6, zero
movi r4, SIG_SETMASK
movi r2, SYS_ify (rt_sigprocmask)
trap
bne r7, zero, SYSCALL_ERROR_LABEL
/* Restore argument registers, for the makecontext() case. */
ldw r4, (UCONTEXT_MCONTEXT + 4*4)(r10)
ldw r5, (UCONTEXT_MCONTEXT + 5*4)(r10)
ldw r6, (UCONTEXT_MCONTEXT + 6*4)(r10)
ldw r7, (UCONTEXT_MCONTEXT + 7*4)(r10)
ldw r16, (UCONTEXT_MCONTEXT + 16*4)(r10)
ldw r17, (UCONTEXT_MCONTEXT + 17*4)(r10)
ldw r18, (UCONTEXT_MCONTEXT + 18*4)(r10)
ldw r19, (UCONTEXT_MCONTEXT + 19*4)(r10)
ldw r20, (UCONTEXT_MCONTEXT + 20*4)(r10)
ldw r21, (UCONTEXT_MCONTEXT + 21*4)(r10)
ldw r22, (UCONTEXT_MCONTEXT + 22*4)(r10)
ldw ra, (UCONTEXT_MCONTEXT + 24*4)(r10)
ldw fp, (UCONTEXT_MCONTEXT + 25*4)(r10)
ldw gp, (UCONTEXT_MCONTEXT + 26*4)(r10)
/* Load address to continue execution. */
ldw r3, (UCONTEXT_MCONTEXT + 28*4)(r10)
ldw sp, (UCONTEXT_MCONTEXT + 29*4)(r10)
mov r2, zero
jmp r3
.Lsigreturn:
addi sp, sp, -RT_SIGFRAME_SIZE
cfi_adjust_cfa_offset (RT_SIGFRAME_SIZE)
addi r2, sp, RT_SIGFRAME_UCONTEXT
movi r3, UCONTEXT_SIZE-4
1:
add r6, r4, r3
ldw r5, 0(r6)
add r7, r2, r3
addi r3, r3, -4
stw r5, 0(r7)
bgt r3, zero, 1b
movi r2, SYS_ify (rt_sigreturn)
trap
addi sp, sp, RT_SIGFRAME_SIZE
cfi_adjust_cfa_offset (-RT_SIGFRAME_SIZE)
br SYSCALL_ERROR_LABEL
PSEUDO_END (__setcontext)
weak_alias (__setcontext, setcontext)
/* We add an NOP here to separate between __setcontext/__startcontext.
The wanted behavior that happens is: when unwinding from a function
called inside a makecontext() context, FDE lookup will use
'&__startcontext - 1', then returns NULL for no FDE found,
and immediately ends the unwind, in a normal fashion.
If this NOP word does not exist, FDE lookup just repeatedly finds
__setcontext's FDE in an infinite loop, due to the convention of
using 'address - 1' for FDE lookup. Modifying/deleting the below
__startcontext's FDE has no help on this. */
nop
ENTRY(__startcontext)
mov r4, r16
bne r4, zero, __setcontext
/* If uc_link == zero, call exit. */
#ifdef PIC
nextpc r22
1: movhi r8, %hiadj(_gp_got - 1b)
addi r8, r8, %lo(_gp_got - 1b)
add r22, r22, r8
ldw r8, %call(HIDDEN_JUMPTARGET(exit))(r22)
jmp r8
#else
jmpi exit
#endif
END(__startcontext)

View File

@ -1,2 +0,0 @@
DEFAULT GLIBC_2.21
ld=ld-linux-nios2.so.1

View File

@ -1,28 +0,0 @@
/* Nios II definitions for signal handling calling conventions.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _SIGCONTEXTINFO_H
#define _SIGCONTEXTINFO_H
static inline uintptr_t
sigcontext_get_pc (const ucontext_t *ctx)
{
return ctx->uc_mcontext.regs[27];
}
#endif

View File

@ -1,125 +0,0 @@
/* Modify saved context.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include "ucontext_i.h"
/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
.text
ENTRY(__swapcontext)
/* Same as getcontext(). */
stw r16, (UCONTEXT_MCONTEXT + 16*4)(r4)
stw r17, (UCONTEXT_MCONTEXT + 17*4)(r4)
stw r18, (UCONTEXT_MCONTEXT + 18*4)(r4)
stw r19, (UCONTEXT_MCONTEXT + 19*4)(r4)
stw r20, (UCONTEXT_MCONTEXT + 20*4)(r4)
stw r21, (UCONTEXT_MCONTEXT + 21*4)(r4)
stw r22, (UCONTEXT_MCONTEXT + 22*4)(r4)
stw ra, (UCONTEXT_MCONTEXT + 24*4)(r4)
stw fp, (UCONTEXT_MCONTEXT + 25*4)(r4)
stw gp, (UCONTEXT_MCONTEXT + 26*4)(r4)
/* Store return address at place for EA. */
stw ra, (UCONTEXT_MCONTEXT + 28*4)(r4)
stw sp, (UCONTEXT_MCONTEXT + 29*4)(r4)
/* Store zero for return success. */
stw zero, (UCONTEXT_MCONTEXT + 2*4)(r4)
/* Store value "1" at uc_flags to recognize as getcontext created. */
movi r2, 1
stw r2, UCONTEXT_FLAGS(r4)
/* Store MCONTEXT_VERSION at first word of mcontext_t. */
movi r2, MCONTEXT_VERSION
stw r2, UCONTEXT_MCONTEXT(r4)
/* Save ucp to non-argument syscall preserved register. */
mov r10, r5
/* Get signal mask. */
/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
movi r7, _NSIG8
addi r6, r4, UCONTEXT_SIGMASK
mov r5, zero
movi r4, SIG_BLOCK
movi r2, SYS_ify (rt_sigprocmask)
trap
bne r7, zero, SYSCALL_ERROR_LABEL
/* Same as setcontext(). */
ldw r5, UCONTEXT_FLAGS(r10)
movi r6, 1
bne r5, r6, .Lsigreturn
/* Restore signal mask. */
/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG8) */
movi r7, _NSIG8
addi r5, r10, UCONTEXT_SIGMASK
mov r6, zero
movi r4, SIG_SETMASK
movi r2, SYS_ify (rt_sigprocmask)
trap
bne r7, zero, SYSCALL_ERROR_LABEL
/* Restore argument registers, for the makecontext() case. */
ldw r4, (UCONTEXT_MCONTEXT + 4*4)(r10)
ldw r5, (UCONTEXT_MCONTEXT + 5*4)(r10)
ldw r6, (UCONTEXT_MCONTEXT + 6*4)(r10)
ldw r7, (UCONTEXT_MCONTEXT + 7*4)(r10)
ldw r16, (UCONTEXT_MCONTEXT + 16*4)(r10)
ldw r17, (UCONTEXT_MCONTEXT + 17*4)(r10)
ldw r18, (UCONTEXT_MCONTEXT + 18*4)(r10)
ldw r19, (UCONTEXT_MCONTEXT + 19*4)(r10)
ldw r20, (UCONTEXT_MCONTEXT + 20*4)(r10)
ldw r21, (UCONTEXT_MCONTEXT + 21*4)(r10)
ldw r22, (UCONTEXT_MCONTEXT + 22*4)(r10)
ldw ra, (UCONTEXT_MCONTEXT + 24*4)(r10)
ldw fp, (UCONTEXT_MCONTEXT + 25*4)(r10)
ldw gp, (UCONTEXT_MCONTEXT + 26*4)(r10)
/* Load address to continue execution. */
ldw r3, (UCONTEXT_MCONTEXT + 28*4)(r10)
ldw sp, (UCONTEXT_MCONTEXT + 29*4)(r10)
mov r2, zero
jmp r3
.Lsigreturn:
addi sp, sp, -RT_SIGFRAME_SIZE
cfi_adjust_cfa_offset (RT_SIGFRAME_SIZE)
addi r2, sp, RT_SIGFRAME_UCONTEXT
movi r3, UCONTEXT_SIZE-4
1:
add r6, r4, r3
ldw r5, 0(r6)
add r7, r2, r3
addi r3, r3, -4
stw r5, 0(r7)
bgt r3, zero, 1b
movi r2, SYS_ify (rt_sigreturn)
trap
addi sp, sp, RT_SIGFRAME_SIZE
cfi_adjust_cfa_offset (-RT_SIGFRAME_SIZE)
br SYSCALL_ERROR_LABEL
PSEUDO_END (__swapcontext)
weak_alias (__swapcontext, swapcontext)

View File

@ -1,33 +0,0 @@
/* cacheflush - flush contents of instruction and/or data cache.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _SYS_CACHECTL_H
#define _SYS_CACHECTL_H 1
#include <features.h>
__BEGIN_DECLS
#ifdef __USE_MISC
extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
#endif
extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
__END_DECLS
#endif /* sys/cachectl.h */

View File

@ -1,61 +0,0 @@
/* ucontext_t definition, Nios II version.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
/* System V/Nios II ABI compliant context switching support. */
#ifndef _SYS_UCONTEXT_H
#define _SYS_UCONTEXT_H 1
#include <features.h>
#include <bits/types/sigset_t.h>
#include <bits/types/stack_t.h>
/* These definitions must be in sync with the kernel. */
#ifdef __USE_MISC
# define MCONTEXT_VERSION 2
#endif
#ifdef __USE_MISC
# define __ctx(fld) fld
#else
# define __ctx(fld) __ ## fld
#endif
/* Context to describe whole processor state. */
typedef struct
{
int __ctx(version);
unsigned long __ctx(regs)[32];
} mcontext_t;
/* Userlevel context. */
typedef struct ucontext_t
{
unsigned long __ctx(uc_flags);
struct ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
} ucontext_t;
#undef __ctx
#endif /* sys/ucontext.h */

View File

@ -1,58 +0,0 @@
/* ptrace register data format definitions.
Copyright (C) 1998-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _SYS_USER_H
#define _SYS_USER_H 1
/* The whole purpose of this file is for GDB and GDB only. Don't read
too much into it. Don't use it for anything other than GDB unless
you know what you are doing. */
struct user_fpregs
{
};
struct user_regs
{
unsigned long int uregs[49];
};
struct user
{
struct user_regs regs; /* General registers */
int u_fpvalid; /* True if math co-processor being used. */
unsigned long int u_tsize; /* Text segment size (pages). */
unsigned long int u_dsize; /* Data segment size (pages). */
unsigned long int u_ssize; /* Stack segment size (pages). */
unsigned long start_code; /* Starting virtual address of text. */
unsigned long start_stack; /* Starting virtual address of stack. */
long int signal; /* Signal that caused the core dump. */
int reserved; /* No longer used */
struct user_regs *u_ar0; /* help gdb to find the general registers. */
unsigned long magic; /* uniquely identify a core file */
char u_comm[32]; /* User command that was responsible */
int u_debugreg[8];
struct user_fpregs u_fp; /* Floating point registers */
struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
};
#endif /* sys/user.h */

View File

@ -1,36 +0,0 @@
/* syscall - indirect system call.
Copyright (C) 2005-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
/* We don't need a special syscall to implement syscall(). It won't work
reliably with 64-bit arguments (but that is true on many modern platforms).
*/
ENTRY (syscall)
mov r2, r4
mov r4, r5
mov r5, r6
mov r6, r7
ldw r7, 0(sp)
ldw r8, 4(sp)
ldw r9, 8(sp)
trap
bne r7, zero, SYSCALL_ERROR_LABEL
ret
PSEUDO_END (syscall)

View File

@ -1,95 +0,0 @@
/* Cancellable syscall wrapper. Linux/nios2 version.
Copyright (C) 2023 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
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <descr-const.h>
/* long int __syscall_cancel_arch (int *cancelhandling,
__syscall_arg_t nr,
__syscall_arg_t arg1,
__syscall_arg_t arg2,
__syscall_arg_t arg3,
__syscall_arg_t arg4,
__syscall_arg_t arg5,
__syscall_arg_t arg6) */
ENTRY (__syscall_cancel_arch)
#ifdef SHARED
addi sp, sp, -8
stw r22, 0(sp)
nextpc r22
1:
movhi r8, %hiadj(_gp_got - 1b)
addi r8, r8, %lo(_gp_got - 1b)
stw ra, 4(sp)
add r22, r22, r8
#else
addi sp, sp, -4
cfi_def_cfa_offset (4)
stw ra, 0(sp)
cfi_offset (31, -4)
#endif
.globl __syscall_cancel_arch_start
__syscall_cancel_arch_start:
ldw r3, 0(r4)
andi r3, r3, TCB_CANCELED_BITMASK
bne r3, zero, 3f
mov r10, r6
mov r2, r5
#ifdef SHARED
# define STACK_ADJ 4
#else
# define STACK_ADJ 0
#endif
ldw r9, (16 + STACK_ADJ)(sp)
mov r5, r7
ldw r8, (12 + STACK_ADJ)(sp)
ldw r7, (8 + STACK_ADJ)(sp)
ldw r6, (4 + STACK_ADJ)(sp)
mov r4, r10
trap
.globl __syscall_cancel_arch_end
__syscall_cancel_arch_end:
beq r7, zero, 2f
sub r2, zero, r2
2:
#ifdef SHARED
ldw ra, 4(sp)
ldw r22, 0(sp)
addi sp, sp, 8
#else
ldw ra, (0 + STACK_ADJ)(sp)
cfi_remember_state
cfi_restore (31)
addi sp, sp, 4
cfi_def_cfa_offset (0)
#endif
ret
3:
#ifdef SHARED
ldw r2, %call(__syscall_do_cancel)(r22)
callr r2
#else
cfi_restore_state
call __syscall_do_cancel
#endif
END (__syscall_cancel_arch)

View File

@ -1,50 +0,0 @@
/* Static library error handling code fragment for Nios II.
Copyright (C) 2015-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
/* The following code is only used in the static library. In the shared
library, the error handling code is at the end of each function. */
#ifndef PIC
/* In the static library, the syscall stubs jump here when they detect
an error. */
# undef CALL_MCOUNT
# define CALL_MCOUNT /* Don't insert the profiling call, it clobbers r2. */
# if IS_IN (libc)
# define SYSCALL_ERROR_ERRNO __libc_errno
# else
# define SYSCALL_ERROR_ERRNO errno
# endif
.text
ENTRY (__syscall_error)
nextpc r3
1:
movhi r8, %hiadj(_gp_got - 1b)
addi r8, r8, %lo(_gp_got - 1b)
add r3, r3, r8
ldw r3, %tls_ie(SYSCALL_ERROR_ERRNO)(r3)
add r3, r23, r3
stw r2, 0(r3)
movi r2, -1
ret
END (__syscall_error)
#endif

View File

@ -1,223 +0,0 @@
/* Assembler macros for Nios II.
Copyright (C) 2000-2024 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
<https://www.gnu.org/licenses/>. */
#ifndef _LINUX_NIOS2_SYSDEP_H
#define _LINUX_NIOS2_SYSDEP_H 1
#include <sysdeps/unix/sysv/linux/sysdep.h>
#include <sysdeps/unix/sysdep.h>
#include <sysdeps/nios2/sysdep.h>
/* For RTLD_PRIVATE_ERRNO. */
#include <dl-sysdep.h>
#include <tls.h>
/* For Linux we can use the system call table in the header file
/usr/include/asm/unistd.h
of the kernel. But these symbols do not follow the SYS_* syntax
so we have to redefine the `SYS_ify' macro here. */
#undef SYS_ify
#define SYS_ify(syscall_name) __NR_##syscall_name
#ifdef __ASSEMBLER__
#undef SYSCALL_ERROR_LABEL
#define SYSCALL_ERROR_LABEL __local_syscall_error
#undef PSEUDO
#define PSEUDO(name, syscall_name, args) \
ENTRY (name) \
DO_CALL (syscall_name, args) \
bne r7, zero, SYSCALL_ERROR_LABEL; \
#undef PSEUDO_END
#define PSEUDO_END(name) \
SYSCALL_ERROR_HANDLER \
END (name)
#undef PSEUDO_NOERRNO
#define PSEUDO_NOERRNO(name, syscall_name, args) \
ENTRY (name) \
DO_CALL (syscall_name, args)
#undef PSEUDO_END_NOERRNO
#define PSEUDO_END_NOERRNO(name) \
END (name)
#undef ret_NOERRNO
#define ret_NOERRNO ret
#undef DO_CALL
#define DO_CALL(syscall_name, args) \
DOARGS_##args \
movi r2, SYS_ify(syscall_name); \
trap;
#if defined(__PIC__) || defined(PIC)
# if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_HANDLER \
SYSCALL_ERROR_LABEL: \
nextpc r3; \
1: \
movhi r8, %hiadj(rtld_errno - 1b); \
addi r8, r8, %lo(rtld_errno - 1b); \
add r3, r3, r8; \
stw r2, 0(r3); \
movi r2, -1; \
ret;
# else
# if IS_IN (libc)
# define SYSCALL_ERROR_ERRNO __libc_errno
# else
# define SYSCALL_ERROR_ERRNO errno
# endif
# define SYSCALL_ERROR_HANDLER \
SYSCALL_ERROR_LABEL: \
nextpc r3; \
1: \
movhi r8, %hiadj(_gp_got - 1b); \
addi r8, r8, %lo(_gp_got - 1b); \
add r3, r3, r8; \
ldw r3, %tls_ie(SYSCALL_ERROR_ERRNO)(r3); \
add r3, r23, r3; \
stw r2, 0(r3); \
movi r2, -1; \
ret;
# endif
#else
/* We can use a single error handler in the static library. */
#define SYSCALL_ERROR_HANDLER \
SYSCALL_ERROR_LABEL: \
jmpi __syscall_error;
#endif
#define DOARGS_0 /* nothing */
#define DOARGS_1 /* nothing */
#define DOARGS_2 /* nothing */
#define DOARGS_3 /* nothing */
#define DOARGS_4 /* nothing */
#define DOARGS_5 ldw r8, 0(sp);
#define DOARGS_6 ldw r9, 4(sp); ldw r8, 0(sp);
/* The function has to return the error code. */
#undef PSEUDO_ERRVAL
#define PSEUDO_ERRVAL(name, syscall_name, args) \
ENTRY (name) \
DO_CALL (syscall_name, args)
#undef PSEUDO_END_ERRVAL
#define PSEUDO_END_ERRVAL(name) \
END (name)
#define ret_ERRVAL ret
#else /* __ASSEMBLER__ */
/* In order to get __set_errno() definition in INLINE_SYSCALL. */
#include <errno.h>
#undef INTERNAL_SYSCALL_RAW
#define INTERNAL_SYSCALL_RAW(name, nr, args...) \
({ unsigned int _sys_result; \
{ \
/* Load argument values in temporary variables
to perform side effects like function calls
before the call-used registers are set. */ \
LOAD_ARGS_##nr (args) \
LOAD_REGS_##nr \
register int _r2 asm ("r2") = (int)(name); \
register int _err asm ("r7"); \
asm volatile ("trap" \
: "+r" (_r2), "=r" (_err) \
: ASM_ARGS_##nr \
: __SYSCALL_CLOBBERS); \
_sys_result = _err != 0 ? -_r2 : _r2; \
} \
(int) _sys_result; })
#undef INTERNAL_SYSCALL
#define INTERNAL_SYSCALL(name, nr, args...) \
INTERNAL_SYSCALL_RAW(SYS_ify(name), nr, args)
#undef INTERNAL_SYSCALL_NCS
#define INTERNAL_SYSCALL_NCS(number, nr, args...) \
INTERNAL_SYSCALL_RAW(number, nr, args)
#define LOAD_ARGS_0()
#define LOAD_REGS_0
#define ASM_ARGS_0
#define LOAD_ARGS_1(a1) \
LOAD_ARGS_0 () \
int __arg1 = (int) (a1);
#define LOAD_REGS_1 \
register int _r4 asm ("r4") = __arg1; \
LOAD_REGS_0
#define ASM_ARGS_1 "r" (_r4)
#define LOAD_ARGS_2(a1, a2) \
LOAD_ARGS_1 (a1) \
int __arg2 = (int) (a2);
#define LOAD_REGS_2 \
register int _r5 asm ("r5") = __arg2; \
LOAD_REGS_1
#define ASM_ARGS_2 ASM_ARGS_1, "r" (_r5)
#define LOAD_ARGS_3(a1, a2, a3) \
LOAD_ARGS_2 (a1, a2) \
int __arg3 = (int) (a3);
#define LOAD_REGS_3 \
register int _r6 asm ("r6") = __arg3; \
LOAD_REGS_2
#define ASM_ARGS_3 ASM_ARGS_2, "r" (_r6)
#define LOAD_ARGS_4(a1, a2, a3, a4) \
LOAD_ARGS_3 (a1, a2, a3) \
int __arg4 = (int) (a4);
#define LOAD_REGS_4 \
register int _r7 asm ("r7") = __arg4; \
LOAD_REGS_3
#define ASM_ARGS_4 ASM_ARGS_3, "r" (_r7)
#define LOAD_ARGS_5(a1, a2, a3, a4, a5) \
LOAD_ARGS_4 (a1, a2, a3, a4) \
int __arg5 = (int) (a5);
#define LOAD_REGS_5 \
register int _r8 asm ("r8") = __arg5; \
LOAD_REGS_4
#define ASM_ARGS_5 ASM_ARGS_4, "r" (_r8)
#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6) \
LOAD_ARGS_5 (a1, a2, a3, a4, a5) \
int __arg6 = (int) (a6);
#define LOAD_REGS_6 \
register int _r9 asm ("r9") = __arg6; \
LOAD_REGS_5
#define ASM_ARGS_6 ASM_ARGS_5, "r" (_r9)
#define __SYSCALL_CLOBBERS "memory"
#undef HAVE_INTERNAL_BRK_ADDR_SYMBOL
#define HAVE_INTERNAL_BRK_ADDR_SYMBOL 1
#endif /* __ASSEMBLER__ */
#endif /* linux/nios2/sysdep.h */

View File

@ -1,2 +0,0 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -1,29 +0,0 @@
#include <inttypes.h>
#include <signal.h>
#include <stddef.h>
#include <sys/ucontext.h>
#include "kernel_rt_sigframe.h"
SIG_BLOCK
SIG_SETMASK
_NSIG8 (_NSIG / 8)
MCONTEXT_VERSION
-- Offsets of the fields in the kernel rt_sigframe_t structure.
#define rt_sigframe(member) offsetof (struct kernel_rt_sigframe, member)
RT_SIGFRAME_SIZE sizeof (struct kernel_rt_sigframe)
RT_SIGFRAME_UCONTEXT rt_sigframe (uc)
-- Offsets of the fields in the ucontext_t structure.
#define ucontext(member) offsetof (ucontext_t, member)
UCONTEXT_FLAGS ucontext (uc_flags)
UCONTEXT_LINK ucontext (uc_link)
UCONTEXT_STACK ucontext (uc_stack)
UCONTEXT_MCONTEXT ucontext (uc_mcontext)
UCONTEXT_SIGMASK ucontext (uc_sigmask)
UCONTEXT_SIZE sizeof (ucontext_t)

View File

@ -1,34 +0,0 @@
/* vfork for Nios II Linux.
Copyright (C) 2005-2024 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
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <tcb-offsets.h>
ENTRY(__vfork)
movi r4, 0x4111 /* (CLONE_VM | CLONE_VFORK | SIGCHLD) */
mov r5, zero
DO_CALL (clone, 2)
bne r7, zero, SYSCALL_ERROR_LABEL
ret
PSEUDO_END (__vfork)
libc_hidden_def (__vfork)
weak_alias (__vfork, vfork)

View File

@ -38,7 +38,7 @@ __xstat (int vers, const char *name, struct stat *buf)
{
# if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI,
e.g. csky, nios2 */
e.g. csky. */
int r = INLINE_SYSCALL_CALL (fstatat64, AT_FDCWD, name, buf, 0);
return r ?: stat_overflow (buf);
# else

View File

@ -67,7 +67,7 @@ ___xstat64 (int vers, const char *name, struct stat64 *buf)
#else
# if STAT_IS_KERNEL_STAT
/* New kABIs which uses generic pre 64-bit time Linux ABI,
e.g. csky, nios2 */
e.g. csky. */
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL_CALL (fstatat64, AT_FDCWD, name, buf, 0);
# else