[comp.sys.ibm.pc.programmer] Using Codeview/TDebug w/ Plink86+

fayne@tellab5.tellabs.com (Jeffrey Fayne) (03/21/90)

Does anybody know of a way to use Codeview (or TurboDebug) on a C
program linked with Plink86+ ?  According to the Jan 29th issue of
PC Week, Plink will be supporting Codeview sometime in the future, however
I haven't heard of a new version yet. I'm pretty much committed to using
Plink, so switching back to the MS linker would be out of the question.
I understand .RTlink supports Codeview, but switching to that would be
cost prohibitive (already forked out $$$ for plink86). It would seem
to me that to stay competitive, adding Codeview support should be
the number one priority for changes to plink.

Any pointers would be appreciated.


                Thanks,
                        Jeff
-- 
_____________________________________________________________________________
                                             
 F-14             |    _    |               |  Jeffrey M. Fayne                
   Tomcat         |  /^ ^\  |               |  Tellabs, Inc.       
      ____________|_(  .  )_|____________   |  Lisle, IL  (708)-512-7726
           --*/--|_| (___) |_|--\*--        |  fayne@tellabs.com 
              *       O O       *     fjs   |  Standard Disclaimer Applies
_____________________________________________________________________________

pete@Octopus.COM (Pete Holzmann) (03/24/90)

fayne@tellab5.tellabs.com (Jeffrey Fayne) writes:
>
>Does anybody know of a way to use Codeview (or TurboDebug) on a C
>program linked with Plink86+ ?
>I understand .RTlink supports Codeview, but switching to that would be
>cost prohibitive (already forked out $$$ for plink86).

Time for me to rant and rave.

I'm working on a BIG program. Over 1MB EXE file, not including the gobs of
memory we have to malloc. Overlays required.

The answer, for now, is: you just can't do it. Not with PLink, NOT WITH
RTLINK!

What does PLink do when you have Codeview info in your obj files? It adds
all the Codeview info to DGROUP. So I get a 160K DGROUP! Great.

So off we go to use RTLink. "Written in MSC 5.1; works just fine with MSC 5.1;
no incompatibilities at all." Except one: Microsoft C always converts a
far call into a PUSH CS + near call when calling a routine in the same module.
RTLink turns the near call into a wild call if the routine being called 
happens to be indirectly callable from elsewhere! [Typical example: we've
got lots of 'helper functions', such as for managing a graphics cursor or a
data entry screen. The helper functions often call themselves.] RTLink claims
that this is not a bug, it is simply "a feature we do not support yet."
Riiiiiiight. Supposedly, they'll support it in the next release, coming out
in a few weeks.

So, we're stuck with MicroSoft Link until either we're fully debugged or
RTLink comes out with a fix. (Or PLink comes out with Codeview support, but
don't hold your breath...)

Pete
-- 
Peter Holzmann, Octopus Enterprises   |(if you're a techie Christian & are
19611 La Mar Ct., Cupertino, CA 95014 |interested in helping w/ the Great
UUCP: {hpda,pyramid}!octopus!pete     |Commission, email dsa-contact@octopus)
DSA office ans mach=408/996-7746;Work (SLP) voice=408/985-7400,FAX=408/985-0859