mirror of
https://github.com/frida/tinycc
synced 2025-01-12 14:49:18 +03:00
osx: Removed some optimizations for x86 builds as they were causing seg faults.
When using gcc compiler (as opposed to llvm) to build 32 bit tcc, compiler flags -mpreferred-stack-boundary=2, -march=i386 and -falign-functions=2 were being used. -march is redundant as -m32 is already being used. The other two seem to be corrupting stack. I am not sure why this is the case, as the explanation of the flags states that only running code size should be affected, but it does. I think that is is safe to remove these flags altogether for all compilers and platforms, especially since they are not being used for 64 bit builds. However I do not want to apply such wide change without agreement from the people on the mailing list.
This commit is contained in:
parent
a42b029101
commit
32cd070c96
1
.gitignore
vendored
1
.gitignore
vendored
@ -42,6 +42,7 @@ tags
|
||||
.DS_Store
|
||||
*.swp
|
||||
lib/x86_64
|
||||
lib/i386
|
||||
tcc-doc.info
|
||||
conftest*
|
||||
tiny_libmaker
|
||||
|
2
Makefile
2
Makefile
@ -15,6 +15,7 @@ CFLAGS+=-Wno-pointer-sign -Wno-sign-compare -D_FORTIFY_SOURCE=0
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(TARGETOS),Darwin)
|
||||
ifeq ($(ARCH),i386)
|
||||
CFLAGS+=-mpreferred-stack-boundary=2
|
||||
ifeq ($(GCC_MAJOR),2)
|
||||
@ -23,6 +24,7 @@ else
|
||||
CFLAGS+=-march=i386 -falign-functions=0
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_WIN64
|
||||
CONFIG_WIN32=yes
|
||||
|
Loading…
Reference in New Issue
Block a user