This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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] arm: Fix R_ARM_IRELATIVE for REL relocs.


On 08/28/2013 12:14 PM, Joseph S. Myers wrote:
> On Wed, 28 Aug 2013, Carlos O'Donell wrote:
> 
>> 2013-08-28  Kyle McMartin  <kmcmarti@redhat.com>
>> 	    Carlos O'Donell  <carlos@redhat.com>
>>
>> 	* sysdeps/arm/dl-machine [!RTLD_BOOTSTRAP] (elf_machine_rel):
>> 	Pass GLRO(dl_hwcap) to the IFUNC resolver.
> 
> OK, given a bug filed in Bugzilla and a corresponding [BZ #N] notation and 
> entry in NEWS for the fixed bug.  

I created BZ# 15905.

Sorry for forgetting, and thanks for reminding me.

I've checked in the patch which fixes the failures we're
seeing in Fedora on this hardware.

> Have you verified that all ARM instances 
> of such code now consistently pass the HWCAP value?

Yes.

There are 4 places that require dl_hwcap to be used:
* ifunc-impl-list.c (__libc_ifunc_impl_list) - Already uses dl_hwcap.

* dl-irel.h (elf_ifunc_invoke) - Already uses dl_hwcap. Was fixed by
  Richard Henderson in commit 73da6bacf (along with other instances
  in dl-machine.h).

* dl-machine.h (elf_machine_rel) - Fixed by this patch.

* dl-machine.h (elf_machine_rela) - Fixed by Will Newton's patch.

These are the only place that I know about that require using
dl_hwcap and all of them are now fixed.

The uses are inconsistent in their use of `unsigned long int'
vs. 'int' for the dl_hwcap parameter, but changing that could
be a future cleanup.

I will note that the 32-bit ARM testsuite on this hardware is
not clean e.g.
 
make[2]: *** [/home/codonell/build/math/test-fenv.out] Error 1
make[1]: *** [math/tests] Error 2
make[2]: *** [/home/codonell/build/stdio-common/bug22.out] Error 1
make[1]: *** [stdio-common/tests] Error 2
make[2]: [/home/codonell/build/posix/annexc.out] Error 1 (ignored)
make[2]: *** [/home/codonell/build/nptl/tst-cleanup2.out] Error 1
make[2]: *** [/home/codonell/build/nptl/tst-cleanupx2.out] Error 1
make[1]: *** [nptl/tests] Error 2
make[2]: [/home/codonell/build/conform/run-conformtest.out] Error 1 (ignored)
make[2]: *** [/home/codonell/build/elf/ifuncmain5picstatic.out] Error 139
make[1]: *** [elf/tests] Error 2
make[1]: *** [/home/codonell/build/check-local-headers.out] Error 1
make: *** [check] Error 2

In particular ifuncmain5picstatic.out looks troublesome, and
I need to look at it to see if something is further wrong with
the IFUNC support.

Cheers,
Carlos.


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