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

  1. Path: sparky!uunet!ittc!fitch
  2. From: fitch@ittc.wec.com (Ken Fitch)
  3. Newsgroups: comp.os.vms
  4. Subject: PCA limitation / Unix "strip" for VMS
  5. Keywords: PCA,strip
  6. Message-ID: <418@ittc.wec.com>
  7. Date: 24 Jan 93 18:15:02 GMT
  8. Sender: news@ittc.wec.com
  9. Organization: Westinghouse Electric Corp., ITTC, Pgh. PA.
  10. Lines: 125
  11.  
  12. The DECset Performance & Coverage Analyzer (PCA) is having trouble
  13. digesting an executable with a large number of debug symbols.
  14. When run it gives the message:
  15.  
  16. =================================================================
  17. /user/krf/appr_bm> run testexec_pca
  18.  
  19.         VAX PCA Collector Version V4.0-80
  20.  
  21. PCAC> g
  22. %PCA-E-INCDST, incorrect DST nesting in module RPDINIT. Datafile not set.
  23. %PCA-I-NODATACOL, exiting with no data collection phase
  24. =================================================================
  25.  
  26. (Note that the pathname prompt simply betrays my Unix orientation.)
  27.  
  28. When I say large executable, I mean (output cleaned up a little to
  29. minimize linewrap):
  30.  
  31.  
  32. USER3:[USER.KRF.APPR_BM]TESTEXEC_PCA.EXE;1  24-JAN-1993 11:53  VAX-11 Linker V05-13  Page  182
  33.  
  34.                                                  +----------------+
  35.                                                  ! Image Synopsis !
  36.                                                  +----------------+
  37.  
  38. Virtual memory allocated:     00000200 00FA81FF 00FA8000 (16416768. bytes, 32064. pages)
  39. Stack size:                                             20. pages
  40. Image header virtual block limits:                       1.        3. (    3. blocks)
  41. Image binary virtual block limits:                       4.    19221. (19218. blocks)
  42. Image name and identification:                    TESTEXEC_PCA 01
  43. System component mask:                             00000010
  44.     SYS$K_VERSION_PROCESS_SCHED                      1,80
  45. Number of files:                                        35.
  46. Number of modules:                                     820.
  47. Number of program sections:                            877.
  48. Number of global symbols:                             2282.
  49. Number of image sections:                               95.
  50. User transfer address:                            00D6E000
  51. Debugger transfer address:                        00F6162F
  52. Number of address fixups:                            60040.
  53. Number of code references to shareable images:          72.
  54. Image type:                                       EXECUTABLE.
  55. Map format:        DEFAULT in file USER3:[USER.KRF.APPR_BM]TESTEXEC_PCA.MAP;63
  56. Estimated map length:                             1231. blocks
  57.                                               +---------------------+
  58.                                               ! Link Run Statistics !
  59.                                               +---------------------+
  60.  
  61. Performance Indicators                            Page Faults    CPU Time    Elapsed Time
  62. ----------------------                            -----------    --------    ------------
  63.     Command processing:                                   615    00:00:04.41    00:00:08.01
  64.     Pass 1:                                              1452    00:00:11.72    00:02:39.97
  65.     Allocation/Relocation:                                537    00:00:00.28    00:00:00.41
  66.     Pass 2:                                            121712    00:02:12.56    00:08:24.92
  67.     Map data after object module synopsis:               1333    00:00:02.46    00:00:04.54
  68.     Symbol table output:                                   50    00:00:00.08    00:00:00.71
  69. Total run values:                                      125699    00:02:31.51    00:11:18.56
  70.  
  71. Using a working set limited to 60000 pages and 137972 pages of data storage (excluding image)
  72.  
  73. Total number object records read (both passes):   141276
  74.     of which 69547 were in libraries and 60481 were DEBUG data records containing 46019172 bytes
  75. 40943406 bytes of DEBUG data were written,starting at VBN 19785 with 26975 blocks allocated
  76.  
  77. Number of modules extracted explicitly             = 0
  78.     with 747 extracted to resolve undefined symbols
  79.  
  80. 2461 library searches were for symbols not in the library searched
  81.  
  82. A total of 55 global symbol table records was written
  83.  
  84. LINK/DEBUG/MAP=TESTEXEC_PCA/EXE=TESTEXEC_PCA.EXE/DEBUG=SYS$LIBRARY:PCA$OBJ.OBJ 
  85.     TESTEXEC.OBJ,SETPAM.OBJ,TESTEXEC_PATCHES.OBJ,SIM$INC:[SIMEXEC]SIMEXEC/OPT,
  86.     SIM$INC:[DATAPOOL]CLUSTERS_NOSHR/OPT,SIM$INC:[DATAPOOL]PSECT_MOD/OPT,
  87.     LEVEL_:LINK_LIBRARIES/OPT,LEVEL_:GSMATCH/OPT,
  88.     USER3:[USER.KRF.APPR_BM]DEFAULTS.OLB/LIBRARY
  89.  
  90. ====================================================================================
  91.  
  92.  
  93. The description of this error in the documentation says to submit
  94. an SPR to DEC if the same module works with the regular debugger.
  95. It seems to (I can "set module" to the module PCA complains about
  96. if I use the normal debugger), and in any case, if I substitute 
  97. a null version of that program, 
  98. PCA simply complains about another one.  This implies that I'm
  99. simply bumping up against some limit in PCA.  This may or may
  100. not be fixable, but I'd rather not wait months or years for a fix.
  101.  
  102. The application which I'm trying to use PCA on is still growing
  103. (it's in a development phase), so we'd still like to
  104. have all the symbols in the subroutines for debugging purposes.
  105. It takes a long time to recompile everything, so I'd rather not
  106. do that if I can avoid it.
  107.  
  108. What I'd like to find out is:
  109.  
  110.     - is there a known workaround for the PCA problem?
  111.  
  112.     - is there something I can specify to LINK to tell it
  113.       to ignore debug symbols for a _subset_ of library modules?
  114.  
  115.     - is there a VMS equivalent of the Unix "strip" command
  116.       that I can apply to object files?  (Ideally, this
  117.       would also work on an object library on a selective
  118.       basis.)  For what I'm doing with PCA, I can "a priori"
  119.       determine that many of the modules don't need debug  
  120.        symbols.  By giving PCA less to cope with, I could
  121.       presumably work around the problem.
  122.  
  123.     - could I create my own equivalent of "strip" by somehow 
  124.       setting the count of debug symbols in the object module 
  125.       header (or wherever) to zero?  If this is feasible, can
  126.       someone recommend a good starting point so I don't have
  127.       to develop this from scratch?
  128.  
  129. Thanks in advance,
  130.  
  131. Ken Fitch, fitch@ittc.pgh.wec.com
  132. --
  133. Kenneth R. Fitch
  134. fitch@ittc.wec.com
  135. uunet!ittc!fpb
  136. (412)733-6435
  137.