Tomáš Chvátal 2019-06-06 09:47:36 +00:00 committed by Git OBS Bridge
parent 93bd7af12d
commit d78414383d
2 changed files with 88 additions and 90 deletions

175
410.patch
View File

@ -110,10 +110,10 @@ updatewindow and made ZLIB_INTERNAL.
create mode 100644 contrib/s390/dfltcc.h create mode 100644 contrib/s390/dfltcc.h
create mode 100644 contrib/s390/dfltcc_deflate.h create mode 100644 contrib/s390/dfltcc_deflate.h
diff --git a/Makefile.in b/Makefile.in Index: zlib-1.2.11/Makefile.in
index 3413266a..6c28f1f7 100644 ===================================================================
--- a/Makefile.in --- zlib-1.2.11.orig/Makefile.in
+++ b/Makefile.in +++ zlib-1.2.11/Makefile.in
@@ -143,6 +143,14 @@ match.lo: match.S @@ -143,6 +143,14 @@ match.lo: match.S
mv _match.o match.lo mv _match.o match.lo
rm -f _match.s rm -f _match.s
@ -129,11 +129,11 @@ index 3413266a..6c28f1f7 100644
example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
$(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/example.c $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/example.c
diff --git a/configure b/configure Index: zlib-1.2.11/configure
index 1cd4fe57..a2907229 100755 ===================================================================
--- a/configure --- zlib-1.2.11.orig/configure
+++ b/configure +++ zlib-1.2.11/configure
@@ -822,6 +822,19 @@ EOF @@ -911,6 +911,19 @@ EOF
fi fi
fi fi
@ -153,11 +153,10 @@ index 1cd4fe57..a2907229 100755
# show the results in the log # show the results in the log
echo >> configure.log echo >> configure.log
echo ALL = $ALL >> configure.log echo ALL = $ALL >> configure.log
diff --git a/contrib/s390/dfltcc.c b/contrib/s390/dfltcc.c Index: zlib-1.2.11/contrib/s390/dfltcc.c
new file mode 100644 ===================================================================
index 00000000..7989ad29
--- /dev/null --- /dev/null
+++ b/contrib/s390/dfltcc.c +++ zlib-1.2.11/contrib/s390/dfltcc.c
@@ -0,0 +1,898 @@ @@ -0,0 +1,898 @@
+/* dfltcc.c - SystemZ DEFLATE CONVERSION CALL support. */ +/* dfltcc.c - SystemZ DEFLATE CONVERSION CALL support. */
+ +
@ -1057,11 +1056,10 @@ index 00000000..7989ad29
+ *dict_length = param->hl; + *dict_length = param->hl;
+ return Z_OK; + return Z_OK;
+} +}
diff --git a/contrib/s390/dfltcc.h b/contrib/s390/dfltcc.h Index: zlib-1.2.11/contrib/s390/dfltcc.h
new file mode 100644 ===================================================================
index 00000000..e4447dd9
--- /dev/null --- /dev/null
+++ b/contrib/s390/dfltcc.h +++ zlib-1.2.11/contrib/s390/dfltcc.h
@@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
+#ifndef DFLTCC_H +#ifndef DFLTCC_H
+#define DFLTCC_H +#define DFLTCC_H
@ -1118,11 +1116,10 @@ index 00000000..e4447dd9
+ } while (0) + } while (0)
+ +
+#endif +#endif
diff --git a/contrib/s390/dfltcc_deflate.h b/contrib/s390/dfltcc_deflate.h Index: zlib-1.2.11/contrib/s390/dfltcc_deflate.h
new file mode 100644 ===================================================================
index 00000000..970d37c1
--- /dev/null --- /dev/null
+++ b/contrib/s390/dfltcc_deflate.h +++ zlib-1.2.11/contrib/s390/dfltcc_deflate.h
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
+#ifndef DFLTCC_DEFLATE_H +#ifndef DFLTCC_DEFLATE_H
+#define DFLTCC_DEFLATE_H +#define DFLTCC_DEFLATE_H
@ -1174,10 +1171,10 @@ index 00000000..970d37c1
+#define DEFLATE_NEED_CHECKSUM(strm) (!dfltcc_can_deflate((strm))) +#define DEFLATE_NEED_CHECKSUM(strm) (!dfltcc_can_deflate((strm)))
+ +
+#endif +#endif
diff --git a/deflate.c b/deflate.c Index: zlib-1.2.11/deflate.c
index 23aef187..bc8b33ea 100644 ===================================================================
--- a/deflate.c --- zlib-1.2.11.orig/deflate.c
+++ b/deflate.c +++ zlib-1.2.11/deflate.c
@@ -61,15 +61,29 @@ const char deflate_copyright[] = @@ -61,15 +61,29 @@ const char deflate_copyright[] =
*/ */
@ -1215,7 +1212,7 @@ index 23aef187..bc8b33ea 100644
typedef block_state (*compress_func) OF((deflate_state *s, int flush)); typedef block_state (*compress_func) OF((deflate_state *s, int flush));
/* Compression function. Returns the block state after the call. */ /* Compression function. Returns the block state after the call. */
@@ -85,7 +99,6 @@ local block_state deflate_rle OF((deflate_state *s, int flush)); @@ -85,7 +99,6 @@ local block_state deflate_rle OF((def
local block_state deflate_huff OF((deflate_state *s, int flush)); local block_state deflate_huff OF((deflate_state *s, int flush));
local void lm_init OF((deflate_state *s)); local void lm_init OF((deflate_state *s));
local void putShortMSB OF((deflate_state *s, uInt b)); local void putShortMSB OF((deflate_state *s, uInt b));
@ -1223,7 +1220,7 @@ index 23aef187..bc8b33ea 100644
local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size)); local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
#ifdef ASMV #ifdef ASMV
# pragma message("Assembler code may have bugs -- use at your own risk") # pragma message("Assembler code may have bugs -- use at your own risk")
@@ -299,7 +312,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, @@ -301,7 +314,7 @@ int ZEXPORT deflateInit2_(strm, level, m
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
} }
if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */
@ -1232,7 +1229,7 @@ index 23aef187..bc8b33ea 100644
if (s == Z_NULL) return Z_MEM_ERROR; if (s == Z_NULL) return Z_MEM_ERROR;
strm->state = (struct internal_state FAR *)s; strm->state = (struct internal_state FAR *)s;
s->strm = strm; s->strm = strm;
@@ -316,7 +329,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, @@ -318,7 +331,7 @@ int ZEXPORT deflateInit2_(strm, level, m
s->hash_mask = s->hash_size - 1; s->hash_mask = s->hash_size - 1;
s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH); s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
@ -1241,7 +1238,7 @@ index 23aef187..bc8b33ea 100644
s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
@@ -434,6 +447,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength) @@ -394,6 +407,7 @@ int ZEXPORT deflateSetDictionary (strm,
/* when using zlib wrappers, compute Adler-32 for provided dictionary */ /* when using zlib wrappers, compute Adler-32 for provided dictionary */
if (wrap == 1) if (wrap == 1)
strm->adler = adler32(strm->adler, dictionary, dictLength); strm->adler = adler32(strm->adler, dictionary, dictLength);
@ -1249,7 +1246,7 @@ index 23aef187..bc8b33ea 100644
s->wrap = 0; /* avoid computing Adler-32 in read_buf */ s->wrap = 0; /* avoid computing Adler-32 in read_buf */
/* if dictionary would fill window, just replace the history */ /* if dictionary would fill window, just replace the history */
@@ -492,6 +506,7 @@ int ZEXPORT deflateGetDictionary (strm, dictionary, dictLength) @@ -452,6 +466,7 @@ int ZEXPORT deflateGetDictionary (strm,
if (deflateStateCheck(strm)) if (deflateStateCheck(strm))
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
@ -1257,7 +1254,7 @@ index 23aef187..bc8b33ea 100644
s = strm->state; s = strm->state;
len = s->strstart + s->lookahead; len = s->strstart + s->lookahead;
if (len > s->w_size) if (len > s->w_size)
@@ -538,6 +553,8 @@ int ZEXPORT deflateResetKeep (strm) @@ -498,6 +513,8 @@ int ZEXPORT deflateResetKeep (strm)
_tr_init(s); _tr_init(s);
@ -1266,7 +1263,7 @@ index 23aef187..bc8b33ea 100644
return Z_OK; return Z_OK;
} }
@@ -625,6 +642,7 @@ int ZEXPORT deflateParams(strm, level, strategy) @@ -584,6 +601,7 @@ int ZEXPORT deflateParams(strm, level, s
if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) {
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
} }
@ -1274,7 +1271,7 @@ index 23aef187..bc8b33ea 100644
func = configuration_table[s->level].func; func = configuration_table[s->level].func;
if ((strategy != s->strategy || func != configuration_table[level].func) && if ((strategy != s->strategy || func != configuration_table[level].func) &&
@@ -700,6 +718,7 @@ uLong ZEXPORT deflateBound(strm, sourceLen) @@ -659,6 +677,7 @@ uLong ZEXPORT deflateBound(strm, sourceL
/* conservative upper bound for compressed data */ /* conservative upper bound for compressed data */
complen = sourceLen + complen = sourceLen +
((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5; ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
@ -1282,7 +1279,7 @@ index 23aef187..bc8b33ea 100644
/* if can't get parameters, return conservative bound plus zlib wrapper */ /* if can't get parameters, return conservative bound plus zlib wrapper */
if (deflateStateCheck(strm)) if (deflateStateCheck(strm))
@@ -741,7 +760,8 @@ uLong ZEXPORT deflateBound(strm, sourceLen) @@ -700,7 +719,8 @@ uLong ZEXPORT deflateBound(strm, sourceL
} }
/* if not default parameters, return conservative bound */ /* if not default parameters, return conservative bound */
@ -1292,7 +1289,7 @@ index 23aef187..bc8b33ea 100644
return complen + wraplen; return complen + wraplen;
/* default settings: return tight bound for that case */ /* default settings: return tight bound for that case */
@@ -768,7 +788,7 @@ local void putShortMSB (s, b) @@ -727,7 +747,7 @@ local void putShortMSB (s, b)
* applications may wish to modify it to avoid allocating a large * applications may wish to modify it to avoid allocating a large
* strm->next_out buffer and copying into it. (See also read_buf()). * strm->next_out buffer and copying into it. (See also read_buf()).
*/ */
@ -1301,7 +1298,7 @@ index 23aef187..bc8b33ea 100644
z_streamp strm; z_streamp strm;
{ {
unsigned len; unsigned len;
@@ -1040,7 +1060,8 @@ int ZEXPORT deflate (strm, flush) @@ -997,7 +1017,8 @@ int ZEXPORT deflate (strm, flush)
(flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
block_state bstate; block_state bstate;
@ -1311,7 +1308,7 @@ index 23aef187..bc8b33ea 100644
s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
s->strategy == Z_RLE ? deflate_rle(s, flush) : s->strategy == Z_RLE ? deflate_rle(s, flush) :
(*(configuration_table[s->level].func))(s, flush); (*(configuration_table[s->level].func))(s, flush);
@@ -1129,9 +1150,9 @@ int ZEXPORT deflateEnd (strm) @@ -1086,9 +1107,9 @@ int ZEXPORT deflateEnd (strm)
TRY_FREE(strm, strm->state->pending_buf); TRY_FREE(strm, strm->state->pending_buf);
TRY_FREE(strm, strm->state->head); TRY_FREE(strm, strm->state->head);
TRY_FREE(strm, strm->state->prev); TRY_FREE(strm, strm->state->prev);
@ -1323,7 +1320,7 @@ index 23aef187..bc8b33ea 100644
strm->state = Z_NULL; strm->state = Z_NULL;
return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK; return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
@@ -1161,13 +1182,13 @@ int ZEXPORT deflateCopy (dest, source) @@ -1119,13 +1140,13 @@ int ZEXPORT deflateCopy (dest, source)
zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream));
@ -1339,8 +1336,8 @@ index 23aef187..bc8b33ea 100644
+ ds->window = (Bytef *) ZALLOC_WINDOW(dest, ds->w_size, 2*sizeof(Byte)); + ds->window = (Bytef *) ZALLOC_WINDOW(dest, ds->w_size, 2*sizeof(Byte));
ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4); overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
@@ -1214,7 +1235,8 @@ local unsigned read_buf(strm, buf, size) @@ -1174,7 +1195,8 @@ local unsigned read_buf(strm, buf, size)
strm->avail_in -= len; strm->avail_in -= len;
zmemcpy(buf, strm->next_in, len); zmemcpy(buf, strm->next_in, len);
@ -1350,11 +1347,11 @@ index 23aef187..bc8b33ea 100644
strm->adler = adler32(strm->adler, buf, len); strm->adler = adler32(strm->adler, buf, len);
} }
#ifdef GZIP #ifdef GZIP
diff --git a/deflate.h b/deflate.h Index: zlib-1.2.11/deflate.h
index d4cf1a98..79c2057e 100644 ===================================================================
--- a/deflate.h --- zlib-1.2.11.orig/deflate.h
+++ b/deflate.h +++ zlib-1.2.11/deflate.h
@@ -299,6 +299,7 @@ void ZLIB_INTERNAL _tr_flush_bits OF((deflate_state *s)); @@ -304,6 +304,7 @@ void ZLIB_INTERNAL _tr_flush_bits OF((de
void ZLIB_INTERNAL _tr_align OF((deflate_state *s)); void ZLIB_INTERNAL _tr_align OF((deflate_state *s));
void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf, void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
ulg stored_len, int last)); ulg stored_len, int last));
@ -1362,7 +1359,7 @@ index d4cf1a98..79c2057e 100644
#define d_code(dist) \ #define d_code(dist) \
((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)]) ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
@@ -343,4 +344,15 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf, @@ -346,4 +347,15 @@ void ZLIB_INTERNAL _tr_stored_block OF((
flush = _tr_tally(s, distance, length) flush = _tr_tally(s, distance, length)
#endif #endif
@ -1378,10 +1375,10 @@ index d4cf1a98..79c2057e 100644
+void ZLIB_INTERNAL flush_pending OF((z_streamp strm)); +void ZLIB_INTERNAL flush_pending OF((z_streamp strm));
+ +
#endif /* DEFLATE_H */ #endif /* DEFLATE_H */
diff --git a/gzguts.h b/gzguts.h Index: zlib-1.2.11/gzguts.h
index fc712dc4..045815cb 100644 ===================================================================
--- a/gzguts.h --- zlib-1.2.11.orig/gzguts.h
+++ b/gzguts.h +++ zlib-1.2.11/gzguts.h
@@ -153,7 +153,11 @@ @@ -153,7 +153,11 @@
/* default i/o buffer size -- double this for output when reading (this and /* default i/o buffer size -- double this for output when reading (this and
@ -1394,10 +1391,10 @@ index fc712dc4..045815cb 100644
/* gzip modes, also provide a little integrity check on the passed structure */ /* gzip modes, also provide a little integrity check on the passed structure */
#define GZ_NONE 0 #define GZ_NONE 0
diff --git a/inflate.c b/inflate.c Index: zlib-1.2.11/inflate.c
index 2c1b17f1..2b7d5648 100644 ===================================================================
--- a/inflate.c --- zlib-1.2.11.orig/inflate.c
+++ b/inflate.c +++ zlib-1.2.11/inflate.c
@@ -85,6 +85,23 @@ @@ -85,6 +85,23 @@
#include "inflate.h" #include "inflate.h"
#include "inffast.h" #include "inffast.h"
@ -1422,7 +1419,7 @@ index 2c1b17f1..2b7d5648 100644
#ifdef MAKEFIXED #ifdef MAKEFIXED
# ifndef BUILDFIXED # ifndef BUILDFIXED
# define BUILDFIXED # define BUILDFIXED
@@ -138,6 +155,7 @@ z_streamp strm; @@ -137,6 +154,7 @@ z_streamp strm;
state->lencode = state->distcode = state->next = state->codes; state->lencode = state->distcode = state->next = state->codes;
state->sane = 1; state->sane = 1;
state->back = -1; state->back = -1;
@ -1430,7 +1427,7 @@ index 2c1b17f1..2b7d5648 100644
Tracev((stderr, "inflate: reset\n")); Tracev((stderr, "inflate: reset\n"));
return Z_OK; return Z_OK;
} }
@@ -183,7 +201,7 @@ int windowBits; @@ -182,7 +200,7 @@ int windowBits;
if (windowBits && (windowBits < 8 || windowBits > 15)) if (windowBits && (windowBits < 8 || windowBits > 15))
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) {
@ -1439,7 +1436,7 @@ index 2c1b17f1..2b7d5648 100644
state->window = Z_NULL; state->window = Z_NULL;
} }
@@ -222,7 +240,7 @@ int stream_size; @@ -221,7 +239,7 @@ int stream_size;
strm->zfree = zcfree; strm->zfree = zcfree;
#endif #endif
state = (struct inflate_state FAR *) state = (struct inflate_state FAR *)
@ -1448,7 +1445,7 @@ index 2c1b17f1..2b7d5648 100644
if (state == Z_NULL) return Z_MEM_ERROR; if (state == Z_NULL) return Z_MEM_ERROR;
Tracev((stderr, "inflate: allocated\n")); Tracev((stderr, "inflate: allocated\n"));
strm->state = (struct internal_state FAR *)state; strm->state = (struct internal_state FAR *)state;
@@ -231,7 +249,7 @@ int stream_size; @@ -230,7 +248,7 @@ int stream_size;
state->mode = HEAD; /* to pass state test in inflateReset2() */ state->mode = HEAD; /* to pass state test in inflateReset2() */
ret = inflateReset2(strm, windowBits); ret = inflateReset2(strm, windowBits);
if (ret != Z_OK) { if (ret != Z_OK) {
@ -1457,7 +1454,7 @@ index 2c1b17f1..2b7d5648 100644
strm->state = Z_NULL; strm->state = Z_NULL;
} }
return ret; return ret;
@@ -253,6 +271,7 @@ int value; @@ -252,6 +270,7 @@ int value;
struct inflate_state FAR *state; struct inflate_state FAR *state;
if (inflateStateCheck(strm)) return Z_STREAM_ERROR; if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
@ -1465,7 +1462,7 @@ index 2c1b17f1..2b7d5648 100644
state = (struct inflate_state FAR *)strm->state; state = (struct inflate_state FAR *)strm->state;
if (bits < 0) { if (bits < 0) {
state->hold = 0; state->hold = 0;
@@ -380,6 +399,27 @@ void makefixed() @@ -379,6 +398,27 @@ void makefixed()
} }
#endif /* MAKEFIXED */ #endif /* MAKEFIXED */
@ -1493,7 +1490,7 @@ index 2c1b17f1..2b7d5648 100644
/* /*
Update the window with the last wsize (normally 32K) bytes written before Update the window with the last wsize (normally 32K) bytes written before
returning. If window does not exist yet, create it. This is only called returning. If window does not exist yet, create it. This is only called
@@ -404,20 +444,7 @@ unsigned copy; @@ -403,20 +443,7 @@ unsigned copy;
state = (struct inflate_state FAR *)strm->state; state = (struct inflate_state FAR *)strm->state;
@ -1515,7 +1512,7 @@ index 2c1b17f1..2b7d5648 100644
/* copy state->wsize or less output bytes into the circular window */ /* copy state->wsize or less output bytes into the circular window */
if (copy >= state->wsize) { if (copy >= state->wsize) {
@@ -850,6 +877,7 @@ int flush; @@ -849,6 +876,7 @@ int flush;
case TYPE: case TYPE:
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
case TYPEDO: case TYPEDO:
@ -1523,7 +1520,7 @@ index 2c1b17f1..2b7d5648 100644
if (state->last) { if (state->last) {
BYTEBITS(); BYTEBITS();
state->mode = CHECK; state->mode = CHECK;
@@ -1201,7 +1229,7 @@ int flush; @@ -1200,7 +1228,7 @@ int flush;
out -= left; out -= left;
strm->total_out += out; strm->total_out += out;
state->total += out; state->total += out;
@ -1532,7 +1529,7 @@ index 2c1b17f1..2b7d5648 100644
strm->adler = state->check = strm->adler = state->check =
UPDATE(state->check, put - out, out); UPDATE(state->check, put - out, out);
out = left; out = left;
@@ -1253,8 +1281,9 @@ int flush; @@ -1252,8 +1280,9 @@ int flush;
*/ */
inf_leave: inf_leave:
RESTORE(); RESTORE();
@ -1544,7 +1541,7 @@ index 2c1b17f1..2b7d5648 100644
if (updatewindow(strm, strm->next_out, out - strm->avail_out)) { if (updatewindow(strm, strm->next_out, out - strm->avail_out)) {
state->mode = MEM; state->mode = MEM;
return Z_MEM_ERROR; return Z_MEM_ERROR;
@@ -1264,7 +1293,7 @@ int flush; @@ -1263,7 +1292,7 @@ int flush;
strm->total_in += in; strm->total_in += in;
strm->total_out += out; strm->total_out += out;
state->total += out; state->total += out;
@ -1553,7 +1550,7 @@ index 2c1b17f1..2b7d5648 100644
strm->adler = state->check = strm->adler = state->check =
UPDATE(state->check, strm->next_out - out, out); UPDATE(state->check, strm->next_out - out, out);
strm->data_type = (int)state->bits + (state->last ? 64 : 0) + strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
@@ -1282,8 +1311,8 @@ z_streamp strm; @@ -1281,8 +1310,8 @@ z_streamp strm;
if (inflateStateCheck(strm)) if (inflateStateCheck(strm))
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state; state = (struct inflate_state FAR *)strm->state;
@ -1564,7 +1561,7 @@ index 2c1b17f1..2b7d5648 100644
strm->state = Z_NULL; strm->state = Z_NULL;
Tracev((stderr, "inflate: end\n")); Tracev((stderr, "inflate: end\n"));
return Z_OK; return Z_OK;
@@ -1482,21 +1511,22 @@ z_streamp source; @@ -1474,21 +1503,22 @@ z_streamp source;
/* allocate space */ /* allocate space */
copy = (struct inflate_state FAR *) copy = (struct inflate_state FAR *)
@ -1591,7 +1588,7 @@ index 2c1b17f1..2b7d5648 100644
copy->strm = dest; copy->strm = dest;
if (state->lencode >= state->codes && if (state->lencode >= state->codes &&
state->lencode <= state->codes + ENOUGH - 1) { state->lencode <= state->codes + ENOUGH - 1) {
@@ -1553,6 +1583,7 @@ z_streamp strm; @@ -1545,6 +1575,7 @@ z_streamp strm;
if (inflateStateCheck(strm)) if (inflateStateCheck(strm))
return -(1L << 16); return -(1L << 16);
@ -1599,20 +1596,20 @@ index 2c1b17f1..2b7d5648 100644
state = (struct inflate_state FAR *)strm->state; state = (struct inflate_state FAR *)strm->state;
return (long)(((unsigned long)((long)state->back)) << 16) + return (long)(((unsigned long)((long)state->back)) << 16) +
(state->mode == COPY ? state->length : (state->mode == COPY ? state->length :
diff --git a/inflate.h b/inflate.h Index: zlib-1.2.11/inflate.h
index 98679fa9..b14e56dd 100644 ===================================================================
--- a/inflate.h --- zlib-1.2.11.orig/inflate.h
+++ b/inflate.h +++ zlib-1.2.11/inflate.h
@@ -124,3 +124,5 @@ struct inflate_state { @@ -123,3 +123,5 @@ struct inflate_state {
int back; /* bits back of last unprocessed length/lit */ int back; /* bits back of last unprocessed length/lit */
unsigned was; /* initial length of match */ unsigned was; /* initial length of match */
}; };
+ +
+int ZLIB_INTERNAL inflate_ensure_window OF((struct inflate_state *state)); +int ZLIB_INTERNAL inflate_ensure_window OF((struct inflate_state *state));
diff --git a/test/infcover.c b/test/infcover.c Index: zlib-1.2.11/test/infcover.c
index 2be01646..a34cd17a 100644 ===================================================================
--- a/test/infcover.c --- zlib-1.2.11.orig/test/infcover.c
+++ b/test/infcover.c +++ zlib-1.2.11/test/infcover.c
@@ -444,7 +444,7 @@ local void cover_wrap(void) @@ -444,7 +444,7 @@ local void cover_wrap(void)
} }
@ -1622,10 +1619,10 @@ index 2be01646..a34cd17a 100644
{ {
static unsigned int next = 0; static unsigned int next = 0;
static unsigned char dat[] = {0x63, 0, 2, 0}; static unsigned char dat[] = {0x63, 0, 2, 0};
diff --git a/test/minigzip.c b/test/minigzip.c Index: zlib-1.2.11/test/minigzip.c
index e22fb08c..4b5f4efe 100644 ===================================================================
--- a/test/minigzip.c --- zlib-1.2.11.orig/test/minigzip.c
+++ b/test/minigzip.c +++ zlib-1.2.11/test/minigzip.c
@@ -132,7 +132,11 @@ static void pwinerror (s) @@ -132,7 +132,11 @@ static void pwinerror (s)
#endif #endif
#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) #define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1)
@ -1638,15 +1635,15 @@ index e22fb08c..4b5f4efe 100644
#define MAX_NAME_LEN 1024 #define MAX_NAME_LEN 1024
#ifdef MAXSEG_64K #ifdef MAXSEG_64K
diff --git a/trees.c b/trees.c Index: zlib-1.2.11/trees.c
index decaeb7c..3f749d83 100644 ===================================================================
--- a/trees.c --- zlib-1.2.11.orig/trees.c
+++ b/trees.c +++ zlib-1.2.11/trees.c
@@ -149,8 +149,6 @@ local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes, @@ -149,8 +149,6 @@ local void send_all_trees OF((deflate_st
local void compress_block OF((deflate_state *s, const ct_data *ltree, local void compress_block OF((deflate_state *s, const ct_data *ltree,
const ct_data *dtree)); const ct_data *dtree));
local int detect_data_type OF((deflate_state *s)); local int detect_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned code, int len)); -local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s)); -local void bi_windup OF((deflate_state *s));
local void bi_flush OF((deflate_state *s)); local void bi_flush OF((deflate_state *s));
@ -1665,7 +1662,7 @@ index decaeb7c..3f749d83 100644
/* the arguments must not have side effects */ /* the arguments must not have side effects */
@@ -1134,7 +1139,7 @@ local int detect_data_type(s) @@ -1155,7 +1160,7 @@ local int detect_data_type(s)
* method would use a table) * method would use a table)
* IN assertion: 1 <= len <= 15 * IN assertion: 1 <= len <= 15
*/ */
@ -1674,7 +1671,7 @@ index decaeb7c..3f749d83 100644
unsigned code; /* the value to invert */ unsigned code; /* the value to invert */
int len; /* its bit length */ int len; /* its bit length */
{ {
@@ -1166,7 +1171,7 @@ local void bi_flush(s) @@ -1187,7 +1192,7 @@ local void bi_flush(s)
/* =========================================================================== /* ===========================================================================
* Flush the bit buffer and align the output on a byte boundary * Flush the bit buffer and align the output on a byte boundary
*/ */

View File

@ -38,7 +38,7 @@ Patch2: 0001-Do-not-try-to-store-negative-values-in-unsigned-int.patch
#PATCH-FIX-UPSTREAM https://github.com/madler/zlib/pull/335 #PATCH-FIX-UPSTREAM https://github.com/madler/zlib/pull/335
Patch3: zlib-power8-fate325307.patch Patch3: zlib-power8-fate325307.patch
#PATCH-FIX-UPSTREAM https://github.com/madler/zlib/pull/410 #PATCH-FIX-UPSTREAM https://github.com/madler/zlib/pull/410
Patch4: https://patch-diff.githubusercontent.com/raw/madler/zlib/pull/410.patch Patch4: 410.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: libtool BuildRequires: libtool
@ -123,6 +123,7 @@ developing applications which use minizip.
%patch1 %patch1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1
%build %build
export LDFLAGS="-Wl,-z,relro,-z,now" export LDFLAGS="-Wl,-z,relro,-z,now"