mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-20 15:43:16 +00:00
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.
This commit is contained in:
parent
a82a370603
commit
b206d4e77f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=252503
@ -27,7 +27,7 @@ class ARMFrameLowering : public TargetFrameLowering {
|
||||
|
||||
public:
|
||||
explicit ARMFrameLowering(const ARMSubtarget &sti)
|
||||
: TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
|
||||
: TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 8),
|
||||
STI(sti) {
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user