glibc/sysdeps
Tulio Magno Quites Machado Filho 4612268a0a 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>
2018-01-19 09:50:09 -02:00
..
aarch64 aarch64: fix static pie enabled libc when main is in a shared library 2018-01-12 18:10:03 +00:00
alpha alpha: Remove s_trunc{f} implementation (BZ#22666) 2018-01-04 17:49:17 -02:00
arm Update ARM libm-test-ulps. 2018-01-02 18:37:06 +00:00
generic generic if_ether.h: Fix build 2018-01-19 01:51:10 +01:00
gnu csu: Update __libgcc_s_init comment 2018-01-11 13:13:28 +01:00
hppa Fix backtrace for hppa (bug 22719). 2018-01-17 13:31:47 +00:00
i386 i386: Regenerate libm-test-ulps for for gcc 7 on i686 2018-01-06 22:11:40 +01:00
ia64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ieee754 Fix ldbl-128ibm log1pl (-qNaN) spurious "invalid" exception (bug 22693). 2018-01-10 17:59:01 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
m68k Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mach hurd: Implement faccessat without AT_EACCESS flag 2018-01-10 02:03:28 +01:00
microblaze Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mips Update MIPS libm-test-ulps. 2018-01-02 21:55:15 +00:00
nios2 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
nptl nptl: Open libgcc.so with RTLD_NOW during pthread_cancel [BZ #22636] 2018-01-10 13:18:04 +01:00
posix hurd: Fix pwritev* 2018-01-07 13:31:36 +01:00
powerpc powerpc: Fix syscalls during early process initialization [BZ #22685] 2018-01-19 09:50:09 -02:00
pthread Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
s390 Fix s390 linknamespace fallout of bug 22702 patch. 2018-01-12 00:12:57 +00:00
sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sparc Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tile Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unix powerpc: Fix syscalls during early process initialization [BZ #22685] 2018-01-19 09:50:09 -02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
x86 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
x86_64 x86-64: Properly align La_x86_64_retval to VEC_SIZE [BZ #22715] 2018-01-17 04:32:04 -08:00