aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/arm/sys/sbrk.S
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement brk() and sbrk() to avoid the use of _end.Mark Johnston2018-06-041-82/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, libc.so would initialize its notion of the break address using _end, a special symbol emitted by the static linker following the bss section. Compatibility issues between lld and ld.bfd could cause the wrong definition of _end (libc.so's definition rather than that of the executable) to be used, breaking the brk()/sbrk() interface. Avoid this problem and future interoperability issues by simply not relying on _end. Instead, modify the break() system call to return the kernel's view of the current break address, and have libc initialize its state using an extra syscall upon the first use of the interface. As a side effect, this appears to fix brk()/sbrk() usage in executables run with rtld direct exec, since the kernel and libc.so no longer maintain separate views of the process' break address. PR: 228574 Reviewed by: kib (previous version) MFC after: 2 months Differential Revision: https://reviews.freebsd.org/D15663 Notes: svn path=/head/; revision=334626
* Annotate arm userspace assembler sources stating their tolerance toKonstantin Belousov2015-09-291-0/+2
| | | | | | | | | | the non-executable stack. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=288373
* Use the GOT_* macros to help simplify the code, these work with both picAndrew Turner2015-05-111-13/+4
| | | | | | | and non-pic code, and to build for Thumb. Notes: svn path=/head/; revision=282782
* In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).Ian Lepore2014-08-311-0/+1
| | | | | | | | | | | | The EABI unwind info requires a .fnend for every .fnstart, and newer binutils will complain about seeing two .fnstart in a row. This change allows newer tools to compile our code. Reported by: bapt Reviewed by: imp Notes: svn path=/head/; revision=270882
* Fix sbrk.S to use _end symbol the same way brk.s was fixed some timeAlexander Kabaev2007-06-271-2/+2
| | | | | | | | | | ago. sbrk.S should have gotten the same change then but was forgotten. Approved by: re (bmah) PR: kern/114049 Notes: svn path=/head/; revision=171061
* Use the RET macro.Olivier Houchard2004-11-091-1/+1
| | | | | | | | For setjmp() and longjmp(), put the signal mask where it's supposed to be, instead of in the space reserved for fp regs. Notes: svn path=/head/; revision=137464
* Import the FreeBSD/arm libc bits.Olivier Houchard2004-05-141-0/+88
Obtained from: NetBSD Notes: svn path=/head/; revision=129202