On Wed, 2021-02-10 at 13:24 +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. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> I'm told that this issue is related to this glibc bug: https://sourceware.org/bugzilla/show_bug.cgi?id=26647 and should be fixed in glibc 2.33. Yet adding this patch doesn't hurt us and can serve as a workaround for environments with gcc 11. Regards Martin -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel