<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 Dec 21, 2017, at 7:24 AM, Pavel Labath via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org" class="">lldb-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 21 December 2017 at 15:17, Pavel Labath <<a href="mailto:labath@google.com" class="">labath@google.com</a>> wrote:<br class=""><blockquote type="cite" class="">Right now I'm looking at two (ignoring the debug-info multiplication):<br class="">TestExprs2.py and TestTopLevelExprs.py<br class="">TestExprs2 is encountering ambiguity when looking up the "environ"<br class="">symbol (the dynamic linker contains an extra copy). I think I know how<br class="">to handle that.<br class=""></blockquote><br class="">Ok, I take that back. I was hoping I could just implement<br class="">ObjectFileELF::GetIsDynamicLinkEditor, but it seems that function is<br class="">not actually called from anywhere.<br class=""><br class="">Does anyone have more background about that function?<br class=""></div></div></blockquote><div><br class=""></div>dyld on MacOS has exported functions like "malloc", and "free" and many many others that mirror libc function needed to bootstrap dyld before it has actually loaded libc into the process. When someone types "b malloc" on the lldb command line, we would end up setting breakpoints in both dyld and in libc which isn't what the user wanted. This flag is was used to say "this library defines many functions that are similar to other libraries, but no one wants to actually stop in these". This used to be used in:</div><div><br class=""></div><div>Platform::ModuleIsExcludedForUnconstrainedSearches(...)</div><div><br class=""></div><div>This is a function that says "for my platform, don't include this library in global searches. We eventually added ObjectFile::GetType() which can return ObjectFile::eTypeDynamicLinker. This is what is currently used in PlatformDarwin::ModuleIsExcludedForUnconstrainedSearches(...) to avoid dyld when doing global searches.</div><div><br class=""></div><div>So it might be as simple as making sure that the dynamic linker shared ObjectFile returns ObjectFile::eTypeDynamicLinker and then adding PlatformPosix::ModuleIsExcludedForUnconstrainedSearches(...) that does something similar to <span style="font-size: 11px; font-variant-ligatures: no-common-ligatures; color: rgb(79, 129, 135);" class="">PlatformDarwin</span><span style="font-size: 11px; font-variant-ligatures: no-common-ligatures;" class="">::ModuleIsExcludedForUnconstrainedSearches(...).</span></div><div><span style="font-size: 11px; font-variant-ligatures: no-common-ligatures;" class=""><br class=""></span></div><div><span style="font-size: 11px; font-variant-ligatures: no-common-ligatures;" class=""><br class=""></span></div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="">_______________________________________________<br class="">lldb-commits mailing list<br class=""><a href="mailto:lldb-commits@lists.llvm.org" class="">lldb-commits@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits<br class=""></div></div></blockquote></div><br class=""></body></html>