Re: ABI/architecture identification for packages
--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--
討論串 (同標題文章)
完整討論串 (本文為第 11 之 25 篇):