From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5660247DD7C for ; Thu, 22 Jan 2026 10:58:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769079504; cv=none; b=pT1V02NrhThvTbkbCWs8eOhkGoPJzoatuUwK04FPoRpkT5RjqZ6ow35SjiIwKgM9W3ZT8cATGEysy/bM33dTWffC7yxG4N9vkWo/TY/v9Fpm/dmP3L7c/noLi+VnWNPYzwY7LCIX5mrkJlikaffFinEqLThYc2MX3xxwTqo9NlA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769079504; c=relaxed/simple; bh=IMkJgM4aRmhqZgphBUQfQMkJfQvCESQd/ZaYH5f5ydg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HJD+nf+bhNp5I1DNoQ5o+6bCxzNRbff3CBbAeGxQDrdzCAVVddIqlm8V6mlXtrtpGAci1OgxnAIZe+fj6YVFhCelrCjQCCO3PmzoN4khptcKkT3w10aGyp1hsrlEvNP2Ecuojuj/otAdd+tC5QYY67rpK+SlV8yY9Hq7u0EvGv4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=fkqX5WSu; arc=none smtp.client-ip=209.85.167.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fkqX5WSu" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-59dd9aef51eso852894e87.2 for ; Thu, 22 Jan 2026 02:58:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769079500; x=1769684300; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jDvZa1RQe6YqqWZizFboxtjozJnHM2wFaUUPlzeKgK0=; b=fkqX5WSuSxODH0W+JaIO1SedJDlVZcMjyFR7I1vreCipfg8UelpEVEjphXFMQOp6dp oL+07hhHgFcuY1t1CyH7dR58QqA2uXOcxFNUH7/xA7jAvslbLVzyTi7kOqkgwwuN8r/i 3LAtvgy0Ek4SW4ahactf4QZGXymoQCaDMpbu+mvOedvHFmviaYHaPJ3e5OUCJ+D8A/zZ BHSXjOegnnMSIYnoQbVOkCpBkcyRD1kOGOicGdIEj6OZrMe3Zk9U5YSfiGceTOKf0h40 KnHnjYkjKLD/Bg7RuRo/zKiYl68DdE1VhRQ6vvvmBE6xW1JQAFlOa8LnWcEIzdFjpGRO 6M7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769079500; x=1769684300; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jDvZa1RQe6YqqWZizFboxtjozJnHM2wFaUUPlzeKgK0=; b=TqyA0ounBNjxyQFGCb4SbSBfNEDoclMXK4ILQZbIJCzpvIu5XXER7OYBUlBo/AXbzA QOfBll+NKa0Amg8CgqRLv0Qz6DigG0UmXy9D7mSceO0wv5OLF6dcOZaVB5sEPhLo2wa/ B+9l5jlJYAcCRfg7GnUHeT3VKtB7mdzJ+fRr+1pAT79q5ymMwA30VufRmtTBIBpIzK+n 66/JI1LIkWBjiVUCiTDO6TrAj66818H95wDskQwgLLNRSxgs2ULCTdnfeb6ky6i83DD1 0OceV1K+YnwYNNUExuIrLLNdVWcq8pM4Z4IioZITf9i8iP2xKdCMgPgMrG6abnJayoFW ptSg== X-Forwarded-Encrypted: i=1; AJvYcCUDLkB2AbEE4IjRcJRnK1oZhZ5ulk4kiGM7LN0Sv7SOAzzk1o0zhbah2+bLltwcR9FbFBnzIvm4hA8D0A4=@vger.kernel.org X-Gm-Message-State: AOJu0YyQiTzgP4Jknz/yodRncu2SzNvITGUtGEfup0tTIBnWmgM4vaAO YQo5cu+Raj0keOYaOXVN8mrXAaolQGof3Nd6wUihleKgKhQnvkGoCdZ+8aoGt4HE/s0= X-Gm-Gg: AZuq6aKyFKWwL5ZFBafNrJMnAnt87CPU08pGnmbOCMKc03eGqjZiEEPYzDlgTPWyIHL p+6/TlS/we776K+KHFac8x3UxNX8QfAPdoQgJasJzluz+qEWAnYs0SByU9qQ5f7nYX6RDuOWTLx VGTZVxZXwvY83F5iXE7ohrh1yk0h6m/3/y6/NA5FIsxiYvPniqfMyj8JN0a4mGSr21fC2SysoCk CzP7cLmJGeHAtafcNhqo5xAc/rWT2426r/L9RGb84gjwBUgA6vgBAIMkOY3dDG1KH3TVOwgcDY8 JxT4QYyG9LcKQ7Cy8+vJQYMGyjLveuocpAoCJdbU/EYYY7k3898JXxyGaqM3AUfQ5H0hBZbGMkB f0GBfFTh0u/DgXRRBPZ0Qz/V19mYsD9V3lCY/6/vSdSaCX3rNllwkSkcBYq6pP/L2xQVdTnpSiw QFKaNVxObrzGHlNs52CskR8dsBxbSj6FYbhbcckrTi9rHS X-Received: by 2002:a05:6512:3c90:b0:59a:11b7:80c4 with SMTP id 2adb3069b0e04-59baeee382fmr6872830e87.35.1769079500157; Thu, 22 Jan 2026 02:58:20 -0800 (PST) Received: from nuoska (87-100-249-247.bb.dnainternet.fi. [87.100.249.247]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-385d5091433sm350841fa.14.2026.01.22.02.58.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 02:58:19 -0800 (PST) From: Mikko Rapeli To: Nathan Chancellor , Nicolas Schier , Anders Roxell , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mikko Rapeli Subject: [PATCH v3 3/3] scripts: kconfig: merge_config.sh: warn on duplicate input files Date: Thu, 22 Jan 2026 12:57:51 +0200 Message-ID: <20260122105751.2186609-3-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260122105751.2186609-1-mikko.rapeli@linaro.org> References: <20260122105751.2186609-1-mikko.rapeli@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit External scripts like yocto kernel scc may provide same input config fragment multiple times. This may be a bug since processing same fragments multiple times can be time consuming. Cc: Anders Roxell Signed-off-by: Mikko Rapeli --- scripts/kconfig/merge_config.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) v3: no changes v2: no changes https://lore.kernel.org/linux-kbuild/20251229114447.45236-1-mikko.rapeli@linaro.org/T/#me2023dbfef124059bd906d44c60ffaa7cd83732c v1: https://lore.kernel.org/linux-kbuild/20251229114447.45236-1-mikko.rapeli@linaro.org/T/#t diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh index 9eda9dbd4542..735e1de450c6 100755 --- a/scripts/kconfig/merge_config.sh +++ b/scripts/kconfig/merge_config.sh @@ -130,6 +130,8 @@ trap clean_up EXIT cat $INITFILE > $TMP_FILE +PROCESSED_FILES="" + # Merge files, printing warnings on overridden values for ORIG_MERGE_FILE in $MERGE_LIST ; do echo "Merging $ORIG_MERGE_FILE" @@ -137,6 +139,14 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do echo "The merge file '$ORIG_MERGE_FILE' does not exist. Exit." >&2 exit 1 fi + + # Check for duplicate input files + case " $PROCESSED_FILES " in + *" $ORIG_MERGE_FILE "*) + ${WARNOVERRIDE} "WARNING: Input file provided multiple times: $ORIG_MERGE_FILE" + ;; + esac + # Use awk for single-pass processing instead of per-symbol grep/sed if ! "$AWK" -v prefix="$CONFIG_PREFIX" \ -v warnoverride="$WARNOVERRIDE" \ @@ -259,6 +269,7 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do STRICT_MODE_VIOLATED=true fi mv "$TMP_FILE.new" "$TMP_FILE" + PROCESSED_FILES="$PROCESSED_FILES $ORIG_MERGE_FILE" done if [ "$STRICT_MODE_VIOLATED" = "true" ]; then echo "The fragment redefined a value and strict mode had been passed." -- 2.34.1