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

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@cs.uiuc.edu
Reporter matt.kopec@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.

Chaoren Lin changed bug 17384

Chaoren Lin changed bug 17384

ravithejawork@gmail.com changed bug 17384