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:
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -1 +0,0 @@
|
||||
nios2/nptl
|
@ -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
|
@ -1,6 +0,0 @@
|
||||
libc {
|
||||
GLIBC_2.21 {
|
||||
_flush_cache;
|
||||
cacheflush;
|
||||
}
|
||||
}
|
@ -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
|
@ -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 */
|
@ -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;
|
@ -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
|
@ -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 */
|
@ -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
|
@ -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
|
@ -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)
|
@ -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)
|
5
sysdeps/unix/sysv/linux/nios2/configure
vendored
5
sysdeps/unix/sysv/linux/nios2/configure
vendored
@ -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
|
||||
|
@ -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
|
@ -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)
|
@ -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
|
@ -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;
|
||||
};
|
@ -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>
|
@ -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
|
@ -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
|
@ -1 +0,0 @@
|
||||
GLIBC_2.21 __ctype_get_mb_cur_max F
|
@ -1 +0,0 @@
|
||||
GLIBC_2.21 __libanl_version_placeholder F
|
File diff suppressed because it is too large
Load Diff
@ -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
|
@ -1 +0,0 @@
|
||||
GLIBC_2.21 __libdl_version_placeholder F
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -1 +0,0 @@
|
||||
GLIBC_2.21 __librt_version_placeholder F
|
@ -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
|
@ -1 +0,0 @@
|
||||
GLIBC_2.21 __libutil_version_placeholder F
|
@ -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
|
@ -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)
|
@ -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 */
|
@ -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
|
@ -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)
|
@ -1,2 +0,0 @@
|
||||
DEFAULT GLIBC_2.21
|
||||
ld=ld-linux-nios2.so.1
|
@ -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
|
@ -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)
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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)
|
@ -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)
|
@ -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
|
@ -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 */
|
@ -1,2 +0,0 @@
|
||||
/* ABI support 64-bit in non-default mode. */
|
||||
#define TIME64_NON_DEFAULT
|
@ -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)
|
@ -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)
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user