RFC: Automatically test IFUNC implementations

Andreas Jaeger aj@suse.com
Tue Sep 25 18:59:00 GMT 2012


On 09/24/2012 03:30 PM, H.J. Lu wrote:
> On Mon, Sep 24, 2012 at 6:05 AM, Jeff Law <law@redhat.com> wrote:
>> On 09/23/2012 04:05 PM, H.J. Lu wrote:
>>>
>>> Hi,
>>>
>>> http://sourceware.org/bugzilla/show_bug.cgi?id=14602
>>>
>>> shows that we need to test all IFUNC implementations as much as we can.
>>> I created hjl/ifunc/test branch to automatically test IFUNC
>>> implementations.  Its goals are
>>>
>>> 1. Provide an infrastructure to tests all implementations supported
>>> on build machine automatically.
>>> 2. No changes to IFUNC selectors.
>>> 3. Test the new IFUNC implementation by adding it to the list of
>>> IFUNC functions.
>>>
>>> Change IFUNC selector is not the goal of this branch.  Any comments?
>>
>> This is something I had discussed with our internal QE team a while back and
>> it would be a big step forward.
>>
>
> My branch builds another libc.so. The difference is
>
> [hjl@gnu-tools-1 build-x86_64-linux]$ diff -up libc.map libc_ifunc.map
> --- libc.map	2012-09-23 15:23:44.196066030 -0700
> +++ libc_ifunc.map	2012-09-23 15:23:44.267066799 -0700
> @@ -903,4 +903,5 @@ GLIBC_PRIVATE {
>       _nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
>       errno;
>       h_errno; __resp;
> +    __libc_func;
>   } GLIBC_2.17;
> [hjl@gnu-tools-1 build-x86_64-linux]$
>
> The ifunc tests are linked against this libc.so, using __libc_func, which takes
> the name of function to be tested and returns a list of available IFUNC
> implementations on build machine.  It builds the special libc.so and runs ifunc
> tests only if mulit-arch is enabled.

So, you're building two libcs and one has this just extra symbol? In 
that case I suggest to build only one libc and have the symbol exported 
for everybody with a version in the namespace GLIBC_PRIVATE. My fear is 
that the duplicate building cases us more harm than good...

Andreas
-- 
  Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
   SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
    GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
     GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126



More information about the Libc-alpha mailing list