"H.J. Lu" <hjl.to...@gmail.com> wrote:

>On Mon, Mar 18, 2013 at 10:02 AM, Paul Pluzhnikov
><ppluzhni...@google.com> wrote:
>> +cc libc-alpha
>>
>> On Mon, Mar 18, 2013 at 9:05 AM, Xinliang David Li
><davi...@google.com> wrote:
>>> Interesting idea about lazy IFUNC relocation.
>>
>>> On Mon, Mar 18, 2013 at 2:02 AM, Richard Biener
>>> <richard.guent...@gmail.com> wrote:
>>
>>>> On Fri, Mar 15, 2013 at 10:55 PM, Sriraman Tallam
><tmsri...@google.com> wrote:
>>
>>>>>    This patch is meant for google/gcc-4_7 but I want this to be
>>>>> considered for trunk when it opens again. This patch makes it easy
>to
>>>>> test for code coverage of multiversioned functions. Here is a
>>>>> motivating example:
>>
>>>> Err.  As we are using IFUNCs isn't it simply possible to do this in
>>>> the dynamic loader - for example by simlply pre-loading a library
>>>> with the IFUNC relocators implemented differently?  Thus, shouldn't
>>>> we simply provide such library as a convenience?
>>
>> A similar need exists in glibc itself: it too has multiversioned
>functions,
>> and lack of testing has led to recent bugs in some of them.
>>
>> HJ has added a framework to test IFUNCs to glibc late last year, but
>it
>> would be nice to have a more general IFUNC control, so I could e.g.
>run
>> a binary on SSE4-capable machine A as that binary would run on
>SSE2-only
>> capable machine B.
>>
>> (We've had a few bugs recently, were the crash would only show on
>machine
>> B and not A. These are a pain to debug, as I may not have access to
>B.)
>>
>> If such a controller is implemented, I'd think it would have to be
>part
>> of GLIBC (or part of the ld-linux itself), and not of libgcc.
>>
>>   LD_CPU_FEATURES=sse,sse2 ./a.out  # run as if only sse and sse2 are
>available
>>
>
>We can pass environment variables to IFUNC selector.   Maybe we can
>enable it for debug build.

I was asking for the ifunc selector to be
Overridable by ld_preload or a similar mechanism at dynamic load time.

Richard.

Reply via email to