diff options
| author | Milutin Jovanović <jovanovic.milutin@gmail.com> | 2012-06-10 20:58:48 -0400 |
|---|---|---|
| committer | Milutin Jovanović <jovanovic.milutin@gmail.com> | 2012-06-10 20:58:48 -0400 |
| commit | 32cd070c969ffd0b405460ef75f6fa095ed9657e (patch) | |
| tree | bc36b780bef2878e9bdc53c5265f7fa21ffa6eed | |
| parent | a42b029101a758127de570b113767977fbce7b2a (diff) | |
| download | tinycc-32cd070c969ffd0b405460ef75f6fa095ed9657e.tar.gz tinycc-32cd070c969ffd0b405460ef75f6fa095ed9657e.tar.bz2 | |
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.
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 2 |
2 files changed, 3 insertions, 0 deletions
@@ -42,6 +42,7 @@ tags .DS_Store *.swp lib/x86_64 +lib/i386 tcc-doc.info conftest* tiny_libmaker @@ -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 |
