From b31543aa9aa153779f1aab89e09bf779efd30a2b Mon Sep 17 00:00:00 2001 From: planetmaker Date: Thu, 11 Nov 2010 22:37:45 +0000 Subject: (svn r21149) -Fix [FS#4210]: [OSX] Unify compiler flags with other OS and work around a compiler bug in gcc-4.0.1 which breaks graphics display in x86_64 binaries (Rubidium) --- config.lib | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'config.lib') diff --git a/config.lib b/config.lib index 1ea1f6dc8..29bf9c925 100644 --- a/config.lib +++ b/config.lib @@ -1280,17 +1280,12 @@ make_cflags_and_ldflags() { if [ "$enable_debug" = "0" ]; then # No debug, add default stuff OBJS_SUBDIR="release" - if [ "$os" = "OSX" ]; then - # these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer - CFLAGS="-O3 -funroll-loops -fsched-interblock -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-jumps-max-skip=15 -falign-loops-max-skip=15 -mdynamic-no-pic $CFLAGS" - else - if [ "$os" = "MORPHOS" ]; then - CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS" - LDFLAGS="$LDFLAGS -noixemul" - fi - - CFLAGS="-O2 -fomit-frame-pointer $CFLAGS" + if [ "$os" = "MORPHOS" ]; then + CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS" + LDFLAGS="$LDFLAGS -noixemul" fi + + CFLAGS="-O2 -fomit-frame-pointer $CFLAGS" else OBJS_SUBDIR="debug" @@ -1317,6 +1312,12 @@ make_cflags_and_ldflags() { fi fi + if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then + # Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization, + # wrongly optimizing ^= in loops. This disables the failing optimisation. + CFLAGS="$CFLAGS -fno-expensive-optimizations" + fi + if [ "$enable_profiling" != "0" ]; then CFLAGS="$CFLAGS -p" LDFLAGS="$LDFLAGS -pg" -- cgit v1.2.3-54-g00ecf