<div dir="ltr">Are you sure this is not just an artifact of stdio buffering? I tried the same experiment, but I placed a real log statement, and I could see that all the <span style="font-size:12.8px">LoadModuleAtAddress calls happen between the $T and $c packets in the gdb-remote packet sequence. </span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">The module loading should be synchronous, so I think the problem lies elsewhere.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">What is the nature of the breakpoint that is not getting hit? Can you provide a repro case? The only bug like this that I am aware of is that we fail to hit breakpoints in global constructors in shared libraries, but that hasn't worked even in 3.8..</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 10 April 2017 at 22:51, Greg Clayton via lldb-dev <span dir="ltr"><<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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:<br>
<br>
ModuleSP DynamicLoader::<wbr>LoadModuleAtAddress(const FileSpec &file,<br>
                                            addr_t link_map_addr,<br>
                                            addr_t base_addr,<br>
                                            bool base_addr_is_offset) {<br>
  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);<br>
<br>
<br>
This is called by DynamicLoaderPOSIXDYLD::<wbr>LoadAllCurrentModules().<br>
<br>
My problem is I see:<br>
<br>
[vdso]: lma = 0xffffffffffffffff, ba = 0x00007ffff7ffa000, baio = 0<br>
linux-vdso.so.1: lma = 0x00007ffff7ffe6e0, ba = 0x00007ffff7ffa000, baio = 1<br>
/tmp/liba.so: lma = 0x00007ffff7ff66a8, ba = 0x00007ffff7e30000, baio = 1<br>
8 locations added to breakpoint 1<br>
/tmp/libb.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br>
[==========] Running 14 tests from 1 test case.<br>
[----------] Global test environment set-up.<br>
[----------] 14 tests from MyTest<br>
[ RUN      ] MyTest.Test1<br>
[       OK ] MyTest.Test1 (0 ms)<br>
/tmp/libc.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br>
/tmp/libd.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br>
<br>
<br>
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.<br>
<br>
If anyone knows anything on this subject please let me know...<br>
<br>
Greg Clayton<br>
______________________________<wbr>_________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/lldb-dev</a><br>
</blockquote></div><br></div>