ABI/architecture identification for packages

Nathan Whitehorn nwhitehorn at freebsd.org
Tue Mar 20 00:41:18 UTC 2012


On 03/19/12 14:35, Baptiste Daroussin wrote:
> Hi all,
>
> In order to identify architectures I need to find a uniq id for every
> possibilities (for pkgng)
>
> here is the identification I propose:
>
> arch-class-os-majorversion(-archi_specific_extension)
>
> arch can be one of the following:
>
> - x86 for i386 and amd64 (discussed with kib)
> - powerpc for powerpc and powerpc64
> - arm
> - mips
> - sparc
>
> class may be:
> - 32 bits
> - 64 bits
>
> os will always be freebsd :) (lower case)
>
> majorversion the freebsd major version (10 9 8)
>
> achi_specific_extension currently only mips and arm are concerned,
> for arm could be:
> el_oabi
> eb_oabi
> el_eabi
> eb_eabi
>

One brief comment here: the output of uname -p (arm, armeb, etc.) is 
meant to encode the ABI completely. All platforms with the same uname -p 
should be able to execute each other's binaries. Why not just a sequence 
of `uname -p`-`uname -s`-`uname -r` (or some subset of uname -r)? That 
should be enough to completely encode compatibility information on 
almost any operating system.
-Nathan


More information about the freebsd-current mailing list