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.
master
Milutin Jovanović 2012-06-10 20:58:48 -04:00
parent a42b029101
commit 32cd070c96
2 changed files with 3 additions and 0 deletions

1
.gitignore vendored
View File

@ -42,6 +42,7 @@ tags
.DS_Store
*.swp
lib/x86_64
lib/i386
tcc-doc.info
conftest*
tiny_libmaker

View File

@ -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