From owner-svn-src-all@FreeBSD.ORG Wed May 28 19:53:13 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A4D054BB for ; Wed, 28 May 2014 19:53:13 +0000 (UTC) Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6422A2F2C for ; Wed, 28 May 2014 19:53:13 +0000 (UTC) Received: by mail-pa0-f41.google.com with SMTP id kx10so1715689pab.0 for ; Wed, 28 May 2014 12:53:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=Wi5hCiniQVTVw/MB4VwE3Ry5L6Ltyb4BoBkURxL10SQ=; b=d5Mlzo9q0HqfQ5L1wvRg/VdFNTVt9o1MvhrPUqoO8JMV3BnSg3clv/rHXYWbrMadFa gIvr56iXdx33/NxTWmdo/Oank+XZyR1p7QL0oDlXpWOvbJkiBYq+Q4TKwxjO9xbtK8qN QidH6NG07yOMIBJ/mbDJo3mNrJBA7uKlFMEzSN5rH+xwLJnJ2YjygVHRu7sBMgvtkvhD MPlDEdJncXyn3Zug0iw0bd8gthTixJPt0QL7JpnY3ZcFuw38SFJSbS8gMF8KLU8QY1/Y EyRxxtFewMmkBmR9VpqQyMF595S0V5+tDEPjIodw+9liWy6lgi1l0wz6AGCU19UlT0fU VeDg== X-Gm-Message-State: ALoCoQklDhH5uM5L1sayOvO7oKkAqFLOxi5Q6rvpu2G3rOIqSp/VU/TGj7HJGzw34jmWAo2ICOYB X-Received: by 10.66.136.103 with SMTP id pz7mr2420994pab.140.1401306792519; Wed, 28 May 2014 12:53:12 -0700 (PDT) Received: from lgmac-rtangirala.corp.netflix.com (dc1-prod.netflix.com. [69.53.236.251]) by mx.google.com with ESMTPSA id pu5sm9668346pbb.4.2014.05.28.12.53.10 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 28 May 2014 12:53:11 -0700 (PDT) Sender: Warner Losh Content-Type: multipart/signed; boundary="Apple-Mail=_1E75C19A-0256-4135-A188-9FA601093413"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\)) Subject: Re: svn commit: r266553 - head/release/scripts From: Warner Losh In-Reply-To: <20140528154728.GB3991@kib.kiev.ua> Date: Wed, 28 May 2014 13:53:28 -0600 Message-Id: References: <20140527001811.3e9d3e8d@kalimero.tijl.coosemans.org> <05D1A11D-5985-42EA-84AD-209A8B51D391@bsdimp.com> <20140527093633.0a922e13@kalimero.tijl.coosemans.org> <85FABD2B-81BB-4E1A-B61E-4216A144A9DB@bsdimp.com> <20140527214038.17d00369@kalimero.tijl.coosemans.org> <13EB325C-3882-46AA-9B17-3BF19997C978@bsdimp.com> <20140528125027.6d0cc4fb@kalimero.tijl.coosemans.org> <5E038619-5921-4B7A-A4EE-D1E83614934B@bsdimp.com> <20140528152820.GA3991@kib.kiev.ua> <20140528154728.GB3991@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1878.2) Cc: Baptiste Daroussin , src-committers@freebsd.org, Ian Lepore , svn-src-all@freebsd.org, Glen Barber , Nathan Whitehorn , svn-src-head@freebsd.org, Tijl Coosemans X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2014 19:53:13 -0000 --Apple-Mail=_1E75C19A-0256-4135-A188-9FA601093413 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On May 28, 2014, at 9:47 AM, Konstantin Belousov = wrote: > On Wed, May 28, 2014 at 09:35:27AM -0600, Warner Losh wrote: >>=20 >> On May 28, 2014, at 9:28 AM, Konstantin Belousov = wrote: >>=20 >>> On Wed, May 28, 2014 at 08:26:58AM -0600, Warner Losh wrote: >>>>=20 >>>> Then we disagree on this point. However, the disagreement here is >>>> kinda foundational: to build a set of libraries or sys root, you = have >>>> to have a MACHINE_ARCH to make it work. Even in our current system, = we >>>> set MACHINE_ARCH to i386 or powerpc when building the 32-bit = binaries >>>> (note: we don?t do this for mips). This means that if we do grow = x32 >>>> support, we?ll need to grow a MACHINE_ARCH for it. That?s my point: >>>> all ABIs have MACHINE_ARCH associated with them, and those are the >>>> names users are used to specifying, and are the ones that are the = most >>>> natural for script writers to use. With nathan?s patches, we?re to = the >>>> point where those are used, though there?s also the option of using >>>> the non-standard names if you want (e.g. amd64:32 instead of x32). >>>>=20 >>>=20 >>> I am not sure if this comment would add anything to the discussion, >>> but other build systems do not require MACHINE_ARCH. In our terms, >>> other build systems are happy to build: >>> i386 binary when MACHINE is amd64 and CFLAGS contains -m32; >>> x32 binary when MACHINE is amd64 and CFLAGS contains -mx32. >>>=20 >>> For HEAD and stable/10 we finally reached the point where -m32 = works, >>> on amd64; it worked on powerpc64 from inception, AFAIU Nathan. At = least >>> this is true for dependencies limited to the base system, and not to = the >>> ports (the later is since ports do not know about multiarch). >>>=20 >>> It is limitation of our build that we require MACHINE_ARCH to build >>> other natively supported ABI binary on the host. Ideally, the hacks = that >>> treat lib32 build as the cross-compilation would go away eventually. >>=20 >> I doubt it. The MACHINE_ARCH is used to select which files to build. > Do I understand you right that the comment references e.g. a selection > of arch-specific subdir in lib/libc or libexec/rtld-elf for inclusion > into the build ? If yes, I cannot disagree with the statement. As far as I can tell, that=92s the only reason we=92re doing it.. But = it is a critically important reason... > My note was about our build system which currently requires > full-fledged cross-build to even create i386 binary on amd64 vs. other > builds which consider this as a (often minor) variations of the host > target. Sure, some variances must be allowed, e.g. to select proper .S > file for the ABI, but we do not need cross-build to get i386 on amd64. lib32 uses -m32 and some other flags to achieve its ends. So it doesn=92t = create a full i386 compiler, etc. It just uses the amd64 one with = special flags/args. So I don=92t think it requires a full-fledged = cross-build environment, or I misunderstand what you mean by that = phrase. But none of this changes the fact that we have a unique MACHINE_ARCH = value per ABI. Warner --Apple-Mail=_1E75C19A-0256-4135-A188-9FA601093413 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 iQIcBAEBCgAGBQJThj64AAoJEGwc0Sh9sBEApb0P/1+mgH0iiabCS0q0cB0BD+2z 6h4loQ5ag61mpykbnPDQU7eHJ37Po4uQ2ZNTV5vuQxTK0bMWftPv5JJyt9Y38Otv LNwM7zm71paooQwB+GK0+1gMX3bruOaRQjdlefmBS1/cYa9dlxaiW7Sr0ILFoOBk QA5dBgafpppQb+6La5W5BU1mLFoZR4NeAJ19RJQTo0PE7vbIMT3h7r5vCVpLUFm1 JUdMmEhf696lgrulMz6XkYX0PamMsQgDuMNuJphKrw3iyMgMgvugcJfUi1Z/6tKg ffUyqBa0eiea909pBGHv4bUAeU2Px/YntDOxGa46S9vvoiyWXWkGXNOFaiQaUC8C gVnB/XU5VI1rc1DB7c8mUloILOJrydVQbLgn5CBMlE5Fsc1yY9T6hwoKg+cKH/lO F92caf7HO84SlllB71cL2iNi/k1Hj7ZH0a7IkbqmCOVKx4liAuTb/GMzH2H2Rsiy VK4Y/NImGhZMp7AH++lafvjdu/IB5bc0wlHxpELI3811YICPbZjiufYzvcg+khOx xY4zvXCKikR52IbZXNKpVSkMwwccUZobozC5paoa/QZQbpvjLjZeOohkwmTTI0T9 9GD+qwe1bWGUu64K8G3Q2fDFbXo6n4JMrKoTajn87FhYt8AfreFTA+k54NGE5Aat 3+9QZs1NkD3ALrIYF6IN =6z+u -----END PGP SIGNATURE----- --Apple-Mail=_1E75C19A-0256-4135-A188-9FA601093413--