Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Oct 2017 09:31:41 -0600
From:      Adam Weinberger <adamw@adamw.org>
To:        sgk@troutmask.apl.washington.edu
Cc:        Konstantin Belousov <kostikbel@gmail.com>, linimon@lonesome.com, Don Lewis <truckman@FreeBSD.org>, list1@gjunka.com, freebsd-ports@freebsd.org
Subject:   Re: portmaster, portupgrade, etc
Message-ID:  <9B1E1C51-7D87-4DBC-8E7A-D9657BBAAC91@adamw.org>
In-Reply-To: <20171005152520.GA96545@troutmask.apl.washington.edu>
References:  <20171004232819.GA86102@troutmask.apl.washington.edu> <201710050027.v950RBFT047711@gw.catspoiler.org> <20171005083558.GD95911@kib.kiev.ua> <20171005145116.GA96180@troutmask.apl.washington.edu> <20171005145941.GL95911@kib.kiev.ua> <20171005152520.GA96545@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 5 Oct, 2017, at 9:25, Steve Kargl =
<sgk@troutmask.apl.washington.edu> wrote:
>=20
> On Thu, Oct 05, 2017 at 05:59:41PM +0300, Konstantin Belousov wrote:
>> On Thu, Oct 05, 2017 at 07:51:16AM -0700, Steve Kargl wrote:
>>> On Thu, Oct 05, 2017 at 11:35:58AM +0300, Konstantin Belousov wrote:
>>>> On Wed, Oct 04, 2017 at 05:27:11PM -0700, Don Lewis wrote:
>>>>>> The system in question is my last i686 laptop, which I=20
>>>>>> use for libm development and testing.  Once I cannot use
>>>>>> that laptop (whether hardware failure or inability to=20
>>>>>> update the installed ports), I'll stop worrying about a
>>>>>> functional libm on 32-bit hardware.
>>>>>=20
>>>>> As an aside, this sort of thing could be done in an i386 VM or =
maybe an
>>>>> i386 jail on amd64 hardware.
>>>>=20
>>>> You do not need even a jail for this. Base cc -m32 works on amd64 =
for
>>>> long time, and 32bit binaries can be executed from host =
environment,
>>>> assuming all third-party libs are provided somewhere in the 32bit
>>>> variant.
>>>>=20
>>>> The environment with regard to the hardware configuration should be
>>>> identical to modern i386-arch machine with SSE2.  Incompatibilities =
are
>>>> considered as bugs and are usually fixed fast when reported.
>>>=20
>>> Does this required WITH_LIB32=3Dyes in src.conf?
>> Yes, but this is the default.
>>=20
>>>=20
>>> More concerning is that the FPU on i686 is set-up in npx to
>>> use 53-bit precision instead of 64-bit.  See x86/fpu.h where
>>> there is a large comment and the settings
>>>=20
>>> #define __INITIAL_FPUCW__       0x037F
>>> #define __INITIAL_FPUCW_I386__  0x127F
>>> #define __INITIAL_NPXCW__       __INITIAL_FPUCW_I386__
>>>=20
>>> Does cc -m32 on amd64 cause the amd64 fpu to act (exactly?) like
>>> and i387?
>> It is not cc -m32.
>>=20
>> Kernel sets up x87 FPU differently for 64 and 32bit processes. See
>> ia32_setregs() where pcb is adjusted for 32bit, and r189423.
>=20
> Yes, I know the kernel sets up npx on i686.  If one is testing libm
> changes or new code for libm, then cc -m32 will be insufficient in
> testing the behavior one might get from i387 in 53-bit mode as=20
> oppose to 64-bit.  This is the reason the macro LD80C exists in
> math_private.h.
>=20
> Which brings me back to my i686 laptop with limited resources.
> If portmgr makes it impractical/impossible to easily install ports
> without a sledge hammer, then testing possible future patches to=20
> libm will simply skip i686 class hardware.

I'm not clear what role you think portmgr has in this. Portmgr merely =
brings new features to the ports tree. Portmgr itself is responsible for =
no build tool other than "make install".

I don't know how many times I need to keep saying this, but portmgr is =
not killing off portmaster. There is simply nobody developing portmaster =
anymore, and that is not portmgr's responsibility. There ARE people =
developing poudriere, and that is why poudriere continues to work with =
new ports tree features.

# Adam


--=20
Adam Weinberger
adamw@adamw.org
https://www.adamw.org




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9B1E1C51-7D87-4DBC-8E7A-D9657BBAAC91>