Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

arc_settls(2)

FieldValue
Numbers (x64 / i386 / arm64-generic / arm32)– / – / – / – (ARC table only)
Since (kernel)3.9 (syscalls(2): “ARC only”)
Man pagenone (no man2/arc_settls.2 in the man-pages 6.19 HTML set fetched 2026-10-17) – source-limited by construction
glibc wrapperno wrapper (no such symbol exported by glibc 2.41, nm -D); invoke via syscall(2)
Aliases coverednone; pair with arc_gettls
Ledger IDSC-arc_settls

Purpose

arc_settls() sets the ARC thread-pointer register for the calling thread to the given value, completing the TLS-pointer pair with arc_gettls. libc’s thread-creation path calls it after clone so each thread’s TLS area is addressable through the platform’s thread-pointer convention.

Synopsis

/* ARC private syscall */
long syscall(SYS_arc_settls, void *tls_ptr);

Arguments and behavior

One argument: the new thread-pointer value (arch/arc kernel TLS support).

Return value and errors

0 on success; a negated error on the raw path (ENOSYS on non-ARC kernels).

Flags and constants

None.

Security and notes

Source-limited: no man page exists; the entry names that gap and rests on the syscall’s role in the ARC TLS design plus the syscalls(2) listing. Cross-reference: arc_gettls, set_tls, clone (CLONE_SETTLS is the generic mechanism).

References

  • man-pages syscalls(2) (arc_settls(2), 3.9, ARC only)
  • Ledger row SC-arc_settls