On Wed, Feb 10, 2021 at 01:24:57PM +0100, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> > > gcc-11 throws an error compiling alias.c and dmevents.c: > > In file included from ../libmultipath/checkers.h:4, > from ../libmultipath/prio.h:7, > from ../libmultipath/structs.h:8, > from dmevents.c:29: > ../multipathd/dmevents.c: In function 'dmevent_loop': > ../multipathd/dmevents.c:357:17: error: '__sigsetjmp' accessing 200 bytes in a region of size 72 [-Werror=stringop-overflow=] > 357 | pthread_cleanup_push(cleanup_lock, &waiter->vecs->lock); > | ^~~~~~~~~~~~~~~~~~~~ > ../multipathd/dmevents.c:357:17: note: referencing argument 1 of type 'struct __jmp_buf_tag *' > /usr/include/pthread.h:734:12: note: in a call to function '__sigsetjmp' > 734 | extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROWNL; > | ^~~~~~~~~~~ > > The reason seems to be a mismatch between the __sigsetjmp() prototype > in <setjmp.h> and <pthread.h>. Until this is fixed in the toolchain, > work around it by including <pthread.h> first. > Reviewed-by: Benjamin Marzinski <bmazins@xxxxxxxxxx> > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > tests/alias.c | 1 + > tests/dmevents.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/tests/alias.c b/tests/alias.c > index 0311faa..5e0bfea 100644 > --- a/tests/alias.c > +++ b/tests/alias.c > @@ -1,3 +1,4 @@ > +#include <pthread.h> > #include <stdint.h> > #include <setjmp.h> > #include <stdio.h> > diff --git a/tests/dmevents.c b/tests/dmevents.c > index b7c5122..29eaa6d 100644 > --- a/tests/dmevents.c > +++ b/tests/dmevents.c > @@ -16,6 +16,7 @@ > * > */ > > +#include <pthread.h> > #include <stdint.h> > #include <stdbool.h> > #include <stdarg.h> > -- > 2.29.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel