mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2025-04-07 07:11:44 +00:00
Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling with the GCC option -fno-strict-aliasing. Two examples: https://bugs.freedesktop.org/show_bug.cgi?id=6046 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311 This makes -fno-strict-aliasing the default with a comment that developers should consider commenting it out. There is a already a note about these bugs in docs/helpwanted.html.
This commit is contained in:
parent
2bdd467dfd
commit
013dbcd611
@ -28,6 +28,10 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
|||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
||||||
$(X11_INCLUDES)
|
$(X11_INCLUDES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
EXTRA_LIB_PATH = -L/usr/X11R6/lib
|
||||||
|
@ -11,6 +11,10 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
|
|||||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
||||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
||||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
||||||
|
@ -12,6 +12,9 @@ CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
|
|||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = libGL.a
|
GL_LIB_NAME = libGL.a
|
||||||
|
@ -13,6 +13,10 @@ CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D
|
|||||||
|
|
||||||
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
|
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
|
||||||
ifeq ($(HAVE_X86), yes)
|
ifeq ($(HAVE_X86), yes)
|
||||||
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
||||||
|
@ -32,6 +32,9 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
|
|||||||
|
|
||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
@ -32,6 +32,9 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
|
|||||||
|
|
||||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
@ -6,6 +6,9 @@ CONFIG_NAME = linux-fbdev
|
|||||||
|
|
||||||
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
|
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
SRC_DIRS = mesa glu glut/fbdev
|
SRC_DIRS = mesa glu glut/fbdev
|
||||||
DRIVER_DIRS = fbdev osmesa
|
DRIVER_DIRS = fbdev osmesa
|
||||||
PROGRAM_DIRS = fbdev demos redbook samples
|
PROGRAM_DIRS = fbdev demos redbook samples
|
||||||
|
@ -12,6 +12,9 @@ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE
|
|||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
||||||
|
@ -33,6 +33,9 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
|||||||
|
|
||||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
@ -12,6 +12,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
SRC_DIRS = mesa glu
|
SRC_DIRS = mesa glu
|
||||||
|
@ -10,6 +10,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa16
|
OSMESA_LIB = OSMesa16
|
||||||
|
@ -11,6 +11,9 @@ CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=19930
|
|||||||
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
MKLIB_OPTIONS = -static
|
MKLIB_OPTIONS = -static
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa16
|
OSMESA_LIB = OSMesa16
|
||||||
|
@ -10,6 +10,9 @@ CXX = g++
|
|||||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
# Library names
|
# Library names
|
||||||
OSMESA_LIB = OSMesa32
|
OSMESA_LIB = OSMesa32
|
||||||
|
@ -32,6 +32,9 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
|
|||||||
|
|
||||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES =
|
ASM_SOURCES =
|
||||||
|
|
||||||
|
@ -14,6 +14,9 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199
|
|||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
GLUT_CFLAGS = -fexceptions
|
||||||
|
|
||||||
|
# Work around aliasing bugs - developers should comment this out
|
||||||
|
CFLAGS += -fno-strict-aliasing
|
||||||
|
CXXFLAGS += -fno-strict-aliasing
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
ASM_SOURCES = $(X86_SOURCES)
|
||||||
ASM_API = $(X86_API)
|
ASM_API = $(X86_API)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user