From: Paul J.Y. L. <pjl...@st...> - 2005-06-29 20:12:09
|
- aio.h does not exist for uClinux. It does not seem to be required, so just remove it. #### pan commented out temporarily - fdopen is a macro on uClinux, so drop the (). - Added workaround for libc missing definintion of __THROW. - Added workaround for libc missing definition of ULONG_MAX. **** capget, capset removed temporarily Index: ltp-cvs/lib/tlibio.c =================================================================== --- ltp-cvs.orig/lib/tlibio.c +++ ltp-cvs/lib/tlibio.c @@ -100,8 +100,10 @@ #include <string.h> /* bzero */ #endif #if defined(linux) || defined(__sun) || defined(__hpux) || defined(_AIX) +#ifndef UCLINUX #include <aio.h> #endif +#endif #include <stdlib.h> /* atoi, abs */ #include "tlibio.h" /* defines LIO* marcos */ Index: ltp-cvs/Makefile =================================================================== --- ltp-cvs.orig/Makefile +++ ltp-cvs/Makefile @@ -46,7 +46,7 @@ libltp.a: @$(MAKE) -C lib $@ uclinux: uclinux_libltp.a - @$(MAKE) -C pan all + #@$(MAKE) -C pan all @$(MAKE) -C testcases uclinux @$(MAKE) -C tools all @echo Index: ltp-cvs/lib/tst_res.c =================================================================== --- ltp-cvs.orig/lib/tst_res.c +++ ltp-cvs/lib/tst_res.c @@ -567,7 +567,11 @@ tst_exit() int tst_environ() { +#if defined UCLINUX && EMBED + FILE *fdopen; +#else FILE *fdopen(); +#endif if ( (T_out = fdopen(dup(fileno(stdout)), "w")) == NULL ) return(-1); Index: ltp-cvs/testcases/kernel/syscalls/adjtimex/adjtimex01.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/adjtimex/adjtimex01.c +++ ltp-cvs/testcases/kernel/syscalls/adjtimex/adjtimex01.c @@ -64,6 +64,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug causing failure in sys/timex.h */ +#define __THROW +#endif + #include <errno.h> #include <sys/timex.h> #include "test.h" Index: ltp-cvs/home/scjody/sb/ad/ltp-cvs/testcases/kernel/syscalls/alarm/alarm02.c =================================================================== --- ltp-cvs.orig/home/scjody/sb/ad/ltp-cvs/testcases/kernel/syscalls/alarm/alarm02.c +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Further, this software is distributed without any warranty that it is - * free of the rightful claim of any third person regarding infringement - * or the like. Any license provided herein, whether implied or - * otherwise, applies only to this software file. Patent licenses, if - * any, provided herein do not apply to combinations of this program with - * other software, or any other product whatsoever. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston MA 02111-1307, USA. - * - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, - * Mountain View, CA 94043, or: - * - * http://www.sgi.com - * - * For further information regarding this notice, see: - * - * http://oss.sgi.com/projects/GenInfo/NoticeExplan/ - */ -/* $Id: alarm02.c,v 1.1 2001/08/27 22:15:12 plars Exp $ */ -/********************************************************** - * - * OS Test - Silicon Graphics, Inc. - * - * TEST IDENTIFIER : alarm02 - * - * TEST TITLE : Boundary Value Test for alarm(2) - * - * PARENT DOCUMENT : almtds02 - * - * TEST CASE TOTAL : 3 - * - * WALL CLOCK TIME : 1 - * - * CPU TYPES : ALL - * - * AUTHOR : Billy Jean Horne - * - * CO-PILOT : Kathy Olmsted - * - * DATE STARTED : 06/01/92 - * - * INITIAL RELEASE : UNICOS 7.0 - * - * TEST CASES - * Test Case One - A call to alarm() shall not return an error if - * seconds is a -1. - * Test FAILS if a non-zero value is returned. - * Test Case Two - A call to alarm() shall not return an error if - * seconds is the maximum unsigned integer (2**63). - * Test FAILS if a non-zero value is returned. - * Test Case Three - A call to alarm() shall not return an error if - * seconds is the maximum unsigned integer plus 1 ((2**63)+1). - * Test FAILS if a non-zero value is returned. - * - * ENVIRONMENTAL NEEDS - * The libcuts.a and libsys.a libraries must be included in - * the compilation of this test. - * - * DETAILED DESCRIPTION - * - * Setup: - * Define a cleanup function. - * - * Test: - * Loop for each test case. - * Execute alarm (0) system call to clear previous alarm. - * Check return code, if system call failed (return=-1) - * Issue a FAIL message and exit the test. - * Call alarm() with boundary values for seconds. - * Verify that returned value is as expected. - * Report results. - * - * Cleanup: - * - */ -#include <sys/types.h> -#include <errno.h> -#include <sys/signal.h> -#include <limits.h> -#include "test.h" -#include "usctest.h" /* required for usctest */ - -void setup(); -void cleanup(); -void alarm_received(); - - - -char *TCID="alarm02"; /* Test program identifier. */ -int TST_TOTAL=3; /* Total number of test cases. */ -extern int Tst_count; /* Test Case counter for tst_ * routines */ - -int received_alarm = 0; /* Indicates a SIGALRM was received */ - -/************************************************************ - * Main program - ***********************************************************/ - -int -main(int ac, char **av) -{ - - /* Parameters for usc code */ - int lc; /* loop counter */ - char *msg; /* message returned from parse_opts */ - - /* Parameters for alarm test */ - char *buf[] = { "-1", "ULONG_MAX", "ULONG_MAX+1"}; - unsigned long int sec[] = {-1, ULONG_MAX, ULONG_MAX+1}; - int exp[] = {0,0,0}; - int i; - - - /*************************************************************** - * parse standard options - ***************************************************************/ - if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) { - tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); - tst_exit(); - } - - /*************************************************************** - * perform global setup for test - ***************************************************************/ - - setup(); - - /*************************************************************** - * check looping state - ***************************************************************/ - for (lc=0; TEST_LOOPING(lc); lc++) { - - /* reset Tst_count in case we are looping. */ - - Tst_count=0; - - for (i=0;i<TST_TOTAL;i++) { - - /* capture an SIGALRM signal */ - received_alarm = 0; - signal(SIGALRM, alarm_received); - - TEST (alarm (sec[i])); - /* reset the alarm */ - alarm (0); - if (TEST_RETURN != 0) { - tst_resm(TFAIL, - "alarm(%u) returned %u, when %u was expected for value %s.", - sec[i], TEST_RETURN, exp[i], buf[i]); - - } - /*************************************************************** - * only perform functional verification if flag set (-f not given) - ***************************************************************/ - else if (STD_FUNCTIONAL_TEST) { - if (received_alarm == 1) { - tst_resm (TFAIL, - "alarm(%u) returned %u but an alarm signal was received for value %s.", - sec[i], TEST_RETURN, buf[i]); - } else { - tst_resm (TPASS, - "alarm(%u) returned %u as expected for value %s.", - sec[i], TEST_RETURN, buf[i]); - } - - } /* End of STD_FUNCTIONAL_TEST */ - } /* End of for loop */ - /* - * Reset alarm before cleanup. - */ - - alarm(0); - - } /* End for TEST_LOOPING */ - - cleanup(); - - return 0; -} - -/*************************************************************** - * setup() - performs all ONE TIME setup for this test. - ***************************************************************/ - -void -setup() -{ - - /* capture signals */ - tst_sig(NOFORK, DEF_HANDLER, cleanup); - - /* Pause if that option was specified */ - TEST_PAUSE; - - /* End setup() */ - -} - -/*********************************************************** - * Cleanup: - * exit using tst_exit. - ***********************************************************/ - -void -cleanup() -{ - /* - * print timing stats if that option was specified. - * print errno log if that option was specified. - */ - TEST_CLEANUP; - - /* exit with return code appropriate for results */ - - tst_exit(); -} - -void alarm_received() -{ - received_alarm = 1; -} - - Index: ltp-cvs/testcases/kernel/syscalls/adjtimex/adjtimex02.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/adjtimex/adjtimex02.c +++ ltp-cvs/testcases/kernel/syscalls/adjtimex/adjtimex02.c @@ -77,6 +77,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug causing failure in sys/timex.h */ +#define __THROW +#endif + #include <errno.h> #include <sys/timex.h> #include <pwd.h> Index: ltp-cvs/testcases/kernel/syscalls/Makefile =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/Makefile +++ ltp-cvs/testcases/kernel/syscalls/Makefile @@ -34,7 +34,7 @@ EXCLUDE_DIR=epoll # Commented this out since there are directories here we don't want built by default # SUBDIR = `ls */Makefile | sed "s/Makefile//g" | grep -v epoll` -UCLINUX_SUBDIR = `ls */Makefile | sed "s/Makefile//g" | grep -vE "^fork|epoll"` +UCLINUX_SUBDIR = `ls */Makefile | sed "s/Makefile//g" | grep -vE "^fork|epoll|capget|capset|chmod|chown|clone"` all: @set -e; for i in lib $(SUBDIR); do \ Index: ltp-cvs/home/scjody/sb/ad/ltp-cvs/testcases/kernel/syscalls/brk/brk01.c =================================================================== --- ltp-cvs.orig/home/scjody/sb/ad/ltp-cvs/testcases/kernel/syscalls/brk/brk01.c +++ /dev/null @@ -1,344 +0,0 @@ -/* - * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Further, this software is distributed without any warranty that it is - * free of the rightful claim of any third person regarding infringement - * or the like. Any license provided herein, whether implied or - * otherwise, applies only to this software file. Patent licenses, if - * any, provided herein do not apply to combinations of this program with - * other software, or any other product whatsoever. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston MA 02111-1307, USA. - * - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, - * Mountain View, CA 94043, or: - * - * http://www.sgi.com - * - * For further information regarding this notice, see: - * - * http://oss.sgi.com/projects/GenInfo/NoticeExplan/ - * - */ -/* $Id: brk01.c,v 1.1 2001/08/27 22:15:12 plars Exp $ */ -/********************************************************** - * - * OS Test - Silicon Graphics, Inc. - * - * TEST IDENTIFIER : brk01 - * - * EXECUTED BY : anyone - * - * TEST TITLE : Basic test for brk(2) - * - * PARENT DOCUMENT : usctpl01 - * - * TEST CASE TOTAL : 1 - * - * WALL CLOCK TIME : 1 - * - * CPU TYPES : ALL - * - * AUTHOR : William Roske - * - * CO-PILOT : Dave Fenner - * - * DATE STARTED : 03/30/92 - * - * INITIAL RELEASE : UNICOS 7.0 - * - * TEST CASES - * - * 1.) brk(2) returns...(See Description) - * - * INPUT SPECIFICATIONS - * The standard options for system call tests are accepted. - * (See the parse_opts(3) man page). - * - * OUTPUT SPECIFICATIONS - * - * ENVIRONMENTAL NEEDS - * The libcuts.a and libsys.a libraries must be included in - * the compilation of this test. - * - * SPECIAL PROCEDURAL REQUIREMENTS - * None - * - * DETAILED DESCRIPTION - * This is a Phase I test for the brk(2) system call. It is intended - * to provide a limited exposure of the system call, for now. It - * should/will be extended when full functional tests are written for - * brk(2). - * - * Setup: - * Setup signal handling. - * Pause for SIGUSR1 if option specified. - * - * Test: - * Loop if the proper options are given. - * Execute system call - * Check return code, if system call failed (return=-1) - * Log the errno and Issue a FAIL message. - * Otherwise, Issue a PASS message. - * - * Cleanup: - * Print errno log and/or timing stats if options given - * - * - *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/ - -#include <unistd.h> -#include <errno.h> -#include <string.h> -#include <signal.h> -#include <sys/param.h> -#include <sys/resource.h> - -#include "test.h" -#include "usctest.h" - -#ifndef BSIZE -#define BSIZE BBSIZE -#endif - -void setup(); -void cleanup(); - - -#define MAX_SIZE_LC 1000 /* loop count test will reach max size */ - -char *TCID="brk01"; /* Test program identifier. */ -int TST_TOTAL=1; /* Total number of test cases. */ -extern int Tst_count; /* Test Case counter for tst_* routines */ - -long Max_brk_byte_size; -long Beg_brk_val; - -/*********************************************************************** - * MAIN - ***********************************************************************/ -int -main(int ac, char **av) -{ - int lc; /* loop counter */ - char *msg; /* message returned from parse_opts */ - int incr; /* increment */ - long nbrkpt; /* new brk point value */ - long cur_brk_val; /* current size returned by sbrk */ - long aft_brk_val; /* current size returned by sbrk */ - - /*************************************************************** - * parse standard options - ***************************************************************/ - if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) { - tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); - tst_exit(); - } - - /*************************************************************** - * perform global setup for test - ***************************************************************/ - setup(); - - /* - * Attempt to control how fast we get to test max size. - * Every MAX_SIZE_LC'th lc will be fastest test will reach max size. - */ - incr = (Max_brk_byte_size - Beg_brk_val)/(MAX_SIZE_LC/2); - - if ( (incr * 2) < 4096 ) /* make sure that process will grow */ - incr += 4096/2; - - /*************************************************************** - * check looping state if -c option given - ***************************************************************/ - for (lc=0; TEST_LOOPING(lc); lc++) { - - /* reset Tst_count in case we are looping. */ - Tst_count=0; - - /* - * Determine new value to give brk - * Every even lc value, grow by 2 incr and - * every odd lc value, strink by one incr. - * If lc is equal to 3, no change, special case. - */ - cur_brk_val=(long)sbrk(0); - if ( lc == 3 ) { - nbrkpt = cur_brk_val; /* no change, special one time case */ - } - else if ( (lc % 2) == 0 ) { - /* - * grow - */ - nbrkpt = cur_brk_val + (2 * incr); - - if ( nbrkpt > Max_brk_byte_size ) - nbrkpt=Beg_brk_val; /* start over */ - - } - else { - /* - * shrink - */ - nbrkpt = cur_brk_val - incr; - } - -/**** - printf("cur_brk_val = %d, nbrkpt = %d, incr = %d, lc = %d\n", - cur_brk_val, nbrkpt, incr, lc); -****/ - - /* - * Call brk(2) - */ - TEST(brk((char *)nbrkpt)); - - /* check return code */ - if ( TEST_RETURN == -1 ) { - - aft_brk_val=(long)sbrk(0); - tst_resm(TFAIL, - "brk(%d) Failed, errno=%d : %s\n size before %d, after %d", - nbrkpt, TEST_ERRNO, strerror(TEST_ERRNO), cur_brk_val, - aft_brk_val); - - } else { - - /*************************************************************** - * only perform functional verification if flag set (-f not given) - ***************************************************************/ - if ( STD_FUNCTIONAL_TEST ) { - - aft_brk_val=(long)sbrk(0); - if ( aft_brk_val == nbrkpt ) { - - tst_resm(TPASS, - "brk(%d) returned %d, new size verified by sbrk", - nbrkpt, TEST_RETURN); - } - else { - tst_resm(TFAIL, - "brk(%d) returned %d, sbrk before %d, after %d", - nbrkpt, TEST_RETURN, cur_brk_val, aft_brk_val); - } - } - } - - } /* End for TEST_LOOPING */ - - /*************************************************************** - * cleanup and exit - ***************************************************************/ - cleanup(); - - return 0; -} /* End main */ - -/*************************************************************** - * setup() - performs all ONE TIME setup for this test. - ***************************************************************/ -void -setup() -{ - unsigned long max_size; - int ncpus; - unsigned long ulim_sz; - unsigned long usr_mem_sz; - struct rlimit lim; - - /* capture signals */ - tst_sig(NOFORK, DEF_HANDLER, cleanup); - - /*if ((ulim_sz=ulimit(3,0)) == -1) - tst_brkm(TBROK, cleanup, "ulimit(3,0) Failed, errno=%d : %s", - errno, strerror(errno));*/ - - if (getrlimit(RLIMIT_DATA,&lim) == -1) - tst_brkm(TBROK, cleanup, "getrlimit(RLIMIT_DATA,0x%lld) Failed, errno=%d : %s", - (void*)&lim,errno, strerror(errno)); - ulim_sz = lim.rlim_cur; - -#ifdef CRAY - if ((usr_mem_sz=sysconf(_SC_CRAY_USRMEM)) == -1) - tst_brkm(TBROK, cleanup, "sysconf(_SC_CRAY_USRMEM) Failed, errno=%d : %s", - errno, strerror(errno)); - - usr_mem_sz *= 8; /* convert to bytes */ -#else - /* - * On IRIX, which is a demand paged system, memory is managed - * different than on Crays systems. For now, pick some value. - */ - usr_mem_sz = 1024 * 1024 * sizeof(long); -#endif - - -#ifdef linux -#define _SC_NPROC_ONLN _SC_NPROCESSORS_ONLN -#endif - if ((ncpus=sysconf(_SC_NPROC_ONLN)) == -1) - tst_brkm(TBROK, cleanup, - "sysconf(_SC_NPROC_ONLN) Failed, errno=%d : %s", - errno, strerror(errno)); - - /* - * allow 2*ncpus copies to run. - * never attempt to take more than a * 1/4 of memory (by single test) - */ - - if ( ulim_sz < usr_mem_sz ) - max_size = ulim_sz; - else - max_size = usr_mem_sz; - - max_size = max_size / (2 * ncpus); - - if ( max_size > (usr_mem_sz/4) ) - max_size = usr_mem_sz/4; /* only fourth mem by single test */ - - Beg_brk_val=(long)sbrk(0); - - /* - * allow at least 4 times a big as current. - * This will override above code. - */ - if ( max_size < Beg_brk_val*4 ) /* running on small mem and/or high # cpus */ - max_size = Beg_brk_val*4; - - Max_brk_byte_size = max_size; - - /* Pause if that option was specified */ - TEST_PAUSE; - - -} /* End setup() */ - - -/*************************************************************** - * cleanup() - performs all ONE TIME cleanup for this test at - * completion or premature exit. - ***************************************************************/ -void -cleanup() -{ - /* - * print timing stats if that option was specified. - * print errno log if that option was specified. - */ - TEST_CLEANUP; - - /* exit with return code appropriate for results */ - tst_exit(); - -} /* End cleanup() */ Index: ltp-cvs/testcases/kernel/syscalls/clone/clone01.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone01.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone01.c @@ -69,6 +69,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include <sys/wait.h> Index: ltp-cvs/testcases/kernel/syscalls/clone/clone02.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone02.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone02.c @@ -91,6 +91,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include <fcntl.h> Index: ltp-cvs/testcases/kernel/syscalls/clone/clone03.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone03.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone03.c @@ -67,6 +67,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include "test.h" Index: ltp-cvs/testcases/kernel/syscalls/clone/clone04.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone04.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone04.c @@ -65,6 +65,12 @@ * -t : Turn on syscall timing. * *********************************************************************/ + +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <sched.h> #include <errno.h> #include <sys/wait.h> Index: ltp-cvs/testcases/kernel/syscalls/clone/clone05.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone05.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone05.c @@ -65,6 +65,11 @@ * -t : Turn on syscall timing. ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include <sys/wait.h> Index: ltp-cvs/testcases/kernel/syscalls/clone/clone06.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone06.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone06.c @@ -70,6 +70,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include <sys/wait.h> Index: ltp-cvs/testcases/kernel/syscalls/clone/clone07.c =================================================================== --- ltp-cvs.orig/testcases/kernel/syscalls/clone/clone07.c +++ ltp-cvs/testcases/kernel/syscalls/clone/clone07.c @@ -68,6 +68,11 @@ * ****************************************************************/ +#if defined UCLINUX && !__THROW +/* workaround for libc bug */ +#define __THROW +#endif + #include <errno.h> #include <sched.h> #include <sys/wait.h> Index: ltp-cvs/lib/parse_opts.c =================================================================== --- ltp-cvs.orig/lib/parse_opts.c +++ ltp-cvs/lib/parse_opts.c @@ -507,6 +507,7 @@ parse_opts(int ac, char **av, option_t * } } +#if !defined(UCLINUX) if ( (ptr=getenv("USC_LP_SBRK")) != NULL ) { if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) { STD_LP_sbrk=k; @@ -515,6 +516,7 @@ parse_opts(int ac, char **av, option_t * STD_LP_sbrk); } } +#endif /* if !defined(UCLINUX) */ if ( (ptr=getenv("USC_LP_RECFUN")) != NULL ) { if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) { @@ -631,6 +633,7 @@ usc_global_setup_hook() signal(SIGUSR1, (void (*)())_TMP_FUNC); } +#if !defined(UCLINUX) if ( STD_TP_sbrk || STD_LP_sbrk) { STD_start_break=sbrk(0); /* get original sbreak size */ @@ -641,6 +644,8 @@ usc_global_setup_hook() if ( Debug ) printf("after sbrk(%d)\n", STD_TP_sbrk); } + +#endif /* if !defined(UCLINUX) */ #endif return 0; } @@ -781,11 +786,14 @@ int counter; usc_recressive_func(0, STD_LP_recfun, &STD_bigstack); } +#if !defined(UCLINUX) + if ( STD_LP_sbrk ) { if ( Debug ) printf("about to do sbrk(%d)\n", STD_LP_sbrk); sbrk(STD_LP_sbrk); } +#endif if ( keepgoing ) |