From patchwork Wed May 8 13:22:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 89778 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 BC3A63938805 for ; Wed, 8 May 2024 13:24:01 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org 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 A3A1B382DC7F for ; Wed, 8 May 2024 13:22:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A3A1B382DC7F 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 A3A1B382DC7F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715174546; cv=none; b=BiC7U47LsOmtuwU+Fr5A7Fw8yDK2zPTFMrB2f6LbLH42CNCo8lRNEzDU9YWG8p5edKrHOG0dEAVSpH8CvsVKLfpG+Ebku6WlzPJSvKMTseGCtd0Rv/QcUpm8oqT9Pprhvi5mREG/1QfBgu8mWASmRA7qHKPxIeHAXROZfyM0VRA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715174546; c=relaxed/simple; bh=plWXe5gRtoLVj/ROmbGyO4AR4moeQK4boi6FFQV1vco=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nnEeIhRYiHLs7oOrVqEDV9rKbUPREhHFHtKnMnmQpJMpV4rpZqcfdyWEkGm1RkcgkHkKUQkAUjiMDIspV3ul60YoEPxu+Wqdc0+Zq9WQFGPFqq3XwOsLgJB+6xGJqRLI/eF8r3qRVuqU4LXLEJXZhnzd5bW2xFmlja+EHmYq+d8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1ec92e355bfso40434795ad.3 for ; Wed, 08 May 2024 06:22:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715174542; x=1715779342; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=+fQ3Y983d69f/f8PIWs44x6jMVuY6MQD4bxyemqdMRg=; b=bw0gS5HrWTxIX+uFykmbAewncY3ZaT0vjgB1WDSK3tq8MkRMsX7waSapLZmZMyzTaW bqiPYRPuBpBpoWA1cDXc04zs6qlUj3roDRuAuu2UAAV5IKKTwyncchcaAvMYRFWwMZWd O1WhwOwIbBZ5P3uSZeBjmuGKL+0ryOq//XS2Xk0b+AQyLyV9UC6FGF9nak3bHaJNPSoJ XbpDHujDukNArgfCnH65HvzgBFKIU21Uk4oATb0gbHd3ch9ZPtFXhowR28ewWXiscKC+ liJlMUK/yRAXdXb4WD2QmtG+svGaDvv6XzrZSXMh6aLRKdI4TrTwSQYdXPLEDg4BgkwB i3XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715174542; x=1715779342; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+fQ3Y983d69f/f8PIWs44x6jMVuY6MQD4bxyemqdMRg=; b=LxwJ0xIpHPIP6LzPbxJZ7nfwUSd/RuXsy/ApURAawYjA9QzisFhnaqXGiKB9PCWyYb YwR/NGcOrapJQ5uiyMZ4O+TgLzTTIECO9ZBwGV3EmxxeHkZk81nB3kZg5/Z/+r//xI/K g7A7PUsjqkwWs/8+CXQZCOZydb1V9wcaeyoPrjKwEZZllKJ1jg8cLZxppIGAmPzj7dLp jbI9SQuqMHfDZFPIj4Ceb/WlaoWLEx+VZkzpeyTBMDB2Qah0CBpbwY0kyhRrQXzF+kfU HCvF9IBhv2RJ0Qwg0WIxJxGDCdGkd34AKeIsI2lFzK4V8XLZB2i//IRLWUlicytuwJ0F Nn/g== X-Gm-Message-State: AOJu0YwOgZKfULwH12dqX1q+mCPKkiPV+zbzhlEhD0ZJ+CkohfmWA9wJ /Tx4D4NyTmk7M2ifNdv0lIS7NeOJJ2rzd6tLrFGTKEc9FW0yL4vlcVM1zQ== X-Google-Smtp-Source: AGHT+IFdvrhn+QM0JH+ltEwRGnvFPOkyyXetoTLX0Nw0OUkOYHojciiYoJDb4Q0yOpVkfvXK8ZX3FA== X-Received: by 2002:a17:902:7202:b0:1e0:983c:d686 with SMTP id d9443c01a7336-1eeb029f094mr24866685ad.20.1715174542276; Wed, 08 May 2024 06:22:22 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.56.168.158]) by smtp.gmail.com with ESMTPSA id jj20-20020a170903049400b001eb7483a002sm11781134plb.209.2024.05.08.06.22.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 May 2024 06:22:21 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id A1CB8740387 for ; Wed, 8 May 2024 06:22:20 -0700 (PDT) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH 2/2] ld: Add PR ld/31710 tests Date: Wed, 8 May 2024 06:22:20 -0700 Message-ID: <20240508132220.3809117-2-hjl.tools@gmail.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240508132220.3809117-1-hjl.tools@gmail.com> References: <20240508132220.3809117-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3022.2 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 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 PR ld/31710 * testsuite/ld-elf/wrap.exp: Run ld/31710 tests. * testsuite/ld-elf/wrap2.h: New file. * testsuite/ld-elf/wrap2a.c: Likewise. * testsuite/ld-elf/wrap2b.c: Likewise. --- ld/testsuite/ld-elf/wrap.exp | 26 ++++++++++++++++++++++++++ ld/testsuite/ld-elf/wrap2.h | 6 ++++++ ld/testsuite/ld-elf/wrap2a.c | 11 +++++++++++ ld/testsuite/ld-elf/wrap2b.c | 20 ++++++++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 ld/testsuite/ld-elf/wrap2.h create mode 100644 ld/testsuite/ld-elf/wrap2a.c create mode 100644 ld/testsuite/ld-elf/wrap2b.c diff --git a/ld/testsuite/ld-elf/wrap.exp b/ld/testsuite/ld-elf/wrap.exp index 90e2d60e67d..efc44bc013f 100644 --- a/ld/testsuite/ld-elf/wrap.exp +++ b/ld/testsuite/ld-elf/wrap.exp @@ -52,3 +52,29 @@ if [check_shared_lib_support] { run_cc_link_tests $build_tests run_ld_link_exec_tests $run_tests } + +run_ld_link_tests [list \ + [list \ + "Build libwrap2.a" \ + "" \ + "" \ + "" \ + {wrap2a.c} \ + {} \ + "libwrap2.a" \ + "-g" \ + ] \ +] + +# Test very simple native Linux/x86 programs with linux-x86.S. +run_ld_link_exec_tests [list \ + [list \ + "Run wrap2" \ + "-Wl,--wrap=impl" \ + "" \ + { wrap2b.c } \ + "wrap2" \ + "pass.out" \ + "-g" \ + ] \ +] diff --git a/ld/testsuite/ld-elf/wrap2.h b/ld/testsuite/ld-elf/wrap2.h new file mode 100644 index 00000000000..8fd9495f6f4 --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2.h @@ -0,0 +1,6 @@ +struct ops +{ + void (*loaded)(void); +}; + +extern struct ops impl; diff --git a/ld/testsuite/ld-elf/wrap2a.c b/ld/testsuite/ld-elf/wrap2a.c new file mode 100644 index 00000000000..a37655fccad --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2a.c @@ -0,0 +1,11 @@ +#include "wrap2.h" + +static void +loaded (void) +{ +} + +struct ops impl = +{ + .loaded = loaded +}; diff --git a/ld/testsuite/ld-elf/wrap2b.c b/ld/testsuite/ld-elf/wrap2b.c new file mode 100644 index 00000000000..c1f4444a08a --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2b.c @@ -0,0 +1,20 @@ +#include +#include "wrap2.h" + +static void +loaded(void) +{ + printf ("PASS\n"); +} + +struct ops __wrap_impl = +{ + .loaded = loaded, +}; + +int +main() +{ + impl.loaded (); + return 0; +}