freebsd-dev/libexec
Andrew Turner 0685d955d6 Align the stack in _rtld_bind_start. Normally this is called with the
correct stack alignment, however when we have a leaf function that uses
thread local storage it calls __aeabi_read_tp to get the thread pointer.
Neither GCC or clang see this as a function call so will align the stack
to a 4-byte boundary. This may be a problem as _rtld_bind expects to be
on an 8-byte boundary.

The solution is to store a copy of the stack pointer and force the
alignment before calling _rtld_bind.

This fixes a problem with armeb where applications would crash in odd ways.
It should also remove the need for a local patch to clang to force the
stack alignment to an 8-byte boundary, even for leaf functions. Further
testing will be needed before reverting this local change to clang as we
may rely on it in other places.

Reviewed by:	jmg@
2014-07-06 10:24:06 +00:00
..
atf Move atf-sh from /usr/bin/ to /usr/libexec/ 2014-06-06 18:58:06 +00:00
atrun Fix releasing the lock in the parent atrun process after the queue 2014-04-17 16:00:26 +00:00
bootpd use .Mt to mark up email addresses consistently (part2) 2014-06-20 09:57:27 +00:00
casper NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
comsat Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
dma Lower warning level when built with gcc 2014-02-21 14:14:48 +00:00
dma-mbox-create NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
fingerd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
ftpd Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
getty ttys(5): Pseudo-terminals are not listed and the network keyword is obsolete. 2014-03-09 22:38:11 +00:00
mail.local In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE. 2014-06-08 17:29:31 +00:00
mknetid use .Mt to mark up email addresses consistently (part2) 2014-06-20 09:57:27 +00:00
pppoed use .Mt to mark up email addresses consistently (part2) 2014-06-20 09:57:27 +00:00
rbootd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
revnetgroup use .Mt to mark up email addresses consistently (part2) 2014-06-20 09:57:27 +00:00
rlogind Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
rpc.rquotad
rpc.rstatd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
rpc.rusersd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
rpc.rwalld Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
rpc.sprayd
rshd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
rtld-aout More -Wmissing-variable-declarations fixes. 2012-10-19 14:49:42 +00:00
rtld-elf Align the stack in _rtld_bind_start. Normally this is called with the 2014-07-06 10:24:06 +00:00
save-entropy
smrsh In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE. 2014-06-08 17:29:31 +00:00
talkd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
tcpd Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
telnetd In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE. 2014-06-08 17:29:31 +00:00
tests Build and install the atf tests. 2013-11-08 14:33:41 +00:00
tftp-proxy
tftpd Remove the 3rd clause ("advertising clause") of the BSD license as 2014-02-17 22:27:32 +00:00
ulog-helper NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
ypxfr use .Mt to mark up email addresses consistently (part2) 2014-06-20 09:57:27 +00:00
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.inc