This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

Hi Jakub,

    I did tried to use the glibc qsort. I compared the source of the
two versions.
    I found that the BSD one is more self-contained and easy for
integration with libiberty.
    That's why the BSD one is preferred.
    And we already have several BSD functions there in libiberty
(libiberty/random.c, an example).

On Wed, Aug 13, 2014 at 8:16 PM, Jakub Jelinek <> wrote:
> On Wed, Aug 13, 2014 at 08:12:03PM +0800, Felix Yang wrote:
>>     The qsort library function may have different behavior on
>> different hosts (say Linux vs MinGW).
>>     We may have different sorting results with qsort when there are
>> elements with the same key value.
>>     GCC uses qsort a lot. And the output of certain optimizations,
>> such as IRA, relies on the sorting result of this library function.
>>     The problem is that we may have different assembly code of GCC on
>> different hosts even with the same source file.
>>     Normally this is not what a GCC user expect to see.
>>     In order to fix this issue, I am adding Berkeley qsort to
>> libiberty in order to override the one from the library.
> Why have you picked a BSD one rather than the GNU one?
> glibc qsort is highly optimized and has some other nice properties qsort
> from many other sources does not have.
>         Jakub

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]