Unified · Split
| @@ -20,17 +20,6 @@ ifneq ($(GCC_MAJOR),3) · 19 unmodified lines | |||
| 20 | CFLAGS+=-Wno-pointer-sign -Wno-sign-compare | 20 | CFLAGS+=-Wno-pointer-sign -Wno-sign-compare |
| 21 | endif | 21 | endif |
| 22 | endif | 22 | endif |
| 23 | |||
| 24 | ifneq ($(TARGETOS),Darwin) | ||
| 25 | ifeq ($(ARCH),i386) | ||
| 26 | CFLAGS+=-mpreferred-stack-boundary=2 | ||
| 27 | ifeq ($(GCC_MAJOR),2) | ||
| 28 | CFLAGS+=-m386 -malign-functions=0 | ||
| 29 | else | ||
| 30 | CFLAGS+=-march=i386 -falign-functions=0 | ||
| 31 | endif | ||
| 32 | endif | ||
| 33 | endif | ||
| 34 | endif | 23 | endif |
| 35 | 24 | ||
| 36 | ifdef CONFIG_WIN64 | 25 | ifdef CONFIG_WIN64 |
| @@ -50,10 +39,8 @@ NATIVE_DEFINES+=\ · 13 unmodified lines | |||
| 50 | $(if $(wildcard /lib/i386-linux-gnu),-DCONFIG_MULTIARCHDIR=\"i386-linux-gnu\",\ | 39 | $(if $(wildcard /lib/i386-linux-gnu),-DCONFIG_MULTIARCHDIR=\"i386-linux-gnu\",\ |
| 51 | $(if $(wildcard /lib/i386-kfreebsd-gnu),-DCONFIG_MULTIARCHDIR=\"i386-kfreebsd-gnu\",\ | 40 | $(if $(wildcard /lib/i386-kfreebsd-gnu),-DCONFIG_MULTIARCHDIR=\"i386-kfreebsd-gnu\",\ |
| 52 | $(if $(wildcard /lib/i386-gnu),-DCONFIG_MULTIARCHDIR=\"i386-gnu\"))) | 41 | $(if $(wildcard /lib/i386-gnu),-DCONFIG_MULTIARCHDIR=\"i386-gnu\"))) |
| 53 | CFLAGS+=-m32 | ||
| 54 | else ifeq ($(ARCH),x86-64) | 42 | else ifeq ($(ARCH),x86-64) |
| 55 | NATIVE_DEFINES=-DTCC_TARGET_X86_64 | 43 | NATIVE_DEFINES=-DTCC_TARGET_X86_64 |
| 56 | CFLAGS+=-m64 | ||
| 57 | NATIVE_DEFINES+=\ | 44 | NATIVE_DEFINES+=\ |
| 58 | $(if $(wildcard /usr/lib64),-DCONFIG_LDDIR=\"lib64\",\ | 45 | $(if $(wildcard /usr/lib64),-DCONFIG_LDDIR=\"lib64\",\ |
| 59 | $(if $(wildcard /lib/x86_64-linux-gnu),-DCONFIG_MULTIARCHDIR=\"x86_64-linux-gnu\",\ | 46 | $(if $(wildcard /lib/x86_64-linux-gnu),-DCONFIG_MULTIARCHDIR=\"x86_64-linux-gnu\",\ |
| @@ -79,7 +66,6 @@ endif · 19 unmodified lines | |||
| 79 | 66 | ||
| 80 | ifneq ($(wildcard /lib/ld-uClibc.so.0),) | 67 | ifneq ($(wildcard /lib/ld-uClibc.so.0),) |
| 81 | NATIVE_DEFINES+=-DTCC_UCLIBC | 68 | NATIVE_DEFINES+=-DTCC_UCLIBC |
| 82 | CONFIG_UCLIBC = 1 | ||
| 83 | endif | 69 | endif |
| 84 | 70 | ||
| 85 | # make libtcc as static or dynamic library? | 71 | # make libtcc as static or dynamic library? |
| @@ -136,7 +122,6 @@ NATIVE_FILES=$(I386_FILES) · 50 unmodified lines | |||
| 136 | PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) | 122 | PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) |
| 137 | LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a | 123 | LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a |
| 138 | LIBTCC1=libtcc1.a | 124 | LIBTCC1=libtcc1.a |
| 139 | BCHECK_O=bcheck.o | ||
| 140 | else ifeq ($(ARCH),x86-64) | 125 | else ifeq ($(ARCH),x86-64) |
| 141 | NATIVE_FILES=$(X86_64_FILES) | 126 | NATIVE_FILES=$(X86_64_FILES) |
| 142 | PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) | 127 | PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) |
| @@ -147,11 +132,7 @@ NATIVE_FILES=$(ARM_FILES) · 4 unmodified lines | |||
| 147 | PROGS_CROSS=$(I386_CROSS) $(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(C67_CROSS) | 132 | PROGS_CROSS=$(I386_CROSS) $(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(C67_CROSS) |
| 148 | endif | 133 | endif |
| 149 | 134 | ||
| 150 | ifdef CONFIG_UCLIBC | ||
| 151 | BCHECK_O= | ||
| 152 | endif | ||
| 153 | ifeq ($(TARGETOS),Darwin) | 135 | ifeq ($(TARGETOS),Darwin) |
| 154 | BCHECK_O= | ||
| 155 | PROGS+=tiny_libmaker$(EXESUF) | 136 | PROGS+=tiny_libmaker$(EXESUF) |
| 156 | endif | 137 | endif |
| 157 | 138 | ||
| @@ -159,7 +140,7 @@ ifdef CONFIG_USE_LIBGCC · 1 unmodified line | |||
| 159 | LIBTCC1= | 140 | LIBTCC1= |
| 160 | endif | 141 | endif |
| 161 | 142 | ||
| 162 | TCCLIBS = $(LIBTCC1) $(LIBTCC) $(BCHECK_O) | 143 | TCCLIBS = $(LIBTCC1) $(LIBTCC) |
| 163 | TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info | 144 | TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info |
| 164 | 145 | ||
| 165 | ifdef CONFIG_CROSS | 146 | ifdef CONFIG_CROSS |
| @@ -177,6 +158,10 @@ tcc$(EXESUF): tcc.o $(LIBTCC) · 11 unmodified lines | |||
| 177 | %-tcc$(EXESUF): tcc.c | 158 | %-tcc$(EXESUF): tcc.c |
| 178 | $(CC) -o $@ $< -DONE_SOURCE $(DEFINES) $(CPPFLAGS) $(CFLAGS) $(LIBS) $(LDFLAGS) | 159 | $(CC) -o $@ $< -DONE_SOURCE $(DEFINES) $(CPPFLAGS) $(CFLAGS) $(LIBS) $(LDFLAGS) |
| 179 | 160 | ||
| 161 | # profiling version | ||
| 162 | tcc_p$(EXESUF): $(NATIVE_FILES) | ||
| 163 | $(CC) -o $@ $< -DONE_SOURCE $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) | ||
| 164 | |||
| 180 | $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ | 165 | $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ |
| 181 | -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" | 166 | -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" |
| 182 | $(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 | 167 | $(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 |
| @@ -222,10 +207,6 @@ libtcc.so.1.0: $(LIBTCC_OBJ) · 39 unmodified lines | |||
| 222 | 207 | ||
| 223 | libtcc.so.1.0: CFLAGS+=-fPIC | 208 | libtcc.so.1.0: CFLAGS+=-fPIC |
| 224 | 209 | ||
| 225 | # profiling version | ||
| 226 | tcc_p$(EXESUF): $(NATIVE_FILES) | ||
| 227 | $(CC) -o $@ $< $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) | ||
| 228 | |||
| 229 | # windows utilities | 210 | # windows utilities |
| 230 | tiny_impdef$(EXESUF): win32/tools/tiny_impdef.c | 211 | tiny_impdef$(EXESUF): win32/tools/tiny_impdef.c |
| 231 | $(CC) -o $@ $< $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) | 212 | $(CC) -o $@ $< $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) |
| @@ -237,8 +218,7 @@ libtcc1.a : FORCE · 5 unmodified lines | |||
| 237 | @$(MAKE) -C lib native | 218 | @$(MAKE) -C lib native |
| 238 | lib/%/libtcc1.a : FORCE $(PROGS_CROSS) | 219 | lib/%/libtcc1.a : FORCE $(PROGS_CROSS) |
| 239 | @$(MAKE) -C lib cross TARGET=$* | 220 | @$(MAKE) -C lib cross TARGET=$* |
| 240 | bcheck.o : lib/bcheck.c | 221 | |
| 241 | $(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS) | ||
| 242 | FORCE: | 222 | FORCE: |
| 243 | 223 | ||
| 244 | # install | 224 | # install |
| @@ -266,9 +246,6 @@ endif · 21 unmodified lines | |||
| 266 | mkdir -p "$(tccdir)/include" | 246 | mkdir -p "$(tccdir)/include" |
| 267 | ifneq ($(LIBTCC1),) | 247 | ifneq ($(LIBTCC1),) |
| 268 | $(INSTALL) -m644 $(LIBTCC1) "$(tccdir)" | 248 | $(INSTALL) -m644 $(LIBTCC1) "$(tccdir)" |
| 269 | endif | ||
| 270 | ifneq ($(BCHECK_O),) | ||
| 271 | $(INSTALL) -m644 $(BCHECK_O) "$(tccdir)" | ||
| 272 | endif | 249 | endif |
| 273 | $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) "$(tccdir)/include" | 250 | $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) "$(tccdir)/include" |
| 274 | mkdir -p "$(libdir)" | 251 | mkdir -p "$(libdir)" |
| @@ -298,7 +275,7 @@ endif · 23 unmodified lines | |||
| 298 | 275 | ||
| 299 | uninstall: | 276 | uninstall: |
| 300 | rm -fv $(foreach P,$(PROGS),"$(bindir)/$P") | 277 | rm -fv $(foreach P,$(PROGS),"$(bindir)/$P") |
| 301 | rm -fv $(foreach P,$(LIBTCC1) $(BCHECK_O),"$(tccdir)/$P") | 278 | rm -fv $(foreach P,$(LIBTCC1),"$(tccdir)/$P") |
| 302 | rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P") | 279 | rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P") |
| 303 | rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info" | 280 | rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info" |
| 304 | rm -fv "$(libdir)/$(LIBTCC)" "$(includedir)/libtcc.h" | 281 | rm -fv "$(libdir)/$(LIBTCC)" "$(includedir)/libtcc.h" |
| @@ -15,15 +15,15 @@ ifndef TARGET · 14 unmodified lines | |||
| 15 | else | 15 | else |
| 16 | ifeq ($(ARCH),i386) | 16 | ifeq ($(ARCH),i386) |
| 17 | TARGET = i386 | 17 | TARGET = i386 |
| 18 | ifneq ($(TARGETOS),Darwin) | 18 | ifneq ($(TARGETOS),Darwin) |
| 19 | XCC = gcc -O2 -m32 | 19 | XCC = $(CC) |
| 20 | endif | 20 | endif |
| 21 | else | 21 | else |
| 22 | ifeq ($(ARCH),x86-64) | 22 | ifeq ($(ARCH),x86-64) |
| 23 | TARGET = x86_64 | 23 | TARGET = x86_64 |
| 24 | ifneq ($(TARGETOS),Darwin) | 24 | ifneq ($(TARGETOS),Darwin) |
| 25 | XCC = gcc -O2 -m64 | 25 | XCC = $(CC) |
| 26 | endif | 26 | endif |
| 27 | endif | 27 | endif |
| 28 | endif | 28 | endif |
| 29 | endif | 29 | endif |
| @@ -38,9 +38,11 @@ cross : $(DIR)/libtcc1.a · 8 unmodified lines | |||
| 38 | native : TCC = $(TOP)/tcc$(EXESUF) | 38 | native : TCC = $(TOP)/tcc$(EXESUF) |
| 39 | cross : TCC = $(TOP)/$(TARGET)-tcc$(EXESUF) | 39 | cross : TCC = $(TOP)/$(TARGET)-tcc$(EXESUF) |
| 40 | 40 | ||
| 41 | I386_O = libtcc1.o alloca86.o alloca86-bt.o | 41 | BCHECK_O = bcheck.o |
| 42 | |||
| 43 | I386_O = libtcc1.o alloca86.o alloca86-bt.o $(BCHECK_O) | ||
| 42 | X86_64_O = libtcc1.o alloca86_64.o | 44 | X86_64_O = libtcc1.o alloca86_64.o |
| 43 | WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o bcheck.o | 45 | WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o |
| 44 | WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o | 46 | WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o |
| 45 | 47 | ||
| 46 | ifeq "$(TARGET)" "i386-win32" | 48 | ifeq "$(TARGET)" "i386-win32" |
| @@ -58,18 +60,12 @@ else · 11 unmodified lines | |||
| 58 | ifeq "$(TARGET)" "i386" | 60 | ifeq "$(TARGET)" "i386" |
| 59 | OBJ = $(addprefix $(DIR)/,$(I386_O)) | 61 | OBJ = $(addprefix $(DIR)/,$(I386_O)) |
| 60 | TGT = -DTCC_TARGET_I386 | 62 | TGT = -DTCC_TARGET_I386 |
| 61 | XCC ?= $(TCC) -B$(TOP) -m32 -D_ANSI_SOURCE | 63 | XCC ?= $(TCC) -B$(TOP) |
| 62 | ifeq ($(TARGETOS),Darwin) | ||
| 63 | XAR = $(DIR)/tiny_libmaker$(EXESUF) | ||
| 64 | endif | ||
| 65 | else | 64 | else |
| 66 | ifeq "$(TARGET)" "x86_64" | 65 | ifeq "$(TARGET)" "x86_64" |
| 67 | OBJ = $(addprefix $(DIR)/,$(X86_64_O)) | 66 | OBJ = $(addprefix $(DIR)/,$(X86_64_O)) |
| 68 | TGT = -DTCC_TARGET_X86_64 | 67 | TGT = -DTCC_TARGET_X86_64 |
| 69 | XCC ?= $(TCC) -B$(TOP) -m64 -D_ANSI_SOURCE | 68 | XCC ?= $(TCC) -B$(TOP) |
| 70 | ifeq ($(TARGETOS),Darwin) | ||
| 71 | XAR = $(DIR)/tiny_libmaker$(EXESUF) | ||
| 72 | endif | ||
| 73 | else | 69 | else |
| 74 | $(error libtcc1.a not supported on target '$(TARGET)') | 70 | $(error libtcc1.a not supported on target '$(TARGET)') |
| 75 | endif | 71 | endif |
| @@ -77,6 +73,14 @@ endif · 1 unmodified line | |||
| 77 | endif | 73 | endif |
| 78 | endif | 74 | endif |
| 79 | 75 | ||
| 76 | XFLAGS = $(CPPFLAGS) $(CFLAGS) $(TGT) | ||
| 77 | |||
| 78 | ifeq ($(TARGETOS),Darwin) | ||
| 79 | XAR = $(DIR)/tiny_libmaker$(EXESUF) | ||
| 80 | XFLAGS += -D_ANSI_SOURCE | ||
| 81 | BCHECK_O = | ||
| 82 | endif | ||
| 83 | |||
| 80 | ifdef XAR | 84 | ifdef XAR |
| 81 | AR = $(XAR) | 85 | AR = $(XAR) |
| 82 | endif | 86 | endif |
| @@ -84,11 +88,11 @@ endif · 1 unmodified line | |||
| 84 | $(DIR)/libtcc1.a ../libtcc1.a : $(OBJ) $(XAR) | 88 | $(DIR)/libtcc1.a ../libtcc1.a : $(OBJ) $(XAR) |
| 85 | $(AR) rcs $@ $(OBJ) | 89 | $(AR) rcs $@ $(OBJ) |
| 86 | $(DIR)/%.o : %.c | 90 | $(DIR)/%.o : %.c |
| 87 | $(XCC) -c $< -o $@ $(CPPFLAGS) $(TGT) $(CFLAGS) | 91 | $(XCC) -c $< -o $@ $(XFLAGS) |
| 88 | $(DIR)/%.o : %.S | 92 | $(DIR)/%.o : %.S |
| 89 | $(XCC) -c $< -o $@ $(CPPFLAGS) $(TGT) $(CFLAGS) | 93 | $(XCC) -c $< -o $@ $(XFLAGS) |
| 90 | $(DIR)/%$(EXESUF) : $(TOP)/win32/tools/%.c | 94 | $(DIR)/%$(EXESUF) : $(TOP)/win32/tools/%.c |
| 91 | $(CC) -Os -s -w -o $@ $< $(CPPFLAGS) $(TGT) $(CFLAGS) $(LDFLAGS) | 95 | $(CC) -Os -s -w -o $@ $< $(XFLAGS) $(LDFLAGS) |
| 92 | 96 | ||
| 93 | $(OBJ) $(XAR) : $(DIR)/exists | 97 | $(OBJ) $(XAR) : $(DIR)/exists |
| 94 | $(DIR)/exists : | 98 | $(DIR)/exists : |
| @@ -41,7 +41,8 @@ · 40 unmodified lines | |||
| 41 | 41 | ||
| 42 | #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ | 42 | #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ |
| 43 | || defined(__DragonFly__) || defined(__dietlibc__) \ | 43 | || defined(__DragonFly__) || defined(__dietlibc__) \ |
| 44 | || defined(__UCLIBC__) || defined(__OpenBSD__) || defined(_WIN32) | 44 | || defined(__UCLIBC__) || defined(__OpenBSD__) \ |
| 45 | || defined(_WIN32) || defined(TCC_UCLIBC) | ||
| 45 | #warning Bound checking does not support malloc (etc.) in this environment. | 46 | #warning Bound checking does not support malloc (etc.) in this environment. |
| 46 | #undef CONFIG_TCC_MALLOC_HOOKS | 47 | #undef CONFIG_TCC_MALLOC_HOOKS |
| 47 | #undef HAVE_MEMALIGN | 48 | #undef HAVE_MEMALIGN |
| @@ -377,7 +378,7 @@ void __bound_init(void) · 329 unmodified lines | |||
| 377 | size = BOUND_T23_SIZE; | 378 | size = BOUND_T23_SIZE; |
| 378 | mark_invalid(start, size); | 379 | mark_invalid(start, size); |
| 379 | 380 | ||
| 380 | #if !defined(__TINYC__) && defined(CONFIG_TCC_MALLOC_HOOKS) | 381 | #if defined(CONFIG_TCC_MALLOC_HOOKS) |
| 381 | /* malloc zone is also marked invalid. can only use that with | 382 | /* malloc zone is also marked invalid. can only use that with |
| 382 | * hooks because all libs should use the same malloc. The solution | 383 | * hooks because all libs should use the same malloc. The solution |
| 383 | * would be to build a new malloc for tcc. | 384 | * would be to build a new malloc for tcc. |
| @@ -105,12 +105,14 @@ static void tcc_set_lib_path_w32(TCCState *s) · 104 unmodified lines | |||
| 105 | tcc_set_lib_path(s, path); | 105 | tcc_set_lib_path(s, path); |
| 106 | } | 106 | } |
| 107 | 107 | ||
| 108 | #ifdef TCC_TARGET_PE | ||
| 108 | static void tcc_add_systemdir(TCCState *s) | 109 | static void tcc_add_systemdir(TCCState *s) |
| 109 | { | 110 | { |
| 110 | char buf[1000]; | 111 | char buf[1000]; |
| 111 | GetSystemDirectory(buf, sizeof buf); | 112 | GetSystemDirectory(buf, sizeof buf); |
| 112 | tcc_add_library_path(s, normalize_slashes(buf)); | 113 | tcc_add_library_path(s, normalize_slashes(buf)); |
| 113 | } | 114 | } |
| 115 | #endif | ||
| 114 | 116 | ||
| 115 | #ifndef CONFIG_TCC_STATIC | 117 | #ifndef CONFIG_TCC_STATIC |
| 116 | void dlclose(void *p) | 118 | void dlclose(void *p) |
| @@ -1169,9 +1171,11 @@ ST_FUNC int tcc_add_file_internal(TCCState *s1, const char *filename, int flags) · 1052 unmodified lines | |||
| 1169 | #ifndef TCC_TARGET_PE | 1171 | #ifndef TCC_TARGET_PE |
| 1170 | if (ehdr.e_type == ET_DYN) { | 1172 | if (ehdr.e_type == ET_DYN) { |
| 1171 | if (s1->output_type == TCC_OUTPUT_MEMORY) { | 1173 | if (s1->output_type == TCC_OUTPUT_MEMORY) { |
| 1174 | #ifdef TCC_IS_NATIVE | ||
| 1172 | void *h; | 1175 | void *h; |
| 1173 | h = dlopen(filename, RTLD_GLOBAL | RTLD_LAZY); | 1176 | h = dlopen(filename, RTLD_GLOBAL | RTLD_LAZY); |
| 1174 | if (h) | 1177 | if (h) |
| 1178 | #endif | ||
| 1175 | ret = 0; | 1179 | ret = 0; |
| 1176 | } else { | 1180 | } else { |
| 1177 | ret = tcc_load_dll(s1, fd, filename, | 1181 | ret = tcc_load_dll(s1, fd, filename, |
| @@ -47,7 +47,9 @@ · 46 unmodified lines | |||
| 47 | # include <sys/time.h> | 47 | # include <sys/time.h> |
| 48 | # include <sys/ucontext.h> | 48 | # include <sys/ucontext.h> |
| 49 | # include <sys/mman.h> | 49 | # include <sys/mman.h> |
| 50 | # include <dlfcn.h> | 50 | # ifndef CONFIG_TCC_STATIC |
| 51 | # include <dlfcn.h> | ||
| 52 | # endif | ||
| 51 | #else | 53 | #else |
| 52 | # include <windows.h> | 54 | # include <windows.h> |
| 53 | # include <sys/timeb.h> | 55 | # include <sys/timeb.h> |
| @@ -134,10 +136,6 @@ · 80 unmodified lines | |||
| 134 | #define CONFIG_TCC_BCHECK /* enable bound checking code */ | 136 | #define CONFIG_TCC_BCHECK /* enable bound checking code */ |
| 135 | #endif | 137 | #endif |
| 136 | 138 | ||
| 137 | #if defined(_WIN32) && !defined(TCC_TARGET_PE) | ||
| 138 | #define CONFIG_TCC_STATIC | ||
| 139 | #endif | ||
| 140 | |||
| 141 | /* define it to include assembler support */ | 139 | /* define it to include assembler support */ |
| 142 | #if !defined(TCC_TARGET_ARM) && !defined(TCC_TARGET_C67) | 140 | #if !defined(TCC_TARGET_ARM) && !defined(TCC_TARGET_C67) |
| 143 | #define CONFIG_TCC_ASM | 141 | #define CONFIG_TCC_ASM |
| @@ -1338,10 +1338,6 @@ ST_FUNC void tcc_add_bcheck(TCCState *s1) · 1337 unmodified lines | |||
| 1338 | add_elf_sym(symtab_section, 0, 0, | 1338 | add_elf_sym(symtab_section, 0, 0, |
| 1339 | ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0, | 1339 | ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0, |
| 1340 | bounds_section->sh_num, "__bounds_start"); | 1340 | bounds_section->sh_num, "__bounds_start"); |
| 1341 | /* add bound check code */ | ||
| 1342 | #ifndef TCC_TARGET_PE | ||
| 1343 | tcc_add_support(s1, "bcheck.o"); | ||
| 1344 | #endif | ||
| 1345 | #ifdef TCC_TARGET_I386 | 1341 | #ifdef TCC_TARGET_I386 |
| 1346 | if (s1->output_type != TCC_OUTPUT_MEMORY) { | 1342 | if (s1->output_type != TCC_OUTPUT_MEMORY) { |
| 1347 | /* add 'call __bound_init()' in .init section */ | 1343 | /* add 'call __bound_init()' in .init section */ |
| @@ -26,7 +26,7 @@ ifdef CONFIG_WIN32 · 25 unmodified lines | |||
| 26 | TESTS := $(filter-out test3,$(TESTS)) | 26 | TESTS := $(filter-out test3,$(TESTS)) |
| 27 | endif | 27 | endif |
| 28 | ifeq ($(TARGETOS),Darwin) | 28 | ifeq ($(TARGETOS),Darwin) |
| 29 | TESTS := $(filter-out test3 btest,$(TESTS)) | 29 | TESTS := $(filter-out hello test3 btest,$(TESTS)) |
| 30 | endif | 30 | endif |
| 31 | 31 | ||
| 32 | ifdef DISABLE_STATIC | 32 | ifdef DISABLE_STATIC |