[buildbots][libunwind] Why is libunwind not built / tested on most bots?

Hello,

While going through the list of buildbots for libcxx [1], I realized that only the arm buildbot (Renato) is setup to build+test libunwind [2]. None of the other bots seem to pass the -DLIBCXXABI_USE_LLVM_UNWINDER=ON option. They all seem to checkout the sources but then forgets about libunwind.

Is this an intentional omission? If not, I think it would be good to make them build+test libunwind as well, I don't think it adds a lot of overhead. I can update the bot configurations if you are all happy with allowing libunwind testing.

WDYT?

Thanks.

/ Asiri

[1] http://lab.llvm.org:8011/console
[2] http://lab.llvm.org:8011/builders/libcxx-libcxxabi-arm-linux/builds/1009/steps/cmake/logs/stdio

Come to think of it, should we make -DLIBCXXABI_USE_LLVM_UNWINDER=ON the default cmake option?

  • Asiri

Is this an intentional omission? If not, I think it would be good to make them build+test libunwind as well, I don’t think it adds a lot of overhead. I can update the bot configurations if you are all happy with allowing libunwind testing.

It’s intentional for MIPS. We haven’t added MIPS to that libunwind yet.

Hi Daniel,

The libcxx bots linked from llvm.org (http://lab.llvm.org:8011/console) all seem to test for x86/x86_64 or ARM, I think for those bots it makes sense to build + test libunwind as well.

I agree that making -DLIBCXXABI_USE_LLVM_UNWINDER=ON by default might not be desirable for everyone.

Thanks.

/ Asiri

The libcxx bots linked from llvm.org (http://lab.llvm.org:8011/console) all
seem to test for x86/x86_64 or ARM, I think for those bots it makes sense to
build + test libunwind as well.

I agree. But one also has to test using GNU's unwinder
(libgcc_s/libgcc_eh). We don't want to get caught in self bias.

I agree that making -DLIBCXXABI_USE_LLVM_UNWINDER=ON by default might not be
desirable for everyone.

Yup, so is for many platforms. Also, we don't want to force anything,
since the libs are not perfectly aligned yet, and we depend a lot
still on the GNU counterparts.

cheers,
--renato

I thought clang-cmake-mips checked out libcxx as well but I’ve just double checked and it doesn’t. It seems we lack any MIPS buildbots covering libcxx and libcxxabi. I better fix that since we started shipping them both a couple releases ago.

Same for ARM, I need to find some time to setup the buildbots for the various libcxx/libcxxabi/libunwind configurations we ship.

No objections from me, but I think it would be better to test both
configurations (with and without the LLVM libunwind).

Dmitri

> Hello,
>
> While going through the list of buildbots for libcxx [1], I realized
that only the arm buildbot (Renato) is setup to build+test libunwind [2].
None of the other bots seem to pass the -DLIBCXXABI_USE_LLVM_UNWINDER=ON
option. They all seem to checkout the sources but then forgets about
libunwind.
>
> Is this an intentional omission? If not, I think it would be good to
make them build+test libunwind as well, I don't think it adds a lot of
overhead. I can update the bot configurations if you are all happy with
allowing libunwind testing.

No objections from me, but I think it would be better to test both
configurations (with and without the LLVM libunwind).

+1 on this. I think we should be testing with libunwind and
libgcc/libgcc_eh. That will also help ensure that we don't accidentally
start relying on extensions.

I could add a use-libunwind configuration to an existing x86 bot (ARM bot already tests the llvm unwinder), and leave the rest of the bots alone (so that they continue to test the gcc unwinder).

Can I have the permission from one of the x86_64 bot libcxx maintainers?

Side-note: I’m working on setting up a bot of our own (most likely x86_64) but this will take time.

Thanks.

/ Asiri

You have my full permission to add more jobs to gribozavr* bots.

Dmitri

You can also put it on one of my bots. Try to pick the one with the least bots on it currently.

Thanks both!

Patch here: http://reviews.llvm.org/D20781

Mostly trivial, will commit if there’s no objection.

/ Asiri

Committed as r271179.

Should be effective from the next buildmaster restart.

Thanks All!

/ Asiri