+++ Henrique de Moraes Holschuh [2013-08-18 21:39 -0300]: > On Sun, 18 Aug 2013, Adam Borowski wrote: > > C - ship both versions on i386 and switch between them on runtime > > The linker can select at runtime different sets of libraries depending on > some cpu flags. I think it can do that for SSE2 just fine, you'd build two > libs: one without interesting intructions, and other with them, and place > them/name them appropriately for that to work, all in the same binary > package.
Right, but be careful not to confuse this functionality with multiarch. It's called 'multilib'. They both do essentially the same job (selecting libraries to load by paths), but with different paths/layouts and selection mechanisms. Multiarch paths are one per 'arch', which normally means an ABI, not an ISA. multilib paths form a matrix of all possible options so rapidly get out of hand if you have more than a couple. > I think the glibc package does that, you might want to take a look at it. Various packages in debian illustrate the techniques for packaging multiple ISA flavours. (mplayer, eglibc). I'm not sure that any of them use multilib paths to do this - they just use package naming so you choose whether to install 'libc6' or 'libc6-i686' (in the same paths). They are alternatives, not something than can be installed side by side in multilib locations and selected at runtime by the linker. (I haven't actually checked the package contents to confirm this). Things could be packaged using multilib locations if you thought it was worth the effort. Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

