Re: [PATCH v4 00/11] Demangle minimal symbol names in worker threads

Christian Biesinger via gdb-patches
2019-10-06T22:34:43Z

On Tue, Oct 1, 2019 at 3:16 PM Tom Tromey <tom@tromey.com> wrote:
>
> This is v4 of my patch series to demangle minimal symbol names in
> worker threads.
>
> v3 was here:
>
> https://sourceware.org/ml/gdb-patches/2019-05/msg00669.html
>
> This version addresses all review comments, and fixes a few problems.
> Some significant changes compared to v3:
>
> * Added a patch to switch gdb's m4 files from sinclude to m4_include.

This could probably land separately, it seems independent of the rest.

Otherwise, as you mentioned on IRC, it may make sense to land at least
the first of my patches together with this one because my patch
basically reverts the mutex change in symbol_set_names.

I am really excited about this work on faster symbol loading!

Christian

> * Arranged to block signals that are needed by gdb in new threads.
> E.g. this prevents a SIGCHLD from arriving in the wrong thread.
>
> * Arranged for the demangler threads to call sigaltstack.
>
> * Changed the API of parallel_for_each to make the sigaltstack patch
> work in a non-convoluted way. This also makes it simpler to change
> parallel_for_each to run on top of a thread pool later on, should we
> desire.
>
> * Added a patch to use run_on_main_thread in gdb.post_event, as
> requested.
>
> * Removed the ada_decode patch, as a different version of this has
> landed.
>
> Tested on x86-64 Fedora 28.
>
> Tom
>
>