public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
@ 2020-05-01 19:40 murphyp at linux dot vnet.ibm.com
2020-05-01 19:41 ` [Bug dynamic-link/25905] " murphyp at linux dot vnet.ibm.com
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-01 19:40 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
Bug ID: 25905
Summary: VSX registers are corrupted during PLT resolution when
glibc is built with --disable-multi-arch and
--with-cpu=power9
Product: glibc
Version: 2.31
Status: NEW
Severity: normal
Priority: P2
Component: dynamic-link
Assignee: unassigned at sourceware dot org
Reporter: murphyp at linux dot vnet.ibm.com
Target Milestone: ---
With the current tip of glibc, math/test-float64x-compat_totalordermag fails
the first test when glibc is built without multi-arch and with power9 baseline.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
@ 2020-05-01 19:41 ` murphyp at linux dot vnet.ibm.com
2020-05-01 19:43 ` murphyp at linux dot vnet.ibm.com
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-01 19:41 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
Paul E. Murphy <murphyp at linux dot vnet.ibm.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at sourceware dot org |murphyp at linux dot vnet.ibm.com
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
2020-05-01 19:41 ` [Bug dynamic-link/25905] " murphyp at linux dot vnet.ibm.com
@ 2020-05-01 19:43 ` murphyp at linux dot vnet.ibm.com
2020-05-05 19:34 ` tuliom at ascii dot art.br
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-01 19:43 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
--- Comment #1 from Paul E. Murphy <murphyp at linux dot vnet.ibm.com> ---
glibc configured as such is using the ppc64le/power9 strcmp which uses vector
registers while resolving a function call (totalordermagf64x@GLIBC_2.27) which
passes arguments in vector regs.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
2020-05-01 19:41 ` [Bug dynamic-link/25905] " murphyp at linux dot vnet.ibm.com
2020-05-01 19:43 ` murphyp at linux dot vnet.ibm.com
@ 2020-05-05 19:34 ` tuliom at ascii dot art.br
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: tuliom at ascii dot art.br @ 2020-05-05 19:34 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
Tulio Magno Quites Machado Filho <tuliom at ascii dot art.br> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tuliom at ascii dot art.br
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
` (2 preceding siblings ...)
2020-05-05 19:34 ` tuliom at ascii dot art.br
@ 2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
2020-05-12 19:24 ` tuliom at ascii dot art.br
5 siblings, 0 replies; 7+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-06 22:20 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
--- Comment #2 from Paul E. Murphy <murphyp at linux dot vnet.ibm.com> ---
The culprit turns out to be the vector optimized power9 strcmp which is
clobbering volatile vector regs. A patch has been submitted to workaround this
4a4db1de2f0fd936b583698dcc1b1c12a71828c8 in glibc 2.32.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
` (3 preceding siblings ...)
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
@ 2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
2020-05-12 19:24 ` tuliom at ascii dot art.br
5 siblings, 0 replies; 7+ messages in thread
From: murphyp at linux dot vnet.ibm.com @ 2020-05-06 22:20 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
Paul E. Murphy <murphyp at linux dot vnet.ibm.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |2.32
--- Comment #3 from Paul E. Murphy <murphyp at linux dot vnet.ibm.com> ---
The culprit turns out to be the vector optimized power9 strcmp which is
clobbering volatile vector regs. A patch has been submitted to workaround this
4a4db1de2f0fd936b583698dcc1b1c12a71828c8 in glibc 2.32.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug dynamic-link/25905] VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
` (4 preceding siblings ...)
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
@ 2020-05-12 19:24 ` tuliom at ascii dot art.br
5 siblings, 0 replies; 7+ messages in thread
From: tuliom at ascii dot art.br @ 2020-05-12 19:24 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=25905
Tulio Magno Quites Machado Filho <tuliom at ascii dot art.br> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #4 from Tulio Magno Quites Machado Filho <tuliom at ascii dot art.br> ---
As mentioned in the previous comment, this issue has been fixed with:
commit 4a4db1de2f0fd936b583698dcc1b1c12a71828c8
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date: Fri May 1 14:30:42 2020 -0500
powerpc64le/power9: guard power9 strcmp against rtld usage [BZ# 25905]
strcmp is used while resolving PLT references. Vector registers
should not be used during this. The P9 strcmp makes heavy use of
vector registers, so it should be avoided in rtld.
This prevents quiet vector register corruption when glibc is configured
with --disable-multi-arch and --with-cpu=power9. This can be seen with
test-float64x-compat_totalordermag during the first call into
totalordermagf64x@GLIBC_2.27.
Add a guard to fallback to the power8 implementation when building
power9 strcmp for libraries other than libc.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-05-12 19:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01 19:40 [Bug dynamic-link/25905] New: VSX registers are corrupted during PLT resolution when glibc is built with --disable-multi-arch and --with-cpu=power9 murphyp at linux dot vnet.ibm.com
2020-05-01 19:41 ` [Bug dynamic-link/25905] " murphyp at linux dot vnet.ibm.com
2020-05-01 19:43 ` murphyp at linux dot vnet.ibm.com
2020-05-05 19:34 ` tuliom at ascii dot art.br
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
2020-05-06 22:20 ` murphyp at linux dot vnet.ibm.com
2020-05-12 19:24 ` tuliom at ascii dot art.br
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).