+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

Thanks,
-- 
Paul Pluzhnikov

Reply via email to