<div dir="ltr">Thanks.  In some places we check __GLIBC__ explicitly.  I guess what I'm wondering is: is there some reason this isn't equivalent to some combination of OS define checks?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 11, 2014 at 4:17 PM, Ed Maste <span dir="ltr"><<a href="mailto:emaste@freebsd.org" target="_blank">emaste@freebsd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11 September 2014 18:55, Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>> wrote:<br>
> A couple of pre-processor definitions I'm wondering about:<br>
><br>
> __NetBSD__: What is this used for, and how is it different than __FreeBSD__?<br>
<br>
</span>NetBSD is another OS altogether, although has a lot in common with<br>
FreeBSD.  It's well supported in Clang/LLVM.  The few cases in LLDB<br>
represent the beginning of support, but I'm not aware of anyone<br>
building or testing it on a regular basis.<br>
<span class=""><br>
> __FreeBSD_kernel__: Same as previous question, why is this different than<br>
> just __FreeBSD__?<br>
<br>
</span>This indicates that the FreeBSD kernel is being used, without<br>
reference to the userland / libc.  It's mainly driven by the Debian<br>
GNU/kFreeBSD project, which runs a GNU userland and GLIBC on the<br>
FreeBSD kernel.  (It's sort of the opposite of Android in that<br>
respect.)  I know they at least build-test LLDB regularly.<br>
<br>
__FreeBSD__ implies __FreeBSD_kernel__<br>
<span class=""><br>
> __GLIBC__: Isn't this the same as __linux__ || __APPLE__?<br>
<br>
</span>It indicates GNU libc, so not true on Apple.<br>
</blockquote></div><br></div>