Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Sep 2013 10:09:05 -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:  <201309121009.05749.jhb@freebsd.org>
In-Reply-To: <20130912060348.GB33103@ithaqua.etoilebsd.net>
References:  <201309102056.r8AKu1rQ000442@svn.freebsd.org> <201309110956.11782.jhb@freebsd.org> <20130912060348.GB33103@ithaqua.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, September 12, 2013 2:03:49 am Baptiste Daroussin wrote:
> On Wed, Sep 11, 2013 at 09:56:11AM -0400, John Baldwin wrote:
> > 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).
> > 
> 
> I had followed the discussion but I have missed the commit reflecting that. So I
> wasn't aware this has been done. I will have a look to integrate it and use it
> in pkgng, won't be for 10.0  packages, but I'll make it for 11.* packages and
> probably 10.1.

It is an open item, meaning not done yet. :(  I think you would have to special case
amd64/i386/pc98 for now as a hack knowing you can eventually remove it.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309121009.05749.jhb>