it also looks like the relevant constants (such as ARCH_SET_FS) are only exposed in <asm/prctl.h>, which isn't currently transitively included from <sys/prctl.h>... On Wed, Aug 21, 2024 at 1:59 PM enh <enh@xxxxxxxxxx> wrote: > > i wonder if part of the problem was wondering what the signature should be? > > arch_prctl() sets architecture-specific process or thread state. > op selects an operation and passes argument addr to it; addr is > interpreted as either an unsigned long for the "set" operations, > or as an unsigned long *, for the "get" operations. > > On Wed, Aug 21, 2024 at 1:39 PM Adhemerval Zanella Netto > <adhemerval.zanella@xxxxxxxxxx> wrote: > > > > > > > > On 21/08/24 14:02, enh wrote: > > > i see glibc has a _symbol_ for arch_prctl(), but there's nothing in > > > the headers? a variety of projects seem to `extern` it themselves so > > > they can use the glibc symbol, even though the man page denies that it > > > exists and suggests you use syscall() instead. > > > > > > is this half-existence deliberate, or should it be fixed one way or > > > the other (adding the header declaration or removing the symbol)? > > > > > > i notice musl is the same, but i assume that's just for glibc > > > compatibility rather than an actual decision on their part. > > > > > > before i copy the same oddity in bionic for > > > https://blog.chromium.org/2024/06/building-faster-smarter-chromebook.html > > > i thought i'd at least _ask_ :-) > > > > > > > It seems to be a overlook from when it was originally added (a47fd6810cb). > > I think we should add a x86 sys/prctl.h with the definition.