public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* dwarf information missing. how to rescue?
@ 2017-04-01  8:47 Shiyao Ma
  2017-04-01 21:43 ` Frank Ch. Eigler
  0 siblings, 1 reply; 5+ messages in thread
From: Shiyao Ma @ 2017-04-01  8:47 UTC (permalink / raw)
  To: systemtap

Hi,

sudo stap -L 'kernel.function("tcp_cong_control")'
gives this mere output:
kernel.function("tcp_cong_control@./net/ipv4/tcp_input.c:3336")

No params, locals are included.

Should I recompile the kernel?  if so, with what flags?

I'd like all this functions be probe-able.


Best.

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

* Re: dwarf information missing. how to rescue?
  2017-04-01  8:47 dwarf information missing. how to rescue? Shiyao Ma
@ 2017-04-01 21:43 ` Frank Ch. Eigler
  2017-04-02  6:21   ` Shiyao Ma
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Ch. Eigler @ 2017-04-01 21:43 UTC (permalink / raw)
  To: Shiyao Ma; +Cc: systemtap

Shiyao Ma <i@introo.me> writes:

> [...]
> sudo stap -L 'kernel.function("tcp_cong_control")'
> gives this mere output:
> kernel.function("tcp_cong_control@./net/ipv4/tcp_input.c:3336")
>
> No params, locals are included.
> Should I recompile the kernel?  if so, with what flags?

Over here on fedora 25, that function is inlined by the compiler, so a
compiler optimizer has to work hard to keep debuginfo correct &
available.  I wonder if perhaps you're affected by a years-old kernel
error of judgement, wherein gcc's debuginfo generation is deliberately
hobbled.  The HHGTG ^W systemtap release notes have had this to say:

  - An upstream kernel commit #2062afb4f804a put
  "-fno-var-tracking-assignments" into KCFLAGS, reducing debuginfo
  quality which can cause debuginfo failures.  A proposed workaround to
  this issue exists in: https://lkml.org/lkml/2014/11/21/505 . Fedora
  kernels are not affected by this issue.

If this may be affecting you, just nuke this line of the top level
kernel Makefile and rebuild it.  Distros everywhere should do the same.

Makefile:
KBUILD_CFLAGS   += $(call cc-option, -fno-var-tracking-assignments)

- FChE

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

* Re: dwarf information missing. how to rescue?
  2017-04-01 21:43 ` Frank Ch. Eigler
@ 2017-04-02  6:21   ` Shiyao Ma
  2017-04-02 11:58     ` Frank Ch. Eigler
  0 siblings, 1 reply; 5+ messages in thread
From: Shiyao Ma @ 2017-04-02  6:21 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: systemtap

Hi,


I am on Debian sid with kernel 4.9.

How did you find out the function `tcp_cong_control' is compiled
inline?  Grepping /proc/kallsyms and didn't find it?

Thanks.

Best.




On Sun, Apr 2, 2017 at 5:43 AM, Frank Ch. Eigler <fche@redhat.com> wrote:
> Shiyao Ma <i@introo.me> writes:
>
>> [...]
>> sudo stap -L 'kernel.function("tcp_cong_control")'
>> gives this mere output:
>> kernel.function("tcp_cong_control@./net/ipv4/tcp_input.c:3336")
>>
>> No params, locals are included.
>> Should I recompile the kernel?  if so, with what flags?
>
> Over here on fedora 25, that function is inlined by the compiler, so a
> compiler optimizer has to work hard to keep debuginfo correct &
> available.  I wonder if perhaps you're affected by a years-old kernel
> error of judgement, wherein gcc's debuginfo generation is deliberately
> hobbled.  The HHGTG ^W systemtap release notes have had this to say:
>
>   - An upstream kernel commit #2062afb4f804a put
>   "-fno-var-tracking-assignments" into KCFLAGS, reducing debuginfo
>   quality which can cause debuginfo failures.  A proposed workaround to
>   this issue exists in: https://lkml.org/lkml/2014/11/21/505 . Fedora
>   kernels are not affected by this issue.
>
> If this may be affecting you, just nuke this line of the top level
> kernel Makefile and rebuild it.  Distros everywhere should do the same.
>
> Makefile:
> KBUILD_CFLAGS   += $(call cc-option, -fno-var-tracking-assignments)
>
> - FChE

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

* Re: dwarf information missing. how to rescue?
  2017-04-02  6:21   ` Shiyao Ma
@ 2017-04-02 11:58     ` Frank Ch. Eigler
  2017-04-02 12:02       ` Arkady
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Ch. Eigler @ 2017-04-02 11:58 UTC (permalink / raw)
  To: Shiyao Ma; +Cc: systemtap

Hi -

> How did you find out the function `tcp_cong_control' is compiled
> inline?  Grepping /proc/kallsyms and didn't find it?

I ran

% stap -L 'kernel.function("tcp_cong_control").*'

and it showed an .inline variant only, no .call/.return.

- FChE

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

* Re: dwarf information missing. how to rescue?
  2017-04-02 11:58     ` Frank Ch. Eigler
@ 2017-04-02 12:02       ` Arkady
  0 siblings, 0 replies; 5+ messages in thread
From: Arkady @ 2017-04-02 12:02 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: Shiyao Ma, systemtap

In Ubuntu kernel 4.8.0-45-generic there is inline function only

On Sun, Apr 2, 2017 at 2:58 PM, Frank Ch. Eigler <fche@redhat.com> wrote:
> Hi -
>
>> How did you find out the function `tcp_cong_control' is compiled
>> inline?  Grepping /proc/kallsyms and didn't find it?
>
> I ran
>
> % stap -L 'kernel.function("tcp_cong_control").*'
>
> and it showed an .inline variant only, no .call/.return.
>
> - FChE
>

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

end of thread, other threads:[~2017-04-02 12:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-01  8:47 dwarf information missing. how to rescue? Shiyao Ma
2017-04-01 21:43 ` Frank Ch. Eigler
2017-04-02  6:21   ` Shiyao Ma
2017-04-02 11:58     ` Frank Ch. Eigler
2017-04-02 12:02       ` Arkady

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).