On Sat, Mar 11, 2023 at 12:27 PM Sam James via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > This fixes errors like: > ``` > In file included from /usr/include/pthread.h:30, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/riscv64-gentoo-linux-musl/bits/gthr-default.h:35, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/riscv64-gentoo-linux-musl/bits/gthr.h:148, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/ext/atomicity.h:35, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/bits/ios_base.h:39, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/ios:42, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/istream:38, > from > /usr/lib/gcc/riscv64-gentoo-linux-musl/12/include/g++-v12/sstream:38, > from > /var/tmp/portage/sys-devel/gcc-13.0.1_pre20230305/work/gcc-13-20230305/gcc/config/riscv/genrvv-type-indexer.cc:22: > /usr/include/sched.h:84:7: error: attempt to use poisoned "calloc" > 84 | void *calloc(size_t, size_t); > | ^ > /usr/include/sched.h:124:36: error: attempt to use poisoned "calloc" > 124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n))) > | ^ > make[3]: *** [Makefile:2855: build/genrvv-type-indexer.o] Error 1 > ``` > > See also 3b21c21f3f5726823e19728fdd1571a14aae0fb3 and > 49d508065bdd36fb1a9b6aad9666b1edb5e06474, > which was fixed in PR106102. > > gcc/ChangeLog: > * config/riscv/genrvv-type-indexer.cc: Avoid calloc() poisoning on > musl by > adding <pthread.h> include.
Is 100% not the correct fix and will break if you are doing a cross compiler building on mingw to riscv. You should add/handle INCLUDE_SSTREAM to system.h instead and then define INCLUDE_SSTREAM in genrvv-type-indexer.cc. In fact, INCLUDE_PTHREAD_H support should be removed since it is no longer being used for the jit front-end (that was moved over to std::mutex instead). Thanks, Andrew > > v2: fix changelog. > > Signed-off-by: Sam James <s...@gentoo.org> > --- > gcc/ChangeLog | 5 +++++ > gcc/config/riscv/genrvv-type-indexer.cc | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > index c9e557ce833..f8a1c37f76e 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,8 @@ > +2023-03-11 Sam James <s...@gentoo.org> > + > + * config/riscv/genrvv-type-indexer.cc: Avoid calloc() poisoning on > musl by > + adding <pthread.h> include. > + > 2023-03-10 Jakub Jelinek <ja...@redhat.com> > > PR target/107703 > diff --git a/gcc/config/riscv/genrvv-type-indexer.cc > b/gcc/config/riscv/genrvv-type-indexer.cc > index 0ef1d766002..b286ec84132 100644 > --- a/gcc/config/riscv/genrvv-type-indexer.cc > +++ b/gcc/config/riscv/genrvv-type-indexer.cc > @@ -14,6 +14,7 @@ along with GCC; see the file COPYING3. If not see > <http://www.gnu.org/licenses/>. */ > > #include "bconfig.h" > +#define INCLUDE_PTHREAD_H > #include "system.h" > #include "errors.h" > > -- > 2.39.2 >