home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / os / vms / 21981 < prev    next >
Encoding:
Internet Message Format  |  1993-01-26  |  3.3 KB

  1. Path: sparky!uunet!spool.mu.edu!uwm.edu!linac!att!ucbvax!lrw.com!leichter
  2. From: leichter@lrw.com (Jerry Leichter)
  3. Newsgroups: comp.os.vms
  4. Subject: re: PCA limitation / Unix "strip" for VMS
  5. Message-ID: <9301260210.AA07197@uu3.psi.com>
  6. Date: 26 Jan 93 01:09:49 GMT
  7. Sender: daemon@ucbvax.BERKELEY.EDU
  8. Distribution: world
  9. Organization: The Internet
  10. Lines: 68
  11.  
  12.  
  13.     [Mr. Fitch describes a problem with PCA when applied to a certain
  14.     very large file.]
  15.     The description of this error in the documentation says to submit an
  16.     SPR to DEC if the same module works with the regular debugger.  It
  17.     seems to (I can "set module" to the module PCA complains about if I
  18.     use the normal debugger), and in any case, if I substitute  a null
  19.     version of that program,  PCA simply complains about another one.
  20.     This implies that I'm simply bumping up against some limit in PCA.
  21.  
  22. I suspect your conclusion is correct.
  23.  
  24.     This may or may not be fixable, but I'd rather not wait months or
  25.     years for a fix.
  26.  
  27.     The application which I'm trying to use PCA on is still growing (it's
  28.     in a development phase), so we'd still like to have all the symbols in
  29.     the subroutines for debugging purposes.  It takes a long time to
  30.     recompile everything, so I'd rather not do that if I can avoid it.
  31.  
  32. Well ... for the most part, you only have to do that ONCE.  After that, as
  33. pieces are modified, you could compile each one twice, once with and once
  34. without /DEBUG.  Except for the one long recompilation, what this would
  35. really cost you is disk space.
  36.  
  37.     What I'd like to find out is:
  38.  
  39.     - is there a known workaround for the PCA problem?
  40.  
  41. Perhaps some PCA user can answer this one.
  42.  
  43.     - is there something I can specify to LINK to tell it
  44.       to ignore debug symbols for a _subset_ of library modules?
  45.  
  46. No, sorry.
  47.  
  48.     - is there a VMS equivalent of the Unix "strip" command
  49.       that I can apply to object files?  (Ideally, this
  50.       would also work on an object library on a selective
  51.       basis.)  For what I'm doing with PCA, I can "a priori"
  52.       determine that many of the modules don't need debug  
  53.        symbols.  By giving PCA less to cope with, I could
  54.       presumably work around the problem.
  55.  
  56. I've never seen one.  To tell you the truth, until your example, I've never
  57. seen the need for it.
  58.  
  59.     - could I create my own equivalent of "strip" by somehow 
  60.       setting the count of debug symbols in the object module 
  61.       header (or wherever) to zero?  If this is feasible, can
  62.       someone recommend a good starting point so I don't have
  63.       to develop this from scratch?
  64.  
  65. It should actually be pretty easy to create such a thing.  An object file is
  66. a series of records of different types; all the debug information is in
  67. Debugger Information records.  A "strip" program would merely read the records
  68. one at a time, ignore Debugger Information records, and copy the rest.  The
  69. format and even the type flag values for object file records are all described
  70. in the Linker documentation.  (The detailed internals of Debugger Information
  71. records isn't described - you have to look in the Debugger listings for that -
  72. but you don't really care about the innards for this application.)  The
  73. definitions of the various symbols are in STARLET as, for example, the
  74. $OBJDEF macro.  (OBJRECDEF.H for C programs.)
  75.  
  76. If you write such a program, I'm sure others would find it useful, too.
  77.  
  78.                             -- Jerry
  79.  
  80.