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).