This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch RFC: Use internal qsort function in libbacktrace
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Ian Lance Taylor <iant at google dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 5 Mar 2014 10:33:09 +0100
- Subject: Re: Patch RFC: Use internal qsort function in libbacktrace
- Authentication-results: sourceware.org; auth=none
- References: <mcrppm1mi78 dot fsf at iant-glaptop dot roam dot corp dot google dot com> <CAFiYyc2x97ZAA9VAYX-GU4azNggvyFPpSyu3O7TGiCPYMw7QzA at mail dot gmail dot com>
On Wed, Mar 5, 2014 at 10:25 AM, Richard Biener wrote:
> On Wed, Mar 5, 2014 at 4:34 AM, Ian Lance Taylor wrote:
>> The GNU glibc qsort function will call malloc in some cases. That makes
>> it unsuitable for libbacktrace, which is intended to work when called
>> from a signal handler. This patch changes libbacktrace to use an
>> internal qsort function.
>>
>> I'm posting this for comments in case anybody sees anything wrong with
>> the implementation. I'll commit it in a day or two if I don't hear
>> anything.
>>
>> Bootstrapped and ran libbacktrace and Go tests on
>> x86_64-unknown-linux-gnu.
>
> Doesn't it make sense to put this into libiberty and call it
> sigsafe_qsort or qsort_sigsafe? (not sure if there is a standard
> suffix/prefix for signal-safe variants of functions like _r is
> for thread-safe variants)
Or use mergesort from libunwind.
Ciao!
Steven