Re: [PATCH v2] async_die_is_recursing: work around GCC v11.x issue on Fedora
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 4, 2021, 06:35 UTC
- Message-ID
- <xmqqzgqk2zsl.fsf@gitster.g>
- In-Reply-To
- <pull.1072.v2.git.1635998463474.gitgitgadget@gmail.com>
"Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 23 quoted lines
> From: Victoria Dye <vdye@github.com> > > This fix corrects an issue found in the `dockerized(pedantic, fedora)` CI > build, first appearing after the introduction of a new version of the Fedora > docker image version. This image includes a version of `glibc` with the > attribute `__attr_access_none` added to `pthread_setspecific` [1], the > implementation of which only exists for GCC 11.X - the version included in > the Fedora image. The attribute requires that the pointer provided in the > second argument of `pthread_getspecific` must, if not NULL, be a pointer to > a valid object. In the usage in `async_die_is_recursing`, `(void *)1` is not > valid, causing the error. > > This fix imitates a workaround added in SELinux [2] by using the pointer to > the static `async_die_counter` itself as the second argument to > `pthread_setspecific`. This guaranteed non-NULL, valid pointer matches the > intent of the current usage while not triggering the build error. > > [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=a1561c3bbe8 > [2] https://lore.kernel.org/all/20211021140519.6593-1-cgzones@googlemail.com/ > > Co-authored-by: Johannes Schindelin <johannes.schindelin@gmx.de> > Signed-off-by: Victoria Dye <vdye@github.com> > ---
Looks like they timed their update to disrupt us most effectively, but we are gifted with watchful eyes and competent hands ;-).
Thanks for coming up with a clearly written description and a clean fix so quickly.
Will apply.