<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Christophe,<br>
</p>
<div class="moz-cite-prefix">On 5/13/20 9:42 AM, Christophe Bédard
via lttng-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAAS9dobxi52FyWn=9zVDkMMpmZztc1Q1msdiErMKhkDEYCtqCA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, 12 May 2020 at
08:27, Mathieu Desnoyers <<a
href="mailto:mathieu.desnoyers@efficios.com"
target="_blank" moz-do-not-send="true">mathieu.desnoyers@efficios.com</a>>
wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<div
style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<div>
<div>How does your test program issue the system call
? Is it directly with syscall() (see syscall(2) man
page), or<br>
</div>
<div>does it call into libc ? Is your entire libc
compiled with -fno-omit-frame-pointer ?</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Indirectly, through libc/libstdc++. We use the default
system libs (which I assume use -O, which in turn implies
-fomit-frame-pointer).</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div
style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<div>As soon as one library in the chain to the system
call is compiled without frame pointers, this is where
the<br>
</div>
<div>stack walk stops. This is usually libc.</div>
</div>
</blockquote>
<div><br>
</div>
<div>I see. Thanks for the information. Not sure we want to
ship a custom libc unfortunately.</div>
<div><br>
</div>
<div>Related question: how feasible would adding the
callstack-user context to userspace events be? If it is
feasible, is such a feature planned?</div>
</div>
</div>
</blockquote>
<p>We had a very very experimental branch with it, using backtrace
first, then unwind. But it is not suggested, not performant. It's
far from the correct desired implementation, for which Mathieu
could give more details.</p>
<p> It works, but not to be used in production. Students have used
it in the lab for some specific use case prototyping. I won't
share the branch here, but if you wish to try, let me know.</p>
<p>Geneviève</p>
<p><br>
</p>
</body>
</html>