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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to