From: ceriel Date: Fri, 15 Jul 1988 15:29:44 +0000 (+0000) Subject: Added flag to give stack size X-Git-Tag: release-5-5~3027 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=5c508b566f7c6fa2ec091fd4df68cf67979c55df;p=ack.git Added flag to give stack size --- diff --git a/lib/xenix3/descr b/lib/xenix3/descr index f763d6243..a51b5b10a 100644 --- a/lib/xenix3/descr +++ b/lib/xenix3/descr @@ -55,6 +55,7 @@ name cv from .out to .cv program {EM}/lib/{M}/cv - args < > + mapflag -F* CVFLAG=-F* + args {CVFLAG?} < > outfile a.out end diff --git a/mach/xenix3/cv/cv.c b/mach/xenix3/cv/cv.c index 1162988c3..472b3a300 100644 --- a/mach/xenix3/cv/cv.c +++ b/mach/xenix3/cv/cv.c @@ -120,11 +120,27 @@ main(argc, argv) long datasize ; long bsssize; long symstart; + long stacksize = 0x1000; output = 1; program= argv[0] ; if ( argc>1 && argv[1][0]=='-' ) { - flag=argv[1][1] ; + if (argv[1][1] == 'F') { + register char *p = &argv[1][2]; + + stacksize = 0; + while (*p) { + stacksize <<= 4; + if (*p >= '0' && *p <= '9') + stacksize += *p - '0'; + else if (*p >= 'a' && *p <= 'f') + stacksize += 10 + *p - 'a'; + else if (*p >= 'A' && *p <= 'F') + stacksize += 10 + *p - 'A'; + else fatal("Illegal -F option\n"); + p++; + } + } argc-- ; argv++ ; } switch (argc) { @@ -200,7 +216,7 @@ main(argc, argv) if ( outsect[LSECT].os_size != 0 ) fatal("end segment must be empty\n") ; } - ext.xe_stksize = 0x1000; + ext.xe_stksize = stacksize; /* Not too big, because "brk" and "sbrk"-allocated memory resides above the stack! */