Date: Tue, 20 Mar 2012 10:19:36 +0100 From: Baptiste Daroussin <bapt@FreeBSD.org> To: current@FreeBSD.org Subject: Re: ABI/architecture identification for packages Message-ID: <20120320091935.GF1692@azathoth.lan> In-Reply-To: <20120319213508.GA1692@azathoth.lan> References: <20120319213508.GA1692@azathoth.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
--H4SyuGOnfnj3aJqJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 19, 2012 at 10:35:08PM +0100, Baptiste Daroussin wrote: > Hi all, >=20 > In order to identify architectures I need to find a uniq id for every > possibilities (for pkgng) >=20 > here is the identification I propose: >=20 > arch-class-os-majorversion(-archi_specific_extension) >=20 > arch can be one of the following: >=20 > - x86 for i386 and amd64 (discussed with kib) > - powerpc for powerpc and powerpc64 > - arm > - mips > - sparc >=20 > class may be: > - 32 bits > - 64 bits >=20 > os will always be freebsd :) (lower case) >=20 > majorversion the freebsd major version (10 9 8) >=20 > achi_specific_extension currently only mips and arm are concerned, > for arm could be: > el_oabi > eb_oabi > el_eabi > eb_eabi >=20 > (I don't know how to get arm version or hardfp/softfp from the elf) >=20 > for mips I don't know much. >=20 > for ia64, I have strictly no idea what I should set. >=20 > Everything is read from the elf file >=20 > for example: > x86-64-freebsd-10 > x86-32-freebsd-8 > arm-32-freebsd-10-el_oabi >=20 > Please help me to improve this to get the better identification to have t= he best > possible to determine which package can be installed where. >=20 > while proposing information please tell me how to get the information > (dynamically) >=20 > regards, > Bapt Another question (by rwatson) that comes here is should we keep the archite= cture names that freebsd uses to avoid confusion or should we try to use more acc= urate names? powerpc-64-freebsd-9 -> powerpc64-64-freebsd-9 x86-32-freebsd-9 -> i386-32-freebsd-9 x86-64-freebsd-9 -> amd64-64-freebsd-9 etc. An example of implementation can be find here: https://github.com/pkgng/pkgng/blob/master/libpkg/pkg_elf.c#L157 PS: Feel free to submit fixes/improvements to the code :) regards, Bapt --H4SyuGOnfnj3aJqJ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk9oS6cACgkQ8kTtMUmk6Ey4BACfeAlqrkyo0Llp+C/zAtHF6NAr GtsAn3j6ghvoSMzCtwqZqq6V68FiEGcC =o5y4 -----END PGP SIGNATURE----- --H4SyuGOnfnj3aJqJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120320091935.GF1692>