From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 88C283857347 for ; Mon, 4 Jul 2022 04:17:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 88C283857347 Received: by mail-pl1-x62a.google.com with SMTP id n10so7565975plp.0 for ; Sun, 03 Jul 2022 21:17:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=kiFBqKXpIGXO4bhL+PDMx0020X1NaCjNrH8AyEtgSGg=; b=uTYUMRtiafDWtUEBB0s9ZqaAaFBxnRfROm0okf1Zws5uIJSyxKbGU9jKj61ubCML82 Nv7ucswCN2P5gYosWzATfifNa1evaxQifmsVWj3PUIl1mDIyu9fHeBlWvpqt13xBKSJO dBO/eSBxaEXxMluS/XHjwDeYkNTwCnJR6pidd8cwj0aDwjL7zoVBcwgjqrCvc3UPxj5g iR4VS9s1yyS2RWcY7aPaiftpKIzxM11+mo77lb21bP3SdPJrXdpmbZLZlIZ0W8yg84JE U255C8hK8m+VGeeQkCi2jdx8ZYmtmCLtTP0bREBbiLDfpoDMyLokhNCcFEaFCJ+zwjSF c2Iw== X-Gm-Message-State: AJIora9uNAZF8skB/Xo++qD7Ea5v78m7W1FGi2Vte71C5DoA0OBOQEp7 9P4CSqKp753kBLhCLGHI/k2NJp1l31M= X-Google-Smtp-Source: AGRyM1u4fZZIm/Eo+lLUp3rfPjoPecBhG1eirSw7TjPHRH6WtGkV8RVsrCUoQVWXwC72iS3AJRHAWg== X-Received: by 2002:a17:90b:4b42:b0:1ed:f6f:ff2 with SMTP id mi2-20020a17090b4b4200b001ed0f6f0ff2mr35842101pjb.131.1656908235235; Sun, 03 Jul 2022 21:17:15 -0700 (PDT) Received: from noah-tgl.hsd1.ca.comcast.net ([2601:642:c302:8c00:49fb:7665:e6a4:2078]) by smtp.gmail.com with ESMTPSA id x9-20020a056a00188900b0050dc762818csm20012308pfh.102.2022.07.03.21.17.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Jul 2022 21:17:14 -0700 (PDT) From: Noah Goldstein To: libc-alpha@sourceware.org Subject: [PATCH v1] scripts: Add support for build x86-64 glibc with multiple ISA levels Date: Sun, 3 Jul 2022 21:15:51 -0700 Message-Id: <20220704041550.3858613-1-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jul 2022 04:17:18 -0000 Tested all added builds on x86-64-v3 machine. --- I was a bit concerned we would need to check the host (building) machine before enabling higher ISA builds, but everything seems to be working. I tested the x86-64 v4 build on a v3 machine. If there is a case I missed and we do need to check host machine LMK. Result running all x86-64 builds: rm -rf build-many; python3 src/glibc/scripts/build-many-glibcs.py build-many/ checkout gcc-vcs-11; python3 src/glibc/scripts/build-many-glibcs.py build-many/ host-libraries --keep=failed; python3 src/glibc/scripts/build-many-glibcs.py build-many compilers x86_64-linux-gnu --keep=failed; python3 src/glibc/scripts/build-many-glibcs.py build-many glibcs x86_64-linux-gnu x86_64-linux-gnu-disable-multi-arch x86_64-linux-gnu-isa-v2 x86_64-linux-gnu-isa-v2-disable-multi-arch x86_64-linux-gnu-isa-v3 x86_64-linux-gnu-isa-v3-disable-multi-arch x86_64-linux-gnu-isa-v4 x86_64-linux-gnu-isa-v4-disable-multi-arch x86_64-linux-gnu-minimal x86_64-linux-gnu-no-pie x86_64-linux-gnu-x32 x86_64-linux-gnu-x32-no-pie x86_64-linux-gnu --keep=failed configure.ac:83: installing 'build-aux/compile' configure.ac:46: installing 'build-aux/config.guess' configure.ac:46: installing 'build-aux/config.sub' configure.ac:26: installing 'build-aux/install-sh' configure.ac:26: installing 'build-aux/missing' Makefile.am: installing './INSTALL' Makefile.am: installing 'build-aux/depcomp' Makefile.am:32: installing 'build-aux/mdate-sh' doc/Makefrag.am:106: warning: user target '$(srcdir)/doc/version.texi' defined here ... Makefile.am:155: 'doc/Makefrag.am' included from here /usr/share/automake-1.16/am/texi-vers.am: ... overrides Automake target '$(srcdir)/doc/version.texi' defined here Makefile.am:32: installing 'build-aux/texinfo.tex' parallel-tests: installing 'build-aux/test-driver' configure.ac:25: installing 'build-aux/compile' configure.ac:9: installing 'build-aux/config.guess' configure.ac:9: installing 'build-aux/config.sub' configure.ac:14: installing 'build-aux/install-sh' configure.ac:14: installing 'build-aux/missing' Makefile.am: installing './INSTALL' Makefile.am: installing 'build-aux/depcomp' configure.ac: installing 'build-aux/ylwrap' parallel-tests: installing 'build-aux/test-driver' PASS: host-libraries gmp rm PASS: host-libraries gmp mkdir PASS: host-libraries gmp configure PASS: host-libraries gmp build PASS: host-libraries gmp check PASS: host-libraries gmp install PASS: host-libraries gmp cleanup PASS: host-libraries mpfr rm PASS: host-libraries mpfr mkdir PASS: host-libraries mpfr configure PASS: host-libraries mpfr build PASS: host-libraries mpfr check PASS: host-libraries mpfr install PASS: host-libraries mpfr cleanup PASS: host-libraries mpc rm PASS: host-libraries mpc mkdir PASS: host-libraries mpc configure PASS: host-libraries mpc build PASS: host-libraries mpc check PASS: host-libraries mpc install PASS: host-libraries mpc cleanup PASS: host-libraries done PASS: compilers-x86_64-linux-gnu check-host-libraries PASS: compilers-x86_64-linux-gnu binutils rm PASS: compilers-x86_64-linux-gnu binutils mkdir PASS: compilers-x86_64-linux-gnu binutils configure PASS: compilers-x86_64-linux-gnu binutils build PASS: compilers-x86_64-linux-gnu binutils install PASS: compilers-x86_64-linux-gnu binutils cleanup PASS: compilers-x86_64-linux-gnu linux rm PASS: compilers-x86_64-linux-gnu linux mkdir PASS: compilers-x86_64-linux-gnu linux install-headers PASS: compilers-x86_64-linux-gnu linux cleanup PASS: compilers-x86_64-linux-gnu gcc-first rm PASS: compilers-x86_64-linux-gnu gcc-first mkdir PASS: compilers-x86_64-linux-gnu gcc-first configure PASS: compilers-x86_64-linux-gnu gcc-first build PASS: compilers-x86_64-linux-gnu gcc-first install PASS: compilers-x86_64-linux-gnu gcc-first cleanup PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu rm PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu mkdir PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu configure PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu build PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu install PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu mkdir-lib PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu cleanup PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 rm PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 mkdir PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 configure PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 build PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 install PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 mkdir-lib PASS: compilers-x86_64-linux-gnu glibc x86_64-linux-gnu-x32 cleanup PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu rm PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu mkdir PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu configure PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu build PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu install PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu mkdir-lib PASS: compilers-x86_64-linux-gnu glibc i686-linux-gnu cleanup PASS: compilers-x86_64-linux-gnu gcc rm PASS: compilers-x86_64-linux-gnu gcc mkdir PASS: compilers-x86_64-linux-gnu gcc configure PASS: compilers-x86_64-linux-gnu gcc build PASS: compilers-x86_64-linux-gnu gcc install PASS: compilers-x86_64-linux-gnu gcc cleanup PASS: compilers-x86_64-linux-gnu done Makefile:161: warning: overriding recipe for target 'glibcs-x86_64-linux-gnu' Makefile:5: warning: ignoring old recipe for target 'glibcs-x86_64-linux-gnu' PASS: glibcs-x86_64-linux-gnu check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v3 check-compilers PASS: glibcs-x86_64-linux-gnu-disable-multi-arch check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v4 check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v2 check-compilers PASS: glibcs-x86_64-linux-gnu-minimal check-compilers PASS: glibcs-x86_64-linux-gnu-no-pie check-compilers PASS: glibcs-x86_64-linux-gnu-x32-no-pie check-compilers PASS: glibcs-x86_64-linux-gnu-x32 check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch check-compilers PASS: glibcs-x86_64-linux-gnu-isa-v3 rm PASS: glibcs-x86_64-linux-gnu-disable-multi-arch rm PASS: glibcs-x86_64-linux-gnu rm PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch rm PASS: glibcs-x86_64-linux-gnu-isa-v4 rm PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch rm PASS: glibcs-x86_64-linux-gnu-isa-v2 rm PASS: glibcs-x86_64-linux-gnu-minimal rm PASS: glibcs-x86_64-linux-gnu-x32-no-pie rm PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch rm PASS: glibcs-x86_64-linux-gnu-no-pie rm PASS: glibcs-x86_64-linux-gnu-x32 rm PASS: glibcs-x86_64-linux-gnu mkdir PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch mkdir PASS: glibcs-x86_64-linux-gnu-disable-multi-arch mkdir PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch mkdir PASS: glibcs-x86_64-linux-gnu-isa-v2 mkdir PASS: glibcs-x86_64-linux-gnu-minimal mkdir PASS: glibcs-x86_64-linux-gnu-isa-v3 mkdir PASS: glibcs-x86_64-linux-gnu-no-pie mkdir PASS: glibcs-x86_64-linux-gnu-x32-no-pie mkdir PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch mkdir PASS: glibcs-x86_64-linux-gnu-isa-v4 mkdir PASS: glibcs-x86_64-linux-gnu-x32 mkdir PASS: glibcs-x86_64-linux-gnu-minimal configure PASS: glibcs-x86_64-linux-gnu-disable-multi-arch configure PASS: glibcs-x86_64-linux-gnu configure PASS: glibcs-x86_64-linux-gnu-x32 configure PASS: glibcs-x86_64-linux-gnu-isa-v2 configure PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch configure PASS: glibcs-x86_64-linux-gnu-x32-no-pie configure PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch configure PASS: glibcs-x86_64-linux-gnu-isa-v3 configure PASS: glibcs-x86_64-linux-gnu-no-pie configure PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch configure PASS: glibcs-x86_64-linux-gnu-isa-v4 configure PASS: glibcs-x86_64-linux-gnu-minimal build PASS: glibcs-x86_64-linux-gnu-disable-multi-arch build PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch build PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch build PASS: glibcs-x86_64-linux-gnu-minimal install PASS: glibcs-x86_64-linux-gnu-minimal mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch build PASS: glibcs-x86_64-linux-gnu build PASS: glibcs-x86_64-linux-gnu-x32-no-pie build PASS: glibcs-x86_64-linux-gnu-isa-v2 build PASS: glibcs-x86_64-linux-gnu-no-pie build PASS: glibcs-x86_64-linux-gnu-isa-v4 build PASS: glibcs-x86_64-linux-gnu-x32 build PASS: glibcs-x86_64-linux-gnu-isa-v3 build PASS: glibcs-x86_64-linux-gnu-disable-multi-arch install PASS: glibcs-x86_64-linux-gnu-disable-multi-arch mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch install PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch install PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch install PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch mkdir-lib PASS: glibcs-x86_64-linux-gnu install PASS: glibcs-x86_64-linux-gnu mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v2 install PASS: glibcs-x86_64-linux-gnu-isa-v2 mkdir-lib PASS: glibcs-x86_64-linux-gnu-x32-no-pie install PASS: glibcs-x86_64-linux-gnu-x32-no-pie mkdir-lib PASS: glibcs-x86_64-linux-gnu-no-pie install PASS: glibcs-x86_64-linux-gnu-no-pie mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v3 install PASS: glibcs-x86_64-linux-gnu-isa-v3 mkdir-lib PASS: glibcs-x86_64-linux-gnu-isa-v4 install PASS: glibcs-x86_64-linux-gnu-isa-v4 mkdir-lib PASS: glibcs-x86_64-linux-gnu-x32 install PASS: glibcs-x86_64-linux-gnu-x32 mkdir-lib PASS: glibcs-x86_64-linux-gnu-minimal check PASS: glibcs-x86_64-linux-gnu-minimal save-logs PASS: glibcs-x86_64-linux-gnu-minimal cleanup PASS: glibcs-x86_64-linux-gnu-disable-multi-arch check PASS: glibcs-x86_64-linux-gnu-disable-multi-arch save-logs PASS: glibcs-x86_64-linux-gnu-disable-multi-arch cleanup PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch check PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch save-logs PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch check PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch save-logs PASS: glibcs-x86_64-linux-gnu-isa-v3-disable-multi-arch cleanup PASS: glibcs-x86_64-linux-gnu-isa-v2-disable-multi-arch cleanup PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch check PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch save-logs PASS: glibcs-x86_64-linux-gnu-isa-v4-disable-multi-arch cleanup PASS: glibcs-x86_64-linux-gnu check PASS: glibcs-x86_64-linux-gnu save-logs PASS: glibcs-x86_64-linux-gnu cleanup PASS: glibcs-x86_64-linux-gnu-isa-v2 check PASS: glibcs-x86_64-linux-gnu-isa-v2 save-logs PASS: glibcs-x86_64-linux-gnu-isa-v2 cleanup PASS: glibcs-x86_64-linux-gnu-x32 check PASS: glibcs-x86_64-linux-gnu-x32 save-logs PASS: glibcs-x86_64-linux-gnu-x32 cleanup PASS: glibcs-x86_64-linux-gnu-x32-no-pie check PASS: glibcs-x86_64-linux-gnu-x32-no-pie save-logs PASS: glibcs-x86_64-linux-gnu-x32-no-pie cleanup PASS: glibcs-x86_64-linux-gnu-no-pie check PASS: glibcs-x86_64-linux-gnu-no-pie save-logs PASS: glibcs-x86_64-linux-gnu-isa-v3 check PASS: glibcs-x86_64-linux-gnu-isa-v3 save-logs PASS: glibcs-x86_64-linux-gnu-no-pie cleanup PASS: glibcs-x86_64-linux-gnu-isa-v4 check PASS: glibcs-x86_64-linux-gnu-isa-v4 save-logs PASS: glibcs-x86_64-linux-gnu-isa-v3 cleanup PASS: glibcs-x86_64-linux-gnu-isa-v4 cleanup scripts/build-many-glibcs.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index 35b82752fa..54f9b2318c 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -458,7 +458,22 @@ class Context(object): {'arch': 'i486', 'ccopts': '-m32 -march=i486'}, {'arch': 'i586', - 'ccopts': '-m32 -march=i586'}]) + 'ccopts': '-m32 -march=i586'}, + {'variant': 'isa-v2', + 'ccopts': '-march=x86-64-v2'}, + {'variant': 'isa-v2-disable-multi-arch', + 'ccopts': '-march=x86-64-v2', + 'cfg': ['--disable-multi-arch']}, + {'variant': 'isa-v3', + 'ccopts': '-march=x86-64-v3'}, + {'variant': 'isa-v3-disable-multi-arch', + 'ccopts': '-march=x86-64-v3', + 'cfg': ['--disable-multi-arch']}, + {'variant': 'isa-v4', + 'ccopts': '-march=x86-64-v4'}, + {'variant': 'isa-v4-disable-multi-arch', + 'ccopts': '-march=x86-64-v4', + 'cfg': ['--disable-multi-arch']}]) def add_config(self, **args): """Add an individual build configuration.""" -- 2.34.1