Dirk Mueller
f6c5a01beb
- Add Power8 optimizations: * zlib-1.2.12-add-optimized-slide_hash-for-power.patch * zlib-1.2.12-add-vectorized-longest_match-for-power.patch * zlib-1.2.12-adler32-vector-optimizations-for-power.patch * zlib-1.2.12-fix-invalid-memory-access-on-ppc-and-ppc64.patch - Update zlib-1.2.12-IBM-Z-hw-accelerated-deflate-s390x.patch OBS-URL: https://build.opensuse.org/request/show/1009574 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/zlib?expand=0&rev=82
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From 11b722e4ae91b611f605221587ec8e0829c27949 Mon Sep 17 00:00:00 2001
|
|
From: Matheus Castanho <msc@linux.ibm.com>
|
|
Date: Tue, 23 Jun 2020 10:26:19 -0300
|
|
Subject: [PATCH] Fix invalid memory access on ppc and ppc64
|
|
|
|
---
|
|
contrib/power/adler32_power8.c | 9 ++++-----
|
|
1 file changed, 4 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/contrib/power/adler32_power8.c b/contrib/power/adler32_power8.c
|
|
index 473c39457..fdd086453 100644
|
|
--- a/contrib/power/adler32_power8.c
|
|
+++ b/contrib/power/adler32_power8.c
|
|
@@ -110,16 +110,15 @@ uLong ZLIB_INTERNAL _adler32_power8 (uLong adler, const Bytef* buf, uInt len)
|
|
6, 5, 4, 3, 2, 1};
|
|
const vector unsigned char vsh = vec_splat_u8(4);
|
|
const vector unsigned int vmask = {0xffffffff, 0x0, 0x0, 0x0};
|
|
- vector unsigned int vs1 = vec_xl(0, &s1);
|
|
- vector unsigned int vs2 = vec_xl(0, &s2);
|
|
+ vector unsigned int vs1 = { 0 };
|
|
+ vector unsigned int vs2 = { 0 };
|
|
vector unsigned int vs1_save = { 0 };
|
|
vector unsigned int vsum1, vsum2;
|
|
vector unsigned char vbuf;
|
|
int n;
|
|
|
|
- /* Zeros the undefined values of vectors vs1, vs2. */
|
|
- vs1 = vec_and(vs1, vmask);
|
|
- vs2 = vec_and(vs2, vmask);
|
|
+ vs1[0] = s1;
|
|
+ vs2[0] = s2;
|
|
|
|
/* Do length bigger than NMAX in blocks of NMAX size. */
|
|
while (len >= NMAX) {
|