home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / vmsnet / misc / 716 < prev    next >
Encoding:
Text File  |  1992-08-12  |  2.4 KB  |  57 lines

  1. Path: sparky!uunet!usc!sdd.hp.com!mips!swrinde!elroy.jpl.nasa.gov!nntp-server.caltech.edu!eql.caltech.edu!rankin
  2. From: rankin@eql.caltech.edu (Pat Rankin)
  3. Newsgroups: vmsnet.misc
  4. Subject: Re: Bug in GAS inhibits DEBUGger functioning.
  5. Message-ID: <12AUG199220053212@eql.caltech.edu>
  6. Date: 13 Aug 92 03:05:00 GMT
  7. References: <1992Aug11.112127.4423@dmc.com>
  8. Sender: news@cco.caltech.edu
  9. Followup-To: vmsnet.misc
  10. Organization: California Institute of Technology
  11. Lines: 42
  12. News-Software: VAX/VMS VNEWS 1.41
  13. Nntp-Posting-Host: eql.caltech.edu
  14.  
  15. In article <1992Aug11.112127.4423@dmc.com>, munroe@dmc.com (Dick Munroe) writes...
  16. > I keep seeing the following messages from GAS:
  17. >
  18. > gcc-as warning(debugger output):Forward reference error, dbx type 54
  19. > gcc-as warning(debugger output):Forward reference error, dbx type 59
  20. > gcc-as warning(debugger output):Unable to resolve 1 circular references.
  21. > Which make the debugger unusable for that module.  (When the image is run,
  22. > it complains of badly nested DST records, which would figure).
  23. > Is this a known bug in GAS?  I'm using the GCC 1.40C and G++ 2.2.2 kits.
  24. > Are there later versions? Is there a fix?  I haven't been able to reduce
  25. > it to a simple case yet, but if someone wants to tackle the debugging
  26. > I'll see if I can't get something simple to cause the condition.
  27.  
  28.      The problem is caused by gcc2 (or gas's failure to honor the code
  29. generated by gcc2); gcc 1.40 does not exhibit those symptoms, at least for
  30. the situation I recently encountered it and the test case I've produced.
  31. --
  32. struct oops {
  33.   union {
  34.     long q_rdt[2];
  35.     struct { unsigned long l_rdt0; long l_rdt4; } r_rdt_fields;
  36.   } r_rdt_overlay;
  37.   union {
  38.     long q_cdt[2];
  39.     struct { unsigned long l_cdt0; long l_cdt4; } r_cdt_fields;
  40.   } r_cdt_overlay;
  41. };
  42.  
  43. int foo(void) { return 0; }
  44. --
  45. That gives a complaint about forward reference for dbx type 18.  (Those
  46. numbers will vary depending on the data structures in your program and
  47. the order gcc encounters them.)  This test is derived from <xabdatdef.h>;
  48. as a temporary work-around you might try suppressing or altering it if
  49. you happen to be using `#include <rms.h>' but don't need $xabdat.  Of
  50. course other code could cause gcc to generate similar offending .stabs
  51. directives, particularly if you're dealing with the structures and unions
  52. generated by UNSDL for assorted VMS data structures.
  53.  
  54.         Pat Rankin, rankin@eql.caltech.edu
  55.