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