On May 24, 2014, at 8:59 AM, Tijl Coosemans <t...@freebsd.org> wrote:
> On Fri, 23 May 2014 17:29:48 -0600 Warner Losh wrote: >> On May 23, 2014, at 10:20 AM, Baptiste Daroussin <b...@freebsd.org> wrote: >>> On Fri, May 23, 2014 at 08:52:28AM -0700, Nathan Whitehorn wrote: >>>> On 05/23/14 08:36, Baptiste Daroussin wrote: >>>>> On Fri, May 23, 2014 at 08:19:34AM -0700, Nathan Whitehorn wrote: >>>>>> Is there any chance of finally switching the pkg abi identifiers to just >>>>>> be uname -p? >>>>>> -Nathan >>>>> Keeping asking won't make it happen, I have explained a large number of >>>>> time why it >>>>> happened, why it is not easy for compatibility and why uname -p is still >>>>> not >>>>> representing the ABI we do support, and what flexibility we need that the >>>>> current string offers to us. >>>>> >>>>> if one is willing to do the work, please be my guess, just dig into the >>>>> archives >>>>> and join the pkg development otherwise: no it won't happen before a while >>>>> because we have way too much work on the todo and this item is stored at >>>>> the >>>>> very end of this todo. >>>>> >>>>> regards, >>>>> Bapt >>>> >>>> I'm happy to do the work, and have volunteered now many times. If uname >>>> -p does not describe the ABI fully, then uname -p needs changes on the >>>> relevant platforms. Which are they? What extra flexibility does the >>>> string give you if uname -p describes the ABI completely? >>>> -Nathan >>> >>> just simple examples in armv6: >>> - eabi vs oabi >>> - The different float abi (even if only one is supported for now others are >>> being worked on) >>> - little endian vs big endian >> >> All of those are encoded in the MACHINE_ARCH + freebsd version, no exceptions >> on supported architectures that are tier 2 or higher. This seems like a weak >> reason. >> >>> the extras flexibilit is being able to say this binary do support freebsd >>> i386 >>> and amd64 in one key, freebsd:9:x86:*, or or all arches freebsd:10:* >> >> Will there be a program to convert this new, special invention to the >> standard >> that we’ve used for the past 20 years? If you need the flexibility, which >> I’m not >> entirely sure I’ve seen a good use case for. When would you have a x86 binary >> package? Wouldn’t it be either i386 or amd64? > > ABI isn't just about the instruction set. It's also about the sizes of C > types (like pointers). If I remember correctly, the pkg scheme was chosen > to allow for ABIs like x32 which use the 64 bit instruction set with 32 > bit pointers. MACHINE_ARCH would also be amd64 in this case. ABIs like x32 would not have a MACHINE_ARCH of “amd64” but would have a MACHINE_ARCH of “x32”. This is exactly what we do with mips today. So this ins’t an argument for not using MACHINE_ARCH directly, rather than having an arbitrary mapping (which is the problem with the proposed scheme). MACHINE_ARCH, as it stands in FreeBSD, uniquely defines the ABI (modulo occasional bugs that are fixed). > The advantage of the pkg scheme is that it has a formal structure. That's > what makes it flexible, extensible, machine parsable, etc. I'd rather see > the rest of FreeBSD adopt this scheme than that pkg would have to adopt > the informal names. The use of x86 instead of i386/amd64 is part of the > idea to merge more of sys/i386 and sys/amd64 into sys/x86 and eventually > define MACHINE as "x86”. MACHINE and MACHINE_ARCH are different. Please don’t confuse them. > Patterns like freebsd:9:* will probably become more prevalent when support > for subpackages is added. Some of the subpackages (like documentation) will > be ABI independent. True, but not relevant to the machine name you use. Warner
signature.asc
Description: Message signed with OpenPGP using GPGMail