Cnews ported to V/AT?

Randall L. Smith randy at rls.UUCP
Tue Feb 13 16:56:34 AEST 1990


In article <WPM#J3=@b-tech.uucp>, zeeff at b-tech.ann-arbor.mi.us (Jon Zeeff) writes:
>> Big enough to be a bad sign, I'm afraid.  A 16-bit program only has 64KB
>> of data space, and it wants to use some of that for other things.
>>
>>> Unfortunately, rebuilding just expire and relaynews in large model is
>>> such a pain that I haven't applied the January 1990 patches yet; I don't
>>> know if they'd fix the problem or not.
> 
> Some 16 bit systems like the '286 in large model allow you to have as 
> many 64kb data spaces as you want.  No single object can exceed 64k 
> bytes though.  Anything that mallocs memory in small chunks should 
> work.  Things that need large linear arrays don't work.  

I'm only familiar with the Microport 286 compiler and not sure about the
other 16 bit systems.  The (-Ml) large memory option will support only
four 64K segments.  TFM suggests a (-Mh) Huge memory option would
theoretically support many (unlimited) 64K segments.  Microport never
supported the Huge memory option. 

It is true, no single object can exceed the 64K segment boundaries. 
Further, no single object can span any two 64K segments.  I'm out on a
limb here but, I think there can be but one 64K Instruction segment and
upto three Data segments.  So much for segmented architecture. :(

A special compiler incantation must be used to prevent boundary expansion
from happening.  Long ago and far away I built straight, unpatched B-news
on 2.2.2L.  The 16-bit compress seemed to cause the bulk of the trouble. 
Finally with -Ml2et in the makefile (CFLAGS) = option, it built and ran
successfully with no special patches. 

The -Ml2et switch prevents an object from spanning two segments and other
good things.  Unfortunately, I forget their meaning now.  It is not too
clearly documented in the Microport programming manual.  I'm hoping this
helps someone.

Cheers!

- randy

Usenet: randy at rls.uucp
Bangpath: ...<backbone>!osu-cis!rls!randy
Internet: rls!randy at tut.cis.ohio-state.edu



More information about the Comp.unix.microport mailing list