summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/arm/SYS.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Anthony Steinhauser reports that 32-bit arm cpus have the same speculationderaadt2020-03-131-3/+3
| | | | | | | | | | | problems as 64-bit models. To resolve the syscall speculation, as a first step "nop; nop" was added after all occurances of the syscall ("swi 0") instruction. Then the kernel was changed to jump over the 2 extra instructions. In this final step, those pair of nops are converted into the speculation-blocking sequence ("dsb nsh; isb"). Don't try to build through these multiple steps, use a snapshot instead. Packages matching the new ABI will be out in a while... ok kettenis
* Anthony Steinhauser reports that 32-bit arm cpus have the same speculationderaadt2020-03-111-3/+5
| | | | | | problems as 64-bit models. For the syscall instruction issue, add nop;nop after swi 0, in preparation for jumping over a speculation barrier here later. ok kettenis
* Use internal names for __errno, _memcpy, memset, and {,_}{set,long}jmpguenther2016-08-061-27/+4
| | | | | | | Eliminate pointless use of PIC_SYM() Split out DEFS.h from SYS.h like some other archs ok kettenis@ deraadt@
* Use a Thread Information Block in both single and multi-threaded programs.guenther2016-05-071-2/+1
| | | | | | | | | | | | | | | | | This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable! Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now! Clean up libpthread's symbol exports like libc. On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec. Testing by various, particularly sthen@ and patrick@ ok kettenis@
* Merge the sigaction() and sigprocmask() overloads/wrappers from libpthreadguenther2015-10-231-1/+3
| | | | | | | | | into libc, and move pthread_sigmask() as well (just a trivial wrapper). This provides consistent handling of SIGTHR between single- and multi-threaded programs and is a step in the merge of all the libpthread overloads, providing some ASM and Makefile bits that the other wrappers will need. ok deraadt@ millert@
* Adds hidden _libc_FOO aliases for the system call stubs.guenther2015-09-101-4/+15
| | | | | | | | | | Stop generating _brk and _sbrk symbols: they've already been hidden. Set the ELF symbol size on the syscall stubs. Give the __{min,cur}brk symbols a size and type, and hide more jump labels. alpha, arm, m88k, sh, sparc, and vax assistance miod@ hppa assistance kettenis@ ok deraadt@ miod@
* use #function rather than @function on armderaadt2015-08-311-2/+2
| | | | ok guenther
* Add framework for resolving (pun intended) libc namespace issues, usingguenther2015-08-311-1/+25
| | | | | | | | | | | | wrapper .h files and asm labels to let internal calls resolve directly and not be overridable or use the PLT. Then, apply that framework to most of the functions in stdio.h, string.h, err.h, and wchar.h. Delete the should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here. tests clean on i386, amd64, sparc64, powerpc, and mips64 naming feedback from kettenis@ and millert@ ok kettenis@
* Hide many (194!) symbols that nothing should be using.guenther2015-08-261-2/+1
| | | | | | | Delete exect(2); it wasn't portable across archs and nothing used it. ports test build by naddy@ ok deraadt@ kettenis@
* Make pthread_atfork() track the DSO that called it like atexit() does,guenther2015-04-071-1/+14
| | | | | | | | | | unregistering callbacks if the DSO is unloaded. Move the callback handling from libpthread to libc, though libpthread still overrides the inner call to handle locking and thread-library reinitialization. Major version bump for both libc and libpthread. verification that this fixes various ports ajacoutot@ asm assistance miod@; ok millert@ deraadt@
* Stop encoding the syscall number in the swi instruction - this has beenjsing2015-03-311-4/+3
| | | | | | | unused for around 8 years, when the kernel ABI was changed to use the syscall number specified in r12. ok miod@ jsg@
* Apply "unifdef -D__STDC__" to libc/arch/*/SYS.hmatthew2014-06-041-14/+1
| | | | | | | | A while back, pascal@ converted our system call stubs from using "cpp | as" to "cc -x assembler-with-cpp", so there's no need to stay compatible with ancient preprocessor semantics. ok miod
* yup, we do ELFderaadt2013-12-241-6/+1
|
* Move __cerror to ___cerror with a weak alias so that rthreads can override it.guenther2011-04-041-1/+2
| | | | | | On mips64, also correct the name called from plain cerror to __cerror. "looks correct" miod@
* Load the syscall number into the scratch register (r12) so that we dontdrahn2006-11-071-1/+3
| | | | need the copyin.
* fix weak aliases for _thread_sys functions, proper libpthead linking.drahn2004-03-011-31/+18
| | | | rewrittent to more closely model other archs. ok deraadt@ miod@
* ARGH, forgot tags.drahn2004-02-011-0/+1
|
* arm libc support. From NetBSD. currently supports softfloat.drahn2004-02-011-0/+112