[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: armelfp: new architecture name for an armel variant

> On Thursday 15 July 2010 19:48:43 Aurelien Jarno wrote:
> > Note that the new alternative to hwcap is called "multiarch" in the GNU
> > libc (something totally different than "multiarch" in Debian). It allows
> > to provide different versions of a given symbol using an IFUNC symbol
> > type. This will be resolved by the dynamic loader during relocation
> > depending on the hardware characteristics.
> > 
> > This avoid building multiple version of the same software (but still
> > multiple versions of a given function), and to introduce more
> > granularity (e.g. on x86 SSE, SSE2, SSE3, SSSE4.2, AVX, etc).
> So, in essence an application/library can include in the same binary
> multiple versions of the same function and the system picks one depending
> on the current cpu capabilities? So things like autodetecting SSE/Altivec,
> etc are not needed anymore?

Not quite. It provides a mechanism for selecting different routines without 
the runtime overhead of a check on every call.  It effecitvely provides a hook 
into the dynamaic linker that allows you to decide which function to export 
for a particular symbol.  A typical example is to select CPU specific 
implementations of memcpy. You still need to supply all the different 
implementations, and a function to determine which to use.

All the implementations must use the same ABI.


Reply to: