[Bug translator/23747] New: Unknown section .note.Linux in kernel module cause tests with --all-modules to fail to compile

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug translator/23747] New: Unknown section .note.Linux in kernel module cause tests with --all-modules to fail to compile

github at kalvdans dot no-ip.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23747

            Bug ID: 23747
           Summary: Unknown  section .note.Linux in kernel module cause
                    tests with --all-modules to fail to compile
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: wcohen at redhat dot com
  Target Milestone: ---

On x86_64 Fedora rawhide running kernel-4.19.0-0.rc6.git4.1.fc30.x86_64 a
number of the testsuite/systemtap.example script fail when using --all-modules
like the following ioctl_handler.stp test:

meta taglines 'test_check: stap -p4 ioctl_handler.stp --all-modules' tag
'test_check' value 'stap -p4 ioctl_handler.stp --all-modules'
attempting command stap -p4 ioctl_handler.stp --all-modules
OUT snd_pcm has unknown section .note.Linux for sym _note_6
child process exited abnormally
RC 1
FAIL: systemtap.examples/profiling/ioctl_handler build

It appears that the problem is triggered by problem dwarf information read in
when using the "--all-modules" option:

[wcohen@localhost profiling]$ pwd
/usr/share/systemtap/testsuite/systemtap.examples/profiling
[wcohen@localhost profiling]$ sudo stap ioctl_handler.stp -v --all-modules -T 1
Pass 1: parsed user script and 486 library scripts using
304388virt/80584res/9428shr/70928data kb, in 140usr/60sys/210real ms.
Pass 2: analyzed script: 6 probes, 10 functions, 103 embeds, 6 globals using
515848virt/293656res/10960shr/282388data kb, in 1460usr/1060sys/2609real ms.
snd_pcm has unknown section .note.Linux for sym _note_6
[wcohen@localhost profiling]$ sudo stap ioctl_handler.stp -v -T 1
Pass 1: parsed user script and 486 library scripts using
304380virt/80736res/9592shr/70920data kb, in 140usr/60sys/206real ms.
Pass 2: analyzed script: 6 probes, 10 functions, 103 embeds, 6 globals using
515844virt/293620res/10932shr/282384data kb, in 1530usr/1030sys/2668real ms.
Pass 3: using cached
/root/.systemtap/cache/75/stap_75e578472449c78fef5243b6a4788a37_67706.c
Pass 4: using cached
/root/.systemtap/cache/75/stap_75e578472449c78fef5243b6a4788a37_67706.ko
Pass 5: starting run.
Per execname ioctl information
Pass 5: run completed in 0usr/80sys/1382real ms.

$ lsmod |grep snd_pcm
snd_pcm               151552  3 snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              36864  2 snd_seq,snd_pcm
snd                   102400  16
snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm

$ eu-readelf --all
/usr/lib/debug/lib/modules/4.19.0-0.rc6.git4.1.fc30.x86_64/kernel/sound/core/snd-pcm.ko.debug
|grep .note.linux
...
Symbol table [78] '.symtab' contains 842 entries:
...
   53: 0000000000000000     52 OBJECT  LOCAL  DEFAULT        2 _note_6
...
Note section [ 2] '.note.Linux' of 52 bytes at offset 0x64:
  Owner          Data size  Type
  Linux                 32  <unknown>: 256

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[Bug translator/23747] Unknown section .note.Linux in kernel module cause tests with --all-modules to fail to compile

github at kalvdans dot no-ip.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23747

Frank Ch. Eigler <fche at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |fche at redhat dot com
         Resolution|---                         |FIXED

--- Comment #2 from Frank Ch. Eigler <fche at redhat dot com> ---
commit 6c94b6d4232a506bc420ed04fd9782a331442f2e

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[Bug translator/23747] Unknown section .note.Linux in kernel module cause tests with --all-modules to fail to compile

github at kalvdans dot no-ip.org
In reply to this post by github at kalvdans dot no-ip.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23747

Mark Wielaard <mark at klomp dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at klomp dot org

--- Comment #1 from Mark Wielaard <mark at klomp dot org> ---
This comes from dump_symbol_tables () in translate.cxx.

Under:

  // We are only interested in "real" symbols.
  // We omit symbols that have suspicious addresses
  // (before base, or after end).

[...]

                {
                  assert (secname != NULL);
                  // secname adequately set

                  // NB: it may be an empty string for ET_DYN objects
                  // like shared libraries, as their relocation base
                  // is implicit.
                  if (secname[0] == '\0')
                    secname = ".dynamic";
                  else
                    {
                      // Compute our section number
                      for (secidx = 0; secidx < c->seclist.size(); secidx++)
                        if (c->seclist[secidx].first==secname)
                          break;

                      if (secidx == c->seclist.size()) // whoa! We messed up...
                        {
                          string m = _F("%s has unknown section %s for sym %s",
                                        modname, secname, name);
                          throw runtime_error(m);
                        }
                    }
                }

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