Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 May 2014 12:59:22 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Tijl Coosemans <tijl@FreeBSD.org>
Cc:        Baptiste Daroussin <bapt@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, Glen Barber <gjb@freebsd.org>, Nathan Whitehorn <nwhitehorn@freebsd.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r266553 - head/release/scripts
Message-ID:  <83440C4A-FDA6-4392-9211-DED13CF1DDDA@bsdimp.com>
In-Reply-To: <20140524185345.263f230d@kalimero.tijl.coosemans.org>
References:  <201405221922.s4MJM4Y9025265@svn.freebsd.org> <537F6706.6070509@freebsd.org> <20140523153619.GF72340@ivaldir.etoilebsd.net> <537F6EBC.3080008@freebsd.org> <20140523162020.GG72340@ivaldir.etoilebsd.net> <C5A59513-AF58-4749-BCD7-F54BB6F56E90@gmail.com> <20140524165940.3c687553@kalimero.tijl.coosemans.org> <5380C311.60201@freebsd.org> <20140524185345.263f230d@kalimero.tijl.coosemans.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_83082AB4-30E8-44E2-A9A8-CCF605A50F25
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On May 24, 2014, at 10:53 AM, Tijl Coosemans <tijl@FreeBSD.org> wrote:

> On Sat, 24 May 2014 09:04:33 -0700 Nathan Whitehorn wrote:
>> On 05/24/14 07:59, Tijl Coosemans wrote:
>>> On Fri, 23 May 2014 17:29:48 -0600 Warner Losh wrote:
>>>> On May 23, 2014, at 10:20 AM, Baptiste Daroussin <bapt@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.
>>>>>>>=20
>>>>>>> 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.
>>>>>>>=20
>>>>>>> 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.
>>>>=20
>>>>> 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=92ve used for the past 20 years? If you need the =
flexibility, which I=92m not
>>>> entirely sure I=92ve seen a good use case for. When would you have =
a x86 binary
>>>> package? Wouldn=92t 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.
>>=20
>> No, it wouldn't. MACHINE_ARCH would be something else (x32, probably) =
in=20
>> such cases. MACHINE_ARCH (and uname -p, which reports it) is the =
FreeBSD=20
>> ABI identifier and encodes 100% of the ABI information. This would be=20=

>> true even if there is never an x32 kernel.
>=20
> No, there's no such thing as an x32 kernel.  It's an amd64 kernel that
> supports a second userland ABI.  In C preprocessor terms they are
> distinguished by (__amd64__ && _LP64) and (__amd64__ && !_LP64).
> uname -p gives you the processor architecture (the __amd64__ bit) but
> then you can still choose the sizes of standard C types (the _LP64 =
bit).
> So far we've always had one ABI per processor architecture but this
> is not strictly necessary.

I think we=92re talking past each other here. It absolutely would be =
MACHINE_ARCH =3D=3D x32. That would be the name. And you could have an =
x32 kernel, if you wanted. When we=92re building in the FreeBSD build =
system, we=92d absolutely need a second MACHINE_ARCH.

What you are doing here is confuse MACHINE_ARCH with MACHINE_CPUARCH.

If you look at how we handle this for MIPS you=92ll see we do exactly =
this for MIPS N32, which is exact likely x32. You don=92t have to have a =
n32 kernel to run n32 binaries (but in MIPS=92 case you can, if you =
want).

Warner

--Apple-Mail=_83082AB4-30E8-44E2-A9A8-CCF605A50F25
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJTgOwKAAoJEGwc0Sh9sBEAu7EQANHBenYi6jGYfFllnNP4w4fa
Cu0JwV5k8HDI+/kzW1CApHifEHnspB6cOHc3YA1BPruS0wyywr3LcnWQKcx+3lc9
wBpA8XPhlaiDAzxAMpZh115DiK5nadq7K+3DVwnOvQumQKgj2FP8Nhovr5Ve/DN/
MzT6ebBx/qRce4lwESiLKwhC/21ObPAZ8CRCPinyx4ask6Tey7K7wAVCHfvFQUAx
OvEfiX9AAwrTzF4f+SrgU8hHVmVLwL63YFkEbL0KRIAynT7f4DyOoGCWbs+/PUy3
6I0iGDeDFJKDrPkKkOSaQNsFMWdKXsBg5IFVE98FeiodMKGTDHk+LsdMR3xfLFTL
SvS9Je0Xp7R5yHPC5Z0KOzYfV0L5Zeu9Vh3434QtrfRGNhdz1+A4srGg6cvyALI2
92zAHrkpEOcj7XIyHFUeZKQHOPaLeEg0hPDZVToIrcDzfnahPogkJnvtTHIyqL0N
aljKxZIf0/DkpkxwKw0Qnq+a7aTEj90lBEYMeLPm0x4mPyih5e7Ba2FQIhetSgqW
uG+F/aLWwy79s4SSFCcJiO1rvxh3B3XD85gjBX3hONJIz8L/MJg1BbWwxfalDZ/S
Pz1SxJucqPxwsVivgM2HtzPWYsa8EqyNX9BXQgfKRxnhMFV8R8/KA25Trjjikz8Y
rrn6Bo+KKAKcC4DiST+2
=X7h2
-----END PGP SIGNATURE-----

--Apple-Mail=_83082AB4-30E8-44E2-A9A8-CCF605A50F25--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?83440C4A-FDA6-4392-9211-DED13CF1DDDA>