gdb out of sync with kernel/glibc?


Subject: gdb out of sync with kernel/glibc?
From: Kevin B. Hendricks (khendricks@ivey.uwo.ca)
Date: Wed Jul 04 2001 - 02:19:36 MDT


Hi,

I have run into some sort of out of sync condition with gdb and the kernel,
or glibc which will be a showstopper for me unless it get fixed so any help
would be greatly appreciated:

- upon exiting the kde desktop, kdeinit always segfaults (quietly) leaving
behind a core file in my home directory. I thought what the hell, let's
track this one down and ran gdb -c core on the core file and got the
following error message:

kdeinit: Exit.
KLauncher: Exiting on signal 15
 
[artsd] ** Warning ** cache shutdown while still active objects in cache
warning: leaving MCOP Dispatcher and still 11 object references alive.
  - Arts::Synth_MULTI_ADD
  - Arts::Synth_MULTI_ADD
  - Arts::Synth_PLAY
  - Arts::StereoEffectStack
  - Arts::Synth_BUS_DOWNLINK
  - Arts::SoundServer
  - Arts::MidiManager
  - Arts::AudioManagerClient
  - Arts::Synth_BUS_UPLINK
  - Arts::Synth_AMAN_PLAY
  - Arts::Synth_PLAY_WAV
warning: leaving MCOP Dispatcher and still 41 types alive.
 
[kbhend@localhost kbhend]$ gdb -c core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ppc-yellowdog-linux".
Core was generated by `kdeinit: kdesktop'.
Program terminated with signal 11, Segmentation fault.
 
warning: wrong size gregset struct in core file
 
warning: wrong size fpregset struct in core file
 
warning: wrong size gregset struct in core file
 
warning: wrong size fpregset struct in core file
#0 0x0 in ?? ()
(gdb)

So gdb seems to have been built using either a glibc or a kernel that is
using different structure for the core file and register sets.

possible explanations:

1. I am using the default 2.2.19 kernel but glibc and gdb compiled against
2.4.X? Does 2.2.19 build a different core structure than 2.4.4? I know
that glibc will build differently if a 2.4.X kernel is enabled versus
a 2.2.X kernel. How was our glibc built?

2. Altivec support was compiled into kernel, perhaps gdb does not support
altivec and wrong register set sizes result?

Either way, should we be building and running apps against 2.4.X headers when
we are actually running a 2.2.19 kernel?

What is the solution here? If I upgrade to the 2.4.X kernel, will gdb start
working again or should I rebuild gdb against 2.2.19 headers?

And how stable is the 2.4.X kernel? I have read horrow stores about file
system and vm issues with those kernels on x86? Is 2.4.X stable enough to be
used for all day-to-day operations including development?

Without a working gdb, I am hosed so any help here would be greatly
appreciated.

Thanks,

Kevin



This archive was generated by hypermail 2a24 : Wed Jul 04 2001 - 05:24:57 MDT