Adding a MACHINE_ARCH note

Baptiste Daroussin bapt at freebsd.org
Wed Jul 10 21:31:20 UTC 2013


On Wed, Jul 10, 2013 at 03:27:12PM -0600, Warner Losh wrote:
> 
> On Jul 10, 2013, at 3:24 PM, Baptiste Daroussin wrote:
> 
> > On Wed, Jul 10, 2013 at 04:11:37PM -0400, John Baldwin wrote:
> >> On Wednesday, July 10, 2013 3:55:47 pm Baptiste Daroussin wrote:
> >>> On Wed, Jul 10, 2013 at 12:26:42PM -0700, Adrian Chadd wrote:
> >>>> On 10 July 2013 09:55, Warner Losh <imp at bsdimp.com> wrote:
> >>>> 
> >>>>>> That's the reason I replied about it. Not specifically to make it
> >>>>>> happen _everywhere_, but to see if we're about to migrate to a tool
> >>>>>> that doesn't support it, making it a much bigger deal to migrate again
> >>>>>> later.
> >>>>> 
> >>>>> I've been talking to Baptiste, and it will support this.
> >>>> 
> >>>> Sweet.
> >>>> 
> >>>> Thanks!
> >>>> 
> >>>> 
> >>>> -adrian
> >>> 
> >>> Yeah I need to get a simple and uniq way to gather the different ABI, I have
> >>> been creating my own ABI string to solve this, but I'm far from being a
> >>> specialist.
> >>> 
> >>> While thinking about this kind of thing, please please think about a format that
> >>> can easily give us a way to figure out a way to get cross ABI binaries support.
> >>> 
> >>> pkgng needs for example to allow i386 packages to be installed on amd64 because
> >>> amd64 does support it.
> >>> 
> >>> Maintaining a list the compatibility will be painful.
> >>> 
> >>> In my own version I have
> >>> os:version:family:class:...
> >>> 
> >>> for example here:
> >>> on FreeBSD 9 i386 we have:
> >>> 
> >>> freebsd:9:x86:32
> >>> 
> >>> on FreeBSD 10 amd64 we have:
> >>> 
> >>> freebsd:9:x86:64
> >>> 
> >>> now if I do want a package I can install on both amd64 and i386 I just have to
> >>> create a package saying:
> >>> 
> >>> freebsd:9:x86
> >>> 
> >>> or if I want a package that can be installed on all arches:
> >>> 
> >>> freebsd:9
> >>> 
> >>> It became complicated for arm and mips because of the multiple variation
> >>> available.
> >> 
> >> You should look at how MACHINE_CPUARCH vs MACHINE vs MACHINE_ARCH works.
> >> 
> >> Keep in mind that amd64/i386/pc98 should probably have MACHINE_CPUARCH of x86,
> >> but we just haven't done that yet.  If we did that I think you could follow
> >> src's conventions and be fine.  Something like:
> >> 
> >> os:version:cpuarch:arch
> >> 
> >> Where cpuarch == MACHINE_CPUARCH (should be x86 on amd64/i386/pc98, but isn't
> >> yet.  It ss sane on other platforms) and
> >> arch == MACHINE_ARCH (amd64/i386 (for pc98 MACHINE_ARCH is i386))
> >> 
> >> So that would give:
> >> 
> >> freebsd:9:x86:amd64
> >> freebsd:9:x86:i386 (for both pc98 and i386)
> >> freebsd:9:arm:armv6
> >> 
> >> etc.
> >> 
> >> I think that means we could eventually support x32 as:
> >> 
> >> freebsd:9:x86:x32
> >> 
> >> We might have an x32 world (but perhaps not a kernel?, though we would need
> >> the headers to DTRT)
> > 
> > I do like the idea a lot.
> 
> We should add a flag to uname to get MACHINE_CPUARCH, and publish it as hw.cpu_arch in sysctl.
> 
I will still have to workaround on older releases. The one without those
informations.

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20130710/57f801a7/attachment.sig>


More information about the freebsd-arch mailing list