<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 11, 2017, at 5:33 AM, Pavel Labath <<a href="mailto:labath@google.com" class="">labath@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">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" class="">LoadModuleAtAddress calls happen between the $T and $c packets in the gdb-remote packet sequence. </span><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">The module loading should be synchronous, so I think the problem lies elsewhere.</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">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></div></blockquote><div><br class=""></div>I unfortunately can't attach a repro case. I will be able to track this down, just need some pointers. I did notice that I wasn't able to hit breakpoints in global constructors though... Do we know why? On Mac, we get notified of shared libraries as they load so we never miss anything. Why are we not able to get the same thing with linux?<br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 10 April 2017 at 22:51, Greg Clayton via lldb-dev <span dir="ltr" class=""><<a href="mailto:lldb-dev@lists.llvm.org" target="_blank" class="">lldb-dev@lists.llvm.org</a>></span> wrote:<br class=""><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 class="">
<br class="">
ModuleSP DynamicLoader::<wbr class="">LoadModuleAtAddress(const FileSpec &file,<br class="">
                                            addr_t link_map_addr,<br class="">
                                            addr_t base_addr,<br class="">
                                            bool base_addr_is_offset) {<br class="">
  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 class="">
<br class="">
<br class="">
This is called by DynamicLoaderPOSIXDYLD::<wbr class="">LoadAllCurrentModules().<br class="">
<br class="">
My problem is I see:<br class="">
<br class="">
[vdso]: lma = 0xffffffffffffffff, ba = 0x00007ffff7ffa000, baio = 0<br class="">
linux-vdso.so.1: lma = 0x00007ffff7ffe6e0, ba = 0x00007ffff7ffa000, baio = 1<br class="">
/tmp/liba.so: lma = 0x00007ffff7ff66a8, ba = 0x00007ffff7e30000, baio = 1<br class="">
8 locations added to breakpoint 1<br class="">
/tmp/libb.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br class="">
[==========] Running 14 tests from 1 test case.<br class="">
[----------] Global test environment set-up.<br class="">
[----------] 14 tests from MyTest<br class="">
[ RUN      ] MyTest.Test1<br class="">
[       OK ] MyTest.Test1 (0 ms)<br class="">
/tmp/libc.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br class="">
/tmp/libd.so: lma = 0x00007ffff7e2f000, ba = 0x00007ffff7d43000, baio = 1<br class="">
<br class="">
<br class="">
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 class="">
<br class="">
If anyone knows anything on this subject please let me know...<br class="">
<br class="">
Greg Clayton<br class="">
______________________________<wbr class="">_________________<br class="">
lldb-dev mailing list<br class="">
<a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/lldb-dev</a><br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>