mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-07 05:51:48 +00:00
[BUILD] add -fno-strict-aliasing to fix warnings with gcc >= 4.4
Gcc 4.4 enables strict aliasing by default, resuling in complaints when casting struct sockaddr_storage to sockaddr_in. Not only doing this does not provide any noticeable performance improvement, it also presents a risk of strange bugs even when the compiler does not emit a warning, so let's disable this optimization !
This commit is contained in:
parent
a5899aaad5
commit
3c9a3fb0b8
7
Makefile
7
Makefile
@ -97,6 +97,11 @@ LD = $(CC)
|
||||
# Those flags only feed CFLAGS so it is not mandatory to use this form.
|
||||
DEBUG_CFLAGS = -g
|
||||
|
||||
#### Compiler-specific flags that may be used to disable some negative over-
|
||||
# optimization or to silence some warnings. -fno-strict-aliasing is needed with
|
||||
# gcc >= 4.4.
|
||||
SPEC_CFLAGS = -fno-strict-aliasing
|
||||
|
||||
#### Memory usage tuning
|
||||
# If small memory footprint is required, you can reduce the buffer size. There
|
||||
# are 2 buffers per concurrent session, so 16 kB buffers will eat 32 MB memory
|
||||
@ -154,7 +159,7 @@ ARCH_FLAGS = $(ARCH_FLAGS.$(ARCH))
|
||||
# These CFLAGS contain general optimization options, CPU-specific optimizations
|
||||
# and debug flags. They may be overridden by some distributions which prefer to
|
||||
# set all of them at once instead of playing with the CPU and DEBUG variables.
|
||||
CFLAGS = $(ARCH_FLAGS) $(CPU_CFLAGS) $(DEBUG_CFLAGS)
|
||||
CFLAGS = $(ARCH_FLAGS) $(CPU_CFLAGS) $(DEBUG_CFLAGS) $(SPEC_CFLAGS)
|
||||
|
||||
#### Common LDFLAGS
|
||||
# These LDFLAGS are used as the first "ld" options, regardless of any library
|
||||
|
@ -86,6 +86,7 @@ DLMALLOC_THRES=4096
|
||||
TARGET_OPTS=$(COPTS.$(TARGET))
|
||||
REGEX_OPTS=$(COPTS.$(REGEX))
|
||||
CPU_OPTS=$(COPTS.$(CPU))
|
||||
SPEC_OPTS=-fno-strict-aliasing
|
||||
|
||||
VERSION != cat VERSION 2>/dev/null || touch VERSION
|
||||
SUBVERS != cat SUBVERS 2>/dev/null || touch SUBVERS
|
||||
@ -98,7 +99,7 @@ VER_OPTS := -DCONFIG_HAPROXY_VERSION=\"$(VERSION)$(SUBVERS)\" \
|
||||
EBTREE_DIR := ebtree
|
||||
|
||||
COPTS = -Iinclude -I$(EBTREE_DIR) $(ADDINC) $(CPU_OPTS) $(TARGET_OPTS) \
|
||||
$(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE)
|
||||
$(SPEC_OPTS) $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE)
|
||||
LIBS = $(LIBS.$(TARGET)) $(LIBS.$(REGEX)) $(ADDLIB)
|
||||
CFLAGS = -Wall $(COPTS) $(DEBUG)
|
||||
LDFLAGS = -g
|
||||
|
@ -86,6 +86,7 @@ DLMALLOC_THRES=4096
|
||||
TARGET_OPTS=$(COPTS.$(TARGET))
|
||||
REGEX_OPTS=$(COPTS.$(REGEX))
|
||||
CPU_OPTS=$(COPTS.$(CPU))
|
||||
SPEC_OPTS=-fno-strict-aliasing
|
||||
|
||||
VERSION != cat VERSION 2>/dev/null || touch VERSION
|
||||
SUBVERS != cat SUBVERS 2>/dev/null || touch SUBVERS
|
||||
@ -95,7 +96,7 @@ VER_OPTS := -DCONFIG_HAPROXY_VERSION=\"$(VERSION)$(SUBVERS)\" \
|
||||
-DCONFIG_HAPROXY_DATE=\"$(VERDATE)\"
|
||||
|
||||
COPTS = -Iinclude -I$(EBTREE_DIR) $(ADDINC) $(CPU_OPTS) $(TARGET_OPTS) \
|
||||
$(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE)
|
||||
$(SPEC_OPTS) $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE)
|
||||
LIBS = $(LIBS.$(TARGET)) $(LIBS.$(REGEX)) $(ADDLIB)
|
||||
CFLAGS = -Wall $(COPTS) $(DEBUG) -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -mmacosx-version-min=10.4
|
||||
LDFLAGS = -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -mmacosx-version-min=10.4
|
||||
|
Loading…
Reference in New Issue
Block a user