> 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. Paul -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

