[lldb-dev] [Bug 17384] New: lldb is unaware of the linux-vdso.so/linux-gate.so virtual shared library

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Sep 26 15:29:08 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=17384

            Bug ID: 17384
           Summary: lldb is unaware of the linux-vdso.so/linux-gate.so
                    virtual shared library
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at cs.uiuc.edu
          Reporter: matt.kopec at intel.com
    Classification: Unclassified

Presumably, this is causing the (two) failures in the TestHelloWorld.py and
(four) failures in TestInferiorAssert.py test cases for 32-bit inferiors. After
attaching, the backtrace looks like this:

Process 19460 stopped
* thread #1: tid = 19460, 0xf76f3430, name = 'test_with_dwarf', stop reason =
signal SIGSTOP
    frame #0: 0xf76f3430
-> 0xf76f3430:  popl   %ebp
   0xf76f3431:  popl   %edx
   0xf76f3432:  popl   %ecx
   0xf76f3433:  ret    
(lldb) bt
* thread #1: tid = 19460, 0xf76f3430, name = 'test_with_dwarf', stop reason =
signal SIGSTOP
    frame #0: 0xf76f3430
    frame #1: 0xf7534b88

The process is stopped inside a kernel system call. Here is the backtrace
according to gdb:

Program received signal SIGINT, Interrupt.
0xf7fdb430 in __kernel_vsyscall ()
(gdb) bt
#0  0xf7fdb430 in __kernel_vsyscall ()
#1  0xf7efbbc3 in read () from /lib32/libc.so.6
#2  0xf7e8f20b in _IO_file_underflow () from /lib32/libc.so.6
#3  0xf7e90419 in _IO_default_uflow () from /lib32/libc.so.6
#4  0xf7e90230 in __uflow () from /lib32/libc.so.6
#5  0xf7e83d4a in _IO_getline_info () from /lib32/libc.so.6
#6  0xf7e83c93 in _IO_getline () from /lib32/libc.so.6
#7  0xf7e82c70 in fgets () from /lib32/libc.so.6
#8  0x080484cb in main (argc=2, argv=0xffffcfe4) at main.c:10


The issue with linux-vdso.so.1 is that it is a virtual shared object library;
it doesn't exist on disk. It lives in memory and is mapped into the inferior
address space by the kernel. The posix dynamic linker assumes all shared
libraries are on disk. We need to be able to read in this dynamic library in
lldb and parse its' symbol table, among other operations that we perform with
linked libraries.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20130926/570ea2aa/attachment.html>


More information about the lldb-dev mailing list