home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!uwm.edu!linac!att!ucbvax!lrw.com!leichter
- From: leichter@lrw.com (Jerry Leichter)
- Newsgroups: comp.os.vms
- Subject: re: PCA limitation / Unix "strip" for VMS
- Message-ID: <9301260210.AA07197@uu3.psi.com>
- Date: 26 Jan 93 01:09:49 GMT
- Sender: daemon@ucbvax.BERKELEY.EDU
- Distribution: world
- Organization: The Internet
- Lines: 68
-
-
- [Mr. Fitch describes a problem with PCA when applied to a certain
- very large file.]
- The description of this error in the documentation says to submit an
- SPR to DEC if the same module works with the regular debugger. It
- seems to (I can "set module" to the module PCA complains about if I
- use the normal debugger), and in any case, if I substitute a null
- version of that program, PCA simply complains about another one.
- This implies that I'm simply bumping up against some limit in PCA.
-
- I suspect your conclusion is correct.
-
- This may or may not be fixable, but I'd rather not wait months or
- years for a fix.
-
- The application which I'm trying to use PCA on is still growing (it's
- in a development phase), so we'd still like to have all the symbols in
- the subroutines for debugging purposes. It takes a long time to
- recompile everything, so I'd rather not do that if I can avoid it.
-
- Well ... for the most part, you only have to do that ONCE. After that, as
- pieces are modified, you could compile each one twice, once with and once
- without /DEBUG. Except for the one long recompilation, what this would
- really cost you is disk space.
-
- What I'd like to find out is:
-
- - is there a known workaround for the PCA problem?
-
- Perhaps some PCA user can answer this one.
-
- - is there something I can specify to LINK to tell it
- to ignore debug symbols for a _subset_ of library modules?
-
- No, sorry.
-
- - is there a VMS equivalent of the Unix "strip" command
- that I can apply to object files? (Ideally, this
- would also work on an object library on a selective
- basis.) For what I'm doing with PCA, I can "a priori"
- determine that many of the modules don't need debug
- symbols. By giving PCA less to cope with, I could
- presumably work around the problem.
-
- I've never seen one. To tell you the truth, until your example, I've never
- seen the need for it.
-
- - could I create my own equivalent of "strip" by somehow
- setting the count of debug symbols in the object module
- header (or wherever) to zero? If this is feasible, can
- someone recommend a good starting point so I don't have
- to develop this from scratch?
-
- It should actually be pretty easy to create such a thing. An object file is
- a series of records of different types; all the debug information is in
- Debugger Information records. A "strip" program would merely read the records
- one at a time, ignore Debugger Information records, and copy the rest. The
- format and even the type flag values for object file records are all described
- in the Linker documentation. (The detailed internals of Debugger Information
- records isn't described - you have to look in the Debugger listings for that -
- but you don't really care about the innards for this application.) The
- definitions of the various symbols are in STARLET as, for example, the
- $OBJDEF macro. (OBJRECDEF.H for C programs.)
-
- If you write such a program, I'm sure others would find it useful, too.
-
- -- Jerry
-
-