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
2 changed files with 3 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -42,6 +42,7 @@ tags
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*.swp
|
*.swp
|
||||||
lib/x86_64
|
lib/x86_64
|
||||||
|
lib/i386
|
||||||
tcc-doc.info
|
tcc-doc.info
|
||||||
conftest*
|
conftest*
|
||||||
tiny_libmaker
|
tiny_libmaker
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -15,6 +15,7 @@ CFLAGS+=-Wno-pointer-sign -Wno-sign-compare -D_FORTIFY_SOURCE=0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(TARGETOS),Darwin)
|
||||||
ifeq ($(ARCH),i386)
|
ifeq ($(ARCH),i386)
|
||||||
CFLAGS+=-mpreferred-stack-boundary=2
|
CFLAGS+=-mpreferred-stack-boundary=2
|
||||||
ifeq ($(GCC_MAJOR),2)
|
ifeq ($(GCC_MAJOR),2)
|
||||||
|
@ -23,6 +24,7 @@ else
|
||||||
CFLAGS+=-march=i386 -falign-functions=0
|
CFLAGS+=-march=i386 -falign-functions=0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_WIN64
|
ifdef CONFIG_WIN64
|
||||||
CONFIG_WIN32=yes
|
CONFIG_WIN32=yes
|
||||||
|
|
Loading…
Reference in a new issue