public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug translator/4915] New: Incorrect code for accessing function argument
@ 2007-08-10 20:23 wcohen at redhat dot com
  2007-08-10 20:23 ` [Bug translator/4915] " wcohen at redhat dot com
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-10 20:23 UTC (permalink / raw)
  To: systemtap

On RHEL4 machines the a number of the tests from
testsuite/systemtap.syscall/syscall.exp fail on i686 machine when
running the nightly test runs based on a checkout from cvs and using a
elfutils 0.127. Looking through the tests results a number of the
syscall functions seem to be getting bogus arguments producing
"<unknown>" as one of the systemcall arguments. The same tests failed
regardless using the linux-2.6.9-55.0.2.ELsmp or the 2.6.23-rc2
kernels. On the RHEL4 system the following systemcalls had bogus
arguments:

access
chdir
chmod
chown
lchown
open
pwrite
readlink
statfs
swapoff
swapon


It was noted that the failure did not occur on the RHEL5 i386
machine. Thus, the 2.6.23-rc2 kernel was built on both RHEL4 and RHEL5
i386 machines and a stripped down script, open.stp, were used to
compare the differences between working RHEL5 and problem RHEL4.  One
possible cause of the problem is the compiler generating bogus
debugging information. The machines have the following compilers:

rhel4: gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)
rhel5: gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)

The code for the sys_open function being instrumented looks to be identical.
The place that probes are places on the code are marked below.


RHEL4
c017384f <sys_open>:
c017384f:	51                   	push   %ecx		<--retprobe
c0173850:	8b 44 24 10          	mov    0x10(%esp),%eax <---entry probe
c0173854:	8b 54 24 08          	mov    0x8(%esp),%edx
c0173858:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
c017385c:	89 04 24             	mov    %eax,(%esp)
c017385f:	b8 9c ff ff ff       	mov    $0xffffff9c,%eax
c0173864:	e8 26 ff ff ff       	call   c017378f <do_sys_open>
c0173869:	5a                   	pop    %edx
c017386a:	c3                   	ret    

RHEL5
c046ca3b <sys_open>:
c046ca3b:	83 ec 04             	sub    $0x4,%esp <---both probes here
c046ca3e:	8b 44 24 10          	mov    0x10(%esp),%eax
c046ca42:	8b 54 24 08          	mov    0x8(%esp),%edx
c046ca46:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
c046ca4a:	89 04 24             	mov    %eax,(%esp)
c046ca4d:	b8 9c ff ff ff       	mov    $0xffffff9c,%eax
c046ca52:	e8 07 ff ff ff       	call   c046c95e <do_sys_open>
c046ca57:	5a                   	pop    %edx
c046ca58:	c3                   	ret    


Below are the functions for obtaining file name generated on the RHEL4
and RHEL5 machines. The one for the RHEL4 machine doe not look
correct. The argument is still on the stack. It isn't in a register
yet.

RHEL4 code for getting the filename:

void function__dwarf_tvar_get_filename_3 (struct context* __restrict__ c) {
  struct function__dwarf_tvar_get_filename_3_locals *  __restrict__ l =
    & c->locals[c->nesting].function__dwarf_tvar_get_filename_3;
  (void) l;
  #define CONTEXT c
  #define THIS l
  if (0) goto out;
  l->__retvalue = 0;
  {
    {
  {
    uint32_t addr;
    { // DWARF expression: 0x52
    { uint32_t value = fetch_register (2);addr = value; }
    }
    THIS->__retvalue = addr;
  }
  goto out;
if (0) goto deref_fault;
deref_fault:
  c->last_error = "pointer dereference fault";
  goto out;
}
/* pure */
  }
out:
  ;
  #undef CONTEXT
  #undef THIS
}


RHEL5 code for getting filename:

void function__dwarf_tvar_get_filename_3 (struct context* __restrict__ c) {
  struct function__dwarf_tvar_get_filename_3_locals *  __restrict__ l =
    & c->locals[c->nesting].function__dwarf_tvar_get_filename_3;
  (void) l;
  #define CONTEXT c
  #define THIS l
  if (0) goto out;
  l->__retvalue = 0;
  {
    {
  {
    intptr_t addr;
  intptr_t frame_base;
  { // DWARF expression: 0x74(4)
    {
      intptr_t s0;
        s0 = fetch_register (4) + 4L;
      frame_base = s0;
    }
  }
    { // DWARF expression: 0x91
      {
        intptr_t s0;
        s0 = frame_base + 0L;
        addr = s0;
      }
    }
    { // synthesized
    { uint32_t value = deref (4, addr);addr = value; }
    }
    THIS->__retvalue = addr;
  }
  goto out;
if (0) goto deref_fault;
deref_fault:
  c->last_error = "pointer dereference fault";
  goto out;
}
/* pure */
  }
out:
  ;
  #undef CONTEXT
  #undef THIS
}

-- 
           Summary: Incorrect code for accessing function argument
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: wcohen at redhat dot com
  GCC host triplet: i386


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
@ 2007-08-10 20:23 ` wcohen at redhat dot com
  2007-08-10 20:24 ` fche at redhat dot com
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-10 20:23 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-10 20:23 -------
Created an attachment (id=1959)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=1959&action=view)
script that probes sys_open and uses the filename argument


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
  2007-08-10 20:23 ` [Bug translator/4915] " wcohen at redhat dot com
@ 2007-08-10 20:24 ` fche at redhat dot com
  2007-08-10 20:35 ` wcohen at redhat dot com
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2007-08-10 20:24 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2007-08-10 20:23 -------
Is your systemtap build for RHEL4 using/implying -P for prologue searching?
What does stap -vvvv say about figuring out that argument?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Incorrect code for accessing|Incorrect code for accessing
                   |function argument           |function argument


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
  2007-08-10 20:23 ` [Bug translator/4915] " wcohen at redhat dot com
  2007-08-10 20:24 ` fche at redhat dot com
@ 2007-08-10 20:35 ` wcohen at redhat dot com
  2007-08-10 21:28 ` wcohen at redhat dot com
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-10 20:35 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-10 20:23 -------
Created an attachment (id=1960)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=1960&action=view)
output of translator from rhel4 system


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (2 preceding siblings ...)
  2007-08-10 20:35 ` wcohen at redhat dot com
@ 2007-08-10 21:28 ` wcohen at redhat dot com
  2007-08-10 21:43 ` wcohen at redhat dot com
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-10 21:28 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-10 20:24 -------
Created an attachment (id=1961)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=1961&action=view)
output of translator from rhel5 system


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (3 preceding siblings ...)
  2007-08-10 21:28 ` wcohen at redhat dot com
@ 2007-08-10 21:43 ` wcohen at redhat dot com
  2007-08-10 22:13 ` fche at redhat dot com
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-10 21:43 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-10 20:35 -------
Looking through the obj/config.h:

/* make -P prologue-searching default */
#define ENABLE_PROLOGUES 

grepping the output of the "stap -vvvv ~/open.stp" results.

$ grep filename ~/open_results.txt 
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
Eliding assignment to filename at operator '=' at /home/wcohen/open.stp:8:11
Eliding unused function _dwarf_tvar_get_filename_0
Eliding unused local variable filename in probe_1557
Changing _dwarf_tvar_get_filename_5 reference to _dwarf_tvar_get_filename_3
reference
Changing _dwarf_tvar_get_filename_6 reference to _dwarf_tvar_get_filename_3
reference


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (4 preceding siblings ...)
  2007-08-10 21:43 ` wcohen at redhat dot com
@ 2007-08-10 22:13 ` fche at redhat dot com
  2007-08-11  1:52 ` wcohen at redhat dot com
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2007-08-10 22:13 UTC (permalink / raw)
  To: systemtap



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
Attachment #1960 is|0                           |1
           obsolete|                            |


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (5 preceding siblings ...)
  2007-08-10 22:13 ` fche at redhat dot com
@ 2007-08-11  1:52 ` wcohen at redhat dot com
  2007-08-11  9:48 ` fche at redhat dot com
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-11  1:52 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-10 21:43 -------
Got the raw dwarf information using the following commands:

readelf --debug-dump  /tmp/stap_rhel4/vmlinux-2.6.23-rc2 >
/tmp/stap_rhel4/vmlinux-2.6.23-rc2.debug_info
readelf --debug-dump /boot/vmlinux-2.6.23-rc2  >
/tmp/stap_rhel5/vmlinux-2.6.23-rc2.debug_info

It looks like the RHEL4 gcc compiler is generating some questionable debuginfo.

RHEL4 version
 <1><61d544>: Abbrev Number: 83 (DW_TAG_subprogram)
     DW_AT_sibling     : <61d59c>
     DW_AT_external    : 1
     DW_AT_name        : (indirect string, offset: 0x393cc): sys_open
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1048
     DW_AT_prototyped  : 1
     DW_AT_type        : <610a64>
     DW_AT_low_pc      : 0xc017384f
     DW_AT_high_pc     : 0xc017386b
     DW_AT_frame_base  : 2 byte block: 74 4     (DW_OP_breg4: 4)
 <2><61d561>: Abbrev Number: 84 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x510e3): filename
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <61121a>
     DW_AT_location    : 1 byte block: 52       (DW_OP_reg2)
 <2><61d56f>: Abbrev Number: 84 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0xcdf17): flags
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <610a35>
     DW_AT_location    : 1 byte block: 51       (DW_OP_reg1)
 <2><61d57d>: Abbrev Number: 84 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x5c9): mode
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <610a35>
     DW_AT_location    : 1 byte block: 50       (DW_OP_reg0)
 <2><61d58b>: Abbrev Number: 91 (DW_TAG_variable)
     DW_AT_name        : ret
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1049
     DW_AT_type        : <610a64>
     DW_AT_location    : 0xa6de1        (location list)


RHEL5
 <1><65ecd8>: Abbrev Number: 83 (DW_TAG_subprogram)
     DW_AT_sibling     : <65ed34>
     DW_AT_external    : 1
     DW_AT_name        : (indirect string, offset: 0x3982d): sys_open
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1048
     DW_AT_prototyped  : 1
     DW_AT_type        : <652c64>
     DW_AT_low_pc      : 0xc046ca3b
     DW_AT_high_pc     : 0xc046ca59
     DW_AT_frame_base  : 0x9402e        (location list)
 <2><65ecf6>: Abbrev Number: 89 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x51af4): filename
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <6533b6>
     DW_AT_location    : 2 byte block: 91 0     (DW_OP_fbreg: 0)
 <2><65ed05>: Abbrev Number: 89 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0xd60b6): flags
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <652c35>
     DW_AT_location    : 2 byte block: 91 4     (DW_OP_fbreg: 4)
 <2><65ed14>: Abbrev Number: 89 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x836d): mode
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1047
     DW_AT_type        : <652c35>
     DW_AT_location    : 2 byte block: 91 8     (DW_OP_fbreg: 8)
 <2><65ed23>: Abbrev Number: 95 (DW_TAG_variable)
     DW_AT_name        : ret
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1049
     DW_AT_type        : <652c64>
     DW_AT_location    : 0x9404e        (location list)



-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (6 preceding siblings ...)
  2007-08-11  1:52 ` wcohen at redhat dot com
@ 2007-08-11  9:48 ` fche at redhat dot com
  2007-08-13 15:58 ` wcohen at redhat dot com
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2007-08-11  9:48 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2007-08-11 01:52 -------
(In reply to comment #5)
> Looking through the obj/config.h:
> /* make -P prologue-searching default */
> #define ENABLE_PROLOGUES 

OK.

> grepping the output of the "stap -vvvv ~/open.stp" results.

That point is too late.  The question is why the prologue-searching
heuristic ends up choosing 0xc0173850.  CVS systemtap on 2.6.9-55.ELsmp
gives me the correct instruction.  Grep the bunch of lines before/after
'prologue'.

If the problem ends up being solely that the RHEL4 gcc building bleeding
edge kernels gives poor results, this may not be worth fixing.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (7 preceding siblings ...)
  2007-08-11  9:48 ` fche at redhat dot com
@ 2007-08-13 15:58 ` wcohen at redhat dot com
  2007-08-13 20:13 ` fche at redhat dot com
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-13 15:58 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-13 14:26 -------
Isn't 2.6.9-55.ELsmp an older kernel? Current RHEL4 is 2.6.9-55.0.2.EL. Does the
debug information for the sys_open function look correct for that kernel?

Looking through the RHEL4 system output for -vvvv see the follow output related
to the generation of the probe points for the 2.6.23-rc2 kernel built with the
RHEL 4 gcc (gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)):

control symbols: kts: 0xc0315b98 kte: 0xc03184b2 stext: 0xc01012dc
parsed 'sys_open' -> func 'sys_open'
pattern 'kernel' matches module 'kernel'
focused on module 'kernel = [0xc0100000-0xc0708000, bias 0x0] file
/boot/vmlinux-2.6.23-rc2 ELF machine i?86 (code 3)
pattern 'sys_open' matches function 'sys_open'
selected function sys_open
prologue searching function 'sys_open' 0xc017384f-0xc017386b@fs/open.c:1048
checking line record 0xc017384f@fs/open.c:1048
checking line record 0xc0173850@fs/open.c:1054
prologue found function 'sys_open' = 0xc0173850
probe sys_open@fs/open.c:1048 kernel section=.text pc=0xc0173850
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'flags' near address c0173850, module bias 0
finding location for local 'mode' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'mode' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
finding location for local 'filename' near address c0173850, module bias 0
control symbols: kts: 0xc0315b98 kte: 0xc03184b2 stext: 0xc01012dc
parsed 'sys_open' -> func 'sys_open'
pattern 'kernel' matches module 'kernel'
focused on module 'kernel = [0xc0100000-0xc0708000, bias 0x0] file
/boot/vmlinux-2.6.23-rc2 ELF machine i?86 (code 3)
pattern 'sys_open' matches function 'sys_open'
selected function sys_open
prologue searching function 'sys_open' 0xc017384f-0xc017386b@fs/open.c:1048
checking line record 0xc017384f@fs/open.c:1048
checking line record 0xc0173850@fs/open.c:1054
prologue found function 'sys_open' = 0xc0173850
probe sys_open@fs/open.c:1048 kernel section=.text pc=0xc017384f

-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (8 preceding siblings ...)
  2007-08-13 15:58 ` wcohen at redhat dot com
@ 2007-08-13 20:13 ` fche at redhat dot com
  2007-08-13 21:57 ` wcohen at redhat dot com
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2007-08-13 20:13 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2007-08-13 18:48 -------
(In reply to comment #8)
> Isn't 2.6.9-55.ELsmp an older kernel? Current RHEL4 is 2.6.9-55.0.2.EL. Does the
> debug information for the sys_open function look correct for that kernel?

Yes, all looks fine on my 2.6.9-55.0.2ELsmp and non-smp i686 installation.
In each case, the first two instructions are skipped (those with line
record fs/open.c:964), and the subsequent one (:971) gets working data.

Are you positive that you've seen this fail on an RHEL4 official kernel?
There may be ABI differences (regparms?) between your old and new kernel
configs, and the RHEL4 compiler may not be up to the latter.


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (9 preceding siblings ...)
  2007-08-13 20:13 ` fche at redhat dot com
@ 2007-08-13 21:57 ` wcohen at redhat dot com
  2007-08-13 22:19 ` wcohen at redhat dot com
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-13 21:57 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-13 20:11 -------
Yes, the 2.6.9-55.0.2 kernels are official kernels installed from RPMs. The
debuginfo is publically available from:

ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4AS/en/os/Debuginfo/i386/RPMS

Here are the related RPMs installed on the machine:

$ rpm -qa |grep kernel|grep 2.6.9-55.0.2
kernel-smp-2.6.9-55.0.2.EL
kernel-devel-2.6.9-55.0.2.EL
kernel-hugemem-devel-2.6.9-55.0.2.EL
kernel-2.6.9-55.0.2.EL
kernel-smp-devel-2.6.9-55.0.2.EL
kernel-doc-2.6.9-55.0.2.EL
kernel-debuginfo-2.6.9-55.0.2.EL

This open.stp example in the bugzilla appears to be working in this case.
However, many of the systemtap.systemcall calls still fail. Are the tests
passing when running something like the following?

 runtest --tool_opts install --tool systemtap --srcdir
/home/wcohen/stap_testing_200708131335/src/testsuite systemtap.syscall/*.exp 

There are still many failures in the systemtap.log for 2.6.9-55.0.2.EL kernel.

Looking through the many "<uknown>" arguments in place of strings. So the tests
are running correctly on the RHEL4 i686 machine there? The question is what is
different between the environments? Same kernel rpms? Same gcc and elfutils?

Could this be a result of using elfutils 0.127 vs. 0.128? The elfutils source is
being extracted from the devel elfutils rpm.


-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] Incorrect code for accessing function argument
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (10 preceding siblings ...)
  2007-08-13 21:57 ` wcohen at redhat dot com
@ 2007-08-13 22:19 ` wcohen at redhat dot com
  2007-08-14 22:52 ` [Bug translator/4915] imperfect prologue searching heuristics for inlined functions fche at redhat dot com
  2010-05-22 14:27 ` fche at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: wcohen at redhat dot com @ 2007-08-13 22:19 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wcohen at redhat dot com  2007-08-13 20:13 -------
Created an attachment (id=1962)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=1962&action=view)
Run of the systemtap.syscall/*.exp on 2.6.9-55.0.2.EL kernel

The output shows many of the tests failing on this machine due to "<unknown>"
arguments.

-- 


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] imperfect prologue searching heuristics for inlined functions
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (11 preceding siblings ...)
  2007-08-13 22:19 ` wcohen at redhat dot com
@ 2007-08-14 22:52 ` fche at redhat dot com
  2010-05-22 14:27 ` fche at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2007-08-14 22:52 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2007-08-14 17:22 -------
I'm seeing some debugging info errors for sys_open and sys_access on
2.6.9-55.0.2.EL[smp].  They don't fit quite into the current "trouble cases"
for the prologue searcher (resolve_prologue_endings), in that what seems
to be happening is that a small function without a prologue calls an inlined
friend that does have a real prologue.  The gcc-emitted debugging info appears
to be valid (or at least plausible) for an int parameter, but a char* sibling
is invalid until the inlined prologue of the second function.

I don't know whether it's worth trying to improve the systemtap-side heuristics,
or beat on the old compiler.  Or neither?  Opinions please?


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Incorrect code for accessing|imperfect prologue searching
                   |function argument           |heuristics for inlined
                   |                            |functions


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug translator/4915] imperfect prologue searching heuristics for inlined functions
  2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
                   ` (12 preceding siblings ...)
  2007-08-14 22:52 ` [Bug translator/4915] imperfect prologue searching heuristics for inlined functions fche at redhat dot com
@ 2010-05-22 14:27 ` fche at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: fche at redhat dot com @ 2010-05-22 14:27 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2010-05-21 19:44 -------
Chances are we won't hack more on the prologue heuristics, with new compilers
generating good debuginfo for arguments.  Old distributions may need to suffer
with probe placement complications; at worst, .statement(...) probes instead of
.function() ones.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |WONTFIX


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

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2010-05-21 19:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-10 20:23 [Bug translator/4915] New: Incorrect code for accessing function argument wcohen at redhat dot com
2007-08-10 20:23 ` [Bug translator/4915] " wcohen at redhat dot com
2007-08-10 20:24 ` fche at redhat dot com
2007-08-10 20:35 ` wcohen at redhat dot com
2007-08-10 21:28 ` wcohen at redhat dot com
2007-08-10 21:43 ` wcohen at redhat dot com
2007-08-10 22:13 ` fche at redhat dot com
2007-08-11  1:52 ` wcohen at redhat dot com
2007-08-11  9:48 ` fche at redhat dot com
2007-08-13 15:58 ` wcohen at redhat dot com
2007-08-13 20:13 ` fche at redhat dot com
2007-08-13 21:57 ` wcohen at redhat dot com
2007-08-13 22:19 ` wcohen at redhat dot com
2007-08-14 22:52 ` [Bug translator/4915] imperfect prologue searching heuristics for inlined functions fche at redhat dot com
2010-05-22 14:27 ` fche at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).