Patch RFC: Use internal qsort function in libbacktrace

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Fri Mar 7 12:12:00 GMT 2014


Hi Paolo,

> On 03/05/2014 04: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.
> Sorry if I missed some messages or I'm just confused, but today I'm seeing
> a lot of regressions all of the same form:
>
> libsanitizer/asan/.libs/libasan.so: undefined reference to `backtrace_qsort'
>
> Confirmed in eg:
>
>     http://gcc.gnu.org/ml/gcc-testresults/2014-03/msg00399.html
>
> Any idea what's up?

I suspect the following patch (yet untested) will fix this:

2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
	Add ../../libbacktrace/sort.c.
	* libbacktrace/Makefile.in: Regenerate.
	* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: libsanitizer-backtrace_qsort.patch
Type: text/x-patch
Size: 1142 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140307/70fbcf05/attachment.bin>
-------------- next part --------------

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


More information about the Gcc-patches mailing list