From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id CC3CE3858408 for ; Thu, 29 Feb 2024 17:36:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CC3CE3858408 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CC3CE3858408 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::536 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709228217; cv=none; b=PsA6QarZV7y9pJridyTmuq1S1/5+e2rEEBwrWbH0yKZoQjW4XhqTrqzcsCEWrri14lnOqCKwV4X0XF7V0+YMxJZbyduZnl0uMwCzZCyeFvxM7iN3JK3LMcAMsz3MW1SbRhVZQfZn8O5RrPiisiGzJtOq9uzge1/WZmwY1tTw5rw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709228217; c=relaxed/simple; bh=TVg7h8lJAtwK+D5Jkma3qsndLMmr/vIZpdwu2bM/JAA=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=AYn3xisBk6jHcWG4jDv3rTWy3rHvk7tHd5iniO9COGUzzS+LLSLXVdKDxKuXSl2sMtjn7SbSNC7wZSKVjS6udo+QWxS6eP1CYi4iNF8OQd+rn1t7juXr9EYyyF2b358YZzUGJlGXIB51htSO+U/Pvc57idXBTxFAyYdQItn5G/w= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5648d92919dso2238389a12.1 for ; Thu, 29 Feb 2024 09:36:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709228212; x=1709833012; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=b4+EjME9+khkUQ9QWugEqWevEyVlu0Hn4x/vAWhjBBk=; b=sdg4UGdNXxdsEE3BqlG/Hem3Zj93sWewE7WEaEJAhDBE6U5bhsk/o28IfU3iSf0D5p L3DOmNkPwn4MDHV+lBAPtZg6OrWL9z2jcrabxDCA716NeiThKFFY5hvbxaNSGg8SPMrL m7NdoXms11tkA0W6B7QtVHGTFAkWsoeE0YtDIXO7Ubk9Er1rz4aLXRrj/w44kvJ/lGiN Q5Zkg4Ab679JUk5cFZuRkIiEt/RCUF9FogZVPx2T2UqmR7yyBKzlrP+mG2Riv+TrnOdE aF1GNALWhMjEWan5gd0hUguvxQAd6utbz7hcy7nW/Mke96omuF8ORwDLczPAj3/10Ucu EOMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709228212; x=1709833012; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=b4+EjME9+khkUQ9QWugEqWevEyVlu0Hn4x/vAWhjBBk=; b=rSvSapuMf5rm/VXVyerX5QsGodpphRifJ7b8cG9GjNELB29nD7PwLR3jDZtaoSL39j 9RUvNm+8AEfH30WhLQJzUrU/4ZDXOzaNaHUuEkKES/L16OD/fFDm4tVJ+6lBFuIBZcjB xARmWDlqBv0/YrUcJ/G/lcjsjgCXAtoj0WRgoVZaoNOLxMDWt2qvAEK6udLgwcDen/KF TKMkHXZNa9n0QFfRpQG2SVcMXilqCGJZhR/neLFIE9AFRbNXNeyVwrXfbuIAi7uNBRN+ grPVBWKkQQomxGWeUPi3wmTHOQ0bxIVYbuvXDW0iS0iKh/kAAeVPVpo1E+1qMvtWS75K y82w== X-Forwarded-Encrypted: i=1; AJvYcCWmSCmLk+YvYe9/FDDEXmVObUVao89sf1zQedyarKsJp0wZJa8Pp8RHrdwprhGUmq5oQsBEq5vaPTqSezlmJEY= X-Gm-Message-State: AOJu0YwvD62HyGVD+IM71+5HQDjFnIlsfYVI9LZgDtLu9iV3ksQlKUiP Z8YXhmJJm4ziNFLsuHtYlL7TLCyOkdT0/cDecZCFcQhABfngVkE94xSVRFBC7iMwamf/uLsQgCI Y0hw13Dn8ElNRAuT1LKh2OvpfVaBGMAEdxJMJUA== X-Google-Smtp-Source: AGHT+IH4ALHdJKXvbsf/+YYaCiKgeCjMVrg97cafhFGShYR7kPwnAgZ8f6YO1UMh+A0nR3rlFNDog78Bwu4bSBP/RNA= X-Received: by 2002:a05:6402:2227:b0:566:ef9:a499 with SMTP id cr7-20020a056402222700b005660ef9a499mr2042340edb.1.1709228212211; Thu, 29 Feb 2024 09:36:52 -0800 (PST) MIME-Version: 1.0 References: <66f6bb34-e7c3-4bc4-8c37-845aee81f6fe@arm.com> In-Reply-To: <66f6bb34-e7c3-4bc4-8c37-845aee81f6fe@arm.com> From: Christophe Lyon Date: Thu, 29 Feb 2024 18:36:47 +0100 Message-ID: Subject: Re: Help needed with maintainer-mode To: "Richard Earnshaw (lists)" Cc: binutils@sourceware.org, GCC Mailing List , gdb-patches@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 List-Id: On Thu, 29 Feb 2024 at 11:41, Richard Earnshaw (lists) wrote: > > On 29/02/2024 10:22, Christophe Lyon via Gcc wrote: > > Hi! > > > > Sorry for cross-posting, but I'm not sure the rules/guidelines are the > > same in gcc vs binutils/gdb. > > > > TL;DR: are there some guidelines about how to use/enable maintainer-mod= e? > > > > In the context of the Linaro CI, I've been looking at enabling > > maintainer-mode at configure time in our configurations where we test > > patches before they are committed (aka "precommit CI", which relies on > > patchwork). > > > > Indeed, auto-generated files are not part of patch submissions, and > > when a patch implies regenerating some files before building, we > > currently report wrong failures because we don't perform such updates. > > > > I hoped improving this would be as simple as adding > > --enable-maintainer-mode when configuring, after making sure > > autoconf-2.69 and automake-1.15.1 were in the PATH (using our host's > > libtool and gettext seems OK). > > > > However, doing so triggered several problems, which look like race > > conditions in the build system (we build at -j160): > > - random build errors in binutils / gdb with messages like "No rule to > > make target 'po/BLD-POTFILES.in". I managed to reproduce something > > similar manually once, I noticed an empty Makefile; the build logs are > > of course difficult to read, so I couldn't figure out yet what could > > cause this. > > > > - random build failures in gcc in fixincludes. I think this is a race > > condition because fixincludes is updated concurrently both from > > /fixincludes and $buillddir/fixincludes. Probably fixable in gcc > > Makefiles. > > > > - I've seen other errors when building gcc like > > configure.ac:25: error: possibly undefined macro: AM_ENABLE_MULTILIB > > from libquadmath. I haven't investigated this yet. > > > > I've read binutils' README-maintainer-mode, which contains a warning > > about distclean, but we don't use this: we start our builds from a > > scratch directory. > > > > So... I'm wondering if there are some "official" guidelines about how > > to regenerate files, and/or use maintainer-mode? Maybe I missed a > > "magic" make target (eg 'make autoreconf-all') that should be executed > > after configure and before 'make all'? > > > > I've noticed that sourceware's buildbot has a small script > > "autoregen.py" which does not use the project's build system, but > > rather calls aclocal/autoheader/automake/autoconf in an ad-hoc way. > > Should we replicate that? > > > > Thanks, > > > > Christophe > > There are other potential gotchas as well, such as the manual copying of = the generated tm.texi back into the source repo due to relicensing. Perhap= s we haven't encountered that one because patches generally contain that du= plicated output. > It did happen a few weeks ago, with a patch that was updating the target hooks IIRC. > If we want a CI to work reliably, then perhaps we should reconsider our p= olicy of stripping out regenerated code. We have a number of developer pra= ctices, such as replying to an existing patch with an updated version that = the CI can't handle easily (especially if the patch is part of a series), s= o there may be space for a discussion on how to work smarter. > Sure, there are many things we can improve in the current workflow to make it more CI friendly ;-) But I was only asking how maintainer-mode is supposed to be used, so that I can replicate the process in CI. I couldn't find any documentation :-) Thanks, Christophe > My calendar says we have a toolchain office hours meeting today, perhaps = this would be worth bringing up. > > R. >