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/12138] sdt_misc.exp fails most ptr types on i686


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

--- Comment #3 from Josh Stone <jistone at redhat dot com> 2010-10-20 01:32:09 UTC ---
(In reply to comment #1)
> The test isn't very helpful about diagnostics, but I'll pick the first FAIL:
> 
> From sdt_types.c:
>   char *ptr_char_var = &char_var;
>   STAP_PROBE2(provider,ptr_char_var,ptr_char_var,&char_var);

Roland helped me figure out that .note.stapsdt gets:
.asciz "ptr_char_var"
.asciz "4@124(%esp) 4@%eax"

> printf("%p %p\n", $arg1, $arg2)

The translator does:
$arg1: user_int((%{ /* unprivileged */ /* pure */u_fetch_register(4) %}) +
(124))
$arg2: %{ /* unprivileged */ /* pure */u_fetch_register(0) %}

So the trip through user_int() extends the sign.  We could add user_uint(), if
there's enough info for the SDT-translator to know it should be unsigned.  I
think that's indicated by "4@..." instead of "-4@..."?

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


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