From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id B15F61F8C6 for ; Fri, 9 Jul 2021 13:37:35 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DD8A4398A491 for ; Fri, 9 Jul 2021 13:37:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DD8A4398A491 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1625837854; bh=xMU9UN61r+hi3aQCORP+T017oyVxRA4H0GhHVQ9vHjo=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=lG2yECofAZ+UhzKdNhSrD/z1X+Wp65R+v7mrBoA8718KEcEnVPNsRvRO8f5n9cBnp fvfswTiFTwoKKbQ7wx5bdvPRPh06RC6+5rhYXVT6pY044jkJ75onZJKlKbMBsnPeMG xvMhixv3lid0tXnwOD+qi7YPLmHGChWul4k/w6CA= Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by sourceware.org (Postfix) with ESMTPS id 2E501385043E for ; Fri, 9 Jul 2021 13:37:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2E501385043E Received: by mail-pf1-x431.google.com with SMTP id b12so8730385pfv.6 for ; Fri, 09 Jul 2021 06:37:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xMU9UN61r+hi3aQCORP+T017oyVxRA4H0GhHVQ9vHjo=; b=TwLowRbUw8rCWyUAmd9Nc+hw0RII+uPaUhPwTgxT7WZTzLIZEwkWuerQlWltPViLiC CXLvZnsg3LI6xTo3N94+A658olCohdnQIhnArlQge2qI8uAh8XZMMlJQEJvp+/b78Py8 lqEgjkf0YCzoYnVJFBzFtGAyXnMsNTGAi1UROCTlkWJKPCsHomPbyrMKnsMfQhFlmnh9 sFkmvoU+D6VEhEtPwrERYAJpwdlN6ecJGL5geDog4Wt/GFpNOt+nlBHGWCuDVMBZ5DhF Xe8ZTpAd9YBZGHunRoDwN4bVc+UgcqxNpzIjzBWcnzjnrwsdL4m0Oj56WZ8Q7846gLKb OTpg== X-Gm-Message-State: AOAM530ucHlqZ0d+Gtpq4YTSDiesYX6Nc/pYUXPKmVcATf8aJu0G2DQv 4QOTaJ1WKcNp9QbRl+s7mlAQTkDulMctZqySzeY= X-Google-Smtp-Source: ABdhPJzpfeG4vpXHbH/q7EhyeM42Ig6rD0rdNP6yTdwpjqXusHKRyo0HEMBI+E5lJH8HhEMxppp61ArcGyoumCZQjQc= X-Received: by 2002:a63:5f11:: with SMTP id t17mr9196578pgb.37.1625837832957; Fri, 09 Jul 2021 06:37:12 -0700 (PDT) MIME-Version: 1.0 References: <20210709130408.1620161-1-hjl.tools@gmail.com> <101ef60c-0d86-e756-5413-dcec94b0b6d8@linaro.org> In-Reply-To: <101ef60c-0d86-e756-5413-dcec94b0b6d8@linaro.org> Date: Fri, 9 Jul 2021 06:36:37 -0700 Message-ID: Subject: [PATCH v2] Properly run tst-spawn5 directly [BZ #28067] To: Adhemerval Zanella Content-Type: multipart/mixed; boundary="0000000000007f0eea05c6b0de2f" X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "H.J. Lu via Libc-alpha" Reply-To: "H.J. Lu" Cc: GNU C Library Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" --0000000000007f0eea05c6b0de2f Content-Type: text/plain; charset="UTF-8" On Fri, Jul 9, 2021 at 6:13 AM Adhemerval Zanella wrote: > > > > On 09/07/2021 10:04, H.J. Lu wrote: > > Change tst-spawn5.c to handle tst-spawn5 without optional path to ld.so, > > --library-path nor the library path when glibc is configured with > > --enable-hardcoded-path-in-tests. This fixes BZ #28067. > > I was about to push a fix for this change, but your were faster. > > LGTM, one suggestion below. > > Reviewed-by: Adhemerval Zanella > > > --- > > posix/tst-spawn5.c | 30 +++++++++++++++++++----------- > > 1 file changed, 19 insertions(+), 11 deletions(-) > > > > diff --git a/posix/tst-spawn5.c b/posix/tst-spawn5.c > > index 277b848794..8649bb5094 100644 > > --- a/posix/tst-spawn5.c > > +++ b/posix/tst-spawn5.c > > @@ -40,6 +40,7 @@ static int restart; > > /* Hold the four initial argument used to respawn the process, plus > > the extra '--direct' and '--restart', and a final NULL. */ > > static char *initial_argv[7]; > > +static int initial_argv_count; > > > > #define CMDLINE_OPTIONS \ > > { "restart", no_argument, &restart, 1 }, > > @@ -133,11 +134,16 @@ static void > > spawn_closefrom_test (posix_spawn_file_actions_t *fa, int lowfd, int highfd, > > int *extrafds, size_t nextrafds) > > { > > - /* 6 elements from initial_argv (path to ld.so, '--library-path', the > > - path', application name', '--direct', and '--restart'), up to > > - 2 * maximum_fd arguments (the expected open file descriptors), plus > > - NULL. */ > > - enum { argv_size = array_length (initial_argv) + 2 * NFDS + 1 }; > > + /* 3 or 6 elements from initial_argv: > > + + path to ld.so optional > > + + --library-path optional > > + + the library path optional > > + + application name > > + + --direct > > + + --restart > > + up to 2 * maximum_fd arguments (the expected open file descriptors), > > + plus NULL. */ > > + int argv_size = initial_argv_count + 2 * NFDS + 1; > > char *args[argv_size]; > > int argc = 0; > > > > @@ -268,12 +274,14 @@ do_test (int argc, char *argv[]) > > if (restart) > > handle_restart (argc, argv); > > > > - initial_argv[0] = argv[1]; /* path for ld.so */ > > - initial_argv[1] = argv[2]; /* "--library-path" */ > > - initial_argv[2] = argv[3]; /* the library path */ > > - initial_argv[3] = argv[4]; /* the application name */ > > - initial_argv[4] = (char *) "--direct"; > > - initial_argv[5] = (char *) "--restart"; > > + int i; > > + > > + for (i = 0; i < (argc == 5 ? 4 : 1); i++) > > + initial_argv[i] = argv[i + 1]; > > I used: > > TEST_VERIFY_EXIT (argc == 2 || argc == 5); > int i; > for (i = 0; i < argc - 1; i++) > initial_argv[i] = argv[i + 1]; Done. > > + initial_argv[i++] = (char *) "--direct"; > > + initial_argv[i++] = (char *) "--restart"; > > + > > + initial_argv_count = i; > > > > do_test_closefrom (); > > > > Here is the v3 patch I am checking in. Thanks. -- H.J. --0000000000007f0eea05c6b0de2f Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-Properly-run-tst-spawn5-directly-BZ-28067.patch" Content-Disposition: attachment; filename="v2-0001-Properly-run-tst-spawn5-directly-BZ-28067.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqwdsnlf0 RnJvbSBiMDBkOGZkNjQ1Njc5YjM4OTkxMDRmMmI3ZjAwMmE5MjU4NTU5YzI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgOSBKdWwgMjAyMSAwNTo1Nzo1MSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggdjJdIFByb3Bl cmx5IHJ1biB0c3Qtc3Bhd241IGRpcmVjdGx5IFtCWiAjMjgwNjddCgpDaGFuZ2UgdHN0LXNwYXdu NS5jIHRvIGhhbmRsZSB0c3Qtc3Bhd241IHdpdGhvdXQgb3B0aW9uYWwgcGF0aCB0byBsZC5zbywK LS1saWJyYXJ5LXBhdGggbm9yIHRoZSBsaWJyYXJ5IHBhdGggd2hlbiBnbGliYyBpcyBjb25maWd1 cmVkIHdpdGgKLS1lbmFibGUtaGFyZGNvZGVkLXBhdGgtaW4tdGVzdHMuICBUaGlzIGZpeGVzIEJa ICMyODA2Ny4KClJldmlld2VkLWJ5OiBBZGhlbWVydmFsIFphbmVsbGEgIDxhZGhlbWVydmFsLnph bmVsbGFAbGluYXJvLm9yZz4KLS0tCiBwb3NpeC90c3Qtc3Bhd241LmMgfCAzMiArKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Bvc2l4L3RzdC1zcGF3bjUuYyBiL3Bvc2l4 L3RzdC1zcGF3bjUuYwppbmRleCAyNzdiODQ4Nzk0Li44OGQ4Yzk0Yzc4IDEwMDY0NAotLS0gYS9w b3NpeC90c3Qtc3Bhd241LmMKKysrIGIvcG9zaXgvdHN0LXNwYXduNS5jCkBAIC00MCw2ICs0MCw3 IEBAIHN0YXRpYyBpbnQgcmVzdGFydDsKIC8qIEhvbGQgdGhlIGZvdXIgaW5pdGlhbCBhcmd1bWVu dCB1c2VkIHRvIHJlc3Bhd24gdGhlIHByb2Nlc3MsIHBsdXMKICAgIHRoZSBleHRyYSAnLS1kaXJl Y3QnIGFuZCAnLS1yZXN0YXJ0JywgYW5kIGEgZmluYWwgTlVMTC4gICovCiBzdGF0aWMgY2hhciAq aW5pdGlhbF9hcmd2WzddOworc3RhdGljIGludCBpbml0aWFsX2FyZ3ZfY291bnQ7CiAKICNkZWZp bmUgQ01ETElORV9PUFRJT05TIFwKICAgeyAicmVzdGFydCIsIG5vX2FyZ3VtZW50LCAmcmVzdGFy dCwgMSB9LApAQCAtMTMzLDExICsxMzQsMTYgQEAgc3RhdGljIHZvaWQKIHNwYXduX2Nsb3NlZnJv bV90ZXN0IChwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfdCAqZmEsIGludCBsb3dmZCwgaW50IGhp Z2hmZCwKIAkJICAgICAgaW50ICpleHRyYWZkcywgc2l6ZV90IG5leHRyYWZkcykKIHsKLSAgLyog NiBlbGVtZW50cyBmcm9tIGluaXRpYWxfYXJndiAocGF0aCB0byBsZC5zbywgJy0tbGlicmFyeS1w YXRoJywgdGhlCi0gICAgIHBhdGgnLCBhcHBsaWNhdGlvbiBuYW1lJywgJy0tZGlyZWN0JywgYW5k ICctLXJlc3RhcnQnKSwgdXAgdG8KLSAgICAgMiAqIG1heGltdW1fZmQgYXJndW1lbnRzICh0aGUg ZXhwZWN0ZWQgb3BlbiBmaWxlIGRlc2NyaXB0b3JzKSwgcGx1cwotICAgICBOVUxMLiAgKi8KLSAg ZW51bSB7IGFyZ3Zfc2l6ZSA9IGFycmF5X2xlbmd0aCAoaW5pdGlhbF9hcmd2KSArIDIgKiBORkRT ICsgMSB9OworICAvKiAzIG9yIDYgZWxlbWVudHMgZnJvbSBpbml0aWFsX2FyZ3Y6CisgICAgICAg KyBwYXRoIHRvIGxkLnNvICAgICAgICAgIG9wdGlvbmFsCisgICAgICAgKyAtLWxpYnJhcnktcGF0 aCAgICAgICAgIG9wdGlvbmFsCisgICAgICAgKyB0aGUgbGlicmFyeSBwYXRoICAgICAgIG9wdGlv bmFsCisgICAgICAgKyBhcHBsaWNhdGlvbiBuYW1lCisgICAgICAgKyAtLWRpcmVjdAorICAgICAg ICsgLS1yZXN0YXJ0CisgICAgIHVwIHRvIDIgKiBtYXhpbXVtX2ZkIGFyZ3VtZW50cyAodGhlIGV4 cGVjdGVkIG9wZW4gZmlsZSBkZXNjcmlwdG9ycyksCisgICAgIHBsdXMgTlVMTC4gICovCisgIGlu dCBhcmd2X3NpemUgPSBpbml0aWFsX2FyZ3ZfY291bnQgKyAyICogTkZEUyArIDE7CiAgIGNoYXIg KmFyZ3NbYXJndl9zaXplXTsKICAgaW50IGFyZ2MgPSAwOwogCkBAIC0yNjgsMTIgKzI3NCwxNiBA QCBkb190ZXN0IChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICBpZiAocmVzdGFydCkKICAgICBo YW5kbGVfcmVzdGFydCAoYXJnYywgYXJndik7CiAKLSAgaW5pdGlhbF9hcmd2WzBdID0gYXJndlsx XTsgLyogcGF0aCBmb3IgbGQuc28gICovCi0gIGluaXRpYWxfYXJndlsxXSA9IGFyZ3ZbMl07IC8q ICItLWxpYnJhcnktcGF0aCIgICovCi0gIGluaXRpYWxfYXJndlsyXSA9IGFyZ3ZbM107IC8qIHRo ZSBsaWJyYXJ5IHBhdGggICovCi0gIGluaXRpYWxfYXJndlszXSA9IGFyZ3ZbNF07IC8qIHRoZSBh cHBsaWNhdGlvbiBuYW1lICAqLwotICBpbml0aWFsX2FyZ3ZbNF0gPSAoY2hhciAqKSAiLS1kaXJl Y3QiOwotICBpbml0aWFsX2FyZ3ZbNV0gPSAoY2hhciAqKSAiLS1yZXN0YXJ0IjsKKyAgVEVTVF9W RVJJRllfRVhJVCAoYXJnYyA9PSAyIHx8IGFyZ2MgPT0gNSk7CisKKyAgaW50IGk7CisKKyAgZm9y IChpID0gMDsgaSA8IGFyZ2MgLSAxOyBpKyspCisgICAgaW5pdGlhbF9hcmd2W2ldID0gYXJndltp ICsgMV07CisgIGluaXRpYWxfYXJndltpKytdID0gKGNoYXIgKikgIi0tZGlyZWN0IjsKKyAgaW5p dGlhbF9hcmd2W2krK10gPSAoY2hhciAqKSAiLS1yZXN0YXJ0IjsKKworICBpbml0aWFsX2FyZ3Zf Y291bnQgPSBpOwogCiAgIGRvX3Rlc3RfY2xvc2Vmcm9tICgpOwogCi0tIAoyLjMxLjEKCg== --0000000000007f0eea05c6b0de2f--