[lldb-dev] [Bug 16580] New: 64 bit lldb cannot call functions in 32 bit debuggees

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jul 9 16:59:27 PDT 2013


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

            Bug ID: 16580
           Summary: 64 bit lldb cannot call functions in 32 bit debuggees
           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: sorrels.m at gmail.com
    Classification: Unclassified

The Linux 64 bit version of lldb fails test TestCallCPPFunction.py when using a
32-bit debuggee (using the LLDB_TEST_ARGUMENTS="-A i386" flag for running the
test).  The failure happens when it tries to call the function in the debuggee
called a_function_to_call().

This same kind of architure thunking appears to be broken on a few other tests
as well (TestCPPStaticMethods.py)

Here's the output of a session doing this test by hand:

(lldb) file
/data/work/llvm/llvm/tools/lldb.svn/test/lang/cpp/call-function/a.out
Current executable set to
'/data/work/llvm/llvm/tools/lldb.svn/test/lang/cpp/call-function/a.out' (i386).
(lldb) breakpoint set -l 10 main.cpp
Breakpoint 1: where = a.out`main + 3 at main.cpp:10, address = 0x08048443
(lldb) run
Process 3356 launched:
'/data/work/llvm/llvm/tools/lldb.svn/test/lang/cpp/call-function/a.out' (i386)
Process 3356 stopped
* thread #1: tid = 0x0d1c, 0x08048443 a.out`main + 3 at main.cpp:10, stop
reason = breakpoint 1.1
    frame #0: 0x08048443 a.out`main + 3 at main.cpp:10
   7       
   8       int main()
   9       {
-> 10          printf("%d\n", a_function_to_call()); // breakpoint
   11      }
thread list
Process 3356 stopped
* thread #1: tid = 0x0d1c, 0x08048443 a.out`main + 3 at main.cpp:10, stop
reason = breakpoint 1.1
(lldb) expression -- a_function_to_call()
error: Execution was interrupted, reason: invalid address (fault address:
0xeeef4020).
The process has been returned to the state before expression evaluation.
(lldb)

-- 
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/20130709/efb0fba7/attachment.html>


More information about the lldb-dev mailing list