aboutsummaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorBrandon Bergren <bdragon@FreeBSD.org>2019-11-24 06:43:03 +0000
committerBrandon Bergren <bdragon@FreeBSD.org>2019-11-24 06:43:03 +0000
commite58d37958778ef129e18bcb0757828ce1dc2d488 (patch)
treedfd0369b5635d18646a0492f81ee0190476a5102 /libexec
parente56d731b7d91f6b03987a2e52e410a046fb45a47 (diff)
downloadsrc-e58d37958778ef129e18bcb0757828ce1dc2d488.tar.gz
src-e58d37958778ef129e18bcb0757828ce1dc2d488.zip
[PowerPC] Fix stack padding issue on ppc32.
Four bytes of padding are needed in the regular powerpc case to bring the stack frame size up to a multiple of 16 bytes to meet ABI requirements. Fixes odd hangs I was encountering during testing.
Notes
Notes: svn path=/head/; revision=355047
Diffstat (limited to 'libexec')
-rw-r--r--libexec/rtld-elf/powerpc/rtld_start.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/libexec/rtld-elf/powerpc/rtld_start.S b/libexec/rtld-elf/powerpc/rtld_start.S
index bf1e258da6fc..36f795bc30fe 100644
--- a/libexec/rtld-elf/powerpc/rtld_start.S
+++ b/libexec/rtld-elf/powerpc/rtld_start.S
@@ -111,7 +111,7 @@ _ENTRY(.rtld_start)
/* stack space for 30 GPRs + lr/cr */
#define NREGS 30
#define GPRWIDTH 4
-#define FUDGE 0
+#define FUDGE 4
#endif
/* Stack frame needs the 12-byte ABI frame plus fudge factor. */
#define STACK_SIZE (NREGS * GPRWIDTH + 4 * 2 + 12 + FUDGE)