From patchwork Sat Dec 30 14:55:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 83040 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 5242A3858413 for ; Sat, 30 Dec 2023 14:55:36 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id 5195D3858C42 for ; Sat, 30 Dec 2023 14:55:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5195D3858C42 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 5195D3858C42 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703948112; cv=none; b=b0ZgpNb20i6LJzkoyt/9Jn0vH8r07HNYr96GdIbvEeEVmh5dbYgKOfhXSUOIjHT7B9GuGZW5TssM4tU4d7qskheg0lGdq/kkFTNnVP29krA+qvH3qro6aivij42caSvPzwwBXkpzHxVDmmjnLVcUuRdvrdraZrlVHVO1A1VL2Co= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703948112; c=relaxed/simple; bh=txKE0W8p+V47lEqRksC9ZtMU6X1w1KY7Ujd3QRef8Do=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=bwe/yx7TlUv2rWbtmaMkIjwWR33erOHEq3z5D29nps+HA+uamtG6utx5v9lWfyk+TJVV5fEocmo2bCk99JtTcK4Ok6dQ6UakoOSS86nIWJmDODgQVjCpgmlKjj4LU+d9V0vHx37F7Hiyr13TZpAuEn9TnhvPYKsSun7sKszOisY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1d3e8a51e6bso57488435ad.3 for ; Sat, 30 Dec 2023 06:55:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703948109; x=1704552909; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=CvaWfTAESzea+jCStLqt3xnAmtao5YACLAbkQNpojn8=; b=FSErFWmtiMXBjJmJ8AzDLJ3mW3qGnkFQZGuNjWXLOhzDlSQnP04Ts7rD3VPgKcLm58 eLh/6uyW3O7xRrl9bLC7fNdQaybAoJ1WeHssklQMVZmG4Bbl1cm1O/TqrhFL883537Bb EV7eZ2+9cYSb6Pq89nBYWvq+tjpLloJtndO7Jz6gwdMVKKoRkWRRfZlvaWZKRyBTvncX o1+ctTO8bfiWAaZRijHCu+MbrLruowE2qI5gPcmcn3xMtvdhMvvN5GVzk6oLfI81tUp4 UlHQNgb3rxJOes6Z5T+py8suw2ii3i0ywnWA5jNktLTnBoyOB9rYPL2vQ8DLZQxqfFIR nU3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703948109; x=1704552909; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CvaWfTAESzea+jCStLqt3xnAmtao5YACLAbkQNpojn8=; b=pZi5fTZCjLnXfcDOSY5J9ToSqEhdYXn8LQWLNi7/3NlReLR/eQbI21YuZXUEMiUtUq SATxCLuEdNAN4e5njJWXlfT3GhHPOy6/CskV9skXb4/YmQWioy8igUGagUEYiCuEDbOp YKsp7fBxKE9MAjE1QrmQqGviVun6dKWN7jGp/0WO4jafpxTNe8yj9we/95GHTwe3rSBw /kIrwdRThMg4q1s8iKgnHFUL80ZqBGmqFko7Qp/gLLXKG4o3XE5RDguy382OdLrAY6j0 Z6GkQKosLeb2mTipFZt+/Y8H8dIiqXLgN5cwksJftJ2soJ/FhkIniCXSHxemKkDULUYL l2cg== X-Gm-Message-State: AOJu0YyYCKPAtmH6CeJ6JBYIDGu/qvqUF3S3BsAxFGJCUk9WZImhCZ1D 4qP1jmAWu9VoYR+K7SInQQ7LaV+QDtM= X-Google-Smtp-Source: AGHT+IHPxIp1uhlqNbkCgT1m5ffRRJx3vf9GDPbgWhxd//C8X/fef/J/ZnvmcZjBIfQuaedtqhJzyg== X-Received: by 2002:a17:902:b214:b0:1d4:3dfd:7e45 with SMTP id t20-20020a170902b21400b001d43dfd7e45mr11634264plr.122.1703948108747; Sat, 30 Dec 2023 06:55:08 -0800 (PST) Received: from gnu-cfl-3.localdomain ([172.56.169.119]) by smtp.gmail.com with ESMTPSA id u10-20020a170902bf4a00b001d492055303sm4738194pls.279.2023.12.30.06.55.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Dec 2023 06:55:08 -0800 (PST) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id BAC0D740659 for ; Sat, 30 Dec 2023 06:55:06 -0800 (PST) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH] ld: Run ld-scripts/fill2 only for BFD64 Date: Sat, 30 Dec 2023 06:55:06 -0800 Message-ID: <20231230145506.416432-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-3024.3 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, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org FILL ($0001020304050607) in fil2.t has the value read by strtoul (via scan_bfd_vma in ldlex.l), and strtoul returns -1 on overflow when BFD64 isn't defined. Add is_bfd64 and don't run ld-scripts/fill2 if is_bfd64 returns 0. PR ld/31120 * testsuite/config/default.exp (is_bfd64): New. * testsuite/ld-scripts/fill2.d (notarget): Add ![is_bfd64]. --- ld/testsuite/config/default.exp | 23 +++++++++++++++++++++++ ld/testsuite/ld-scripts/fill2.d | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp index 5c925476e23..4b3e4706316 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp @@ -512,3 +512,26 @@ if {[file exists .libs/libdep.so]} { } else { set dep_plug_opt "" } + +# Return 1 if BFD64 is defined. +proc is_bfd64 { } { + global IS_BFD64 + if { ![info exists IS_BFD64] } then { + global CC + set fn "cs[pid].c" + set rfno "cs[pid].o" + set f [open $fn "w"] + puts $f "#include " + puts $f "#include " + puts $f "#ifndef BFD64" + puts $f "# error Failed" + puts $f "#endif" + close $f + set rfn [remote_download host $fn] + set IS_BFD64 [run_host_cmd_yesno "$CC" "-I../bfd -c $rfn -o $rfno"] + remote_file host delete $rfno + remote_file host delete $rfn + file delete $fn + } + return $IS_BFD64 +} diff --git a/ld/testsuite/ld-scripts/fill2.d b/ld/testsuite/ld-scripts/fill2.d index f913a82a017..05383b98fad 100644 --- a/ld/testsuite/ld-scripts/fill2.d +++ b/ld/testsuite/ld-scripts/fill2.d @@ -1,7 +1,7 @@ #source: fill_0.s #ld: -T fill2.t #readelf: -x.foo -#notarget: ![is_elf_format] +#notarget: ![is_elf_format] ![is_bfd64] # See PR 30865 - a fill value expressed as a simple hexadecimal # number behaves differently from other fill values.