diff options
author | yshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-11-06 05:30:16 +0000 |
---|---|---|
committer | yshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-11-06 05:30:16 +0000 |
commit | 8a0d144b3992c1435861604ff19f321ddeb10e8c (patch) | |
tree | a8d92ac1517b5f62298bc29f3a5b4cd72b13491c /BaseTools/Conf | |
parent | ebc1ca5a1ba99ec41d09c65bef739bff884e129b (diff) | |
download | edk2-8a0d144b3992c1435861604ff19f321ddeb10e8c.zip edk2-8a0d144b3992c1435861604ff19f321ddeb10e8c.tar.gz edk2-8a0d144b3992c1435861604ff19f321ddeb10e8c.tar.bz2 |
Add the -mno-red-zone for gcc on x64. Since the GNU calling convention of x64 defines the 128bytes red zone beyond the stack point could not be modified by interrupt or exception handler, and Edk prime assumes all data beyond stack point should be volatile, if not add the option, the interrupt or exception handler may corrupt the red zone, which may be used as temporary storage.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4271 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Conf')
-rw-r--r-- | BaseTools/Conf/tools_def.template | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 8097fc2..6c0c43a 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -464,7 +464,7 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_CYGWINGCC_IA32_PP_PATH = DEF(CYGWIN_BIN32)/gcc
*_CYGWINGCC_IA32_VFRPP_PATH = DEF(CYGWIN_BIN32)/gcc
-*_CYGWINGCC_IA32_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h
+*_CYGWINGCC_IA32_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h
##################
# X64 definitions
@@ -476,7 +476,7 @@ RELEASE_WINDDK3790x1830_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT *_CYGWINGCC_X64_PP_PATH = DEF(CYGWIN_BINX64)/gcc
*_CYGWINGCC_X64_VFRPP_PATH = DEF(CYGWIN_BINX64)/gcc
-*_CYGWINGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h -D_EFI_P64
+*_CYGWINGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -mno-red-zone -Wall -Werror -c -include AutoGen.h -D_EFI_P64
####################################################################################
#
|