This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap 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 translator/10408] IA-32 - stap unable to decode parameter location using DWARF


------- Additional Comments From mhiramat at redhat dot com  2009-07-29 19:59 -------
Dwarfdump said:
---
<1><48125>      DW_TAG_subprogram
                DW_AT_external              yes(1)
                DW_AT_name                  sys_epoll_wait
                DW_AT_decl_file             1 fs/eventpoll.c
                DW_AT_decl_line             1249
                DW_AT_prototyped            yes(1)
                DW_AT_type                  <172>
                DW_AT_low_pc                0xc04cc908
                DW_AT_high_pc               0xc04ccc8b
                DW_AT_frame_base            <loclist with 3 entries follows>
                        [ 0]<lowpc=0xc04cc908><highpc=0xc04cc909>DW_OP_breg4+4
                        [ 1]<lowpc=0xc04cc909><highpc=0xc04cc90b>DW_OP_breg4+8
                        [ 2]<lowpc=0xc04cc90b><highpc=0xc04ccc8b>DW_OP_breg5+8
                DW_AT_sibling               <49424>
<2><48155>      DW_TAG_formal_parameter
                DW_AT_name                  epfd
                DW_AT_decl_file             1 fs/eventpoll.c
                DW_AT_decl_line             1249
                DW_AT_type                  <96>
                DW_AT_location              <loclist with 3 entries follows>
                        [ 0]<lowpc=0xc04cc908><highpc=0xc04cc93f>DW_OP_breg1+0
                        [ 1]<lowpc=0xc04cc93f><highpc=0xc04cc96c>DW_OP_reg0
                        [ 2]<lowpc=0xc04cc96c><highpc=0xc04ccc8b>DW_OP_breg1+0
---

And objdump said:
---
c04cc908 <sys_epoll_wait>:
c04cc908:       55                      push   %ebp
c04cc909:       89 e5                   mov    %esp,%ebp
c04cc90b:       57                      push   %edi
c04cc90c:       56                      push   %esi
c04cc90d:       53                      push   %ebx
c04cc90e:       51                      push   %ecx
c04cc90f:       83 ec 60                sub    $0x60,%esp
c04cc912:       8d 4d 08                lea    0x8(%ebp),%ecx  <---here!
c04cc915:       e8 4a d5 f3 ff          call   c0409e64 <mcount>
c04cc91a:       8b 51 04                mov    0x4(%ecx),%edx
c04cc91d:       8b 01                   mov    (%ecx),%eax
c04cc91f:       8b 79 0c                mov    0xc(%ecx),%edi
c04cc922:       89 55 b0                mov    %edx,-0x50(%ebp)
c04cc925:       8b 71 08                mov    0x8(%ecx),%esi
c04cc928:       89 f2                   mov    %esi,%edx
c04cc92a:       4a                      dec    %edx
---

You can see that the top of stack address is assigned to ecx at c04cc912.
However, dwarf has no such information. It seems gcc's bug.(maybe, the
combination of -g and mcount will cause this bug)

-- 


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

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


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