aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
11 daysUse Linux 6.12 in build-many-glibcs.pyJoseph Myers1-1/+1
Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
11 dayslocale: More strictly implement ISO 8601 for Esperanto localeCarmen Bianca BAKKER1-1/+2
Esperanto, as an international language and a bit of a non-locale, usually defaults to international consensus. In this commit, I make the Esperanto locale more in line with ISO 8601 by setting the first day as Monday, and the first week as containing January 4. Closes: BZ #32323 Signed-off-by: Carmen Bianca BAKKER <carmen@carmenbianca.eu> Reviewed-by: Mike FABIAN <mfabian@redhat.com>
11 dayself: Consolidate stackinfo.hAdhemerval Zanella7-171/+13
And use sane default the generic implementation. Reviewed-by: Florian Weimer <fweimer@redhat.com>
11 daysmanual: Describe struct link_map, support link maps with dlinfoFlorian Weimer1-2/+105
This does not describe how to use RTLD_DI_ORIGIN and l_name to reconstruct a full path for the an object. The reason is that I think we should not recommend further use of RTLD_DI_ORIGIN due to its buffer overflow potential (bug 24298). This should be covered by another dlinfo extension. It would also obsolete the need for the dladdr approach to obtain the file name for the main executable. Obtaining the lowest address from load segments in program headers is quite clumsy and should be provided directly via dlinfo. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
14 daysAdd threaded test of sem_trywaitJoseph Myers2-0/+78
All the existing glibc tests of sem_trywait are single-threaded. Add one that calls sem_trywait and sem_post in separate threads. Tested for x86_64.
14 daysAdd test of ELF hash collisionsJoseph Myers19-1/+1364
Add tests that the dynamic linker works correctly with symbol names involving hash collisions, for both choices of hash style (and --hash-style=both as well). I note that there weren't actually any previous tests using --hash-style (so tests would only cover the default linker configuration in that regard). Also test symbol versions involving hash collisions. Tested for x86_64.
2024-11-29nptl: Add new test for pthread_spin_trylockSergey Kolosov2-0/+83
Add a threaded test for pthread_spin_trylock attempting to lock already acquired spin lock and checking for correct return code. Reviewed-by: Florian Weimer <fweimer@redhat.com>
2024-11-29malloc: send freed small chunks to smallbink4lizen1-19/+34
Large chunks get added to the unsorted bin since sorting them takes time, for small chunks the benefit of adding them to the unsorted bin is non-existant, actually hurting performance. Splitting and malloc_consolidate still add small chunks to unsorted, but we can hint the compiler that that is a relatively rare occurance. Benchmarking shows this to be consistently good. Authored-by: k4lizen <k4lizen@proton.me> Signed-off-by: Aleksa Siriški <sir@tmina.org>
2024-11-29AArch64: Remove zva_128 from memsetWilco Dijkstra1-24/+1
Remove ZVA 128 support from memset - the new memset no longer guarantees count >= 256, which can result in underflow and a crash if ZVA size is 128 ([1]). Since only one CPU uses a ZVA size of 128 and its memcpy implementation was removed in commit e162ab2bf1b82c40f29e1925986582fa07568ce8, remove this special case too. [1] https://sourceware.org/pipermail/libc-alpha/2024-November/161626.html Reviewed-by: Andrew Pinski <quic_apinski@quicinc.com>
2024-11-29benchtests: Add calloc testWangyang Guo5-5/+64
Two new benchmarks related to calloc added: - bench-calloc-simple - bench-calloc-thread Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-11-28pthread_getcpuclockid: Add descriptive comment to smoke testSiddhesh Poyarekar2-6/+7
Add a descriptive comment to the tst-pthread-cpuclockid-invalid test and also drop pthread_getcpuclockid from the TODO-testing list since it now has full coverage. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2024-11-28Remove nios2-linux-gnuAdhemerval Zanella113-8540/+115
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>
2024-11-28libio: make _IO_least_marker staticSiddhesh Poyarekar1-3/+1
Trivial cleanup to limit _IO_least_marker so that it's clear that it is unused outside of genops. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2024-11-27malloc: Avoid func call for tcache quick path in free()Wangyang Guo1-1/+1
Tcache is an important optimzation to accelerate memory free(), things within this code path should be kept as simple as possible. This commit try to remove the function call when free() invokes tcache code path by inlining _int_free(). Result of bench-malloc-thread benchmark Test Platform: Xeon-8380 Ratio: New / Original time_per_iteration (Lower is Better) Threads# | Ratio -----------|------ 1 thread | 0.879 4 threads | 0.874 The performance data shows it can improve bench-malloc-thread benchmark by ~12% in both single thread and multi-thread scenario. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-11-26debug: Fix tst-longjmp_chk3 build failure on HurdFlorian Weimer1-0/+1
Explicitly include <unistd.h> for _exit and getpid.
2024-11-26math: Add internal roundeven_finiteAdhemerval Zanella5-3/+35
Some CORE-MATH routines uses roundeven and most of ISA do not have an specific instruction for the operation. In this case, the call will be routed to generic implementation. However, if the ISA does support round() and ctz() there is a better alternative (as used by CORE-MATH). This patch adds such optimization and also enables it on powerpc. On a power10 it shows the following improvement: expm1f master patched improvement latency 9.8574 7.0139 28.85% reciprocal-throughput 4.3742 2.6592 39.21% Checked on powerpc64le-linux-gnu and aarch64-linux-gnu. Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-25RISC-V: Use builtin for fma and fmafJulian Zhu3-68/+4
The built-in functions `builtin_{fma, fmaf}` are sufficient to generate correct `fmadd.d`/`fmadd.s` instructions on RISC-V. Signed-off-by: Julian Zhu <jz531210@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-25RISC-V: Use builtin for copysign and copysignfJulian Zhu2-58/+0
The built-in functions `builtin_{copysign, copysignf}` are sufficient to generate correct `fsgnj.d/fsgnj.s` instructions on RISC-V. Signed-off-by: Julian Zhu <jz531210@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-25Silence most -Wzero-as-null-pointer-constant diagnosticsAlejandro Colomar97-262/+263
Replace 0 by NULL and {0} by {}. Omit a few cases that aren't so trivial to fix. Link: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117059> Link: <https://software.codidact.com/posts/292718/292759#answer-292759> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-11-25sysdeps: linux: Fix output of LD_SHOW_AUXV=1 for AT_RSEQ_*Yannick Le Pennec1-0/+2
The constants themselves were added to elf.h back in 8754a4133e but the array in _dl_show_auxv wasn't modified accordingly, resulting in the following output when running LD_SHOW_AUXV=1 /bin/true on recent Linux: AT_??? (0x1b): 0x1c AT_??? (0x1c): 0x20 With this patch: AT_RSEQ_FEATURE_SIZE: 28 AT_RSEQ_ALIGN: 32 Tested on Linux 6.11 x86_64 Signed-off-by: Yannick Le Pennec <yannick.lepennec@live.fr> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-25debug: Wire up tst-longjmp_chk3Florian Weimer2-4/+10
The test was added in commit ac8cc9e300a002228eb7e660df3e7b333d9a7414 without all the required Makefile scaffolding. Tweak the test so that it actually builds (including with dynamic SIGSTKSZ). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-25nptl: initialize cpu_id_start prior to rseq registrationMichael Jeanson1-0/+1
When adding explicit initialization of rseq fields prior to registration, I glossed over the fact that 'cpu_id_start' is also documented as initialized by user-space. While current kernels don't validate the content of this field on registration, future ones could. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2024-11-25math: Fix branch hint for 68d7128942Adhemerval Zanella1-1/+1
2024-11-25powerpc64le: ROP Changes for strncpy/ppc-mountSachin Monga4-28/+46
Add ROP protect instructions to strncpy and ppc-mount functions. Modify FRAME_MIN_SIZE to 48 bytes for ELFv2 to reserve additional 16 bytes for ROP save slot and padding. Signed-off-by: Sachin Monga <smonga@linux.ibm.com> Reviewed-by: Peter Bergner <bergner@linux.ibm.com>
2024-11-25math: Fix non-portability in the computation of signgam in lgammafVincent Lefevre1-5/+4
The k>>31 in signgam = 1 - (((k&(k>>31))&1)<<1); is not portable: * The ISO C standard says "If E1 has a signed type and a negative value, the resulting value is implementation-defined." (this is still in C23). * If the int type is larger than 32 bits (e.g. a 64-bit type), then k = INT_MAX; line 144 will make k>>31 put 1 in bit 0 (thus signgam will be -1) while 0 is expected. Moreover, instead of the fx >= 0x1p31f condition, testing fx >= 0 is probably better for 2 reasons: The signgam expression has more or less a condition on the sign of fx (the goal of k>>31, which can be dropped with this new condition). Since fx ≥ 0 should be the most common case, one can get signgam directly in this case (value 1). And this simplifies the expression for the other case (fx < 0). This new condition may be easier/faster to test on the processor (e.g. by avoiding a load of a constant from the memory). This is commit d41459c731865516318f813cf4c966dafa0eecbf from CORE-MATH. Checked on x86_64-linux-gnu.
2024-11-25malloc: Split _int_free() into 3 sub functionsWangyang Guo1-49/+86
Split _int_free() into 3 smaller functions for flexible combination: * _int_free_check -- sanity check for free * tcache_free -- free memory to tcache (quick path) * _int_free_chunk -- free memory chunk (slow path)
2024-11-25hurd: Add MAP_NORESERVE mmap flagSamuel Thibault1-0/+1
This is already the current default behavior, which we will change with overcommit support addition.
2024-11-22nptl: Add smoke test for pthread_getcpuclockid failureSiddhesh Poyarekar2-0/+51
Exercise the case where an exited thread will cause pthread_getcpuclockid to fail. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Reviewed-by: Florian Weimer <fweimer@redhat.com>
2024-11-22Add multithreaded test of sem_getvalueJoseph Myers2-0/+186
Test coverage of sem_getvalue is fairly limited. Add a test that runs it on threads on each CPU. For this purpose I adapted tst-skeleton-thread-affinity.c; it didn't seem very suitable to use as-is or include directly in a different test doing things per-CPU, but did seem a suitable starting point (thus sharing tst-skeleton-affinity.c) for such testing. Tested for x86_64.
2024-11-22math: Use tanf from CORE-MATHAdhemerval Zanella29-270/+321
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic tanf. The code was adapted to glibc style, to use the definition of math_config.h, to remove errno handling, and to use a generic 128 bit routine for ABIs that do not support it natively. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (neoverse1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 82.3961 54.8052 33.49% x86_64v2 82.3415 54.8052 33.44% x86_64v3 69.3661 50.4864 27.22% i686 219.271 45.5396 79.23% aarch64 29.2127 19.1951 34.29% power10 19.5060 16.2760 16.56% reciprocal-throughput master patched improvement x86_64 28.3976 19.7334 30.51% x86_64v2 28.4568 19.7334 30.65% x86_64v3 21.1815 16.1811 23.61% i686 105.016 15.1426 85.58% aarch64 18.1573 10.7681 40.70% power10 8.7207 8.7097 0.13% Signed-off-by: Alexei Sibidanov <sibid@uvic.ca> Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22math: Use lgammaf from CORE-MATHAdhemerval Zanella30-601/+357
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic lgammaf. The code was adapted to glibc style, to use the definition of math_config.h, to remove errno handling, to use math_narrow_eval on overflow usage, and to adapt to make it reentrant. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 86.5609 70.3278 18.75% x86_64v2 78.3030 69.9709 10.64% x86_64v3 74.7470 59.8457 19.94% i686 387.355 229.761 40.68% aarch64 40.8341 33.7563 17.33% power10 26.5520 16.1672 39.11% powerpc 28.3145 17.0625 39.74% reciprocal-throughput master patched improvement x86_64 68.0461 48.3098 29.00% x86_64v2 55.3256 47.2476 14.60% x86_64v3 52.3015 38.9028 25.62% i686 340.848 195.707 42.58% aarch64 36.8000 30.5234 17.06% power10 20.4043 12.6268 38.12% powerpc 22.6588 13.8866 38.71% Signed-off-by: Alexei Sibidanov <sibid@uvic.ca> Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22math: Use erfcf from CORE-MATHAdhemerval Zanella27-249/+178
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic erfcf. The code was adapted to glibc style and to use the definition of math_config.h. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 98.8796 66.2142 33.04% x86_64v2 98.9617 67.4221 31.87% x86_64v3 87.4161 53.1754 39.17% aarch64 33.8336 22.0781 34.75% power10 21.1750 13.5864 35.84% powerpc 21.4694 13.8149 35.65% reciprocal-throughput master patched improvement x86_64 48.5620 27.6731 43.01% x86_64v2 47.9497 28.3804 40.81% x86_64v3 42.0255 18.1355 56.85% aarch64 24.3938 13.4041 45.05% power10 10.4919 6.1881 41.02% powerpc 11.763 6.76468 42.49% Signed-off-by: Alexei Sibidanov <sibid@uvic.ca> Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22math: Use erff from CORE-MATHAdhemerval Zanella28-235/+251
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic erff. The code was adapted to glibc style and to use the definition of math_config.h. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 85.7363 45.1372 47.35% x86_64v2 86.6337 38.5816 55.47% x86_64v3 71.3810 34.0843 52.25% i686 190.143 97.5014 48.72% aarch64 34.9091 14.9320 57.23% power10 38.6160 8.5188 77.94% powerpc 39.7446 8.45781 78.72% reciprocal-throughput master patched improvement x86_64 35.1739 14.7603 58.04% x86_64v2 34.5976 11.2283 67.55% x86_64v3 27.3260 9.8550 63.94% i686 91.0282 30.8840 66.07% aarch64 22.5831 6.9615 69.17% power10 18.0386 3.0918 82.86% powerpc 20.7277 3.63396 82.47% Signed-off-by: Alexei Sibidanov <sibid@uvic.ca> Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22math: Split s_erfF in erff and erfcAdhemerval Zanella8-78/+179
So we can eventually replace each implementation. Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22math: Use cbrtf from CORE-MATHAdhemerval Zanella26-134/+91
The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance to the generic cbrtf. The code was adapted to glibc style and to use the definition of math_config.h. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): latency master patched improvement x86_64 68.6348 36.8908 46.25% x86_64v2 67.3418 36.6968 45.51% x86_64v3 63.4981 32.7859 48.37% aarch64 29.3172 12.1496 58.56% power10 18.0845 8.8893 50.85% powerpc 18.0859 8.79527 51.37% reciprocal-throughput master patched improvement x86_64 36.4369 13.3565 63.34% x86_64v2 37.3611 13.1149 64.90% x86_64v3 31.6024 11.2102 64.53% aarch64 18.6866 7.3474 60.68% power10 9.4758 3.6329 61.66% powerpc 9.58896 3.90439 59.28% Signed-off-by: Alexei Sibidanov <sibid@uvic.ca> Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-22benchtests: Add tanf benchmarkAdhemerval Zanella2-0/+3006
Random inputs in [-pi, pi]. Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22benchtests: Add lgammaf benchmarkAdhemerval Zanella2-0/+1006
Random inputs in the range [-20.0,20.0]. Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22benchtests: Add erfcf benchmarkAdhemerval Zanella2-0/+796
It is based on binary64 erfc-inputs, with random inputs in [0,b=0x1.41bbf6p+3] where b in the smallest number such that erfcf(b) rounds to 0 (to nearest). Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22benchtests: Add erff benchmarkAdhemerval Zanella2-0/+796
It is based on binary64 erf-inputs, with random inputs in [0,b=0x1.f5a888p+1] where b in the smallest number such that erff(b) rounds to 1 (to nearest). Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22benchtests: Add cbrtf benchmarkAdhemerval Zanella2-0/+1006
Based on binary64 benchtests, with random inputs in [1,8].
2024-11-22elf: Handle static PIE with non-zero load address [BZ #31799]H.J. Lu6-7/+200
For a static PIE with non-zero load address, its PT_DYNAMIC segment entries contain the relocated values for the load address in static PIE. Since static PIE usually doesn't have PT_PHDR segment, use p_vaddr of the PT_LOAD segment with offset == 0 as the load address in static PIE and adjust the entries of PT_DYNAMIC segment in static PIE by properly setting the l_addr field for static PIE. This fixes BZ #31799. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
2024-11-21x86/string: Use `movsl` instead of `movsd` in strncat [BZ #32344]Siddhesh Poyarekar1-2/+2
The previous patch missed strncat, so fixed that. Resolves: BZ #32344 Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2024-11-21stdlib: Make getenv thread-safe in more casesFlorian Weimer8-79/+609
Async-signal-safety is preserved, too. In fact, getenv is fully reentrant and can be called from the malloc call in setenv (if a replacement malloc uses getenv during its initialization). This is relatively easy to implement because even before this change, setenv, unsetenv, clearenv, putenv do not deallocate the environment strings themselves as they are removed from the environment. The main changes are: * Use release stores for environment array updates, following the usual pattern for safely publishing immutable data (in this case, the environment strings). * Do not deallocate the environment array. Instead, keep older versions around and adopt an exponential resizing policy. This results in an amortized constant space leak per active environment variable, but there already is such a leak for the variable itself (and that is even length-dependent, and includes no-longer used values). * Add a seqlock-like mechanism to retry getenv if a concurrent unsetenv is observed. Without that, it is possible that getenv returns NULL for a variable that is never unset. This is visible on some AArch64 implementations with the newly added stdlib/tst-getenv-unsetenv test case. The mechanism is not a pure seqlock because it tolerates one write from unsetenv. This avoids the need for a second copy of the environ array that getenv can read from a signal handler that happens to interrupt an unsetenv call. No manual updates are included with this patch because environ usage with execve, posix_spawn, system is still not thread-safe relative unsetenv. The new process may end up with an environment that misses entries that were never unset. This is the same issue described above for getenv. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-21aarch64: Remove non-temporal load/stores from oryon-1's memsetAndrew Pinski1-26/+0
The hardware architects have a new recommendation not to use non-temporal load/stores for memset. This patch removes this path. I found there was no difference in the memset speed with/without non-temporal load/stores either. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-21aarch64: Remove non-temporal load/stores from oryon-1's memcpyAndrew Pinski1-40/+0
The hardware architects have a new recommendation not to use non-temporal load/stores for memcpy. This patch removes this path. I found there was no difference in the memcpy speed with/without non-temporal load/stores either. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-11-20powerpc64le: _init/_fini file changes for ROPSachin Monga3-1/+14
The ROP instructions were added in ISA 3.1 (ie, Power10), however they were defined so that if executed on older cpus, they would behave as nops. This allows us to emit them on older cpus and they'd just be ignored, but if run on a Power10, then the binary would be ROP protected. Hash instructions use negative offsets so the default position of ROP pointer is FRAME_ROP_SAVE from caller's SP. Modified FRAME_MIN_SIZE_PARM to 112 for ELFv2 to reserve additional 16 bytes for ROP save slot and padding. Signed-off-by: Sachin Monga <smonga@linux.ibm.com> Reviewed-by: Peter Bergner <bergner@linux.ibm.com>
2024-11-20mman.h: Fix MAP_HASSEMPHORE typoSamuel Thibault1-1/+1
BSD's MAP_HASSEMAPHORE is with an A. MAP_HASSEMPHORE is not used in any Debian software for instance.
2024-11-20misc: remove extra va_end in error_tail (bug 32233)Andreas Schwab1-1/+0
This is an addendum to commit b7b52b9dec ("error, error_at_line: Add missing va_end calls"), which added the va_end calls in the callers where they belong.
2024-11-20intl: avoid alloca for arbitrary sizes (bug 32380)Andreas Schwab1-39/+12
Use malloc for the copy of the domain name and the category value, which can both be of arbitrary size.
2024-11-20manual: Add description of AArch64-specific pkey flagsYury Khrustalev1-1/+15
Describe AArch64 specific flags PKEY_DISABLE_READ and PKEY_DISABLE_EXECUTE that are available on AArch64 systems with enabled Stage 1 permission overlays feature introduced in Armv8.9 / 9.4 (FEAT_S1POE). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>