summaryrefslogtreecommitdiffstats
path: root/lib/libc/powerpc64
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-12-11 17:57:42 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-12-11 17:57:42 +0000
commit42dfb2d2043139bd225f03c194e21de96015182c (patch)
tree9afb9dde765e2e1359c79675283a1faa7fab0ca7 /lib/libc/powerpc64
parent353bb2f73a1f30ee92d1ef6e93b26b86e7b28dce (diff)
downloadFreeBSD-src-42dfb2d2043139bd225f03c194e21de96015182c.zip
FreeBSD-src-42dfb2d2043139bd225f03c194e21de96015182c.tar.gz
Fix stack alignment (required to be to 16 bytes) instead of ptrace and
cerror on powerpc64.
Diffstat (limited to 'lib/libc/powerpc64')
-rw-r--r--lib/libc/powerpc64/sys/cerror.S2
-rw-r--r--lib/libc/powerpc64/sys/ptrace.S8
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/libc/powerpc64/sys/cerror.S b/lib/libc/powerpc64/sys/cerror.S
index f8bcc38..9afb0f4 100644
--- a/lib/libc/powerpc64/sys/cerror.S
+++ b/lib/libc/powerpc64/sys/cerror.S
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
ENTRY(HIDENAME(cerror))
mflr %r0
std %r0,16(%r1) /* save lr */
- stdu %r1,-56(%r1) /* allocate new stack frame */
+ stdu %r1,-64(%r1) /* allocate new stack frame */
std %r31,48(%r1)
mr %r31,%r3 /* stash errval in callee-saved register */
diff --git a/lib/libc/powerpc64/sys/ptrace.S b/lib/libc/powerpc64/sys/ptrace.S
index f420e63..3ec4915 100644
--- a/lib/libc/powerpc64/sys/ptrace.S
+++ b/lib/libc/powerpc64/sys/ptrace.S
@@ -32,8 +32,8 @@ __FBSDID("$FreeBSD$");
ENTRY(ptrace)
mflr %r0
- stdu %r1,-68(%r1)
- std %r0,84(%r1)
+ std %r0,16(%r1)
+ stdu %r1,-80(%r1)
stw %r3,48(%r1)
stw %r4,52(%r1)
std %r5,56(%r1)
@@ -47,10 +47,10 @@ ENTRY(ptrace)
lwz %r3,48(%r1)
lwz %r4,52(%r1)
ld %r5,56(%r1)
- ld %r0,84(%r1)
lwz %r6,64(%r1)
- mtlr %r0
ld %r1,0(%r1)
+ ld %r0,16(%r1)
+ mtlr %r0
li %r0,SYS_ptrace
sc
bso 1f
OpenPOWER on IntegriCloud