Path: utzoo!utgpu!attcan!uunet!ateng!chip From: chip@ateng.ateng.com (Chip Salzenberg) Newsgroups: comp.lang.c Subject: Re: Contiguous address spaces Keywords: virtual machine language design Message-ID: <1988Oct17.111614.8377@ateng.ateng.com> Date: 17 Oct 88 15:16:14 GMT References: <853@goofy.megatest.UUCP> <1988Oct13.210524.22909@ateng.ateng.com> <1901@ficc.uu.net> Organization: A T Engineering, Tampa, FL Lines: 27 (Thanks, Peter, for doing my homework.) According to peter@ficc.uu.net (Peter da Silva): >[System V documentation on sbrk() and brk()] >merely says "both commands reset the break value for the process and >allocate the requested amount of space". Further on, it says "sbrk() >adds incr bytes to the break value and changes the allocated space >accordingly", which as much as says that it's contiguous. I agree, that's what it says. However... I would consider the System V docs to be in error. Ignoring Xenix/286, Microport 286AT *is* System V; and there's no way a '286 can provide contiguous space >64K unless the C compiler is always in "huge" model, an unacceptable performance hit (and one which e.g. Microport doesn't take). But since Unix is now written on and for 32-bit processors, I don't expect AT&T to make doc changes required for the '286. >>>(actually, what /bin/sh does can't be explained in polite company). >>Can you say "catch SIGSEGV, call sbrk() and retry"? I knew you could. >Watch your language. Excuse me, I forgot where I was. -- Chip Salzenberg or A T Engineering Me? Speak for my company? Surely you jest! Beware of programmers carrying screwdrivers.