work around gcc 4.8's generation of self-referential mem* functions at -O3

This commit is contained in:
Rich Felker 2013-08-01 17:12:23 -04:00
commit 4a1f55e92f
2 changed files with 13 additions and 0 deletions

10
configure vendored
View file

@ -104,6 +104,7 @@ fi
CFLAGS_C99FSE=
CFLAGS_AUTO=
CFLAGS_MEMOPS=
LDFLAGS_AUTO=
OPTIMIZE_GLOBS=
prefix=/usr/local/musl
@ -236,6 +237,14 @@ tryflag CFLAGS_C99FSE -fexcess-precision=standard \
|| { test "$ARCH" = i386 && tryflag CFLAGS_C99FSE -ffloat-store ; }
tryflag CFLAGS_C99FSE -frounding-math
#
# Check for options that may be needed to prevent the compiler from
# generating self-referential versions of memcpy,, memmove, memcmp,
# and memset. Really, we should add a check to determine if this
# option is sufficient, and if not, add a macro to cripple these
# functions with volatile...
#
tryflag CFLAGS_MEMOPS -fno-tree-loop-distribute-patterns
#
# If debugging is explicitly enabled, don't auto-enable optimizations
@ -403,6 +412,7 @@ syslibdir = $syslibdir
CC = $CC
CFLAGS= $CFLAGS_AUTO $CFLAGS
CFLAGS_C99FSE = $CFLAGS_C99FSE
CFLAGS_MEMOPS = $CFLAGS_MEMOPS
CPPFLAGS = $CPPFLAGS
LDFLAGS = $LDFLAGS_AUTO $LDFLAGS
CROSS_COMPILE = $CROSS_COMPILE