Date: Wed, 11 Sep 2013 09:56:11 -0400 From: John Baldwin <jhb@freebsd.org> To: Baptiste Daroussin <bapt@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Nathan Whitehorn <nwhitehorn@freebsd.org> Subject: Re: svn commit: r255457 - head/usr.sbin/pkg Message-ID: <201309110956.11782.jhb@freebsd.org> In-Reply-To: <20130911054907.GK40186@ithaqua.etoilebsd.net> References: <201309102056.r8AKu1rQ000442@svn.freebsd.org> <522FE3A2.2090405@freebsd.org> <20130911054907.GK40186@ithaqua.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, September 11, 2013 1:49:07 am Baptiste Daroussin wrote: > On Tue, Sep 10, 2013 at 10:29:38PM -0500, Nathan Whitehorn wrote: > > On 09/10/13 15:56, Baptiste Daroussin wrote: > > > Author: bapt > > > Date: Tue Sep 10 20:56:01 2013 > > > New Revision: 255457 > > > URL: http://svnweb.freebsd.org/changeset/base/255457 > > > > > > Log: > > > Add support to detect arm vs armv6 > > > > > > There are two different versions of the ARM ABI depending on the > > > TARGET_ARCH. As these are sligntly different a package built for > > > one may not work on another. We need to detect which one we are on > > > by parsing the .ARM.attributes section. > > > > > > This will only work on the ARM EABI as this section is part of the > > > ABI definition. As armv6 only supports the ARM EABI this is not a > > > problem for the oabi. > > > > > > Older versions of libelf in FreeBSD fail to read the > > > .ARM.attributes section needed. As armv6 is unsupported on these > > > versions we can assume we are running on arm. > > > > > > > Picking a random commit: I don't suppose we can just use MACHINE_ARCH > > for these identifiers? It encapsulates everything needed for compatibility. > > -Nathan > > Yes we probably can, it encapsulates everything since recently! It wasn't the > case when ABI string was defined, and it lacks an important part of why the ABI > string has been designed on pkgng: making a package match multiple arch via > simple glob on the ABI line. > > So as I already said to Warner, Yes now that it properly works on all arches we > could use it but that is not that easy. > > People wanting to go that way should: > 1. provide a way for pkgng to extract MARCHE_ARCH out of a binary (/bin/ls) > (dynamic cross installation ABI detection) > 2. provide a way to create multiarch ABI out of MACHINE_ARCH > 3. provide an upgrade path with compatibility for the current string (pkgng is > already largely deployed) > 4. have time to do it > > There is so much work pending on pkgng, in particular for 10.0 that I just have > no time to work on it. We actually had a thread about this on arch@ a while back where I think we did largely satisfy your concerns. However, one of the open items is to convert amd64, i386, and pc98 to set MACHINE_CPUARCH to x86 instead of amd64/i386 (this would clean up several other things as well). I do think it would be helpful if pkgng used arch strings that were consistent with MACHINE_ARCH so that the transition is easier (e.g. x86:i386 and x86:amd64 instead of x86:32 and x86:64). -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309110956.11782.jhb>