From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1968) id C8E9F389367A; Mon, 4 May 2020 20:29:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8E9F389367A Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Paul E. Murphy To: glibc-cvs@sourceware.org Subject: [glibc] powerpc64le/power9: guard power9 strcmp against rtld usage [BZ# 25905] X-Act-Checkin: glibc X-Git-Author: Paul E. Murphy X-Git-Refname: refs/heads/master X-Git-Oldrev: a49e56a945972186a829ca3ad7dec7fb9c923488 X-Git-Newrev: 4a4db1de2f0fd936b583698dcc1b1c12a71828c8 Message-Id: <20200504202904.C8E9F389367A@sourceware.org> Date: Mon, 4 May 2020 20:29:04 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 May 2020 20:29:04 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4a4db1de2f0fd936b583698dcc1b1c12a71828c8 commit 4a4db1de2f0fd936b583698dcc1b1c12a71828c8 Author: Paul E. Murphy 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 Diff: --- sysdeps/powerpc/powerpc64/le/power9/rtld-strcmp.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sysdeps/powerpc/powerpc64/le/power9/rtld-strcmp.S b/sysdeps/powerpc/powerpc64/le/power9/rtld-strcmp.S new file mode 100644 index 0000000000..afdb492b3d --- /dev/null +++ b/sysdeps/powerpc/powerpc64/le/power9/rtld-strcmp.S @@ -0,0 +1,2 @@ +/* Fallback to P8 which does not use vector regs for rtld. */ +#include