summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source
diff options
context:
space:
mode:
authorFeng, Bob C <bob.c.feng@intel.com>2019-04-30 19:07:01 +0800
committerFeng, Bob C <bob.c.feng@intel.com>2019-05-01 10:21:56 +0800
commitc4c8c340ef010db3096702201fbd8c350d0cfcdc (patch)
tree1cafe54f63996dc528da44bc8e41cf38b2f8f2cd /BaseTools/Source
parent0d6de095a5aebe38091009297ed282c9d6996942 (diff)
downloadedk2-c4c8c340ef010db3096702201fbd8c350d0cfcdc.tar.gz
edk2-c4c8c340ef010db3096702201fbd8c350d0cfcdc.tar.bz2
edk2-c4c8c340ef010db3096702201fbd8c350d0cfcdc.zip
BaseTools: Add GCC flags to Basetool build.
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1764 Some compiler flags restrict the compiler from making arbitrary decisions while handling undefined C/C++ behaviors. Therefore they can be used to fix some issues caused by undefined behavior. For example, for GCC, the following flags are available: -fno-delete-null-pointer-checks tells the compiler NOT to assume that null pointer deference does not exist. -fwrapv tells the compiler that signed overflow always wraps. This patch is going to add these 2 build options to BaseTool GCC build option. Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'BaseTools/Source')
-rw-r--r--BaseTools/Source/C/Makefiles/header.makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index c2397b796c..eac295b4dd 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -71,7 +71,8 @@ ifeq ($(DARWIN),Darwin)
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
-Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
else
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+-fno-delete-null-pointer-checks -Wall -Werror \
-Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \
-Wno-unused-result -nostdlib -g
endif