Date: Tue, 28 Dec 2010 22:31:59 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/libexec/rtld-elf/powerpc64 rtld_start.S Message-ID: <201012282232.oBSMWGPC080730@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
nwhitehorn 2010-12-28 22:31:59 UTC
FreeBSD src repository
Modified files:
libexec/rtld-elf/powerpc64 rtld_start.S
Log:
SVN rev 216780 on 2010-12-28 22:31:59Z by nwhitehorn
Fix an error in the ABI in rtld_bind_start(). When passing arguments to a
C function, the caller's stack frame must have room to store all of the
arguments to that function. While here, fix stack frame alignment issues.
Without this change, the compiler will save r3 and r4 into the caller's
stack frame before calling setjmp() in _rtld_bind(). These would then
overwrite arguments to the newly-bound function, causing eventual failures.
Revision Changes Path
1.2 +43 -43 src/libexec/rtld-elf/powerpc64/rtld_start.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012282232.oBSMWGPC080730>
