This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug cli/12444] disassemble /m errors on inlined code?


http://sourceware.org/bugzilla/show_bug.cgi?id=12444

--- Comment #3 from Andrew Burgess <aburgess at broadcom dot com> 2011-10-10 12:42:43 UTC ---
Created attachment 5971
  --> http://sourceware.org/bugzilla/attachment.cgi?id=5971
Another example of this issue.

I have another test that is failing I believe for the same underlying cause,
though the failure is slightly different in this case. In this test a single
merged.c file includes foo.c and bar.c. If I try to disassemble with source
code functions from foo.c or bar.c then no source lines are found/printed.

To run the test,

$ tar -xjvf merged-test-2.tar.bz2
$ cd merged-test-2
$ make test
Testing merged files...
gdb -x cmds.gdb merged.x
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
/home/andrew/merge-file-issue/merged-test-2/merged.x...done.
+disassemble /m main
Dump of assembler code for function main:
   0x080483b4 <+0>:    push   %ebp
   0x080483b5 <+1>:    mov    %esp,%ebp
   0x080483b7 <+3>:    and    $0xfffffff0,%esp
   0x080483ba <+6>:    call   0x80483c3 <function>
   0x080483bf <+11>:    mov    %ebp,%esp
   0x080483c1 <+13>:    pop    %ebp
   0x080483c2 <+14>:    ret    
End of assembler dump.
+disassemble /m function
Dump of assembler code for function function:
   0x080483c3 <+0>:    push   %ebp
   0x080483c4 <+1>:    mov    %esp,%ebp
   0x080483c6 <+3>:    mov    $0x5,%eax
   0x080483cb <+8>:    pop    %ebp
   0x080483cc <+9>:    ret    
End of assembler dump.
+quit
Testing unmerged files...
gdb -x cmds.gdb unmerged.x
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
/home/andrew/merge-file-issue/merged-test-2/unmerged.x...done.
+disassemble /m main
Dump of assembler code for function main:
3    {
   0x080483c0 <+0>:    push   %ebp
   0x080483c1 <+1>:    mov    %esp,%ebp
   0x080483c3 <+3>:    and    $0xfffffff0,%esp

4      return function ();
   0x080483c6 <+6>:    call   0x80483b4 <function>

5    }
   0x080483cb <+11>:    mov    %ebp,%esp
   0x080483cd <+13>:    pop    %ebp
   0x080483ce <+14>:    ret    

End of assembler dump.
+disassemble /m function
Dump of assembler code for function function:
3    {
   0x080483b4 <+0>:    push   %ebp
   0x080483b5 <+1>:    mov    %esp,%ebp

4      return 5;
   0x080483b7 <+3>:    mov    $0x5,%eax

5    }
   0x080483bc <+8>:    pop    %ebp
   0x080483bd <+9>:    ret    

End of assembler dump.
+quit


In the first case ("Testing merged files...") the disassembly for "main" and
"function" contain no source lines. In the second case ("Testing unmerged
files...") the disassembly for "main" and "function" do contain the source
lines.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]