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.