Re: gdb symbol problem

Jie Zhang
2009-12-28T04:22:10Z

On 12/28/2009 12:14 PM, Hushan Jia wrote:
> On Mon, Dec 28, 2009 at 10:38 AM, Jie Zhang<jie.zhang@analog.com> wrote:
>> On 12/27/2009 11:45 AM, Hushan Jia wrote:
>>>
>>> On Sun, Dec 27, 2009 at 11:36 AM, Paul Pluzhnikov
>>> <ppluzhnikov@google.com> wrote:
>>>>
>>>> On Sat, Dec 26, 2009 at 6:16 PM, Hushan Jia<hushan.jia@gmail.com> wrote:
>>>>
>>>>> I invoke gdb like this:
>>>>>
>>>>> [hushan@hushan-t linux-2.6.31.3]$ gdb ./vmlinux
>>>>
>>>> Oh, you are not debugging a regular application. You probably should
>>>> have mentioned that in your initial message.
>>>
>>> Sorry for forget the important information.
>>>
>> What's the output of "readelf -S vmlinux"?
>
> Hi, The output is:
>
> # readelf -S vmlinux
> There are 77 section headers, starting at offset 0x3b569cc:
>
> Section Headers:
> [Nr] Name Type Addr Off Size ES Flg Lk Inf Al
> [ 0] NULL 00000000 000000 000000 00 0 0 0
> [ 1] .text.head PROGBITS c1000000 001000 0000a9 00 AX 0 0 4
> [ 2] .rel.text.head REL 00000000 3b575d4 000070 08
> 75 1 4
> [ 3] .text PROGBITS c10000c0 0010c0 291284 00 AX 0 0 32

It seems the machine was not executing code of your vmlinux. The code in
your vmlinux starts from 0xc1000000. But when you connected with GDB,
the stopped PC was 0xc0467118, which was just ahead of code sections of
your vmlinux. Is it possbile the linux kernel running in your qemu was
not the one you told GDB?

Jie