rpj@cadillac.CAD.MCC.COM (Rich Johns) (12/08/88)
Here is my environment: X10R4, Sun3/60 (os 4.0). I have linked an InterViews application called idraw, and as such I have an executable that has been linked with X stuff. When I try to debug this executable, gdb+ 2.5.4 gets a segmentation fault while reading in the symbol table. I am using g++ 1.25.1. Other people are succesfully using this g++, gdb+ pair. Gdb+ has no trouble reading the symbol table of other executables I have tried, none of which were linked with X stuff though. Oh, by the way, my g++ was built on a Sun3 under os 3.5. X10R4 was built on a Sun3 os 3.5. Can anybody shed some light on this? Also, If someone could answer any of the following questions I would be most grateful: 1)Assume g++ is built on a Sun3 under os 3.5. It runs on a Sun3 under os 3.5 and it runs on a Sun3 under os 4.0. Will the executables be different depending on which machine g++ ran on (assuming the same source code of course)? I realize that some of the system library stuff will be different. But I am not sure to what extent. ill the executable itself bear markings, ie., header, symbol-table format, etc., of the os under which it was built. 2)I have heard that one cannot link 3.5 X code with any 4.0 code. Is this true and if so why? Os 4.0 is supposed to handle 3.5 executables. 3)This is really an extension of question 1. What constitutes a 4.0 object module? One that has been compiled by a compiler that was itself built under a 4.0 os, or one that is simply compiled under 4.0 os regardless of whether the compiler were built under 4.0. I suspect it is more complicated than either of the two. 4)What exactly does xgdb+ do that gdb+ does not? I am running emacs under X10R4 right now. I can run gdb+ in emacs (M-x gdb). Do I need xgdb+ to debug X stuff? -- Rich Johns, MCC CAD Program | 3500 W. Balcones Center Dr., Austin, TX 78759 ARPA: johns@mcc.com | Phone: [512] 338-3714 UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!johns