Date: Wed, 10 Jul 2013 16:11:37 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-arch@freebsd.org Cc: Baptiste Daroussin <bapt@freebsd.org>, Dimitry Andric <dim@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, Andrew Turner <andrew@fubar.geek.nz> Subject: Re: Adding a MACHINE_ARCH note Message-ID: <201307101611.37437.jhb@freebsd.org> In-Reply-To: <20130710195547.GB68830@ithaqua.etoilebsd.net> References: <32F979BD-FB5C-4111-9586-4C5E7C6DFA71@bsdimp.com> <CAJ-Vmo=sUKs4u-pq%2B1hx-q1bfhPugMcSp4XYzNcBNwHMrw3Kug@mail.gmail.com> <20130710195547.GB68830@ithaqua.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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) -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307101611.37437.jhb>