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>