From b1711a1f96d2059216cedb9dadcb3d9479b4cb9d Mon Sep 17 00:00:00 2001 From: Egor Duda Date: Thu, 20 Sep 2001 15:44:41 +0000 Subject: [PATCH] * libltp/lib/get_high_address.c (get_high_address): Get inaccessible address more robustly. * winsup.api/ltp/stat06.c (high_address_setup): Use generic function from ltp library to obtain inaccessible address. --- winsup/testsuite/ChangeLog | 7 +++++++ winsup/testsuite/libltp/lib/get_high_address.c | 9 +++++++-- winsup/testsuite/libltp/lib/search_path.c | 2 -- winsup/testsuite/winsup.api/ltp/stat06.c | 8 +++----- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/winsup/testsuite/ChangeLog b/winsup/testsuite/ChangeLog index c95966b8e..a08e413bb 100644 --- a/winsup/testsuite/ChangeLog +++ b/winsup/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2001-09-20 Egor Duda + + * libltp/lib/get_high_address.c (get_high_address): Get inaccessible + address more robustly. + * winsup.api/ltp/stat06.c (high_address_setup): Use generic function + from ltp library to obtain inaccessible address. + 2001-09-15 Egor Duda * winsup.api/ltp/sbrk01.c (main): Force output at startup to diff --git a/winsup/testsuite/libltp/lib/get_high_address.c b/winsup/testsuite/libltp/lib/get_high_address.c index 3b4105743..5fe1e81b2 100644 --- a/winsup/testsuite/libltp/lib/get_high_address.c +++ b/winsup/testsuite/libltp/lib/get_high_address.c @@ -1,5 +1,3 @@ -/* $Header$ */ - /* * (C) COPYRIGHT CRAY RESEARCH, INC. * UNPUBLISHED PROPRIETARY INFORMATION. @@ -7,9 +5,16 @@ */ #include +#ifdef __CYGWIN__ +#include +#endif char * get_high_address() { +#ifdef __CYGWIN__ + return VirtualAlloc (NULL, 4096, MEM_COMMIT, PAGE_NOACCESS) + 2048; +#else return (char *)sbrk(0) + 16384; +#endif } diff --git a/winsup/testsuite/libltp/lib/search_path.c b/winsup/testsuite/libltp/lib/search_path.c index d6570cb59..6663da507 100644 --- a/winsup/testsuite/libltp/lib/search_path.c +++ b/winsup/testsuite/libltp/lib/search_path.c @@ -1,5 +1,3 @@ -/* $Header$ */ - /* * (C) COPYRIGHT CRAY RESEARCH, INC. * UNPUBLISHED PROPRIETARY INFORMATION. diff --git a/winsup/testsuite/winsup.api/ltp/stat06.c b/winsup/testsuite/winsup.api/ltp/stat06.c index 6da1507da..90ee05a4c 100644 --- a/winsup/testsuite/winsup.api/ltp/stat06.c +++ b/winsup/testsuite/winsup.api/ltp/stat06.c @@ -129,6 +129,8 @@ char *TCID="stat06"; /* Test program identifier. */ int TST_TOTAL=8; /* Total number of test cases. */ extern int Tst_count; /* Test Case counter for tst_* routines */ +extern char *get_high_address(); + int exp_enos[]={0, 0}; int high_address_setup(); @@ -327,11 +329,7 @@ high_address_setup() for (ind=0; Test_cases[ind].desc != NULL; ind++ ) { if ( Test_cases[ind].pathname == High_address ) { /*if ( strcmp(Test_cases[ind].pathname, HIGH_ADDRESS) == 0 ) { ***/ -#ifndef __CYGWIN__ - Test_cases[ind].pathname = (char *)(sbrk(0)+5); -#else - Test_cases[ind].pathname = (char *)0xffff0000; -#endif + Test_cases[ind].pathname = get_high_address(); break; } }