Merge 53501 and 53502 from 25 branch:
Add /GS- for AMD64 and Itanium builds where missing.
diff --git a/PCbuild/_bsddb.vcproj b/PCbuild/_bsddb.vcproj
index 4a612a4..f901d53 100644
--- a/PCbuild/_bsddb.vcproj
+++ b/PCbuild/_bsddb.vcproj
@@ -130,7 +130,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include;..\PC;&quot;..\..\db-4.4.20\build_win32&quot;"
diff --git a/PCbuild/_elementtree.vcproj b/PCbuild/_elementtree.vcproj
index dec48e3..587a35c 100644
--- a/PCbuild/_elementtree.vcproj
+++ b/PCbuild/_elementtree.vcproj
@@ -129,7 +129,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
diff --git a/PCbuild/_msi.vcproj b/PCbuild/_msi.vcproj
index b4afeb4..cbf20ea 100644
--- a/PCbuild/_msi.vcproj
+++ b/PCbuild/_msi.vcproj
@@ -129,7 +129,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
@@ -150,7 +150,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
-				AdditionalDependencies="fci.lib msi.lib rpcrt4.lib"
+				AdditionalDependencies="fci.lib msi.lib rpcrt4.lib bufferoverflowU.lib"
 				OutputFile="./_msi.pyd"
 				LinkIncremental="1"
 				SuppressStartupBanner="TRUE"
diff --git a/PCbuild/_socket.vcproj b/PCbuild/_socket.vcproj
index 22fb492..26f77ef 100644
--- a/PCbuild/_socket.vcproj
+++ b/PCbuild/_socket.vcproj
@@ -128,7 +128,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/_sqlite3.vcproj b/PCbuild/_sqlite3.vcproj
index a0408a6..aea3978 100644
--- a/PCbuild/_sqlite3.vcproj
+++ b/PCbuild/_sqlite3.vcproj
@@ -131,7 +131,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4"
@@ -193,7 +193,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_OPTERON"
+				AdditionalOptions=" /USECL:MS_OPTERON /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include;..\PC;..\..\sqlite-source-3.3.4"
diff --git a/PCbuild/_ssl.mak b/PCbuild/_ssl.mak
index 2623d27..5641c6a 100644
--- a/PCbuild/_ssl.mak
+++ b/PCbuild/_ssl.mak
@@ -31,7 +31,7 @@
 
 _hashlib$(SUFFIX): $(HASH_SOURCE) $(SSL_LIB_DIR)/libeay32.lib ../PC/*.h ../Include/*.h
     @if not exist "$(TEMP)/_hashlib/." mkdir "$(TEMP)/_hashlib"
-    cl /nologo /c $(HASH_SOURCE) $(CFLAGS) /Fo$(TEMP)\_hashlib\$*.obj $(INCLUDES) 
+    cl /nologo /c $(HASH_SOURCE) $(CFLAGS) $(EXTRA_CFLAGS) /Fo$(TEMP)\_hashlib\$*.obj $(INCLUDES) 
     link /nologo @<<
 	/dll /out:_hashlib$(SUFFIX) $(HASH_LIBS) $(TEMP)\_hashlib\$*.obj
 <<
diff --git a/PCbuild/_testcapi.vcproj b/PCbuild/_testcapi.vcproj
index c58331e..a91d8ce 100644
--- a/PCbuild/_testcapi.vcproj
+++ b/PCbuild/_testcapi.vcproj
@@ -126,7 +126,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/_tkinter.vcproj b/PCbuild/_tkinter.vcproj
index 4ffeae5..f14e727 100644
--- a/PCbuild/_tkinter.vcproj
+++ b/PCbuild/_tkinter.vcproj
@@ -130,7 +130,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\..\tcltk\include,..\Include,..\PC"
diff --git a/PCbuild/build_ssl.py b/PCbuild/build_ssl.py
index 5ab3449..2a31ca4 100644
--- a/PCbuild/build_ssl.py
+++ b/PCbuild/build_ssl.py
@@ -169,6 +169,8 @@
     defs = "SSL_DIR=\"%s\"" % (ssl_dir,)
     if debug:
         defs = defs + " " + "DEBUG=1"
+    if arch in ('amd64', 'ia64'):
+        defs = defs + " EXTRA_CFLAGS=/GS-"
     makeCommand = 'nmake /nologo -f _ssl.mak ' + defs + " " + make_flags
     print "Executing:", makeCommand
     sys.stdout.flush()
diff --git a/PCbuild/bz2.vcproj b/PCbuild/bz2.vcproj
index 8cbe15a..d86d325 100644
--- a/PCbuild/bz2.vcproj
+++ b/PCbuild/bz2.vcproj
@@ -137,7 +137,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC,..\..\bzip2-1.0.3"
diff --git a/PCbuild/pyexpat.vcproj b/PCbuild/pyexpat.vcproj
index c2b8824..1c5b3ad 100644
--- a/PCbuild/pyexpat.vcproj
+++ b/PCbuild/pyexpat.vcproj
@@ -128,7 +128,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
@@ -189,7 +189,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_OPTERON"
+				AdditionalOptions=" /USECL:MS_OPTERON  /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\expat"
diff --git a/PCbuild/python.vcproj b/PCbuild/python.vcproj
index aa432d4..8412e81 100644
--- a/PCbuild/python.vcproj
+++ b/PCbuild/python.vcproj
@@ -137,7 +137,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM /VSEXTCOMP_VERBOSE"
+				AdditionalOptions=" /USECL:MS_ITANIUM  /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj
index ebaa78f..9f59cf4 100644
--- a/PCbuild/pythoncore.vcproj
+++ b/PCbuild/pythoncore.vcproj
@@ -144,7 +144,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/pythonw.vcproj b/PCbuild/pythonw.vcproj
index 2cc7d61..d00142f 100644
--- a/PCbuild/pythonw.vcproj
+++ b/PCbuild/pythonw.vcproj
@@ -130,7 +130,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/select.vcproj b/PCbuild/select.vcproj
index 15bfe17..615cc0f 100644
--- a/PCbuild/select.vcproj
+++ b/PCbuild/select.vcproj
@@ -130,7 +130,7 @@
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/unicodedata.vcproj b/PCbuild/unicodedata.vcproj
index 472b6b7..cc23da1 100644
--- a/PCbuild/unicodedata.vcproj
+++ b/PCbuild/unicodedata.vcproj
@@ -126,7 +126,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"
diff --git a/PCbuild/winsound.vcproj b/PCbuild/winsound.vcproj
index 34aadbf..6736ad7 100644
--- a/PCbuild/winsound.vcproj
+++ b/PCbuild/winsound.vcproj
@@ -128,7 +128,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalOptions=" /USECL:MS_ITANIUM"
+				AdditionalOptions=" /USECL:MS_ITANIUM /GS-"
 				Optimization="2"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\Include,..\PC"