This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Drop has_restricted_stack_args flag
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 24 Jun 2016 09:11:04 -0000
- Subject: [newlib-cygwin] Drop has_restricted_stack_args flag
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=380b9affd1a9e9ac6a52642ee7fc098b404bda7e
commit 380b9affd1a9e9ac6a52642ee7fc098b404bda7e
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Dec 15 14:55:48 2015 +0100
Drop has_restricted_stack_args flag
Diff:
---
winsup/cygwin/exceptions.cc | 6 ------
winsup/cygwin/wincap.cc | 8 --------
winsup/cygwin/wincap.h | 2 --
3 files changed, 16 deletions(-)
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 7ad9988..504fae4 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -354,12 +354,6 @@ stack_info::walk ()
/* The arguments follow the return address */
sf.Params[0] = (_ADDR) *++framep;
- /* Hack for XP/2K3 WOW64. If the first stack param points to the
- application entry point, we can only fetch one additional
- parameter. Accessing anything beyond this address results in
- a SEGV. This is fixed in Vista/2K8 WOW64. */
- if (wincap.has_restricted_stack_args () && sf.Params[0] == 0x401000)
- nparams = 2;
for (unsigned i = 1; i < nparams; i++)
sf.Params[i] = (_ADDR) *++framep;
}
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 06601d8..4146ee4 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -24,7 +24,6 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:false,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
- has_restricted_stack_args:false,
has_transactions:false,
has_sendmsg:false,
has_broken_udf:true,
@@ -56,7 +55,6 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:false,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
- has_restricted_stack_args:true,
has_transactions:false,
has_sendmsg:false,
has_broken_udf:true,
@@ -88,7 +86,6 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:true,
has_gaa_largeaddress_bug:true,
- has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
@@ -120,7 +117,6 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:true,
- has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
@@ -152,7 +148,6 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
- has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
@@ -184,7 +179,6 @@ wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
- has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
@@ -216,7 +210,6 @@ wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) =
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
- has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
@@ -318,7 +311,6 @@ wincapc::init ()
#endif
{
((wincaps *)caps)->needs_count_in_si_lpres2 = false;
- ((wincaps *)caps)->has_restricted_stack_args = false;
((wincaps *)caps)->wow64_has_secondary_stack = false;
((wincaps *)caps)->has_gaa_largeaddress_bug = false;
((wincaps *)caps)->has_broken_prefetchvm = false;
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index e62f9fb..4f60d11 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -17,7 +17,6 @@ struct wincaps
unsigned has_mandatory_integrity_control : 1;
unsigned needs_count_in_si_lpres2 : 1;
unsigned has_gaa_largeaddress_bug : 1;
- unsigned has_restricted_stack_args : 1;
unsigned has_transactions : 1;
unsigned has_sendmsg : 1;
unsigned has_broken_udf : 1;
@@ -74,7 +73,6 @@ public:
bool IMPLEMENT (has_mandatory_integrity_control)
bool IMPLEMENT (needs_count_in_si_lpres2)
bool IMPLEMENT (has_gaa_largeaddress_bug)
- bool IMPLEMENT (has_restricted_stack_args)
bool IMPLEMENT (has_transactions)
bool IMPLEMENT (has_sendmsg)
bool IMPLEMENT (has_broken_udf)