RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/zlib#4838139649437159df1a95cf2b73d6358bc7770d
This commit is contained in:
parent
61068a44f9
commit
606fa411e8
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
||||
/zlib-1.2.11.tar.xz
|
170
0001-Neon-Optimized-hash-chain-rebase.patch
Normal file
170
0001-Neon-Optimized-hash-chain-rebase.patch
Normal file
@ -0,0 +1,170 @@
|
||||
From f0fd8c553fa024c599f4aff65d7c603ceeaa6a58 Mon Sep 17 00:00:00 2001
|
||||
From: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
|
||||
Date: Mon, 9 Apr 2018 13:52:17 -0700
|
||||
Subject: [PATCH 1/3] Neon-Optimized hash chain rebase
|
||||
|
||||
This should help with compression of data, using NEON instructions
|
||||
(therefore useful for ARMv7/ARMv8).
|
||||
|
||||
Original patch by Jun He.
|
||||
---
|
||||
CMakeLists.txt | 18 ++++++++
|
||||
contrib/arm/neon_slide_hash.h | 84 +++++++++++++++++++++++++++++++++++
|
||||
deflate.c | 7 +++
|
||||
3 files changed, 109 insertions(+)
|
||||
create mode 100644 contrib/arm/neon_slide_hash.h
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0fe939d..e9a74e9 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -136,6 +136,24 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
||||
set(ZLIB_ASMS contrib/amd64/amd64-match.S)
|
||||
endif ()
|
||||
|
||||
+ if(ARM_NEON)
|
||||
+ list(REMOVE_ITEM ZLIB_SRCS inflate.c)
|
||||
+ set(ZLIB_ARM_NEON_HDRS
|
||||
+ contrib/arm/chunkcopy.h
|
||||
+ contrib/arm/inffast_chunk.h
|
||||
+ contrib/arm/neon_slide_hash.h)
|
||||
+ set(ZLIB_ARM_NEON contrib/arm/inflate.c contrib/arm/inffast_chunk.c)
|
||||
+ add_definitions(-DARM_NEON)
|
||||
+ set(COMPILER ${CMAKE_C_COMPILER})
|
||||
+ # NEON is mandatory in ARMv8.
|
||||
+ if(${COMPILER} MATCHES "aarch64")
|
||||
+ set_source_files_properties(${ZLIB_ARM_NEON} PROPERTIES LANGUAGE C COMPILE_FLAGS -march=armv8-a)
|
||||
+ # But it was optional for ARMv7.
|
||||
+ elseif(${COMPILER} MATCHES "arm")
|
||||
+ set_source_files_properties(${ZLIB_ARM_NEON} PROPERTIES LANGUAGE C COMPILE_FLAGS -mfpu=neon)
|
||||
+ endif()
|
||||
+ endif()
|
||||
+
|
||||
if(ZLIB_ASMS)
|
||||
add_definitions(-DASMV)
|
||||
set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
|
||||
diff --git a/contrib/arm/neon_slide_hash.h b/contrib/arm/neon_slide_hash.h
|
||||
new file mode 100644
|
||||
index 0000000..0daffa1
|
||||
--- /dev/null
|
||||
+++ b/contrib/arm/neon_slide_hash.h
|
||||
@@ -0,0 +1,84 @@
|
||||
+/* Copyright (C) 1995-2011, 2016 Mark Adler
|
||||
+ * Copyright (C) 2017 ARM Holdings Inc.
|
||||
+ * Authors: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
|
||||
+ * Jun He <jun.he@arm.com>
|
||||
+ * This software is provided 'as-is', without any express or implied
|
||||
+ * warranty. In no event will the authors be held liable for any damages
|
||||
+ * arising from the use of this software.
|
||||
+ * Permission is granted to anyone to use this software for any purpose,
|
||||
+ * including commercial applications, and to alter it and redistribute it
|
||||
+ * freely, subject to the following restrictions:
|
||||
+ * 1. The origin of this software must not be misrepresented; you must not
|
||||
+ * claim that you wrote the original software. If you use this software
|
||||
+ * in a product, an acknowledgment in the product documentation would be
|
||||
+ * appreciated but is not required.
|
||||
+ * 2. Altered source versions must be plainly marked as such, and must not be
|
||||
+ * misrepresented as being the original software.
|
||||
+ * 3. This notice may not be removed or altered from any source distribution.
|
||||
+ */
|
||||
+#ifndef __NEON_SLIDE_HASH__
|
||||
+#define __NEON_SLIDE_HASH__
|
||||
+
|
||||
+#if (defined(__ARM_NEON__) || defined(__ARM_NEON))
|
||||
+#include "deflate.h"
|
||||
+#include <arm_neon.h>
|
||||
+
|
||||
+inline static void neon_slide_hash(deflate_state *s)
|
||||
+{
|
||||
+ /*
|
||||
+ * This is ASIMD implementation for hash table rebase
|
||||
+ * it assumes:
|
||||
+ * 1. hash chain offset (Pos) is 2 bytes
|
||||
+ * 2. hash table size is multiple*128 bytes
|
||||
+ * #1 should be true as Pos is defined as "ush"
|
||||
+ * #2 should be true as hash_bits are greater that 7
|
||||
+ */
|
||||
+ unsigned n, m;
|
||||
+ unsigned short wsize = s->w_size;
|
||||
+ uint16x8_t v, *p;
|
||||
+ size_t size;
|
||||
+
|
||||
+ size = s->hash_size*sizeof(s->head[0]);
|
||||
+ Assert((size % sizeof(uint16x8_t) * 8 == 0), "hash table size err");
|
||||
+
|
||||
+ Assert(sizeof(Pos) == 2, "Wrong Pos size");
|
||||
+
|
||||
+ /* slide s->head */
|
||||
+ v = vdupq_n_u16(wsize);
|
||||
+ p = (uint16x8_t *)(s->head);
|
||||
+ n = size / (sizeof(uint16x8_t) * 8);
|
||||
+ do {
|
||||
+ p[0] = vqsubq_u16(p[0], v);
|
||||
+ p[1] = vqsubq_u16(p[1], v);
|
||||
+ p[2] = vqsubq_u16(p[2], v);
|
||||
+ p[3] = vqsubq_u16(p[3], v);
|
||||
+ p[4] = vqsubq_u16(p[4], v);
|
||||
+ p[5] = vqsubq_u16(p[5], v);
|
||||
+ p[6] = vqsubq_u16(p[6], v);
|
||||
+ p[7] = vqsubq_u16(p[7], v);
|
||||
+ p += 8;
|
||||
+ } while (--n);
|
||||
+#ifndef FASTEST
|
||||
+ /* slide s->prev */
|
||||
+ size = wsize*sizeof(s->prev[0]);
|
||||
+
|
||||
+ Assert((size % sizeof(uint16x8_t) * 8 == 0), "hash table size err");
|
||||
+
|
||||
+ p = (uint16x8_t *)(s->prev);
|
||||
+ n = size / (sizeof(uint16x8_t) * 8);
|
||||
+ do {
|
||||
+ p[0] = vqsubq_u16(p[0], v);
|
||||
+ p[1] = vqsubq_u16(p[1], v);
|
||||
+ p[2] = vqsubq_u16(p[2], v);
|
||||
+ p[3] = vqsubq_u16(p[3], v);
|
||||
+ p[4] = vqsubq_u16(p[4], v);
|
||||
+ p[5] = vqsubq_u16(p[5], v);
|
||||
+ p[6] = vqsubq_u16(p[6], v);
|
||||
+ p[7] = vqsubq_u16(p[7], v);
|
||||
+ p += 8;
|
||||
+ } while (--n);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+#endif
|
||||
diff --git a/deflate.c b/deflate.c
|
||||
index 1ec7614..36f99ac 100644
|
||||
--- a/deflate.c
|
||||
+++ b/deflate.c
|
||||
@@ -50,6 +50,9 @@
|
||||
/* @(#) $Id$ */
|
||||
|
||||
#include "deflate.h"
|
||||
+#if __ARM_NEON
|
||||
+#include "contrib/arm/neon_slide_hash.h"
|
||||
+#endif
|
||||
|
||||
const char deflate_copyright[] =
|
||||
" deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler ";
|
||||
@@ -201,6 +204,9 @@ local const config configuration_table[10] = {
|
||||
local void slide_hash(s)
|
||||
deflate_state *s;
|
||||
{
|
||||
+#if ARM_NEON
|
||||
+ return neon_slide_hash(s);
|
||||
+#else
|
||||
unsigned n, m;
|
||||
Posf *p;
|
||||
uInt wsize = s->w_size;
|
||||
@@ -222,6 +228,7 @@ local void slide_hash(s)
|
||||
*/
|
||||
} while (--n);
|
||||
#endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
||||
--
|
||||
2.19.0
|
||||
|
218
0002-Porting-optimized-longest_match.patch
Normal file
218
0002-Porting-optimized-longest_match.patch
Normal file
@ -0,0 +1,218 @@
|
||||
From 17a154db6774a4acf347cfc5189eaf2cd675e696 Mon Sep 17 00:00:00 2001
|
||||
From: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
|
||||
Date: Mon, 9 Apr 2018 15:14:19 -0700
|
||||
Subject: [PATCH 2/3] Porting optimized longest_match
|
||||
|
||||
This patch was contributed to zlib-ng and features an improved longest_match
|
||||
function using the most distant hash code to reduce number of checks
|
||||
(see: http://www.gildor.org/en/projects/zlib).
|
||||
|
||||
Original patch by Jun He.
|
||||
---
|
||||
CMakeLists.txt | 3 +-
|
||||
contrib/arm/arm_longest_match.h | 142 ++++++++++++++++++++++++++++++++
|
||||
deflate.c | 11 ++-
|
||||
3 files changed, 152 insertions(+), 4 deletions(-)
|
||||
create mode 100644 contrib/arm/arm_longest_match.h
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e9a74e9..3826eba 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -141,7 +141,8 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
||||
set(ZLIB_ARM_NEON_HDRS
|
||||
contrib/arm/chunkcopy.h
|
||||
contrib/arm/inffast_chunk.h
|
||||
- contrib/arm/neon_slide_hash.h)
|
||||
+ contrib/arm/neon_slide_hash.h
|
||||
+ contrib/arm/arm_longest_match.h)
|
||||
set(ZLIB_ARM_NEON contrib/arm/inflate.c contrib/arm/inffast_chunk.c)
|
||||
add_definitions(-DARM_NEON)
|
||||
set(COMPILER ${CMAKE_C_COMPILER})
|
||||
diff --git a/contrib/arm/arm_longest_match.h b/contrib/arm/arm_longest_match.h
|
||||
new file mode 100644
|
||||
index 0000000..9e7083f
|
||||
--- /dev/null
|
||||
+++ b/contrib/arm/arm_longest_match.h
|
||||
@@ -0,0 +1,142 @@
|
||||
+/* Copyright (C) 1995-2011, 2016 Mark Adler
|
||||
+ * Copyright (C) 2017 ARM Holdings Inc.
|
||||
+ * Authors: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
|
||||
+ * Jun He <jun.he@arm.com>
|
||||
+ * This software is provided 'as-is', without any express or implied
|
||||
+ * warranty. In no event will the authors be held liable for any damages
|
||||
+ * arising from the use of this software.
|
||||
+ * Permission is granted to anyone to use this software for any purpose,
|
||||
+ * including commercial applications, and to alter it and redistribute it
|
||||
+ * freely, subject to the following restrictions:
|
||||
+ * 1. The origin of this software must not be misrepresented; you must not
|
||||
+ * claim that you wrote the original software. If you use this software
|
||||
+ * in a product, an acknowledgment in the product documentation would be
|
||||
+ * appreciated but is not required.
|
||||
+ * 2. Altered source versions must be plainly marked as such, and must not be
|
||||
+ * misrepresented as being the original software.
|
||||
+ * 3. This notice may not be removed or altered from any source distribution.
|
||||
+ */
|
||||
+#ifndef __ARM_LONGEST__MATCH__
|
||||
+#define __ARM_LONGEST__MATCH__
|
||||
+
|
||||
+#if defined(ARM_NEON)
|
||||
+#include "deflate.h"
|
||||
+#include <stdint.h>
|
||||
+static inline long get_match_len(const unsigned char *a, const unsigned char *b, long max)
|
||||
+{
|
||||
+ register int len = 0;
|
||||
+ register unsigned long xor = 0;
|
||||
+ register int check_loops = max/sizeof(unsigned long);
|
||||
+ while(check_loops-- > 0) {
|
||||
+ xor = (*(unsigned long *)(a+len)) ^ (*(unsigned long *)(b+len));
|
||||
+ if (xor) break;
|
||||
+ len += sizeof(unsigned long);
|
||||
+ }
|
||||
+ if (0 == xor) {
|
||||
+ while (len < max) {
|
||||
+ if (a[len] != b[len]) break;
|
||||
+ len++;
|
||||
+ }
|
||||
+ return len;
|
||||
+ }
|
||||
+ xor = __builtin_ctzl(xor)>>3;
|
||||
+ return len + xor;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * This implementation is based on algorithm described at:
|
||||
+ * http://www.gildor.org/en/projects/zlib
|
||||
+ * It uses the hash chain indexed by the most distant hash code to
|
||||
+ * reduce number of checks.
|
||||
+ * This also eliminates the those unnecessary check loops in legacy
|
||||
+ * longest_match's do..while loop if the "most distant code" is out
|
||||
+ * of search buffer
|
||||
+ *
|
||||
+ */
|
||||
+static inline unsigned arm_longest_match(deflate_state *const s, IPos cur_match) {
|
||||
+ unsigned chain_length = s->max_chain_length;/* max hash chain length */
|
||||
+ unsigned char *scan = s->window + s->strstart; /* current string */
|
||||
+ unsigned char *match; /* matched string */
|
||||
+ unsigned int len; /* length of current match */
|
||||
+ unsigned int best_len = s->prev_length; /* best match length so far */
|
||||
+ unsigned int nice_match = s->nice_match; /* stop if match long enough */
|
||||
+ IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||
+ s->strstart - (IPos)MAX_DIST(s) : 0;
|
||||
+ /* Stop when cur_match becomes <= limit. To simplify the code,
|
||||
+ * we prevent matches with the string of window index 0.
|
||||
+ */
|
||||
+ int offset = 0; /* offset of the head[most_distant_hash] from IN cur_match */
|
||||
+ Pos *prev = s->prev;
|
||||
+ unsigned int wmask = s->w_mask;
|
||||
+ unsigned char *scan_buf_base = s->window;
|
||||
+
|
||||
+ /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
|
||||
+ * It is easy to get rid of this optimization if necessary.
|
||||
+ */
|
||||
+ Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
|
||||
+
|
||||
+ /* Do not look for matches beyond the end of the input. This is necessary
|
||||
+ * to make deflate deterministic.
|
||||
+ */
|
||||
+ if ((unsigned int)nice_match > s->lookahead) nice_match = s->lookahead;
|
||||
+
|
||||
+ Assert((unsigned long)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
|
||||
+
|
||||
+ /* find most distant hash code for lazy_match */
|
||||
+ if (best_len > MIN_MATCH) {
|
||||
+ /* search for most distant hash code */
|
||||
+ int i;
|
||||
+ uint16_t hash = 0;
|
||||
+ IPos pos;
|
||||
+
|
||||
+ UPDATE_HASH(s, hash, scan[1]);
|
||||
+ UPDATE_HASH(s, hash, scan[2]);
|
||||
+ for (i = 3; i <= best_len; i++) {
|
||||
+ UPDATE_HASH(s, hash, scan[i]);
|
||||
+ /* get head IPos of hash calced by scan[i-2..i] */
|
||||
+ pos = s->head[hash];
|
||||
+ /* compare it to current "farthest hash" IPos */
|
||||
+ if (pos <= cur_match) {
|
||||
+ /* we have a new "farthest hash" now */
|
||||
+ offset = i - 2;
|
||||
+ cur_match = pos;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* update variables to correspond offset */
|
||||
+ limit += offset;
|
||||
+ /*
|
||||
+ * check if the most distant code's offset is out of search buffer
|
||||
+ * if it is true, then this means scan[offset..offset+2] are not
|
||||
+ * presented in the search buffer. So we just return best_len
|
||||
+ * we've found.
|
||||
+ */
|
||||
+ if (cur_match < limit) return best_len;
|
||||
+
|
||||
+ scan_buf_base -= offset;
|
||||
+ /* reduce hash search depth based on best_len */
|
||||
+ chain_length /= best_len - MIN_MATCH;
|
||||
+ }
|
||||
+
|
||||
+ do {
|
||||
+ Assert(cur_match < s->strstart, "no future");
|
||||
+
|
||||
+ /* Determine matched length at current pos */
|
||||
+ match = scan_buf_base + cur_match;
|
||||
+ len = get_match_len(match, scan, MAX_MATCH);
|
||||
+
|
||||
+ if (len > best_len) {
|
||||
+ /* found longer string */
|
||||
+ s->match_start = cur_match - offset;
|
||||
+ best_len = len;
|
||||
+ /* good enough? */
|
||||
+ if (len >= nice_match) break;
|
||||
+ }
|
||||
+ /* move to prev pos in this hash chain */
|
||||
+ } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length != 0);
|
||||
+
|
||||
+ return (best_len <= s->lookahead)? best_len : s->lookahead;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+#endif
|
||||
diff --git a/deflate.c b/deflate.c
|
||||
index 36f99ac..4c42259 100644
|
||||
--- a/deflate.c
|
||||
+++ b/deflate.c
|
||||
@@ -50,9 +50,6 @@
|
||||
/* @(#) $Id$ */
|
||||
|
||||
#include "deflate.h"
|
||||
-#if __ARM_NEON
|
||||
-#include "contrib/arm/neon_slide_hash.h"
|
||||
-#endif
|
||||
|
||||
const char deflate_copyright[] =
|
||||
" deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler ";
|
||||
@@ -196,6 +193,11 @@ local const config configuration_table[10] = {
|
||||
s->head[s->hash_size-1] = NIL; \
|
||||
zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
|
||||
|
||||
+#if defined(ARM_NEON)
|
||||
+#include "contrib/arm/arm_longest_match.h"
|
||||
+#include "contrib/arm/neon_slide_hash.h"
|
||||
+#endif
|
||||
+
|
||||
/* ===========================================================================
|
||||
* Slide the hash table when sliding the window down (could be avoided with 32
|
||||
* bit values at the expense of memory usage). We slide even when level == 0 to
|
||||
@@ -1244,6 +1246,9 @@ local uInt longest_match(s, cur_match)
|
||||
deflate_state *s;
|
||||
IPos cur_match; /* current match */
|
||||
{
|
||||
+#if defined(ARM_NEON)
|
||||
+ return arm_longest_match(s, cur_match);
|
||||
+#endif
|
||||
unsigned chain_length = s->max_chain_length;/* max hash chain length */
|
||||
register Bytef *scan = s->window + s->strstart; /* current string */
|
||||
register Bytef *match; /* matched string */
|
||||
--
|
||||
2.19.0
|
||||
|
115
0003-arm64-specific-build-patch.patch
Normal file
115
0003-arm64-specific-build-patch.patch
Normal file
@ -0,0 +1,115 @@
|
||||
From e0be75f8dce27a4e32196529df2a08dca791a286 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Linton <jeremy.linton@arm.com>
|
||||
Date: Fri, 6 Apr 2018 11:46:42 -0500
|
||||
Subject: [PATCH 3/3] arm64 specific build patch
|
||||
|
||||
---
|
||||
Makefile.in | 19 ++++++++++++-------
|
||||
configure | 2 +-
|
||||
contrib/minizip/zip.c | 6 ++++--
|
||||
3 files changed, 17 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 5a77949..9f088e5 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -57,7 +57,7 @@ SRCDIR=
|
||||
ZINC=
|
||||
ZINCOUT=-I.
|
||||
|
||||
-OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
||||
+OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
||||
OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
|
||||
OBJC = $(OBJZ) $(OBJG)
|
||||
|
||||
@@ -163,16 +163,16 @@ crc32.o: $(SRCDIR)crc32.c
|
||||
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c
|
||||
|
||||
deflate.o: $(SRCDIR)deflate.c
|
||||
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c
|
||||
+ $(CC) $(CFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -c -o $@ $(SRCDIR)deflate.c
|
||||
|
||||
infback.o: $(SRCDIR)infback.c
|
||||
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)infback.c
|
||||
|
||||
inffast.o: $(SRCDIR)inffast.c
|
||||
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inffast.c
|
||||
+ $(CC) $(CFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -c -o $@ $(SRCDIR)inffast.c
|
||||
|
||||
inflate.o: $(SRCDIR)inflate.c
|
||||
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inflate.c
|
||||
+ $(CC) $(CFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -c -o $@ $(SRCDIR)inflate.c
|
||||
|
||||
inftrees.o: $(SRCDIR)inftrees.c
|
||||
$(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inftrees.c
|
||||
@@ -214,7 +214,7 @@ crc32.lo: $(SRCDIR)crc32.c
|
||||
|
||||
deflate.lo: $(SRCDIR)deflate.c
|
||||
-@mkdir objs 2>/dev/null || test -d objs
|
||||
- $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
|
||||
+ $(CC) $(SFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
|
||||
-@mv objs/deflate.o $@
|
||||
|
||||
infback.lo: $(SRCDIR)infback.c
|
||||
@@ -222,14 +222,19 @@ infback.lo: $(SRCDIR)infback.c
|
||||
$(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/infback.o $(SRCDIR)infback.c
|
||||
-@mv objs/infback.o $@
|
||||
|
||||
+arminffast.lo: $(SRCDIR)contrib/arm/inffast_chunk.c $(SRCDIR)inffast.c
|
||||
+ -@mkdir objs 2>/dev/null || test -d objs
|
||||
+ $(CC) $(SFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -DPIC -c -o objs/arminffast.o $(SRCDIR)contrib/arm/inffast_chunk.c
|
||||
+ -@mv objs/arminffast.o $@
|
||||
+
|
||||
inffast.lo: $(SRCDIR)inffast.c
|
||||
-@mkdir objs 2>/dev/null || test -d objs
|
||||
- $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/inffast.o $(SRCDIR)inffast.c
|
||||
+ $(CC) $(SFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -DPIC -c -o objs/inffast.o $(SRCDIR)inffast.c
|
||||
-@mv objs/inffast.o $@
|
||||
|
||||
inflate.lo: $(SRCDIR)inflate.c
|
||||
-@mkdir objs 2>/dev/null || test -d objs
|
||||
- $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/inflate.o $(SRCDIR)inflate.c
|
||||
+ $(CC) $(SFLAGS) $(ZINC) -I$(SRCDIR) -I$(SRCDIR)contrib/arm -DPIC -c -o objs/inflate.o $(SRCDIR)inflate.c
|
||||
-@mv objs/inflate.o $@
|
||||
|
||||
inftrees.lo: $(SRCDIR)inftrees.c
|
||||
diff --git a/configure b/configure
|
||||
index e974d1f..0c5f837 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -23,7 +23,7 @@ SRCDIR=`dirname $0`
|
||||
if test $SRCDIR = "."; then
|
||||
ZINC=""
|
||||
ZINCOUT="-I."
|
||||
- SRCDIR=""
|
||||
+ SRCDIR="./"
|
||||
else
|
||||
ZINC='-include zconf.h'
|
||||
ZINCOUT='-I. -I$(SRCDIR)'
|
||||
diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c
|
||||
index 44e88a9..0517930 100644
|
||||
--- a/contrib/minizip/zip.c
|
||||
+++ b/contrib/minizip/zip.c
|
||||
@@ -519,15 +519,17 @@ local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_f
|
||||
break;
|
||||
|
||||
for (i=(int)uReadSize-3; (i--)>0;)
|
||||
+ {
|
||||
if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
|
||||
((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
|
||||
{
|
||||
uPosFound = uReadPos+i;
|
||||
break;
|
||||
}
|
||||
+ }
|
||||
|
||||
- if (uPosFound!=0)
|
||||
- break;
|
||||
+ if (uPosFound!=0)
|
||||
+ break;
|
||||
}
|
||||
TRYFREE(buf);
|
||||
return uPosFound;
|
||||
--
|
||||
2.19.0
|
||||
|
13
STAGE1-zlib
Normal file
13
STAGE1-zlib
Normal file
@ -0,0 +1,13 @@
|
||||
srpm zlib
|
||||
mcd $BUILDDIR/t-zlib
|
||||
rsync -av $SRC/zlib-*/ ./
|
||||
if [ "$SUFFIX" = "64" ]
|
||||
then
|
||||
ARGS="--libdir=/usr/lib64"
|
||||
fi
|
||||
CHOST=${TARGET} \
|
||||
prefix=/usr \
|
||||
./configure $ARGS
|
||||
make
|
||||
make $J install DESTDIR=${ROOTFS}
|
||||
fix_la zlib
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (zlib-1.2.11.tar.xz) = b7f50ada138c7f93eb7eb1631efccd1d9f03a5e77b6c13c8b757017b2d462e19d2d3e01c50fad60a4ae1bc86d431f6f94c72c11ff410c25121e571953017cb67
|
1709
zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch
Normal file
1709
zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch
Normal file
File diff suppressed because it is too large
Load Diff
365
zlib-1.2.11-firefox-crash-fix.patch
Normal file
365
zlib-1.2.11-firefox-crash-fix.patch
Normal file
@ -0,0 +1,365 @@
|
||||
From 27a84de4a30cd35f8565937397f6d1205b912818 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Dubaj <odubaj@redhat.com>
|
||||
Date: Thu, 5 Sep 2019 09:16:35 +0200
|
||||
Subject: [PATCH 1/2] fix: power8 crc32 - return 0 with 0 ptr passed
|
||||
|
||||
---
|
||||
contrib/power8-crc/vec_crc32.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/contrib/power8-crc/vec_crc32.c b/contrib/power8-crc/vec_crc32.c
|
||||
index bb2204b..5ce9cd2 100644
|
||||
--- a/contrib/power8-crc/vec_crc32.c
|
||||
+++ b/contrib/power8-crc/vec_crc32.c
|
||||
@@ -74,6 +74,7 @@ unsigned int CRC32_FUNCTION(unsigned int crc, const unsigned char *p,
|
||||
unsigned int prealign;
|
||||
unsigned int tail;
|
||||
|
||||
+ if (p == (const unsigned char *) 0x0) return 0;
|
||||
#ifdef CRC_XOR
|
||||
crc ^= 0xffffffff;
|
||||
#endif
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From c066ac92982a2ffe5b1e9bd36000058927437bd5 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Dubaj <odubaj@redhat.com>
|
||||
Date: Thu, 5 Sep 2019 09:36:47 +0200
|
||||
Subject: [PATCH 2/2] Add CRC32 tests (crc32_test)
|
||||
|
||||
This commit includes a CRC32 test (crc32_test). This tests are important
|
||||
since some architectures may want include CPU dependent optimizations for
|
||||
CRC32 algorithm like using vector instructions and we may want to
|
||||
validate those.
|
||||
---
|
||||
Makefile.in | 35 +++++---
|
||||
test/crc32_test.c | 205 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 230 insertions(+), 10 deletions(-)
|
||||
create mode 100644 test/crc32_test.c
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 40b5cfb..6070dcc 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -75,11 +75,11 @@ PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
|
||||
|
||||
all: static shared
|
||||
|
||||
-static: example$(EXE) minigzip$(EXE)
|
||||
+static: crc32_test$(EXE) example$(EXE) minigzip$(EXE)
|
||||
|
||||
-shared: examplesh$(EXE) minigzipsh$(EXE)
|
||||
+shared: crc32_testsh$(EXE) examplesh$(EXE) minigzipsh$(EXE)
|
||||
|
||||
-all64: example64$(EXE) minigzip64$(EXE)
|
||||
+all64: crc32_test64$(EXE) example64$(EXE) minigzip64$(EXE)
|
||||
|
||||
check: test
|
||||
|
||||
@@ -87,7 +87,7 @@ test: all teststatic testshared
|
||||
|
||||
teststatic: static
|
||||
@TMPST=tmpst_$$; \
|
||||
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
|
||||
+ if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST && ./crc32_test; then \
|
||||
echo ' *** zlib test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib test FAILED ***'; false; \
|
||||
@@ -100,7 +100,7 @@ testshared: shared
|
||||
DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
||||
SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
||||
TMPSH=tmpsh_$$; \
|
||||
- if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
|
||||
+ if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH && ./crc32_testsh; then \
|
||||
echo ' *** zlib shared test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib shared test FAILED ***'; false; \
|
||||
@@ -109,7 +109,7 @@ testshared: shared
|
||||
|
||||
test64: all64
|
||||
@TMP64=tmp64_$$; \
|
||||
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
|
||||
+ if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64 && ./crc32_test64; then \
|
||||
echo ' *** zlib 64-bit test OK ***'; \
|
||||
else \
|
||||
echo ' *** zlib 64-bit test FAILED ***'; false; \
|
||||
@@ -157,6 +157,12 @@ example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
|
||||
minigzip.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
|
||||
$(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/minigzip.c
|
||||
|
||||
+crc32_test.o: $(SRCDIR)test/crc32_test.c $(SRCDIR)zlib.h zconf.h
|
||||
+ $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/crc32_test.c
|
||||
+
|
||||
+crc32_test64.o: $(SRCDIR)test/crc32_test.c $(SRCDIR)zlib.h zconf.h
|
||||
+ $(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/crc32_test.c
|
||||
+
|
||||
example64.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
|
||||
$(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/example.c
|
||||
|
||||
@@ -307,12 +313,21 @@ example$(EXE): example.o $(STATICLIB)
|
||||
minigzip$(EXE): minigzip.o $(STATICLIB)
|
||||
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
|
||||
|
||||
+crc32_test$(EXE): crc32_test.o $(STATICLIB)
|
||||
+ $(CC) $(CFLAGS) -o $@ crc32_test.o $(TEST_LDFLAGS)
|
||||
+
|
||||
+crc32_testsh$(EXE): crc32_test.o $(SHAREDLIBV)
|
||||
+ $(CC) $(CFLAGS) -o $@ crc32_test.o -L. $(SHAREDLIBV)
|
||||
+
|
||||
examplesh$(EXE): example.o $(SHAREDLIBV)
|
||||
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
|
||||
|
||||
minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
|
||||
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
|
||||
|
||||
+crc32_test64$(EXE): crc32_test64.o $(STATICLIB)
|
||||
+ $(CC) $(CFLAGS) -o $@ crc32_test64.o $(TEST_LDFLAGS)
|
||||
+
|
||||
example64$(EXE): example64.o $(STATICLIB)
|
||||
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
|
||||
|
||||
@@ -382,8 +397,8 @@ zconf: $(SRCDIR)zconf.h.in
|
||||
mostlyclean: clean
|
||||
clean:
|
||||
rm -f *.o *.lo *~ \
|
||||
- example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
|
||||
- example64$(EXE) minigzip64$(EXE) \
|
||||
+ crc32_test$(EXE) example$(EXE) minigzip$(EXE) crc32_testsh$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
|
||||
+ crc32_test64$(EXE) example64$(EXE) minigzip64$(EXE) \
|
||||
infcover \
|
||||
libz.* foo.gz so_locations \
|
||||
_match.s maketree contrib/infback9/*.o
|
||||
@@ -407,7 +422,7 @@ tags:
|
||||
|
||||
adler32.o zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||
gzclose.o gzlib.o gzread.o gzwrite.o: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
|
||||
-compress.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h
|
||||
+compress.o crc32_test.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h
|
||||
crc32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
|
||||
deflate.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||
infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
|
||||
@@ -417,7 +432,7 @@ trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)tr
|
||||
|
||||
adler32.lo zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||
gzclose.lo gzlib.lo gzread.lo gzwrite.lo: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
|
||||
-compress.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h
|
||||
+compress.lo crc32_test.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h
|
||||
crc32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
|
||||
deflate.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
|
||||
infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
|
||||
diff --git a/test/crc32_test.c b/test/crc32_test.c
|
||||
new file mode 100644
|
||||
index 0000000..5d73128
|
||||
--- /dev/null
|
||||
+++ b/test/crc32_test.c
|
||||
@@ -0,0 +1,205 @@
|
||||
+/* crc32_tes.c -- unit test for crc32 in the zlib compression library
|
||||
+ * Copyright (C) 1995-2006, 2010, 2011, 2016, 2019 Rogerio Alves
|
||||
+ * For conditions of distribution and use, see copyright notice in zlib.h
|
||||
+ */
|
||||
+
|
||||
+#include "zlib.h"
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#ifdef STDC
|
||||
+# include <string.h>
|
||||
+# include <stdlib.h>
|
||||
+#endif
|
||||
+
|
||||
+void test_crc32 OF((uLong crc, Byte* buf, z_size_t len, uLong chk, int line));
|
||||
+int main OF((void));
|
||||
+
|
||||
+typedef struct {
|
||||
+ int line;
|
||||
+ uLong crc;
|
||||
+ Byte* buf;
|
||||
+ int len;
|
||||
+ uLong expect;
|
||||
+} crc32_test;
|
||||
+
|
||||
+void test_crc32(crc, buf, len, chk, line)
|
||||
+ uLong crc;
|
||||
+ Byte *buf;
|
||||
+ z_size_t len;
|
||||
+ uLong chk;
|
||||
+ int line;
|
||||
+{
|
||||
+ uLong res = crc32(crc, buf, len);
|
||||
+ if (res != chk) {
|
||||
+ fprintf(stderr, "FAIL [%d]: crc32 returned 0x%08X expected 0x%08X\n",
|
||||
+ line, (unsigned int)res, (unsigned int)chk);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static const crc32_test tests[] = {
|
||||
+ {__LINE__, 0x0, 0x0, 0, 0x0},
|
||||
+ {__LINE__, 0xffffffff, 0x0, 0, 0x0},
|
||||
+ {__LINE__, 0x0, 0x0, 255, 0x0}, /* BZ 174799. */
|
||||
+ {__LINE__, 0x0, 0x0, 256, 0x0},
|
||||
+ {__LINE__, 0x0, 0x0, 257, 0x0},
|
||||
+ {__LINE__, 0x0, 0x0, 32767, 0x0},
|
||||
+ {__LINE__, 0x0, 0x0, 32768, 0x0},
|
||||
+ {__LINE__, 0x0, 0x0, 32769, 0x0},
|
||||
+ {__LINE__, 0x0, "", 0, 0x0},
|
||||
+ {__LINE__, 0xffffffff, "", 0, 0xffffffff},
|
||||
+ {__LINE__, 0x0, "abacus", 6, 0xc3d7115b},
|
||||
+ {__LINE__, 0x0, "backlog", 7, 0x269205},
|
||||
+ {__LINE__, 0x0, "campfire", 8, 0x22a515f8},
|
||||
+ {__LINE__, 0x0, "delta", 5, 0x9643fed9},
|
||||
+ {__LINE__, 0x0, "executable", 10, 0xd68eda01},
|
||||
+ {__LINE__, 0x0, "file", 4, 0x8c9f3610},
|
||||
+ {__LINE__, 0x0, "greatest", 8, 0xc1abd6cd},
|
||||
+ {__LINE__, 0x0, "hello", 5, 0x3610a686},
|
||||
+ {__LINE__, 0x0, "inverter", 8, 0xc9e962c9},
|
||||
+ {__LINE__, 0x0, "jigsaw", 6, 0xce4e3f69},
|
||||
+ {__LINE__, 0x0, "karate", 6, 0x890be0e2},
|
||||
+ {__LINE__, 0x0, "landscape", 9, 0xc4e0330b},
|
||||
+ {__LINE__, 0x0, "machine", 7, 0x1505df84},
|
||||
+ {__LINE__, 0x0, "nanometer", 9, 0xd4e19f39},
|
||||
+ {__LINE__, 0x0, "oblivion", 8, 0xdae9de77},
|
||||
+ {__LINE__, 0x0, "panama", 6, 0x66b8979c},
|
||||
+ {__LINE__, 0x0, "quest", 5, 0x4317f817},
|
||||
+ {__LINE__, 0x0, "resource", 8, 0xbc91f416},
|
||||
+ {__LINE__, 0x0, "secret", 6, 0x5ca2e8e5},
|
||||
+ {__LINE__, 0x0, "test", 4, 0xd87f7e0c},
|
||||
+ {__LINE__, 0x0, "ultimate", 8, 0x3fc79b0b},
|
||||
+ {__LINE__, 0x0, "vector", 6, 0x1b6e485b},
|
||||
+ {__LINE__, 0x0, "walrus", 6, 0xbe769b97},
|
||||
+ {__LINE__, 0x0, "xeno", 4, 0xe7a06444},
|
||||
+ {__LINE__, 0x0, "yelling", 7, 0xfe3944e5},
|
||||
+ {__LINE__, 0x0, "zlib", 4, 0x73887d3a},
|
||||
+ {__LINE__, 0x0, "4BJD7PocN1VqX0jXVpWB", 20, 0xd487a5a1},
|
||||
+ {__LINE__, 0x0, "F1rPWI7XvDs6nAIRx41l", 20, 0x61a0132e},
|
||||
+ {__LINE__, 0x0, "ldhKlsVkPFOveXgkGtC2", 20, 0xdf02f76},
|
||||
+ {__LINE__, 0x0, "5KKnGOOrs8BvJ35iKTOS", 20, 0x579b2b0a},
|
||||
+ {__LINE__, 0x0, "0l1tw7GOcem06Ddu7yn4", 20, 0xf7d16e2d},
|
||||
+ {__LINE__, 0x0, "MCr47CjPIn9R1IvE1Tm5", 20, 0x731788f5},
|
||||
+ {__LINE__, 0x0, "UcixbzPKTIv0SvILHVdO", 20, 0x7112bb11},
|
||||
+ {__LINE__, 0x0, "dGnAyAhRQDsWw0ESou24", 20, 0xf32a0dac},
|
||||
+ {__LINE__, 0x0, "di0nvmY9UYMYDh0r45XT", 20, 0x625437bb},
|
||||
+ {__LINE__, 0x0, "2XKDwHfAhFsV0RhbqtvH", 20, 0x896930f9},
|
||||
+ {__LINE__, 0x0, "ZhrANFIiIvRnqClIVyeD", 20, 0x8579a37},
|
||||
+ {__LINE__, 0x0, "v7Q9ehzioTOVeDIZioT1", 20, 0x632aa8e0},
|
||||
+ {__LINE__, 0x0, "Yod5hEeKcYqyhfXbhxj2", 20, 0xc829af29},
|
||||
+ {__LINE__, 0x0, "GehSWY2ay4uUKhehXYb0", 20, 0x1b08b7e8},
|
||||
+ {__LINE__, 0x0, "kwytJmq6UqpflV8Y8GoE", 20, 0x4e33b192},
|
||||
+ {__LINE__, 0x0, "70684206568419061514", 20, 0x59a179f0},
|
||||
+ {__LINE__, 0x0, "42015093765128581010", 20, 0xcd1013d7},
|
||||
+ {__LINE__, 0x0, "88214814356148806939", 20, 0xab927546},
|
||||
+ {__LINE__, 0x0, "43472694284527343838", 20, 0x11f3b20c},
|
||||
+ {__LINE__, 0x0, "49769333513942933689", 20, 0xd562d4ca},
|
||||
+ {__LINE__, 0x0, "54979784887993251199", 20, 0x233395f7},
|
||||
+ {__LINE__, 0x0, "58360544869206793220", 20, 0x2d167fd5},
|
||||
+ {__LINE__, 0x0, "27347953487840714234", 20, 0x8b5108ba},
|
||||
+ {__LINE__, 0x0, "07650690295365319082", 20, 0xc46b3cd8},
|
||||
+ {__LINE__, 0x0, "42655507906821911703", 20, 0xc10b2662},
|
||||
+ {__LINE__, 0x0, "29977409200786225655", 20, 0xc9a0f9d2},
|
||||
+ {__LINE__, 0x0, "85181542907229116674", 20, 0x9341357b},
|
||||
+ {__LINE__, 0x0, "87963594337989416799", 20, 0xf0424937},
|
||||
+ {__LINE__, 0x0, "21395988329504168551", 20, 0xd7c4c31f},
|
||||
+ {__LINE__, 0x0, "51991013580943379423", 20, 0xf11edcc4},
|
||||
+ {__LINE__, 0x0, "*]+@!);({_$;}[_},?{?;(_?,=-][@", 30, 0x40795df4},
|
||||
+ {__LINE__, 0x0, "_@:_).&(#.[:[{[:)$++-($_;@[)}+", 30, 0xdd61a631},
|
||||
+ {__LINE__, 0x0, "&[!,[$_==}+.]@!;*(+},[;:)$;)-@", 30, 0xca907a99},
|
||||
+ {__LINE__, 0x0, "]{.[.+?+[[=;[?}_#&;[=)__$$:+=_", 30, 0xf652deac},
|
||||
+ {__LINE__, 0x0, "-%.)=/[@].:.(:,()$;=%@-$?]{%+%", 30, 0xaf39a5a9},
|
||||
+ {__LINE__, 0x0, "+]#$(@&.=:,*];/.!]%/{:){:@(;)$", 30, 0x6bebb4cf},
|
||||
+ {__LINE__, 0x0, ")-._.:?[&:.=+}(*$/=!.${;(=$@!}", 30, 0x76430bac},
|
||||
+ {__LINE__, 0x0, ":(_*&%/[[}+,?#$&*+#[([*-/#;%(]", 30, 0x6c80c388},
|
||||
+ {__LINE__, 0x0, "{[#-;:$/{)(+[}#]/{&!%(@)%:@-$:", 30, 0xd54d977d},
|
||||
+ {__LINE__, 0x0, "_{$*,}(&,@.)):=!/%(&(,,-?$}}}!", 30, 0xe3966ad5},
|
||||
+ {__LINE__, 0x0, "e$98KNzqaV)Y:2X?]77].{gKRD4G5{mHZk,Z)SpU%L3FSgv!Wb8MLAFdi{+fp)c,@8m6v)yXg@]HBDFk?.4&}g5_udE*JHCiH=aL", 100, 0xe7c71db9},
|
||||
+ {__LINE__, 0x0, "r*Fd}ef+5RJQ;+W=4jTR9)R*p!B;]Ed7tkrLi;88U7g@3v!5pk2X6D)vt,.@N8c]@yyEcKi[vwUu@.Ppm@C6%Mv*3Nw}Y,58_aH)", 100, 0xeaa52777},
|
||||
+ {__LINE__, 0x0, "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 100, 0xcd472048},
|
||||
+ {__LINE__, 0x7a30360d, "abacus", 6, 0xf8655a84},
|
||||
+ {__LINE__, 0x6fd767ee, "backlog", 7, 0x1ed834b1},
|
||||
+ {__LINE__, 0xefeb7589, "campfire", 8, 0x686cfca},
|
||||
+ {__LINE__, 0x61cf7e6b, "delta", 5, 0x1554e4b1},
|
||||
+ {__LINE__, 0xdc712e2, "executable", 10, 0x761b4254},
|
||||
+ {__LINE__, 0xad23c7fd, "file", 4, 0x7abdd09b},
|
||||
+ {__LINE__, 0x85cb2317, "greatest", 8, 0x4ba91c6b},
|
||||
+ {__LINE__, 0x9eed31b0, "inverter", 8, 0xd5e78ba5},
|
||||
+ {__LINE__, 0xb94f34ca, "jigsaw", 6, 0x23649109},
|
||||
+ {__LINE__, 0xab058a2, "karate", 6, 0xc5591f41},
|
||||
+ {__LINE__, 0x5bff2b7a, "landscape", 9, 0xf10eb644},
|
||||
+ {__LINE__, 0x605c9a5f, "machine", 7, 0xbaa0a636},
|
||||
+ {__LINE__, 0x51bdeea5, "nanometer", 9, 0x6af89afb},
|
||||
+ {__LINE__, 0x85c21c79, "oblivion", 8, 0xecae222b},
|
||||
+ {__LINE__, 0x97216f56, "panama", 6, 0x47dffac4},
|
||||
+ {__LINE__, 0x18444af2, "quest", 5, 0x70c2fe36},
|
||||
+ {__LINE__, 0xbe6ce359, "resource", 8, 0x1471d925},
|
||||
+ {__LINE__, 0x843071f1, "secret", 6, 0x50c9a0db},
|
||||
+ {__LINE__, 0xf2480c60, "ultimate", 8, 0xf973daf8},
|
||||
+ {__LINE__, 0x2d2feb3d, "vector", 6, 0x344ac03d},
|
||||
+ {__LINE__, 0x7490310a, "walrus", 6, 0x6d1408ef},
|
||||
+ {__LINE__, 0x97d247d4, "xeno", 4, 0xe62670b5},
|
||||
+ {__LINE__, 0x93cf7599, "yelling", 7, 0x1b36da38},
|
||||
+ {__LINE__, 0x73c84278, "zlib", 4, 0x6432d127},
|
||||
+ {__LINE__, 0x228a87d1, "4BJD7PocN1VqX0jXVpWB", 20, 0x997107d0},
|
||||
+ {__LINE__, 0xa7a048d0, "F1rPWI7XvDs6nAIRx41l", 20, 0xdc567274},
|
||||
+ {__LINE__, 0x1f0ded40, "ldhKlsVkPFOveXgkGtC2", 20, 0xdcc63870},
|
||||
+ {__LINE__, 0xa804a62f, "5KKnGOOrs8BvJ35iKTOS", 20, 0x6926cffd},
|
||||
+ {__LINE__, 0x508fae6a, "0l1tw7GOcem06Ddu7yn4", 20, 0xb52b38bc},
|
||||
+ {__LINE__, 0xe5adaf4f, "MCr47CjPIn9R1IvE1Tm5", 20, 0xf83b8178},
|
||||
+ {__LINE__, 0x67136a40, "UcixbzPKTIv0SvILHVdO", 20, 0xc5213070},
|
||||
+ {__LINE__, 0xb00c4a10, "dGnAyAhRQDsWw0ESou24", 20, 0xbc7648b0},
|
||||
+ {__LINE__, 0x2e0c84b5, "di0nvmY9UYMYDh0r45XT", 20, 0xd8123a72},
|
||||
+ {__LINE__, 0x81238d44, "2XKDwHfAhFsV0RhbqtvH", 20, 0xd5ac5620},
|
||||
+ {__LINE__, 0xf853aa92, "ZhrANFIiIvRnqClIVyeD", 20, 0xceae099d},
|
||||
+ {__LINE__, 0x5a692325, "v7Q9ehzioTOVeDIZioT1", 20, 0xb07d2b24},
|
||||
+ {__LINE__, 0x3275b9f, "Yod5hEeKcYqyhfXbhxj2", 20, 0x24ce91df},
|
||||
+ {__LINE__, 0x38371feb, "GehSWY2ay4uUKhehXYb0", 20, 0x707b3b30},
|
||||
+ {__LINE__, 0xafc8bf62, "kwytJmq6UqpflV8Y8GoE", 20, 0x16abc6a9},
|
||||
+ {__LINE__, 0x9b07db73, "70684206568419061514", 20, 0xae1fb7b7},
|
||||
+ {__LINE__, 0xe75b214, "42015093765128581010", 20, 0xd4eecd2d},
|
||||
+ {__LINE__, 0x72d0fe6f, "88214814356148806939", 20, 0x4660ec7},
|
||||
+ {__LINE__, 0xf857a4b1, "43472694284527343838", 20, 0xfd8afdf7},
|
||||
+ {__LINE__, 0x54b8e14, "49769333513942933689", 20, 0xc6d1b5f2},
|
||||
+ {__LINE__, 0xd6aa5616, "54979784887993251199", 20, 0x32476461},
|
||||
+ {__LINE__, 0x11e63098, "58360544869206793220", 20, 0xd917cf1a},
|
||||
+ {__LINE__, 0xbe92385, "27347953487840714234", 20, 0x4ad14a12},
|
||||
+ {__LINE__, 0x49511de0, "07650690295365319082", 20, 0xe37b5c6c},
|
||||
+ {__LINE__, 0x3db13bc1, "42655507906821911703", 20, 0x7cc497f1},
|
||||
+ {__LINE__, 0xbb899bea, "29977409200786225655", 20, 0x99781bb2},
|
||||
+ {__LINE__, 0xf6cd9436, "85181542907229116674", 20, 0x132256a1},
|
||||
+ {__LINE__, 0x9109e6c3, "87963594337989416799", 20, 0xbfdb2c83},
|
||||
+ {__LINE__, 0x75770fc, "21395988329504168551", 20, 0x8d9d1e81},
|
||||
+ {__LINE__, 0x69b1d19b, "51991013580943379423", 20, 0x7b6d4404},
|
||||
+ {__LINE__, 0xc6132975, "*]+@!);({_$;}[_},?{?;(_?,=-][@", 30, 0x8619f010},
|
||||
+ {__LINE__, 0xd58cb00c, "_@:_).&(#.[:[{[:)$++-($_;@[)}+", 30, 0x15746ac3},
|
||||
+ {__LINE__, 0xb63b8caa, "&[!,[$_==}+.]@!;*(+},[;:)$;)-@", 30, 0xaccf812f},
|
||||
+ {__LINE__, 0x8a45a2b8, "]{.[.+?+[[=;[?}_#&;[=)__$$:+=_", 30, 0x78af45de},
|
||||
+ {__LINE__, 0xcbe95b78, "-%.)=/[@].:.(:,()$;=%@-$?]{%+%", 30, 0x25b06b59},
|
||||
+ {__LINE__, 0x4ef8a54b, "+]#$(@&.=:,*];/.!]%/{:){:@(;)$", 30, 0x4ba0d08f},
|
||||
+ {__LINE__, 0x76ad267a, ")-._.:?[&:.=+}(*$/=!.${;(=$@!}", 30, 0xe26b6aac},
|
||||
+ {__LINE__, 0x569e613c, ":(_*&%/[[}+,?#$&*+#[([*-/#;%(]", 30, 0x7e2b0a66},
|
||||
+ {__LINE__, 0x36aa61da, "{[#-;:$/{)(+[}#]/{&!%(@)%:@-$:", 30, 0xb3430dc7},
|
||||
+ {__LINE__, 0xf67222df, "_{$*,}(&,@.)):=!/%(&(,,-?$}}}!", 30, 0x626c17a},
|
||||
+ {__LINE__, 0x74b34fd3, "e$98KNzqaV)Y:2X?]77].{gKRD4G5{mHZk,Z)SpU%L3FSgv!Wb8MLAFdi{+fp)c,@8m6v)yXg@]HBDFk?.4&}g5_udE*JHCiH=aL", 100, 0xccf98060},
|
||||
+ {__LINE__, 0x351fd770, "r*Fd}ef+5RJQ;+W=4jTR9)R*p!B;]Ed7tkrLi;88U7g@3v!5pk2X6D)vt,.@N8c]@yyEcKi[vwUu@.Ppm@C6%Mv*3Nw}Y,58_aH)", 100, 0xd8b95312},
|
||||
+ {__LINE__, 0xc45aef77, "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 100, 0xbb1c9912},
|
||||
+ {__LINE__, 0xc45aef77, "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&"
|
||||
+ "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&"
|
||||
+ "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&"
|
||||
+ "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&"
|
||||
+ "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&"
|
||||
+ "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 600, 0x888AFA5B}
|
||||
+};
|
||||
+
|
||||
+static const int test_size = sizeof(tests) / sizeof(tests[0]);
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ int i;
|
||||
+ for (i = 0; i < test_size; i++) {
|
||||
+ test_crc32(tests[i].crc, tests[i].buf, tests[i].len,
|
||||
+ tests[i].expect, tests[i].line);
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.19.1
|
||||
|
2258
zlib-1.2.11-optimized-CRC32-framework.patch
Normal file
2258
zlib-1.2.11-optimized-CRC32-framework.patch
Normal file
File diff suppressed because it is too large
Load Diff
41
zlib-1.2.11-optimized-s390.patch
Normal file
41
zlib-1.2.11-optimized-s390.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff --git a/deflate.c b/deflate.c
|
||||
index 1ec7614..b724c8d 100644
|
||||
--- a/deflate.c
|
||||
+++ b/deflate.c
|
||||
@@ -1233,15 +1233,16 @@ local void lm_init (s)
|
||||
/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
|
||||
* match.S. The code will be functionally equivalent.
|
||||
*/
|
||||
-local uInt longest_match(s, cur_match)
|
||||
+local uInt longest_match(s, pcur_match)
|
||||
deflate_state *s;
|
||||
- IPos cur_match; /* current match */
|
||||
+ IPos pcur_match; /* current match */
|
||||
{
|
||||
+ ptrdiff_t cur_match = pcur_match; /* extend to pointer width */
|
||||
unsigned chain_length = s->max_chain_length;/* max hash chain length */
|
||||
register Bytef *scan = s->window + s->strstart; /* current string */
|
||||
register Bytef *match; /* matched string */
|
||||
register int len; /* length of current match */
|
||||
- int best_len = (int)s->prev_length; /* best match length so far */
|
||||
+ ptrdiff_t best_len = s->prev_length; /* best match length so far */
|
||||
int nice_match = s->nice_match; /* stop if match long enough */
|
||||
IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||
s->strstart - (IPos)MAX_DIST(s) : NIL;
|
||||
@@ -1256,12 +1257,12 @@ local uInt longest_match(s, cur_match)
|
||||
* Try with and without -DUNALIGNED_OK to check.
|
||||
*/
|
||||
register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
|
||||
- register ush scan_start = *(ushf*)scan;
|
||||
- register ush scan_end = *(ushf*)(scan+best_len-1);
|
||||
+ register uInt scan_start = *(ushf*)scan;
|
||||
+ register uInt scan_end = *(ushf*)(scan+best_len-1);
|
||||
#else
|
||||
register Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
||||
- register Byte scan_end1 = scan[best_len-1];
|
||||
- register Byte scan_end = scan[best_len];
|
||||
+ register uInt scan_end1 = scan[best_len-1];
|
||||
+ register uInt scan_end = scan[best_len];
|
||||
#endif
|
||||
|
||||
/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
|
14
zlib-1.2.5-minizip-fixuncrypt.patch
Normal file
14
zlib-1.2.5-minizip-fixuncrypt.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up zlib-1.2.5/contrib/minizip/unzip.c.fixuncrypt zlib-1.2.5/contrib/minizip/unzip.c
|
||||
--- zlib-1.2.5/contrib/minizip/unzip.c.fixuncrypt 2011-11-11 12:13:56.335867758 -0500
|
||||
+++ zlib-1.2.5/contrib/minizip/unzip.c 2011-11-11 12:14:01.747799372 -0500
|
||||
@@ -68,10 +68,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
-#ifndef NOUNCRYPT
|
||||
- #define NOUNCRYPT
|
||||
-#endif
|
||||
-
|
||||
#include "zlib.h"
|
||||
#include "unzip.h"
|
||||
|
589
zlib.spec
Normal file
589
zlib.spec
Normal file
@ -0,0 +1,589 @@
|
||||
%bcond_without minizip
|
||||
|
||||
Name: zlib
|
||||
Version: 1.2.11
|
||||
Release: 22%{?dist}
|
||||
Summary: The compression and decompression library
|
||||
# /contrib/dotzlib/ have Boost license
|
||||
License: zlib and Boost
|
||||
URL: http://www.zlib.net/
|
||||
|
||||
Source: http://www.zlib.net/zlib-%{version}.tar.xz
|
||||
# https://github.com/madler/zlib/pull/210
|
||||
Patch0: zlib-1.2.5-minizip-fixuncrypt.patch
|
||||
# resolves: #805113
|
||||
Patch1: zlib-1.2.11-optimized-s390.patch
|
||||
# general aarch64 optimizations
|
||||
Patch4: 0001-Neon-Optimized-hash-chain-rebase.patch
|
||||
Patch5: 0002-Porting-optimized-longest_match.patch
|
||||
Patch6: 0003-arm64-specific-build-patch.patch
|
||||
# IBM Z optimalizations
|
||||
Patch7: zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch
|
||||
# IBM CRC32 optimalization for POWER archs
|
||||
Patch8: zlib-1.2.11-optimized-CRC32-framework.patch
|
||||
# fixed firefox crash + added test case
|
||||
Patch9: zlib-1.2.11-firefox-crash-fix.patch
|
||||
|
||||
BuildRequires: automake, autoconf, libtool
|
||||
|
||||
%global __provides_exclude_from ^%{_libdir}/pkgconfig/minizip\\.pc$
|
||||
|
||||
%description
|
||||
Zlib is a general-purpose, patent-free, lossless data compression
|
||||
library which is used by many different programs.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Header files and libraries for Zlib development
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The zlib-devel package contains the header files and libraries needed
|
||||
to develop programs that use the zlib compression and decompression
|
||||
library.
|
||||
|
||||
|
||||
%package static
|
||||
Summary: Static libraries for Zlib development
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
The zlib-static package includes static libraries needed
|
||||
to develop programs that use the zlib compression and
|
||||
decompression library.
|
||||
|
||||
|
||||
%if %{with minizip}
|
||||
%package -n minizip-compat
|
||||
Summary: Library for manipulation with .zip archives
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n minizip-compat
|
||||
Minizip is a library for manipulation with files from .zip archives.
|
||||
|
||||
|
||||
%package -n minizip-compat-devel
|
||||
Summary: Development files for the minizip library
|
||||
Requires: minizip-compat%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Conflicts: minizip-devel
|
||||
|
||||
%description -n minizip-compat-devel
|
||||
This package contains the libraries and header files needed for
|
||||
developing applications which use minizip.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .fixuncrypt
|
||||
%ifarch s390 s390x
|
||||
%patch1 -p1 -b .optimized-deflate
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
%patch4 -p1 -b .optimize-aarch64
|
||||
%patch5 -p1 -b .optimize-aarch64
|
||||
%patch6 -p1 -b .optimize-aarch64
|
||||
%endif
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
|
||||
|
||||
iconv -f iso-8859-2 -t utf-8 < ChangeLog > ChangeLog.tmp
|
||||
mv ChangeLog.tmp ChangeLog
|
||||
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
%ifarch ppc64
|
||||
CFLAGS+=" -O3"
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
CFLAGS+=" -DARM_NEON -O3"
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
CFLAGS+=" -DDFLTCC"
|
||||
%endif
|
||||
|
||||
export MKFLAGS=""
|
||||
%ifarch s390 s390x
|
||||
MKFLAGS+="OBJA=dfltcc.o PIC_OBJA=dfltcc.lo"
|
||||
%endif
|
||||
|
||||
export LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now"
|
||||
# no-autotools, %%configure is not compatible
|
||||
./configure --libdir=%{_libdir} --includedir=%{_includedir} --prefix=%{_prefix}
|
||||
%make_build $MKFLAGS
|
||||
|
||||
%if %{with minizip}
|
||||
cd contrib/minizip
|
||||
autoreconf --install
|
||||
%configure --enable-static=no
|
||||
%make_build
|
||||
%endif
|
||||
|
||||
|
||||
%check
|
||||
make test
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
%if %{with minizip}
|
||||
%make_install -C contrib/minizip
|
||||
# https://github.com/madler/zlib/pull/229
|
||||
rm $RPM_BUILD_ROOT%_includedir/minizip/crypt.h
|
||||
%endif
|
||||
|
||||
find $RPM_BUILD_ROOT -name '*.la' -delete
|
||||
|
||||
|
||||
%files
|
||||
%license README
|
||||
%doc ChangeLog FAQ
|
||||
%{_libdir}/libz.so.*
|
||||
|
||||
|
||||
%files devel
|
||||
%doc doc/algorithm.txt test/example.c
|
||||
%{_libdir}/libz.so
|
||||
%{_libdir}/pkgconfig/zlib.pc
|
||||
%{_includedir}/zlib.h
|
||||
%{_includedir}/zconf.h
|
||||
%{_mandir}/man3/zlib.3*
|
||||
|
||||
|
||||
%files static
|
||||
%license README
|
||||
%{_libdir}/libz.a
|
||||
|
||||
|
||||
%if %{with minizip}
|
||||
%files -n minizip-compat
|
||||
%doc contrib/minizip/MiniZip64_info.txt contrib/minizip/MiniZip64_Changes.txt
|
||||
%{_libdir}/libminizip.so.*
|
||||
|
||||
|
||||
%files -n minizip-compat-devel
|
||||
%dir %{_includedir}/minizip
|
||||
%{_includedir}/minizip/*.h
|
||||
%{_libdir}/libminizip.so
|
||||
%{_libdir}/pkgconfig/minizip.pc
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Oct 29 2019 Ondrej Dubaj <odubaj@redhat.com> - 1.2.11-20
|
||||
- Added -DDFLTCC parameter to configure to enable
|
||||
- Z hardware-accelerated deflate for s390x architectures (#1659433)
|
||||
|
||||
* Thu Sep 05 2019 Ondrej Dubaj <odubaj@redhat.com> - 1.2.11-19
|
||||
- IBM CRC32 optimalization for POWER 8+ architectures re-add
|
||||
- fixed firefox crash duer to zlib (#1741266)
|
||||
- added test for crc32
|
||||
|
||||
* Thu Aug 15 2019 Ondrej Dubaj <odubaj@redhat.com> - 1.2.11-18
|
||||
- IBM CRC32 optimalization for POWER 8+ architectures revert
|
||||
|
||||
* Thu Aug 01 2019 Ondrej Dubaj <odubaj@redhat.com> - 1.2.11-17
|
||||
- IBM Z hardware-accelerated deflate for s390x architectures
|
||||
- IBM CRC32 optimalization for POWER 8+ architectures
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Oct 2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.11-14
|
||||
- Bump build
|
||||
|
||||
* Tue Sep 18 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.11-13
|
||||
- Revert aarch64 neon inflate optimisation
|
||||
|
||||
* Wed Aug 29 2018 Patrik Novotný <panovotn@redhat.com> - 1.2.11-12
|
||||
- Rename minizip and minizip-devel to minizip-compat and minizip-compat-devel respectively
|
||||
|
||||
* Thu Aug 23 2018 Patrik Novotný <panovotn@redhat.com> - 1.2.11-11
|
||||
- Provides minizip-compat and minizip-compat-devel
|
||||
|
||||
* Fri Aug 03 2018 Pavel Raiskup <praiskup@redhat.com> - 1.2.11-10
|
||||
- add %%bcond for minizip
|
||||
- use %%make_* macros
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Apr 30 2018 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.11-8
|
||||
- Optimisations for aarch64
|
||||
- Minor spec cleanups
|
||||
|
||||
* Thu Mar 15 2018 Pavel Raiskup <praiskup@redhat.com> - 1.2.11-7
|
||||
- don't install crypt.h (rhbz#1424609)
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.2.11-5
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.11-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Feb 09 2017 Pavel Raiskup <praiskup@redhat.com> - 1.2.11-2
|
||||
- fix s390(x) optimizing patch (FTBFS on s390(x))
|
||||
- simplify ppc64 hack with -O3
|
||||
|
||||
* Mon Jan 30 2017 Pavel Raiskup <praiskup@redhat.com> - 1.2.11-1
|
||||
- latest upstream release (rhbz#1409372)
|
||||
- cleanup rpmlint
|
||||
- revert fix for rhbz#985344
|
||||
- requires with %%_isa tag
|
||||
- drop zlib Z_BLOCK flush patch (rhbz#1417355)
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.8-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Aug 14 2015 Adam Jackson <ajax@redhat.com> 1.2.8-9
|
||||
- Link with -z now for full RELRO
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.8-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.8-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Wed Aug 6 2014 Tom Callaway <spot@fedoraproject.org> - 1.2.8-6
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.8-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed Feb 12 2014 jchaloup <jchaloup@redhat.com> - 1.2.8-4
|
||||
- resolves: #1064213
|
||||
recompiled with -O3 flag for ppc64 arch
|
||||
|
||||
* Sat Aug 10 2013 Kalev Lember <kalevlember@gmail.com> - 1.2.8-3
|
||||
- resolves: #985344
|
||||
add a patch to fix missing minizip include
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Fri Jun 7 2013 Peter Schiffer <pschiffe@redhat.com> - 1.2.8-1
|
||||
- resolves: #957680
|
||||
updated to 1.2.8
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.7-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Oct 4 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-9
|
||||
- updated patch optimizing deflate on s390(x) architectures
|
||||
|
||||
* Wed Aug 29 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-8
|
||||
- related: #832545
|
||||
reverted changes for this bug, static libraries shouldn't be compiled with
|
||||
-fPIC flag
|
||||
|
||||
* Mon Aug 27 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-7
|
||||
- resolves: #844791
|
||||
rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last flush was Z_BLOCK
|
||||
- done some minor .spec file cleanup
|
||||
|
||||
* Mon Aug 13 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-6
|
||||
- added patch from IBM which optimizes deflate on s390(x) architectures
|
||||
|
||||
* Thu Aug 02 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-5
|
||||
- resolves: #832545
|
||||
recompiled with -fPIC flag
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Jun 11 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-3
|
||||
- moved /lib* to /usr/lib*
|
||||
|
||||
* Mon Jun 11 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-2
|
||||
- recompiled with -Wl,-z,relro flags
|
||||
|
||||
* Thu May 10 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.7-1
|
||||
- resolves: #785726
|
||||
- resolves: #805874
|
||||
update to 1.2.7
|
||||
|
||||
* Tue Jan 10 2012 Peter Schiffer <pschiffe@redhat.com> - 1.2.5-6
|
||||
- resolves: #719139
|
||||
Zlib fails to read zip64 files on 64-bit system
|
||||
|
||||
* Fri Nov 11 2011 Tom Callaway <spot@fedoraproject.org> - 1.2.5-5
|
||||
- fix minizip to permit uncrypt when NOUNCRYPT is not defined
|
||||
|
||||
* Wed Apr 6 2011 Ivana Hutarova Varekova <varekova@redhat.com> - 1.2.5-4
|
||||
- Resolves: #678603
|
||||
zlib from minizip allowed NULL pointer parameter of function unzGetCurrentFileInfo
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Jun 16 2010 Ivana Hutarova Varekova <varekova@redhat.com> - 1.2.5-2
|
||||
- Resolves: #591317
|
||||
pdfedit fails to compile on i686 with zlib.h errors
|
||||
|
||||
* Thu Apr 22 2010 Ivana Hutarova Varekova <varekova@redhat.com> - 1.2.5-1
|
||||
- update to 1.2.5
|
||||
|
||||
* Mon Mar 29 2010 Ivana Hutarova Varekova <varekova@redhat.com> - 1.2.4-1
|
||||
- update to 1.2.4
|
||||
use the upstream make/configure files for zlib,
|
||||
change additional makefile/configure file to be used only to minizip
|
||||
add pkgconfig to zlib
|
||||
|
||||
* Mon Mar 8 2010 Ivana Hutarova Varekova <varekova@redhat.com> - 1.2.3-25
|
||||
- add Boost license
|
||||
|
||||
* Tue Aug 11 2009 Ville Skyttä <ville.skytta@iki.fi> - 1.2.3-24
|
||||
- Use bzipped upstream tarball.
|
||||
|
||||
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Mar 18 2009 Stepan Kasal <skasal@redhat.com> - 1.2.3-22
|
||||
- fix the libz.so symlink
|
||||
|
||||
* Tue Mar 17 2009 Stepan Kasal <skasal@redhat.com> - 1.2.3-21
|
||||
- consolidate the autoconfiscation patches into one and clean it up
|
||||
- consequently, clean up the %%build and %%install sections
|
||||
- zconf.h includes unistd.h again (#479133)
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Mon Dec 1 2008 Ivana Varekova <varekova@redhat.com> - 1.2.3-19
|
||||
- fix 473490 - unchecked malloc
|
||||
|
||||
* Wed Feb 13 2008 Ivana Varekova <varekova@redhat.com> - 1.2.3-18
|
||||
- change license tag (226671#c29)
|
||||
|
||||
* Mon Feb 11 2008 Ivana Varekova <varekova@redhat.com> - 1.2.3-17
|
||||
- spec file changes
|
||||
|
||||
* Fri Nov 23 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-16
|
||||
- remove minizip headers to minizip-devel
|
||||
- spec file cleanup
|
||||
- fix minizip.pc file
|
||||
|
||||
* Wed Nov 14 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-15
|
||||
- separate static subpackage
|
||||
|
||||
* Wed Aug 15 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-14
|
||||
- create minizip subpackage
|
||||
|
||||
* Mon May 21 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-13
|
||||
- remove .so,.a
|
||||
|
||||
* Mon May 21 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-12
|
||||
- Resolves #240277
|
||||
Move libz to /lib(64)
|
||||
|
||||
* Mon Apr 23 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-11
|
||||
- Resolves: 237295
|
||||
fix Summary tag
|
||||
|
||||
* Fri Mar 23 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-10
|
||||
- remove zlib .so.* packages to /lib
|
||||
|
||||
* Fri Mar 9 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-9
|
||||
- incorporate package review feedback
|
||||
|
||||
* Wed Feb 21 2007 Adam Tkac <atkac redhat com> - 1.2.3-8
|
||||
- fixed broken version of libz
|
||||
|
||||
* Tue Feb 20 2007 Adam Tkac <atkac redhat com> - 1.2.3-7
|
||||
- building is now automatized
|
||||
- specfile cleanup
|
||||
|
||||
* Tue Feb 20 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-6
|
||||
- remove the compilation part to build section
|
||||
some minor changes
|
||||
|
||||
* Mon Feb 19 2007 Ivana Varekova <varekova@redhat.com> - 1.2.3-5
|
||||
- incorporate package review feedback
|
||||
|
||||
* Mon Oct 23 2006 Ivana Varekova <varekova@redhat.com> - 1.2.3-4
|
||||
- fix #209424 - fix libz.a permissions
|
||||
|
||||
* Wed Jul 19 2006 Ivana Varekova <varekova@redhat.com> - 1.2.3-3
|
||||
- add cflags (#199379)
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.2.3-2
|
||||
- rebuild
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.2.3-1.2.1
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.2.3-1.2
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Wed Aug 24 2005 Florian La Roche <laroche@redhat.com>
|
||||
- update to 1.2.3
|
||||
|
||||
* Fri Jul 22 2005 Ivana Varekova <varekova@redhat.com> 1.2.2.2-5
|
||||
- fix bug 163038 - CAN-2005-1849 - zlib buffer overflow
|
||||
|
||||
* Thu Jul 7 2005 Ivana Varekova <varekova@redhat.com> 1.2.2.2-4
|
||||
- fix bug 162392 - CAN-2005-2096
|
||||
|
||||
* Wed Mar 30 2005 Ivana Varekova <varekova@redhat.com> 1.2.2.2-3
|
||||
- fix bug 122408 - zlib build process runs configure twice
|
||||
|
||||
* Fri Mar 4 2005 Jeff Johnson <jbj@redhat.com> 1.2.2.2-2
|
||||
- rebuild with gcc4.
|
||||
|
||||
* Sat Jan 1 2005 Jeff Johnson <jbj@jbj.org> 1.2.2.2-1
|
||||
- upgrade to 1.2.2.2.
|
||||
|
||||
* Fri Nov 12 2004 Jeff Johnson <jbj@jbj.org> 1.2.2.1-1
|
||||
- upgrade to 1.2.2.1.
|
||||
|
||||
* Sun Sep 12 2004 Jeff Johnson <jbj@redhat.com> 1.2.1.2-1
|
||||
- update to 1.2.1.2 to fix 2 DoS problems (#131385).
|
||||
|
||||
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Sun Jan 18 2004 Jeff Johnson <jbj@jbj.org> 1.2.1.1-1
|
||||
- upgrade to zlib-1.2.1.1.
|
||||
|
||||
* Sun Nov 30 2003 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||
- update to 1.2.1 release
|
||||
|
||||
* Mon Oct 13 2003 Jeff Johnson <jbj@jbj.org> 1.2.0.7-3
|
||||
- unrevert zlib.h include constants (#106291), rejected upstream.
|
||||
|
||||
* Wed Oct 8 2003 Jeff Johnson <jbj@jbj.org> 1.2.0.7-2
|
||||
- fix: gzeof not set when reading compressed file (#106424).
|
||||
- fix: revert zlib.h include constants for now (#106291).
|
||||
|
||||
* Tue Sep 23 2003 Jeff Johnson <jbj@redhat.com> 1.2.0.7-1
|
||||
- update to 1.2.0.7, penultimate 1.2.1 release candidate.
|
||||
|
||||
* Tue Jul 22 2003 Jeff Johnson <jbj@redhat.com> 1.2.0.3-0.1
|
||||
- update to release candidate.
|
||||
|
||||
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Mon May 19 2003 Jeff Johnson <jbj@redhat.com> 1.1.4-9
|
||||
- rebuild, revert from 1.2.0.1.
|
||||
|
||||
* Mon Feb 24 2003 Jeff Johnson <jbj@redhat.com> 1.1.4-8
|
||||
- fix gzprintf buffer overrun (#84961).
|
||||
|
||||
* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 1.1.4-7
|
||||
- rebuilt
|
||||
|
||||
* Thu Nov 21 2002 Elliot Lee <sopwith@redhat.com> 1.1.4-6
|
||||
- Make ./configure use $CC to ease cross-compilation
|
||||
|
||||
* Tue Nov 12 2002 Jeff Johnson <jbj@redhat.com> 1.1.4-5
|
||||
- rebuild from cvs.
|
||||
|
||||
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Thu May 23 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Fri Apr 26 2002 Jakub Jelinek <jakub@redhat.com> 1.1.4-2
|
||||
- remove glibc patch, it is no longer needed (zlib uses gcc -shared
|
||||
as it should)
|
||||
- run tests and only build the package if they succeed
|
||||
|
||||
* Thu Apr 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 1.1.4-1
|
||||
- 1.1.4
|
||||
|
||||
* Wed Jan 30 2002 Trond Eivind Glomsrød <teg@redhat.com> 1.1.3-25.7
|
||||
- Fix double free
|
||||
|
||||
* Sun Aug 26 2001 Trond Eivind Glomsrød <teg@redhat.com> 1.1.3-24
|
||||
- Add example.c and minigzip.c to the doc files, as
|
||||
they are listed as examples in the README (#52574)
|
||||
|
||||
* Mon Jun 18 2001 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- Updated URL
|
||||
- Add version dependency for zlib-devel
|
||||
- s/Copyright/License/
|
||||
|
||||
* Wed Feb 14 2001 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- bumped version number - this is the old version without the performance enhancements
|
||||
|
||||
* Fri Sep 15 2000 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||
- add -fPIC for shared libs (patch by Fritz Elfert)
|
||||
|
||||
* Thu Sep 7 2000 Jeff Johnson <jbj@redhat.com>
|
||||
- on 64bit systems, make sure libraries are located correctly.
|
||||
|
||||
* Thu Aug 17 2000 Jeff Johnson <jbj@redhat.com>
|
||||
- summaries from specspo.
|
||||
|
||||
* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
|
||||
- automatic rebuild
|
||||
|
||||
* Sun Jul 02 2000 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- rebuild
|
||||
|
||||
* Tue Jun 13 2000 Jeff Johnson <jbj@redhat.com>
|
||||
- FHS packaging to build on solaris2.5.1.
|
||||
|
||||
* Wed Jun 07 2000 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- use %%{_mandir} and %%{_tmppath}
|
||||
|
||||
* Fri May 12 2000 Trond Eivind Glomsrød <teg@redhat.com>
|
||||
- updated URL and source location
|
||||
- moved README to main package
|
||||
|
||||
* Mon Feb 7 2000 Jeff Johnson <jbj@redhat.com>
|
||||
- compress man page.
|
||||
|
||||
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
|
||||
- auto rebuild in the new build environment (release 5)
|
||||
|
||||
* Wed Sep 09 1998 Cristian Gafton <gafton@redhat.com>
|
||||
- link against glibc
|
||||
|
||||
* Mon Jul 27 1998 Jeff Johnson <jbj@redhat.com>
|
||||
- upgrade to 1.1.3
|
||||
|
||||
* Fri May 08 1998 Prospector System <bugs@redhat.com>
|
||||
- translations modified for de, fr, tr
|
||||
|
||||
* Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
|
||||
- upgraded to 1.1.2
|
||||
- buildroot
|
||||
|
||||
* Tue Oct 07 1997 Donnie Barnes <djb@redhat.com>
|
||||
- added URL tag (down at the moment so it may not be correct)
|
||||
- made zlib-devel require zlib
|
||||
|
||||
* Thu Jun 19 1997 Erik Troan <ewt@redhat.com>
|
||||
- built against glibc
|
Loading…
Reference in New Issue
Block a user