/bin/ld problem (too many segments)

Greg Laskin greg at gryphon.CTS.COM
Sun Jun 12 21:08:52 AEST 1988


In article <12 at n0atp.UUCP> barry at n0atp.UUCP (Barry S. Berg) writes:
>  SEG is a compiler kludge created by the fact that 8086/8 80286 etc have 
>  limited (64K) segments for data/stack/code portions.  Rather than implement
>  a simulated 32 bit work space Lattice determined to create lots of little
>  (64K) segments when they developed their C compiler.  Microsoft used the
>  Lattice compiler, until I believe it was their 3.0 release.  Thus they
>  have carried this kludge with them.
>

The limit being exceeded is the number of uniquely named segments in the
set of object modules presented to the linker.  The -SEG switch tells
cc to give ld an -s parameter to increase the size of ld's segment table.
The -SEG switch does nothing to the compiler at all.  They could of
used -s but that flag was already used in cc.

I don't see why this is a kludge.  A similar switch has been available
in most of the loaders I've used over the last 20 years.


-- 
Greg Laskin  greg at gryphon.CTS.COM    <any backbone site>!gryphon!greg



More information about the Comp.unix.xenix mailing list