From patchwork Tue Dec 24 08:52:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitriy Chestnykh X-Patchwork-Id: 103663 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5F6CA3858C51 for ; Tue, 24 Dec 2024 08:47:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5F6CA3858C51 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=Pfuc3IWN X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by sourceware.org (Postfix) with ESMTPS id 7440A3858D1E for ; Tue, 24 Dec 2024 08:46:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7440A3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7440A3858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::22b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1735029973; cv=none; b=PlaZ88UpOJHHxFoO33JSxGUDaiSMkR7P2X4iCR4bj6/M82K6u1kESjsJq1X+ZFjddKs8bPBQ6kAvUEiV2MvHR5jwx6xGS4Qv3SMsS1nPtslekXYtcP61Q+O9J3xv7I4s3ouDvsHddgffCcJqjuWPP+wjsXcwHFUj7CXkBF+FQfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1735029973; c=relaxed/simple; bh=fSU1IRGGS+zrlrJrfWHMo5bPlt0NFe5ZXeTGvi/Ye3k=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=x03Gw38pKCMIlXgMLiOkeFuVbBZ4emfmf7NWKA2ZUHnrOGhDsiPh37mzaZXoUQYgSct7wi+hUPBJ2zvunWl/Faegu1lzv6qIRMXML6DRwoe/Vn6xHgbV5jqAT0/4+p0pzGIzteqi6QSFuvc5Y42a7cWMy9SK5/0VezEVI8oNpi4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7440A3858D1E Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-30227ccf803so58735471fa.2 for ; Tue, 24 Dec 2024 00:46:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735029972; x=1735634772; darn=sourceware.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=C9uVCGCs/NzipC0ctYMmnawxhI3qIrd1xvAc2xeHF0s=; b=Pfuc3IWNmheL99dnPEfbo0MlgmspWGkjNrHKR2Yl6tZBIZZPP1D6Y80hiPoEP7hLB4 yZ9RrxTaTAPBIvO6Fzq5ogyS8HaYH/3hVxU8jYsRKYiCqv/sS0YzB9b5YEFQc+pwn9H0 pjny7BAa5wkpPm3zyJeoghk4XnTinHSSw+VwOHzU3oPKGI73ToV9FoLBYa3253AAxEjq tGsOEvgtkE7s+uKUVSyNqYrR5FPZ/eQg5NpVsg/YQfJSY2Jo9Xm6SpKiNkLIcDqD40il ggWEl0C2A2tLdUQCzG+vZLPDxxFq+8CL2gGvKHOwLa6+Rv5qGVUSpICdvCJAoUY92omo RBEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735029972; x=1735634772; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C9uVCGCs/NzipC0ctYMmnawxhI3qIrd1xvAc2xeHF0s=; b=kGwVoK0zjBQCF/tKUv7CoUk9C8yZUAcMnY2M+O8Qyz6piQDqjJ1NoCZfqQLsi/srRV gjl2NhpT9yIaUDnjx6/ovcTJVLYtD3HUqghoRaSez3oeIclFFwwMbv2Rq1wSgb5IrPL8 6ivkal2VrLc+K/XKSQBHTrySGbIh6qTgE8EWQlQsGvy1wEBzO2olPknDreUOwv7srOIV guESWQzg2Pm0eFbpB63KWYDf2an+PUheaIH4l3+ZyKSy1PQvquP1PzgHgh0/dl/hF91b W0huVb+8j1nZmzhumpwEOh/Bj1usHcj/RBR58oxGa1TQaO0jQ+4KR9iZIGyfiMEo1qt6 05Vg== X-Gm-Message-State: AOJu0YzEDw0PWwJCtrdTHnZklhMvjvIXe79WcX6Rv7p1ynJIPCC1N8H4 PNQdT66T03RE+eNh+dO6WNybI9TzaDJWnF9/SwBs6sb9uySbix0vvS5eyg== X-Gm-Gg: ASbGncv/4706s9isLP9TkMAJivTkV2VRXIHvBVbNevL4CEUp/FyKsTkR82Vlm4sPpQT uOMkBEu1XwjxTd22lr7AVorpkB7Bd7E9zoVMKETtZ5FEvcJxywHE+pHC+3Xs/hYDcalKqHciczC cVdVPfezhNtM8pX1BiIGhEtWg9AObM2dBAOHTpnrKmdlQok+ft26NgqFWjfWOCEM1ybA3pfvI7w nKixbk7J5gh85mpobQDAzyYnJy0CnSDnXw1IrkwCZ77VYFaoLBwdOza2Xc7bfejYGMpQ0GlXd+0 X-Google-Smtp-Source: AGHT+IFLyFCsUXr3J+qa12W+iB9hhL78lPOCtrQo7hskg9JymzfC4Z+FsaB/Cd9tTzqEZh817iwwSw== X-Received: by 2002:a05:651c:508:b0:303:4589:d700 with SMTP id 38308e7fff4ca-30468517a24mr48467521fa.5.1735029971317; Tue, 24 Dec 2024 00:46:11 -0800 (PST) Received: from localhost.localdomain ([2a00:1370:817a:504:a78b:6e1a:bd3c:9751]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3045b069f0fsm16536261fa.84.2024.12.24.00.46.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Dec 2024 00:46:10 -0800 (PST) From: Dmitry Chestnykh To: libc-alpha@sourceware.org Cc: Dmitry Chestnykh Subject: [PATCH v3] stdio-common: Use clang with bugfix for bug28 Date: Tue, 24 Dec 2024 11:52:35 +0300 Message-ID: <20241224085235.247815-1-dm.chestnykh@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20241223171112.40815-1-dm.chestnykh@gmail.com> References: <20241223171112.40815-1-dm.chestnykh@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org The issue that was the cause of hang was fixed in upstream --- configure | 42 ++++++++++++++++++++++++++++++++++++++++++ configure.ac | 15 +++++++++++++++ stdio-common/Makefile | 8 ++++---- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 052113bcea..4f77900818 100755 --- a/configure +++ b/configure @@ -6069,6 +6069,48 @@ rm -f conftest* config_vars="$config_vars have-test-clangxx = $libc_cv_test_clangxx" +if test "$libc_cv_test_clang" = "yes"; then + conftest_code=" + #if __clang_major__ > 19 + #error clang version > 19 + #endif + " + +cat > conftest.c <&5 +printf %s "checking for clang in testing... " >&6; } +if test ${libc_cv_test_clang_19_or_less+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c -o conftest 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + libc_cv_test_clang_19_or_less=yes + else + libc_cv_test_clang_19_or_less=no + fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_clang_19_or_less" >&5 +printf "%s\n" "$libc_cv_test_clang_19_or_less" >&6; } + +CC="$saved_CC" + +rm -f conftest* +fi +config_vars="$config_vars +have-test-clang-19-or-less = $libc_cv_test_clang_19_or_less" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -fstack-protector" >&5 printf %s "checking for -fstack-protector... " >&6; } diff --git a/configure.ac b/configure.ac index fc5ddb8561..5f60b523bb 100644 --- a/configure.ac +++ b/configure.ac @@ -665,6 +665,21 @@ LIBC_TRY_TEST_CXX_COMMAND([for clang++], ) LIBC_CONFIG_VAR([have-test-clangxx], [$libc_cv_test_clangxx]) +if test "$libc_cv_test_clang" = "yes"; then + conftest_code=" + #if __clang_major__ > 19 + #error clang version > 19 + #endif + " + LIBC_TRY_TEST_CC_COMMAND([for clang], + [$conftest_code], + [-c], + libc_cv_test_clang_19_or_less, + [libc_cv_test_clang_19_or_less=yes], [libc_cv_test_clang_19_or_less=no], + ) +fi +LIBC_CONFIG_VAR([have-test-clang-19-or-less], [$libc_cv_test_clang_19_or_less]) + LIBC_TRY_CC_AND_TEST_CC_OPTION([for -fstack-protector], [-Werror -fstack-protector], libc_cv_ssp, diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 3f84de3e36..289ea9dc20 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -317,10 +317,10 @@ tests := \ # tests # Clang 19 takes a very long time, it ran more than 27 minutes on Intel -# Core i7-1195G7 before the process was killed, to compile bug28.c: -# https://github.com/llvm/llvm-project/issues/120462 -# Exclude it when Clang is used for testing. -ifneq ($(have-test-clang),yes) +# Core i7-1195G7 before the process was killed, to compile bug28.c +# The issue was fixed in upstream but check if clang has the version that has the fix +# https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11 . +ifneq ($(have-test-clang-19-or-less),yes) tests += \ bug28 \ # tests