Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
ca6f46a
iconv: add euro symbol to GBK as single byte 0x80
richfelker Mar 1, 2024
b5121e2
iconv: add aliases for GBK
richfelker Mar 1, 2024
fd7d018
add missing inline keyword on default a_barrier definition
richfelker Mar 2, 2024
7ada6dd
iconv: fix missing bounds checking for shift_jis decoding
richfelker Mar 2, 2024
bdc9a9f
uio.h: add RWF_NOAPPEND flag for pwritev2
richfelker Mar 13, 2024
5370070
fix pwrite/pwritev handling of O_APPEND files
richfelker Mar 13, 2024
9683bd6
math: fix fma(x,y,0) when x*y rounds to -0
Mar 13, 2024
e3b0ace
complex: fix comment in cacosh
Mar 10, 2024
24ebbbd
printf: fix edge case where hex float precision was not honored
richfelker Apr 12, 2024
3f49203
initgroups: do not artificially limit number of supplementary groups
richfelker Apr 13, 2024
cbf1c7b
add missing STATX_ATTR_* macros omitted when statx was added
richfelker Apr 24, 2024
a23cf8f
riscv mcontext_t/sigcontext: use __aligned__ instead of aligned
michaelforney Apr 21, 2024
3f9d422
printf decimal integer formatting: shave off one division
richfelker May 6, 2024
fced99e
strptime: implement conversion specifiers adopted for next POSIX issue
richfelker May 6, 2024
6f66623
ldso: fix non-functional fix to early dynamic PAGE_SIZE access
richfelker May 7, 2024
ef60088
align aarch64, riscv64, loongarch64 stat structure padding type
richfelker May 7, 2024
0dfa1d8
unify bits/stat.h for all archs sharing a common definition
richfelker May 7, 2024
29b216b
unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bits
richfelker May 7, 2024
e709a6f
sys/reg.h: derive __WORDSIZE from __LONG_MAX
richfelker May 7, 2024
7019fbe
sys/user.h: derive __WORDSIZE from __LONG_MAX
richfelker May 7, 2024
2c124e1
stdint.h: derive limits from __LONG_MAX, use common fast16 types
richfelker May 7, 2024
1b0d485
implement posix_getdents adopted for next issue of POSIX
richfelker May 8, 2024
84015ce
fix typo that broke sys/reg.h and sys/user.h
GonzaloAlvarez May 11, 2024
cbf59dd
aarch64 crti.o: fix alignment of _init/_fini
mojyack May 12, 2024
0079972
fix mismatched type in posix_getdents definition
richfelker May 12, 2024
05ce67f
add renameat2 linux syscall wrapper
guidosarducci May 7, 2024
895736d
syslog: fix incorrect LOG_MAKEPRI and LOG_FAC[MASK] macros
richfelker Jun 13, 2024
53ac44f
dynlink: fix get_lfs64() with posix_fallocate64
a2flo Jun 21, 2024
ab31e9d
getusershell: skip blank lines and comments
richfelker Jun 22, 2024
1b97d00
sys/epoll.h: add epoll ioctls
jdamato-fsly May 29, 2024
50ab830
dynlink: avoid copying to temp buffer in get_lfs64
richfelker Jun 22, 2024
947b457
inet_ntop: fix the IPv6 leading zero sequence compression
jstasiak Jun 13, 2024
008f737
siglongjmp: document why this function just calls longjmp
richfelker Jun 24, 2024
dd1e63c
syslog: revert LOG_FAC/LOG_FACMASK changes
richfelker Jul 5, 2024
ef7d0ae
move __utc string object to its own translation unit
richfelker Jul 23, 2024
8cca79a
exit: add back lock to make concurrent calls to exit safe
richfelker Jul 24, 2024
9ee6f10
atexit: fail rather than deadlocking after last handler is called
richfelker Jul 24, 2024
cde213f
timer_create: replace pthread barrier with semaphores for thread start
richfelker Jul 24, 2024
2de6b42
fix missing make dependency for Scrt1.o due to typo
richfelker Aug 10, 2024
b09e317
m68k: fix POLLWRNORM and POLLWRBAND
baruchsiach Aug 7, 2024
882aedf
fix lost or delayed wakes in sem_post under certain race conditions
richfelker Aug 10, 2024
9c78557
use hidden visibility for C entry point function _start_c
richfelker Aug 10, 2024
c851b26
strerror: add error strings for EUCLEAN and ENAVAIL
richfelker Aug 11, 2024
ca4e632
remove incorrect comment regarding powl exceptional cases
richfelker Aug 15, 2024
e1b57ed
catan: remove no-op reduction mod pi and unused code
richfelker Aug 15, 2024
06a9647
iconv: add cp858
richfelker Aug 18, 2024
ee18e58
printf core: replace if(0) blocks around switch cases with explicit g…
richfelker Aug 18, 2024
c94a0c1
isatty: don't collapse all non-EBADF errors to ENOTTY
richfelker Aug 20, 2024
572a2e2
printf: drastically reduce stack usage without [long] double args
richfelker Aug 26, 2024
300a1f5
sigaltstack: enforce dynamic MINSIGSTKSZ limit
richfelker Aug 31, 2024
8c43c56
sysconf: fix _SC_MINSIGSTKSZ computation to match kernel interpretation
richfelker Aug 31, 2024
251cbb6
statx: fix ENOSYS emulation not setting stx_rdev_*
GabrielRavier Sep 13, 2024
4ca8c26
statx: fix uninitialized attributes/mask in fallback path
richfelker Sep 13, 2024
23ab04a
statx: add new struct statx fields and corresponding mask macros
richfelker Sep 13, 2024
6d8000d
abstract missing SYS_pause syscall with macros
richfelker Oct 10, 2024
4366436
fix compile regression in exit on archs without SYS_pause
richfelker Oct 10, 2024
2fc56aa
update contributor name in authorship notices
richfelker Oct 10, 2024
5be920e
s390x: don't allow br r0 in CRTJMP asm
stliibm Oct 10, 2024
047a163
sys/stat.h: fix typo in statx member name stx_dio_offset_align
kraj Oct 12, 2024
9929a57
arm: fix _init/_fini alignment in crti.o
alexrp Oct 10, 2024
4e6c827
mntent: exclude trailing newline from parsed field
alyssais Oct 19, 2024
bc5f816
mips: use preferred asm mnemomic jr for better assembler compatibility
alexrp Sep 18, 2024
f2375aa
wire up vdso clock_gettime for powerpc, powerpc64, and s390x
richfelker Oct 22, 2024
9b6a24f
wire up vdso clock_gettime for riscv32 and riscv64
richfelker Oct 22, 2024
61399d4
loongarch64: add TLSDESC support
lixing-star Sep 10, 2024
47fa6e4
SIGEV_THREAD timers: fix fatal signal if internal SIGTIMER becomes un…
richfelker Dec 13, 2024
561cd07
SIGEV_THREAD timers: re-block signals when reusing kernel thread
richfelker Dec 13, 2024
d36e5bf
mq: add x32-specific implementations to work around mismatched kernel…
richfelker Dec 23, 2024
1a98576
sched.h: reduce namespace conflicts in _GNU_SOURCE profile
richfelker Jan 13, 2025
5ccf05d
ldso: don't reclaim zero-memory-sized segments
ziyao233 Nov 18, 2024
6af4f25
s390x: manually inline __tls_get_addr in __tls_get_offset
alexrp Jan 24, 2025
5e594ae
iconv: fix erroneous decoding of some invalid ShiftJIS sequences
richfelker Feb 9, 2025
e5adcd9
iconv: fix erroneous input validation in EUC-KR decoder
richfelker Feb 9, 2025
4c4f15d
hasmntopt: match only whole options not arbitrary substrings
richfelker Feb 9, 2025
c47ad25
iconv: harden UTF-8 output code path against input decoder bugs
richfelker Feb 12, 2025
f1cda42
i386, x86_64, x32: set the symbol type for the crt1 START function
alexrp Nov 23, 2024
362fc54
riscv: mark __restore and __restore_rt hidden
alexrp Nov 23, 2024
00fb710
shadow.h: remove declaration of function not implemented
richfelker Feb 22, 2025
cabbd86
bind_textdomain_codeset: fix return value
richfelker Feb 22, 2025
b0dc340
loongarch64: add bits/hwcap.h for cpu feature bits in AT_HWCAP auxv e…
lixing-star Nov 15, 2024
06c5e4e
signal: check sigpause() input parameter
Dec 18, 2024
5e03c03
clone: align the given stack pointer on or1k and riscv
alexrp Feb 8, 2025
b6b81f6
clone: clear the frame pointer in the child process on relevant ports
alexrp Dec 12, 2024
a34ca6e
termios: fix input speed handling
richfelker Feb 22, 2025
6915b34
dns resolver: reorder sockaddr union to make initialization safe
richfelker May 5, 2025
23febbd
align mbsnrtowcs behavior on partial character with new requirements
richfelker May 5, 2025
ae3a8c9
fix strcasestr failing to find zero-length needle
richfelker May 16, 2025
fde29c0
stdio: skip empty iovec when buffering is disabled
Apr 23, 2025
86373b4
powerpc: update HWCAP bits for Power10
awilfox Jan 3, 2025
18289e5
ldso: fix typo in comment
neuschaefer Oct 23, 2024
fcdff46
statx: add Linux 6.11 fields/constants
neuschaefer Oct 23, 2024
ab4635f
make __getauxval a public ABI symbol
Oct 12, 2023
caae5a8
fix register name usage in aarch64 clone.s
richfelker Jul 1, 2025
f96e47a
printf: fix regression in large double formatting on ld128 archs
richfelker Jul 2, 2025
bd981f3
elf.h: add AT_HWCAP3 and AT_HWCAP4
richfelker Jul 13, 2025
709fee5
aarch64: replace asm source file for __set_thread_area with inline asm
richfelker Jul 13, 2025
8fd5d03
aarch64: mask off SME and unknown/future hwcap bits
richfelker Jul 16, 2025
a6244de
fix erroneous definition of IN6_IS_ADDR_V4COMPAT
richfelker Jul 30, 2025
f6944eb
powerpc[64]: fix missing ctr and xer regs in syscall asm clobberlists
richfelker Aug 7, 2025
0b86d60
riscv: fix setjmp assembly when compiling for ilp32f/lp64f.
alexrp Jun 29, 2024
0ccaf05
printf: fix buffer overflow in floating point decimal formatting
richfelker Sep 19, 2025
1b76ff0
s390x: shuffle register usage in __tls_get_offset to avoid r0 as address
alexrp Oct 12, 2025
5c26c89
mallocng: prevent stray ';' at top-level
michaelforney Apr 15, 2024
4268281
getifaddr: fix typo ssl to sll
RocketMaDev Mar 1, 2026
5c901bb
update syscalls up to linux 6.19
Mar 1, 2026
b37d241
fenv: add missing C dummy functions for loongarch64 soft float
alexrp Sep 27, 2025
38b0081
loongarch64: add new reloc types and NT_LOONGARCH_HW_* into elf.h
huajingyun01 Jan 4, 2025
b5146b8
loongarch64: add fpu and simd context to signal.h
znley Sep 23, 2024
9355c44
loongarch64: add lsx and lasx regset definition
lixing-star Sep 10, 2024
bb5693f
sys/mman.h: add MADV_POPULATE_(READ|WRITE) from linux v5.14
michalbiesek Aug 8, 2023
56df2e1
sys/mman.h: add MADV_DONTNEED_LOCKED from linux v6.0
richfelker Mar 15, 2026
19f9aea
sys/mman.h: add MADV_COLLAPSE from linux v6.1
michalbiesek Aug 8, 2023
149d872
getgr*: validate group member lists from nscd backend
richfelker Mar 18, 2026
1347154
vdso: add support for GNU hash tables
tombokombo Aug 22, 2025
9fa28ec
release 1.2.6
richfelker Mar 20, 2026
28e773f
Merge tag 'v1.2.6' into emscripten
kleisauke May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ Kylie McClain
Leah Neukirchen
Luca Barbato
Luka Perkov
Lynn Ochs
M Farkas-Dyck (Strake)
Mahesh Bodapati
Markus Wichmann
Expand Down Expand Up @@ -103,7 +104,6 @@ Stefan O'Rear
Szabolcs Nagy
Timo Teräs
Trutz Behn
Valentin Ochs
Will Dietz
William Haddon
William Pitcock
Expand Down Expand Up @@ -143,7 +143,7 @@ domain. The code also comes with a fallback permissive license for use
in jurisdictions that may not recognize the public domain.

The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
Valentin Ochs and is licensed under an MIT-style license.
Lynn Ochs and is licensed under an MIT-style license.

The x86_64 port was written by Nicholas J. Kain and is licensed under
the standard MIT terms.
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ obj/src/internal/version.o obj/src/internal/version.lo: obj/src/internal/version

obj/crt/rcrt1.o obj/ldso/dlstart.lo obj/ldso/dynlink.lo: $(srcdir)/src/internal/dynlink.h $(srcdir)/arch/$(ARCH)/reloc.h

obj/crt/crt1.o obj/crt/scrt1.o obj/crt/rcrt1.o obj/ldso/dlstart.lo: $(srcdir)/arch/$(ARCH)/crt_arch.h
obj/crt/crt1.o obj/crt/Scrt1.o obj/crt/rcrt1.o obj/ldso/dlstart.lo: $(srcdir)/arch/$(ARCH)/crt_arch.h

obj/crt/rcrt1.o: $(srcdir)/ldso/dlstart.c

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.5
1.2.6
53 changes: 53 additions & 0 deletions WHATSNEW
Original file line number Diff line number Diff line change
Expand Up @@ -2438,3 +2438,56 @@ arch-specific bugs fixed:
- riscv64 icache flush operation was non-functional
- sh sigsetjmp failed to properly restore call-saved register r8 on return
- sh dlsym RTLD_NEXT did not identify calling module correctly



1.2.6 release notes

new features:
- posix_getdents interface (new in POSIX-2024)
- renameat2 interface (linux extension)
- iconv support for CP858
- vdso clock_gettime for riscv{32,64}, powerpc{,64}, and s390x
- loongarch64 TLSDESC support
- exposed __getauxval for compiler runtime use detecting cpu features

compatibility:
- initgroups no longer artificially limits number of supplementary groups
- getusershell now skips blank lines and comments
- exit is now explicitly thread-safe (possible future requirement)
- atexit now fails rather than deadlocking if called from late dtor
- strerror now has error strings for EUCLEAN and ENAVAIL
- isatty no longer collapses errors to ENOTTY
- sched.h namespace pollution with _GNU_SOURCE is reduced
- hasmntopt now matches only whole options, not arbitrary substrings
- shadow.h no longer declares an unimplemented sgetspent interface
- vdso with missing sysv hash table (only gnu hash) is now supported

conformance:
- pwrite now handles O_APPEND correctly, reports error if it can't
- mbnrtowcs now conforms to new POSIX-2024 requirement for partial character
- iconv GBK now properly includes euro symbol
- strptime now accepts conversion specifiers added in POSIX-2024
- inet_ntop IPv6 "zero compression" now conforms to RFC 5952

bugs fixed:
- iconv euc-kr decoder could do oob writes on invalid inputs (CVE-2025-26519)
- iconv shift_jis decoder could produce wrong outputs for some invalid inputs
- printf did not honor hex float precision correctly in some cases
- lost or delayed wakes in sem_post under race condition
- termios input speed handling was wrong
- strcasestr failed to match zero-length needle
- fma handled corner case with negative zero wrongly
- syslog LOG_MAKEPRI macro was incorrect
- timer_create is no longer affected by known pthread_barrier bugs
- sysconf(_SC_MINSIGSTKSZ) computed min size incorrectly
- statx emulation left some fields uninitialized
- mntent wrongly included final newline in parsed field output
- SIGEV_THREAD timers could abort process if SIGTIMER became unblocked
- bind_textdomain_codeset returned wrong value

arch-specific bugs fixed:
- early dynamic linker handled page size wrong on dynamic pagesize archs
- arm and aarch64 crti/n files had wrong alignment
- m68k POLLWRNORM and POLLWRBAND values were incorrect
- x32 mq ABI was mismatched
2 changes: 0 additions & 2 deletions arch/aarch64/bits/posix.h

This file was deleted.

2 changes: 0 additions & 2 deletions arch/aarch64/bits/reg.h

This file was deleted.

18 changes: 0 additions & 18 deletions arch/aarch64/bits/stat.h

This file was deleted.

20 changes: 0 additions & 20 deletions arch/aarch64/bits/stdint.h

This file was deleted.

20 changes: 20 additions & 0 deletions arch/aarch64/bits/syscall.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -296,12 +296,32 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
#define __NR_quotactl_fd 443
#define __NR_landlock_create_ruleset 444
#define __NR_landlock_add_rule 445
#define __NR_landlock_restrict_self 446
#define __NR_memfd_secret 447
#define __NR_process_mrelease 448
#define __NR_futex_waitv 449
#define __NR_set_mempolicy_home_node 450
#define __NR_cachestat 451
#define __NR_fchmodat2 452
#define __NR_map_shadow_stack 453
#define __NR_futex_wake 454
#define __NR_futex_wait 455
#define __NR_futex_requeue 456
#define __NR_statmount 457
#define __NR_listmount 458
#define __NR_lsm_get_self_attr 459
#define __NR_lsm_set_self_attr 460
#define __NR_lsm_list_modules 461
#define __NR_mseal 462
#define __NR_setxattrat 463
#define __NR_getxattrat 464
#define __NR_listxattrat 465
#define __NR_removexattrat 466
#define __NR_open_tree_attr 467
#define __NR_file_getattr 468
#define __NR_file_setattr 469
#define __NR_listns 470

2 changes: 0 additions & 2 deletions arch/arm/bits/posix.h

This file was deleted.

3 changes: 0 additions & 3 deletions arch/arm/bits/reg.h

This file was deleted.

19 changes: 19 additions & 0 deletions arch/arm/bits/syscall.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
#define __NR_quotactl_fd 443
#define __NR_landlock_create_ruleset 444
#define __NR_landlock_add_rule 445
#define __NR_landlock_restrict_self 446
Expand All @@ -404,6 +405,24 @@
#define __NR_set_mempolicy_home_node 450
#define __NR_cachestat 451
#define __NR_fchmodat2 452
#define __NR_map_shadow_stack 453
#define __NR_futex_wake 454
#define __NR_futex_wait 455
#define __NR_futex_requeue 456
#define __NR_statmount 457
#define __NR_listmount 458
#define __NR_lsm_get_self_attr 459
#define __NR_lsm_set_self_attr 460
#define __NR_lsm_list_modules 461
#define __NR_mseal 462
#define __NR_setxattrat 463
#define __NR_getxattrat 464
#define __NR_listxattrat 465
#define __NR_removexattrat 466
#define __NR_open_tree_attr 467
#define __NR_file_getattr 468
#define __NR_file_setattr 469
#define __NR_listns 470

#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
Expand Down
Empty file added arch/generic/bits/reg.h
Empty file.
File renamed without changes.
9 changes: 9 additions & 0 deletions arch/arm/bits/stdint.h → arch/generic/bits/stdint.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,18 @@ typedef uint32_t uint_fast32_t;
#define UINT_FAST16_MAX UINT32_MAX
#define UINT_FAST32_MAX UINT32_MAX

#if __LONG_MAX == 0x7fffffffL
#define INTPTR_MIN INT32_MIN
#define INTPTR_MAX INT32_MAX
#define UINTPTR_MAX UINT32_MAX
#define PTRDIFF_MIN INT32_MIN
#define PTRDIFF_MAX INT32_MAX
#define SIZE_MAX UINT32_MAX
#else
#define INTPTR_MIN INT64_MIN
#define INTPTR_MAX INT64_MAX
#define UINTPTR_MAX UINT64_MAX
#define PTRDIFF_MIN INT64_MIN
#define PTRDIFF_MAX INT64_MAX
#define SIZE_MAX UINT64_MAX
#endif
2 changes: 0 additions & 2 deletions arch/i386/bits/posix.h

This file was deleted.

2 changes: 0 additions & 2 deletions arch/i386/bits/reg.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#undef __WORDSIZE
#define __WORDSIZE 32
#define EBX 0
#define ECX 1
#define EDX 2
Expand Down
20 changes: 0 additions & 20 deletions arch/i386/bits/stdint.h

This file was deleted.

19 changes: 19 additions & 0 deletions arch/i386/bits/syscall.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
#define __NR_quotactl_fd 443
#define __NR_landlock_create_ruleset 444
#define __NR_landlock_add_rule 445
#define __NR_landlock_restrict_self 446
Expand All @@ -442,4 +443,22 @@
#define __NR_set_mempolicy_home_node 450
#define __NR_cachestat 451
#define __NR_fchmodat2 452
#define __NR_map_shadow_stack 453
#define __NR_futex_wake 454
#define __NR_futex_wait 455
#define __NR_futex_requeue 456
#define __NR_statmount 457
#define __NR_listmount 458
#define __NR_lsm_get_self_attr 459
#define __NR_lsm_set_self_attr 460
#define __NR_lsm_list_modules 461
#define __NR_mseal 462
#define __NR_setxattrat 463
#define __NR_getxattrat 464
#define __NR_listxattrat 465
#define __NR_removexattrat 466
#define __NR_open_tree_attr 467
#define __NR_file_getattr 468
#define __NR_file_setattr 469
#define __NR_listns 470

1 change: 1 addition & 0 deletions arch/i386/crt_arch.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ __asm__(
".weak _DYNAMIC \n"
".hidden _DYNAMIC \n"
".global " START "\n"
".type " START ",%function \n"
START ":\n"
" xor %ebp,%ebp \n"
" mov %esp,%eax \n"
Expand Down
14 changes: 14 additions & 0 deletions arch/loongarch64/bits/hwcap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#define HWCAP_LOONGARCH_CPUCFG (1 << 0)
#define HWCAP_LOONGARCH_LAM (1 << 1)
#define HWCAP_LOONGARCH_UAL (1 << 2)
#define HWCAP_LOONGARCH_FPU (1 << 3)
#define HWCAP_LOONGARCH_LSX (1 << 4)
#define HWCAP_LOONGARCH_LASX (1 << 5)
#define HWCAP_LOONGARCH_CRC32 (1 << 6)
#define HWCAP_LOONGARCH_COMPLEX (1 << 7)
#define HWCAP_LOONGARCH_CRYPTO (1 << 8)
#define HWCAP_LOONGARCH_LVZ (1 << 9)
#define HWCAP_LOONGARCH_LBT_X86 (1 << 10)
#define HWCAP_LOONGARCH_LBT_ARM (1 << 11)
#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12)
#define HWCAP_LOONGARCH_PTW (1 << 13)
2 changes: 0 additions & 2 deletions arch/loongarch64/bits/posix.h

This file was deleted.

2 changes: 0 additions & 2 deletions arch/loongarch64/bits/reg.h

This file was deleted.

43 changes: 43 additions & 0 deletions arch/loongarch64/bits/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
#endif

#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define SC_USED_FP (1U << 0)
#define SC_ADDRERR_RD (1U << 30)
#define SC_ADDRERR_WR (1U << 31)

typedef unsigned long greg_t, gregset_t[32];

struct sigcontext {
Expand All @@ -26,6 +30,45 @@ struct sigcontext {
unsigned sc_flags;
unsigned long sc_extcontext[] __attribute__((__aligned__(16)));
};

#define CONTEXT_INFO_ALIGN 16
struct sctx_info {
unsigned magic;
unsigned size;
unsigned long padding;
};

#define FPU_CTX_MAGIC 0x46505501
#define FPU_CTX_ALIGN 8
struct fpu_context {
unsigned long regs[32];
unsigned long fcc;
unsigned fcsr;
};

#define LSX_CTX_MAGIC 0x53580001
#define LSX_CTX_ALIGN 16
struct lsx_context {
unsigned long regs[2*32];
unsigned long fcc;
unsigned fcsr;
};

#define LASX_CTX_MAGIC 0x41535801
#define LASX_CTX_ALIGN 32
struct lasx_context {
unsigned long regs[4*32];
unsigned long fcc;
unsigned fcsr;
};

#define LBT_CTX_MAGIC 0x42540001
#define LBT_CTX_ALIGN 8
struct lbt_context {
unsigned long regs[4];
unsigned eflags;
unsigned ftop;
};
#endif

typedef struct {
Expand Down
18 changes: 0 additions & 18 deletions arch/loongarch64/bits/stat.h

This file was deleted.

Loading