From b45c379d5b9bd51555b7cb765d8db8a45cd728d1 Mon Sep 17 00:00:00 2001 From: bsp2 Date: Sun, 14 Oct 2018 13:40:59 +0200 Subject: [PATCH] fix 'cannot allocate memory in static TLS block' runtime error (Linux) --- dep/yac/sharedlib_linux.mk | 8 +++++--- dep/yac/yac.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dep/yac/sharedlib_linux.mk b/dep/yac/sharedlib_linux.mk index d7014d4f..1143235f 100644 --- a/dep/yac/sharedlib_linux.mk +++ b/dep/yac/sharedlib_linux.mk @@ -11,8 +11,10 @@ ifeq ("$(TARGET)","") TARGET=$(TARGET_BASENAME).so endif -CPPFLAGS += -fPIC -I"$(VSVR_BASE_DIR)/dep/yac" $(EXTRAFLAGS) -CFLAGS += -fPIC -I"$(VSVR_BASE_DIR)/dep/yac" $(EXTRAFLAGS) +CPPFLAGS += -I"$(VSVR_BASE_DIR)/dep/yac" $(EXTRAFLAGS) +#CPPFLAGS+= -fPIC +CFLAGS += -I"$(VSVR_BASE_DIR)/dep/yac" $(EXTRAFLAGS) +#CFLAGS+= -fPIC EXTRALIBS += -L$(CROSS_ROOT)/usr/lib -lm -lpthread ###########include sharedlib_common_gcc.mk @@ -28,7 +30,7 @@ CFLAGS += -Wall -I$(CROSS_ROOT)/usr/include # Build plugin library # bin: $(BIN_RULES) $(ALL_OBJ) - $(CPP) -shared -o "$(TARGET)" -Wl,-soname,$(TARGET) $(ALL_OBJ) $(EXTRALIBS) + $(CPP) -shared -o "$(TARGET)" -Wl,-soname,$(TARGET) -mtls-dialect=gnu2 $(ALL_OBJ) $(EXTRALIBS) ifneq ($(DEBUG),y) $(STRIP) "$(TARGET)" endif diff --git a/dep/yac/yac.h b/dep/yac/yac.h index 8a657520..084e7d07 100644 --- a/dep/yac/yac.h +++ b/dep/yac/yac.h @@ -52,6 +52,7 @@ /// Define in the project/makefile to disable the use of thread local storage /* #define YAC_FORCE_NO_TLS defined */ +#define YAC_FORCE_NO_PRINTF_TLS defined // avoid huge 128k TLS printf buffer // ---- // ---- Version number