This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/22926] [2.27, regression] ../sysdeps/unix/syscall-template.S:78: Error: unrecognized opcode: `tabort.' on powerpcspe
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 08 Mar 2018 17:12:56 +0000
- Subject: [Bug libc/22926] [2.27, regression] ../sysdeps/unix/syscall-template.S:78: Error: unrecognized opcode: `tabort.' on powerpcspe
- Auto-submitted: auto-generated
- References: <bug-22926-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22926
--- Comment #3 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, release/2.27/master has been updated
via e51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add (commit)
from b4108a361f05ee87122b86aa7d799e4512013588 (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=e51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add
commit e51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Mon Mar 5 14:46:24 2018 -0300
powerpc: Fix TLE build for SPE (BZ #22926)
Some SPE opcodes clashes with some recent PowerISA opcodes and
until recently gas did not complain about it. However binutils
recently changed it and now VLE configured gas does not support to
assembler some instruction that might class with VLE (HTM for
instance). It also does not help that glibc build hardware lock
elision support as default (regardless of assembler support).
Although runtime will not actually enables TLE on SPE hardware
(since kernel will not advertise it), I see little advantage on
adding HTM support on SPE built glibc. SPE uses an incompatible
ABI which does not allow share the same build with default
powerpc and HTM code slows down SPE without any benefict.
This patch fixes it by only building HTM when SPE configuration
is not used.
Checked with a powerpc-linux-gnuspe build. I also did some sniff
tests on a e500 hardware without any issue.
[BZ #22926]
* sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
empty for __SPE__.
* sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise.
* sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision):
Do not build hardware transactional code for __SPE__.
* sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
(__lll_trylock_elision): Likewise.
* sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
(__lll_unlock_elision): Likewise.
Cherry-pick from e921c89e01389161c036ec09112da6e18aeaa688.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 13 +++++++++++++
sysdeps/powerpc/powerpc32/sysdep.h | 2 +-
sysdeps/powerpc/sysdep.h | 2 +-
sysdeps/unix/sysv/linux/powerpc/elision-lock.c | 2 ++
sysdeps/unix/sysv/linux/powerpc/elision-trylock.c | 2 ++
sysdeps/unix/sysv/linux/powerpc/elision-unlock.c | 4 ++++
6 files changed, 23 insertions(+), 2 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.