Work around an ARM EABI issue where clang would sometimes incorrectly align
authorandrew <andrew@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 2 Jul 2013 08:04:41 +0000 (08:04 +0000)
committerandrew <andrew@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 2 Jul 2013 08:04:41 +0000 (08:04 +0000)
commit0855a1df102197e5a05c08687e540bf3d176edca
treebc50b49121cd1ec2ebe6f255813be8acbd554f75
parent965520d368109e6ce0b5b9f16c2e93d2776059c3
Work around an ARM EABI issue where clang would sometimes incorrectly align
the stack in a leaf function that uses TLS.

The issue is, when using TLS, the function is no longer a leaf as it calls
__aeabi_read_tp. With statically linked programs this is not an issue as
it doesn't make use of the stack, however with dynamically linked
applications we enter rtld which does use the stack and makes assumptions
about it's alignment.

This is only a temporary fix until a better patch can be made and submitted
upstream.

git-svn-id: svn://svn.freebsd.org/base/head@252503 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Target/ARM/ARMFrameLowering.h