[lldb-dev] Linux issues where I am not getting breakpoints...

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Mon Apr 10 14:51:46 PDT 2017

I have added some logging to a program that is not hitting breakpoints with LLDB top of tree SVN. An older lldb 3.8 hits the breakpoint just fine. I placed some logging in LLDB:

ModuleSP DynamicLoader::LoadModuleAtAddress(const FileSpec &file,
                                            addr_t link_map_addr,
                                            addr_t base_addr,
                                            bool base_addr_is_offset) {
  printf("%s: lma = 0x%16.16llx, ba = 0x%16.16llx, baio = %i\n", file.GetPath().c_str(), link_map_addr, base_addr, base_addr_is_offset);

This is called by DynamicLoaderPOSIXDYLD::LoadAllCurrentModules().

My problem is I see:

[vdso]: lma = 0xffffffffffffffff, ba = 0x00007ffff7ffa000, baio = 0
linux-vdso.so.1: lma = 0x00007ffff7ffe6e0, ba = 0x00007ffff7ffa000, baio = 1
/tmp/liba.so: lma = 0x00007ffff7ff66a8, ba = 0x00007ffff7e30000, baio = 1
8 locations added to breakpoint 1
/tmp/libb.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1
[==========] Running 14 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 14 tests from MyTest
[ RUN      ] MyTest.Test1
[       OK ] MyTest.Test1 (0 ms)
/tmp/libc.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1
/tmp/libd.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1

Note that I see program output _during_ the messages that are showing that shared libraries are being loaded? I would assume we are loading shared libraries synchronously, but the log seems to indicated otherwise. 

If anyone knows anything on this subject please let me know...

Greg Clayton

More information about the lldb-dev mailing list