On Sat, Feb 18, 2012 at 8:05 PM, Chandler Carruth <[email protected]> wrote: > On Sat, Feb 18, 2012 at 7:36 PM, Jeffrey Yasskin <[email protected]> wrote: >> >> When trying to build libcxxabi on linux, I discovered that clang's >> unwind.h doesn't provide enough definitions. This patch allows linux >> builds to take advantage of libunwind if that's installed. >> >> Another option would be to just copy the interfaces out of >> >> http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/libgcc-s-ddefs.html, >> but since we're relying on the system to provide definitions anyway, >> it seems more sensible to try to pull the interface from the system >> too. > > > Personally, I'd rather see us do all of the above. Use libunwind's header if > present, and provide the right interfaces otherwise. Still, this patch is > clearly an improvement.
Is it ok to just copy from LSB? It appears to be under the GFDL, but interfaces may not be copyrightable. > Can you only define _GNU_SOURCE (and associated silliness) on Linux? Or > would BSDs need this as well? Essentially, I'd like to only define > _GNU_SOURCE if absolutely necessary. Presumably the BSDs wouldn't refer to _GNU_SOURCE in their headers, so it'd be harmless. Or the BSDs might use libunwind (it's MIT licensed), in which case we need to define _GNU_SOURCE after all. > Can we name _SHOULD_UNDEFINE_GNU_SOURCE something still less likely to > collide? I could see exactly that macro used in other GNU_SOURCE > manipulating contexts... But hopefully with the same meaning, in which case this use will just work. > Maybe just prefix with _CLANG_UNWIND_H? No strong > opinion here. No opinion here either. If no one else with an opinion shows up, I'll add the _CLANG_UNWIND_H prefix. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
