From 8b949a466d7f1203961fb8792a0daec3923a461d Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 7 Feb 2020 13:37:21 +0000 Subject: [PATCH] Fix FTBFS on s390x. --- mod_http2-1.15.5-warnfix.patch | 66 ++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 mod_http2-1.15.5-warnfix.patch diff --git a/mod_http2-1.15.5-warnfix.patch b/mod_http2-1.15.5-warnfix.patch new file mode 100644 index 0000000..88aeb12 --- /dev/null +++ b/mod_http2-1.15.5-warnfix.patch @@ -0,0 +1,66 @@ +From e21a68a6c4e94cdafccb869c5aa9d771b0e18b91 Mon Sep 17 00:00:00 2001 +From: Joe Orton +Date: Fri, 7 Feb 2020 13:23:10 +0000 +Subject: [PATCH] Remove unused leave_ctx from h2_beam_lock structure and + adjust callers. + +Not sure why but I'm seeing gcc 10 warnings on s390x (only) for this. + +h2_bucket_beam.c: In function 'h2_beam_abort': +h2_bucket_beam.c:222:9: error: 'bl.leave_ctx' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 222 | pbl->leave(pbl->leave_ctx, pbl->mutex); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +h2_bucket_beam.c:710:18: note: 'bl.leave_ctx' was declared here + 710 | h2_beam_lock bl; + | ^~ +h2_bucket_beam.c: In function 'h2_beam_close': +h2_bucket_beam.c:222:9: error: 'bl.leave_ctx' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 222 | pbl->leave(pbl->leave_ctx, pbl->mutex); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + mod_http2/h2_bucket_beam.c | 5 ++--- + mod_http2/h2_bucket_beam.h | 3 +-- + 2 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/mod_http2/h2_bucket_beam.c b/mod_http2/h2_bucket_beam.c +index a7f5edf..607ac1e 100644 +--- a/mod_http2/h2_bucket_beam.c ++++ b/mod_http2/h2_bucket_beam.c +@@ -196,9 +196,8 @@ static apr_bucket *h2_beam_bucket(h2_bucket_beam *beam, + * bucket beam that can transport buckets across threads + ******************************************************************************/ + +-static void mutex_leave(void *ctx, apr_thread_mutex_t *lock) ++static void mutex_leave(apr_thread_mutex_t *lock) + { +- (void)ctx; + apr_thread_mutex_unlock(lock); + } + +@@ -219,7 +218,7 @@ static void leave_yellow(h2_bucket_beam *beam, h2_beam_lock *pbl) + { + (void)beam; + if (pbl->leave) { +- pbl->leave(pbl->leave_ctx, pbl->mutex); ++ pbl->leave(pbl->mutex); + } + } + +diff --git a/mod_http2/h2_bucket_beam.h b/mod_http2/h2_bucket_beam.h +index f260762..1a6418c 100644 +--- a/mod_http2/h2_bucket_beam.h ++++ b/mod_http2/h2_bucket_beam.h +@@ -126,12 +126,11 @@ typedef struct { + * buffers until the transmission is complete. Star gates use a similar trick. + */ + +-typedef void h2_beam_mutex_leave(void *ctx, struct apr_thread_mutex_t *lock); ++typedef void h2_beam_mutex_leave(struct apr_thread_mutex_t *lock); + + typedef struct { + apr_thread_mutex_t *mutex; + h2_beam_mutex_leave *leave; +- void *leave_ctx; + } h2_beam_lock; + + typedef struct h2_bucket_beam h2_bucket_beam;