[net.micro.cpm] Microsoft Linker L80 Question

ddd@hou2h.UUCP (D.DUBOSKY) (01/14/85)

Is anyone else having difficulty with Microsoft's Linker L80 when using
the search mode, that is, with a /s at the end of the file to be searched?
I am presently trying to use the linker with the C library of SmallC v2.1.
If I link the entire library with the compiled program, the resulting code
works just fine, but of course, I end up with a rather large program.  When
using the search mode, I get error messages that indicate that the linker
has not found certain modules of code.  What is a little confusing is that 
the modules that it is trying to link are not required by the compiled code
but are definitely present in the library.

Any suggestions would be appreciated.
Thanks for any replies.

					Dan Dubosky
					hou2h!ddd

andrew@orca.UUCP (Andrew Klossner) (01/18/85)

[]

	"Is anyone else having difficulty with Microsoft's Linker L80
	when using the search mode, that is, with a /s at the end of
	the file to be searched?"

There's a bug in L80.  When searching a library, it encounters a
module, and begins passing over the symbols to see if any are needed.
If it passes over a COMMON block, then comes to an symbol which is
needed, it gets a fatal system error in trying to back up to the
beginning of the module and begin loading.

This prevents inclusion of output from the Aztec C compiler in
libraries.  A work-around is to edit the assembly output from the
compiler and move all the common blocks to the end of the file.

I submitted a bug report to Microsoft two years ago, and received
acknowledgement, but to my knowledge they have never fixed this.
CP/M-80 is dead, don't you know ...

  -- Andrew Klossner   (decvax!tektronix!orca!andrew)       [UUCP]
                       (orca!andrew.tektronix@csnet-relay)  [ARPA]

mpackard@uok.UUCP (01/20/85)

+
This wonderful piece of software has 10 pages of documentation!
I believe the problem is in the order of your modules.  I am just
guessing but this happened to me once, so I ordered the modules
so the linker doesn't have to back-up.  If a function in one module
calls a function in another module, the caller must come before the
called function.   Good luck, you'll need it.
{allegra,ihnp4}!convex!ctvax!uokvax!uok!mpackard

howard@cyb-eng.UUCP (Howard Johnson) (01/22/85)

> There's a bug in L80.  When searching a library, it encounters a
> module, and begins passing over the symbols to see if any are needed.
> If it passes over a COMMON block, then comes to an symbol which is
> needed, it gets a fatal system error in trying to back up to the
> beginning of the module and begin loading.

I purchased Microsoft's M80/L80 assembler package 2-3 months ago and
the problem you mentioned about COMMON blocks is still there.
-- 
	Howard Johnson		Cyb Systems, Austin, TX
..!{gatech,harvard,ihnp4,nbires,noao,seismo}!ut-sally!cyb-eng!howard