aboutsummaryrefslogtreecommitdiff
path: root/gcc/json.h
diff options
context:
space:
mode:
authorSergei Trofimovich <siarheit@google.com>2022-06-27 23:42:44 +0100
committerSergei Trofimovich <siarheit@google.com>2022-06-29 19:15:59 +0100
commit49d508065bdd36fb1a9b6aad9666b1edb5e06474 (patch)
tree5053755b20c0931e66abeed4fd92e9dc4320e691 /gcc/json.h
parentb8f284d3673004dffae714b56ed663467c2a52a7 (diff)
downloadgcc-49d508065bdd36fb1a9b6aad9666b1edb5e06474.zip
gcc-49d508065bdd36fb1a9b6aad9666b1edb5e06474.tar.gz
gcc-49d508065bdd36fb1a9b6aad9666b1edb5e06474.tar.bz2
jit: avoid calloc() poisoning on musl [PR106102]
On musl <pthread.h> uses calloc() (via <sched.h>). jit/ includes it directly and exposes use of poisoned calloc(): /build/build/./prev-gcc/xg++ ... ../../gcc-13-20220626/gcc/jit/jit-playback.cc make[3]: *** [Makefile:1143: jit/libgccjit.o] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from /<<NIX>>/musl-1.2.3-dev/include/pthread.h:30, from ../../gcc-13-20220626/gcc/jit/jit-playback.cc:44: /<<NIX>>/musl-1.2.3-dev/include/sched.h:84:7: error: attempt to use poisoned "calloc" 84 | void *calloc(size_t, size_t); | ^ /<<NIX>>/musl-1.2.3-dev/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))) | ^ The change moves <pthread.h> inclusion to "system.h" under new INCLUDE_PTHREAD_H guard and uses this mechanism in libgccjit. gcc/ PR c++/106102 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>. gcc/jit/ PR c++/106102 * jit-playback.cc: Include <pthread.h> via "system.h" to avoid calloc() poisoning. * jit-recording.cc: Ditto. * libgccjit.cc: Ditto.
Diffstat (limited to 'gcc/json.h')
0 files changed, 0 insertions, 0 deletions