This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/22685] PowerPC: Static AT_SECURE binaries segfault with lock-elision and tunables
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 19 Jan 2018 13:10:00 +0000
- Subject: [Bug libc/22685] PowerPC: Static AT_SECURE binaries segfault with lock-elision and tunables
- Auto-submitted: auto-generated
- References: <bug-22685-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22685
--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269 (commit)
from 64f63cb4583ecc1ba16c7253aacc192b6d088511 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4612268a0ad8e3409d8ce2314dd2dd8ee0af5269
commit 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date: Fri Jan 12 18:50:33 2018 -0200
powerpc: Fix syscalls during early process initialization [BZ #22685]
The tunables framework needs to execute syscall early in process
initialization, before the TCB is available for consumption. This
behavior conflicts with powerpc{|64|64le}'s lock elision code, that
checks the TCB before trying to abort transactions immediately before
executing a syscall.
This patch adds a powerpc-specific implementation of __access_noerrno
that does not abort transactions before the executing syscall.
Tested on powerpc{|64|64le}.
[BZ #22685]
* sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed
from ABORT_TRANSACTION.
(ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL.
* sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION,
ABORT_TRANSACTION_IMPL): Likewise.
* sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file. Reuse
Linux code, but remove the code that aborts transactions.
Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 11 +++++++++
sysdeps/powerpc/powerpc32/sysdep.h | 5 ++-
sysdeps/powerpc/powerpc64/sysdep.h | 5 ++-
.../unix/sysv/linux/powerpc/not-errno.h | 23 +++++++++++--------
4 files changed, 30 insertions(+), 14 deletions(-)
copy support/xsigaction.c => sysdeps/unix/sysv/linux/powerpc/not-errno.h (60%)
--
You are receiving this mail because:
You are on the CC list for the bug.