diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/arc')
27 files changed, 173 insertions, 34 deletions
diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile index eca9a9f..dd3da52 100644 --- a/sysdeps/unix/sysv/linux/arc/Makefile +++ b/sysdeps/unix/sysv/linux/arc/Makefile @@ -11,12 +11,3 @@ ifeq ($(subdir),misc) sysdep_headers += sys/cachectl.h sysdep_routines += cacheflush endif - -abi-variants := arcle arcbe - -ifeq (,$(filter $(default-abi),$(abi-variants))) -$(error Unknown ABI $(default-abi), must be one of $(abi-variants)) -endif - -abi-arcle-condition := !defined __BIG_ENDIAN__ -abi-arcbe-condition := defined __BIG_ENDIAN__ diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h index ea581b0..2534f0f 100644 --- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h @@ -98,6 +98,7 @@ #define __NR_gettimeofday 169 #define __NR_getuid 174 #define __NR_getxattr 8 +#define __NR_getxattrat 464 #define __NR_init_module 105 #define __NR_inotify_add_watch 27 #define __NR_inotify_init1 26 @@ -128,6 +129,7 @@ #define __NR_listen 201 #define __NR_listmount 458 #define __NR_listxattr 11 +#define __NR_listxattrat 465 #define __NR_llistxattr 12 #define __NR_llseek 62 #define __NR_lookup_dcookie 18 @@ -175,6 +177,7 @@ #define __NR_nfsservctl 42 #define __NR_open_by_handle_at 265 #define __NR_open_tree 428 +#define __NR_open_tree_attr 467 #define __NR_openat 56 #define __NR_openat2 437 #define __NR_perf_event_open 241 @@ -214,6 +217,7 @@ #define __NR_recvmsg 212 #define __NR_remap_file_pages 234 #define __NR_removexattr 14 +#define __NR_removexattrat 466 #define __NR_renameat 38 #define __NR_renameat2 276 #define __NR_request_key 218 @@ -272,6 +276,7 @@ #define __NR_settimeofday 170 #define __NR_setuid 146 #define __NR_setxattr 5 +#define __NR_setxattrat 463 #define __NR_shmat 196 #define __NR_shmctl 195 #define __NR_shmdt 197 diff --git a/sysdeps/unix/sysv/linux/arc/bits/procfs.h b/sysdeps/unix/sysv/linux/arc/bits/procfs.h index e5a6c37..fe98451 100644 --- a/sysdeps/unix/sysv/linux/arc/bits/procfs.h +++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. ARC version. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S index a2b520a..cfdae35 100644 --- a/sysdeps/unix/sysv/linux/arc/clone.S +++ b/sysdeps/unix/sysv/linux/arc/clone.S @@ -1,5 +1,5 @@ /* clone() implementation for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/clone3.S b/sysdeps/unix/sysv/linux/arc/clone3.S index 38a2706..0dc2f9b 100644 --- a/sysdeps/unix/sysv/linux/arc/clone3.S +++ b/sysdeps/unix/sysv/linux/arc/clone3.S @@ -1,5 +1,5 @@ /* The clone3 syscall wrapper. Linux/arc version. - Copyright (C) 2023-2024 Free Software Foundation, Inc. + Copyright (C) 2023-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h b/sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h index f388938..e75ef3f 100644 --- a/sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h +++ b/sysdeps/unix/sysv/linux/arc/fixup-asm-unistd.h @@ -1,5 +1,5 @@ /* Regularize <asm/unistd.h> definitions. ARC version. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S index 680e84a..14a60ff 100644 --- a/sysdeps/unix/sysv/linux/arc/getcontext.S +++ b/sysdeps/unix/sysv/linux/arc/getcontext.S @@ -1,5 +1,5 @@ /* Save current context for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/kernel-features.h b/sysdeps/unix/sysv/linux/arc/kernel-features.h index 8ae54ca..e9e1a3d 100644 --- a/sysdeps/unix/sysv/linux/arc/kernel-features.h +++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h @@ -1,7 +1,7 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 916c18e..b8a4478 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -2509,3 +2509,22 @@ GLIBC_2.39 stdc_trailing_zeros_ui F GLIBC_2.39 stdc_trailing_zeros_ul F GLIBC_2.39 stdc_trailing_zeros_ull F GLIBC_2.39 stdc_trailing_zeros_us F +GLIBC_2.41 sched_getattr F +GLIBC_2.41 sched_setattr F +GLIBC_2.42 __inet_ntop_chk F +GLIBC_2.42 __inet_pton_chk F +GLIBC_2.42 cfgetibaud F +GLIBC_2.42 cfgetispeed F +GLIBC_2.42 cfgetobaud F +GLIBC_2.42 cfgetospeed F +GLIBC_2.42 cfsetbaud F +GLIBC_2.42 cfsetibaud F +GLIBC_2.42 cfsetispeed F +GLIBC_2.42 cfsetobaud F +GLIBC_2.42 cfsetospeed F +GLIBC_2.42 cfsetspeed F +GLIBC_2.42 pthread_gettid_np F +GLIBC_2.42 uabs F +GLIBC_2.42 uimaxabs F +GLIBC_2.42 ulabs F +GLIBC_2.42 ullabs F diff --git a/sysdeps/unix/sysv/linux/arc/libc_sigaction.c b/sysdeps/unix/sysv/linux/arc/libc_sigaction.c index 938c7bf..6c20481 100644 --- a/sysdeps/unix/sysv/linux/arc/libc_sigaction.c +++ b/sysdeps/unix/sysv/linux/arc/libc_sigaction.c @@ -1,5 +1,5 @@ /* ARC specific sigaction. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist index f6eb7a5..c865ec8 100644 --- a/sysdeps/unix/sysv/linux/arc/libm.abilist +++ b/sysdeps/unix/sysv/linux/arc/libm.abilist @@ -787,3 +787,75 @@ GLIBC_2.40 logp1f32 F GLIBC_2.40 logp1f32x F GLIBC_2.40 logp1f64 F GLIBC_2.40 logp1l F +GLIBC_2.41 acospi F +GLIBC_2.41 acospif F +GLIBC_2.41 acospif32 F +GLIBC_2.41 acospif32x F +GLIBC_2.41 acospif64 F +GLIBC_2.41 acospil F +GLIBC_2.41 asinpi F +GLIBC_2.41 asinpif F +GLIBC_2.41 asinpif32 F +GLIBC_2.41 asinpif32x F +GLIBC_2.41 asinpif64 F +GLIBC_2.41 asinpil F +GLIBC_2.41 atan2pi F +GLIBC_2.41 atan2pif F +GLIBC_2.41 atan2pif32 F +GLIBC_2.41 atan2pif32x F +GLIBC_2.41 atan2pif64 F +GLIBC_2.41 atan2pil F +GLIBC_2.41 atanpi F +GLIBC_2.41 atanpif F +GLIBC_2.41 atanpif32 F +GLIBC_2.41 atanpif32x F +GLIBC_2.41 atanpif64 F +GLIBC_2.41 atanpil F +GLIBC_2.41 cospi F +GLIBC_2.41 cospif F +GLIBC_2.41 cospif32 F +GLIBC_2.41 cospif32x F +GLIBC_2.41 cospif64 F +GLIBC_2.41 cospil F +GLIBC_2.41 sinpi F +GLIBC_2.41 sinpif F +GLIBC_2.41 sinpif32 F +GLIBC_2.41 sinpif32x F +GLIBC_2.41 sinpif64 F +GLIBC_2.41 sinpil F +GLIBC_2.41 tanpi F +GLIBC_2.41 tanpif F +GLIBC_2.41 tanpif32 F +GLIBC_2.41 tanpif32x F +GLIBC_2.41 tanpif64 F +GLIBC_2.41 tanpil F +GLIBC_2.42 compoundn F +GLIBC_2.42 compoundnf F +GLIBC_2.42 compoundnf32 F +GLIBC_2.42 compoundnf32x F +GLIBC_2.42 compoundnf64 F +GLIBC_2.42 compoundnl F +GLIBC_2.42 pown F +GLIBC_2.42 pownf F +GLIBC_2.42 pownf32 F +GLIBC_2.42 pownf32x F +GLIBC_2.42 pownf64 F +GLIBC_2.42 pownl F +GLIBC_2.42 powr F +GLIBC_2.42 powrf F +GLIBC_2.42 powrf32 F +GLIBC_2.42 powrf32x F +GLIBC_2.42 powrf64 F +GLIBC_2.42 powrl F +GLIBC_2.42 rootn F +GLIBC_2.42 rootnf F +GLIBC_2.42 rootnf32 F +GLIBC_2.42 rootnf32x F +GLIBC_2.42 rootnf64 F +GLIBC_2.42 rootnl F +GLIBC_2.42 rsqrt F +GLIBC_2.42 rsqrtf F +GLIBC_2.42 rsqrtf32 F +GLIBC_2.42 rsqrtf32x F +GLIBC_2.42 rsqrtf64 F +GLIBC_2.42 rsqrtl F diff --git a/sysdeps/unix/sysv/linux/arc/makecontext.c b/sysdeps/unix/sysv/linux/arc/makecontext.c index 2ae8c12..a6cabdb 100644 --- a/sysdeps/unix/sysv/linux/arc/makecontext.c +++ b/sysdeps/unix/sysv/linux/arc/makecontext.c @@ -1,5 +1,5 @@ /* Create new context for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/mmap_internal.h b/sysdeps/unix/sysv/linux/arc/mmap_internal.h index 8ddc699..8640014 100644 --- a/sysdeps/unix/sysv/linux/arc/mmap_internal.h +++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h @@ -1,5 +1,5 @@ /* mmap - map files or devices into memory. Linux/ARC version. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S index ce783f7..45d6bb3 100644 --- a/sysdeps/unix/sysv/linux/arc/setcontext.S +++ b/sysdeps/unix/sysv/linux/arc/setcontext.S @@ -1,5 +1,5 @@ /* Set current context for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions index 343c0a0..62c1bd5 100644 --- a/sysdeps/unix/sysv/linux/arc/shlib-versions +++ b/sysdeps/unix/sysv/linux/arc/shlib-versions @@ -1,7 +1,3 @@ DEFAULT GLIBC_2.32 -%ifdef HAVE_ARC_BE -ld=ld-linux-arceb.so.2 -%else ld=ld-linux-arc.so.2 -%endif diff --git a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h index fd3a4be..b7a892a 100644 --- a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h +++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h @@ -1,5 +1,5 @@ /* ARC definitions for signal handling calling conventions. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S index 154241e..d06234d 100644 --- a/sysdeps/unix/sysv/linux/arc/sigrestorer.S +++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S @@ -1,5 +1,5 @@ /* Default sigreturn stub for ARC Linux. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S index abaec4a..31816e4 100644 --- a/sysdeps/unix/sysv/linux/arc/swapcontext.S +++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S @@ -1,5 +1,5 @@ /* Save and set current context for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h index 9c17237..3bce65a 100644 --- a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h +++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h @@ -1,5 +1,5 @@ /* cacheflush - flush contents of instruction and/or data cache. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h index 5b44ebf..5fa0015 100644 --- a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, ARC version. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/sys/user.h b/sysdeps/unix/sysv/linux/arc/sys/user.h index bf9a589..7caa0c6 100644 --- a/sysdeps/unix/sysv/linux/arc/sys/user.h +++ b/sysdeps/unix/sysv/linux/arc/sys/user.h @@ -1,5 +1,5 @@ /* ptrace register data format definitions. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S index 1f96853..71177e1 100644 --- a/sysdeps/unix/sysv/linux/arc/syscall.S +++ b/sysdeps/unix/sysv/linux/arc/syscall.S @@ -1,5 +1,5 @@ /* syscall - indirect system call. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/syscall_cancel.S b/sysdeps/unix/sysv/linux/arc/syscall_cancel.S new file mode 100644 index 0000000..ccffef3f --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscall_cancel.S @@ -0,0 +1,56 @@ +/* Cancellable syscall wrapper. Linux/ARC version. + Copyright (C) 2023-2025 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) + + .globl __syscall_cancel_arch_start +__syscall_cancel_arch_start: + ld_s r12,[r0] + bbit1 r12, TCB_CANCELED_BITMASK, 1f + mov_s r8, r1 + mov_s r0, r2 + mov_s r1, r3 + mov_s r2, r4 + mov_s r3, r5 + mov_s r4, r6 + mov_s r5, r7 + trap_s 0 + + .globl __syscall_cancel_arch_end +__syscall_cancel_arch_end: + j_s [blink] + + .align 4 +1: push_s blink + cfi_def_cfa_offset (4) + cfi_offset (31, -4) + bl @__syscall_do_cancel + +END (__syscall_cancel_arch) diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.c b/sysdeps/unix/sysv/linux/arc/sysdep.c index ede5a16..ed5025c 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.c +++ b/sysdeps/unix/sysv/linux/arc/sysdep.c @@ -1,5 +1,5 @@ /* ARC wrapper for setting errno. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h index 60d5ef8..06e3140 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for ARC. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h index ab20d85..35caf73 100644 --- a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h +++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h @@ -1,5 +1,5 @@ /* Macros for ucontext routines, ARC version. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S index 63eb42b..33498cd 100644 --- a/sysdeps/unix/sysv/linux/arc/vfork.S +++ b/sysdeps/unix/sysv/linux/arc/vfork.S @@ -1,5 +1,5 @@ /* vfork for ARC Linux. - Copyright (C) 2020-2024 Free Software Foundation, Inc. + Copyright (C) 2020-2025 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 |