This is an archive of the discontinued LLVM Phabricator instance.

[libcxx][zorg] Fix no-exceptions builder configurations
ClosedPublic

Authored by rmaprath on Feb 23 2017, 2:01 AM.

Details

Summary

The no-exceptions builders are missing the -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF flag (without this, only the libc++ libraries will be built without exceptions support, libc++abi will still be built with exceptions support - this is not a meaningful configuration).

Also we should not need to link in libunwind for these configurations. No-exceptions libraries by definition should not require an unwinder.

Diff Detail

Repository
rL LLVM

Event Timeline

rmaprath created this revision.Feb 23 2017, 2:01 AM
rengolin added inline comments.Feb 23 2017, 2:26 AM
buildbot/osuosl/master/config/builders.py
1196 ↗(On Diff #89479)

Why remove the unwinder?

rmaprath added inline comments.Feb 23 2017, 2:30 AM
buildbot/osuosl/master/config/builders.py
1196 ↗(On Diff #89479)

The unwinder should not be required for the no-exceptions library testing, as these libraries do not throw/catch any exceptions.

/ Asiri

rengolin added inline comments.Feb 23 2017, 2:33 AM
buildbot/osuosl/master/config/builders.py
1196 ↗(On Diff #89479)

But the requirement is not only to test it, but to make them work. We had trouble making the bot pass without the unwinder, due to dependencies.

Regardless, this is a *different* change and should be made later, with proper research. For now, just add the new flag, please.

rmaprath updated this revision to Diff 89485.Feb 23 2017, 2:41 AM

Updated to address comments from @rengolin.

In theory, it should not be necessary to link-in or enable the unwinder for these tests. However, it is best to leave this for a separate patch (after some local testing), just to make sure that none of those other libraries attempt to reference symbols from the unwinder (they should not, but who knows...).

rmaprath marked an inline comment as done.Feb 23 2017, 2:44 AM
rmaprath added inline comments.
buildbot/osuosl/master/config/builders.py
1196 ↗(On Diff #89479)

If you have a time (heh!), please do try out without the unwinder and see if it still works fine. I'll be quite interested if it doesn't.

Downstream we have even more stricter tests to make sure there are no exception tables in the final binaries, but this require special linker options. It would be good to make sure that we can at least do without the unwinder upstream :)

rengolin accepted this revision.Feb 23 2017, 3:59 AM

LGTM, thanks!

I'll add a local task to look into that, but with Connect coming, I'm not sure how long that will take. :)

This revision is now accepted and ready to land.Feb 23 2017, 3:59 AM
This revision was automatically updated to reflect the committed changes.
rmaprath marked an inline comment as done.Feb 23 2017, 4:27 AM

Thanks!

Committed as r295963.

@gkistanova: Could you please let me know when the next restart is due? I would like to keep an eye on the builders.

Cheers,

/ Asiri