Disable use of thread_local
Clang build was failing with: /usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used when making a shared object Instead of fighting it, just disable use of it.
This commit is contained in:
parent
8c2c5d4508
commit
efbab6ba3f
|
@ -588,13 +588,13 @@ static_assert (Namespace::Type::min_size + 1 <= sizeof (_Null##Type), "Null pool
|
||||||
/* To be fully correct, CrapPool must be thread_local. However, we do not rely on CrapPool
|
/* To be fully correct, CrapPool must be thread_local. However, we do not rely on CrapPool
|
||||||
* for correct operation. It only exist to catch and divert program logic bugs instead of
|
* for correct operation. It only exist to catch and divert program logic bugs instead of
|
||||||
* causing bad memory access. So, races there are not actually introducing incorrectness
|
* causing bad memory access. So, races there are not actually introducing incorrectness
|
||||||
* in the code. So maybe disable? Has ~12kb binary size overhead to have it. */
|
* in the code. Has ~12kb binary size overhead to have it, also clang build fails with it. */
|
||||||
#ifdef HB_NO_VISIBILITY
|
#ifdef HB_NO_VISIBILITY
|
||||||
static
|
static
|
||||||
#else
|
#else
|
||||||
extern HB_INTERNAL
|
extern HB_INTERNAL
|
||||||
#endif
|
#endif
|
||||||
thread_local void * _hb_CrapPool[HB_NULL_POOL_SIZE / sizeof (void *)]
|
/*thread_local*/ void * _hb_CrapPool[HB_NULL_POOL_SIZE / sizeof (void *)]
|
||||||
#ifdef HB_NO_VISIBILITY
|
#ifdef HB_NO_VISIBILITY
|
||||||
= {}
|
= {}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -28,5 +28,5 @@
|
||||||
|
|
||||||
#ifndef HB_NO_VISIBILITY
|
#ifndef HB_NO_VISIBILITY
|
||||||
void * const _hb_NullPool[HB_NULL_POOL_SIZE / sizeof (void *)] = {};
|
void * const _hb_NullPool[HB_NULL_POOL_SIZE / sizeof (void *)] = {};
|
||||||
thread_local void * _hb_CrapPool[HB_NULL_POOL_SIZE / sizeof (void *)] = {};
|
/*thread_local*/ void * _hb_CrapPool[HB_NULL_POOL_SIZE / sizeof (void *)] = {};
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue