From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id iGWvJqVb2GJkTRcAWB0awg (envelope-from ) for ; Wed, 20 Jul 2022 15:46:45 -0400 Received: by simark.ca (Postfix, from userid 112) id 9A42D1E5EA; Wed, 20 Jul 2022 15:46:45 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=MS1TJb99; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.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 (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 4B3D81E21F for ; Wed, 20 Jul 2022 15:46:45 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BEB203851178 for ; Wed, 20 Jul 2022 19:46:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BEB203851178 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1658346404; bh=hLYKhlV6SovAdtUNKPS2hVi2DSlPwr8ro2yQxKskw+A=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=MS1TJb99XicJjVVPv54BBIZmaNGPf3d5+mxZLWBl7d453h/GJbCgbgH/P2iAcSh/U uGp1xZXOloFeM/U0XGqoqtCkoVJZPpcNg77NGSdenHd9MzUm2enmNRJZcQrTiCMIR0 s68QFZUb+tgM4Dgsh/HW3qEerrJKjjCA6bey0DWw= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 9A615385701D for ; Wed, 20 Jul 2022 19:45:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9A615385701D Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-645-iakUsyayO_iri7WU0cdGZQ-1; Wed, 20 Jul 2022 15:45:07 -0400 X-MC-Unique: iakUsyayO_iri7WU0cdGZQ-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C9E1F852AC4 for ; Wed, 20 Jul 2022 19:45:06 +0000 (UTC) Received: from blarsen.com (ovpn-116-8.gru2.redhat.com [10.97.116.8]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0634C40C1288; Wed, 20 Jul 2022 19:45:05 +0000 (UTC) To: gdb-patches@sourceware.org Subject: [PATCH v4 10/15] explicitly test for stderr in gdb.base/dprintf.exp Date: Wed, 20 Jul 2022 16:44:36 -0300 Message-Id: <20220720194441.168906-12-blarsen@redhat.com> In-Reply-To: <20220720194441.168906-1-blarsen@redhat.com> References: <20220720194441.168906-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Bruno Larsen via Gdb-patches Reply-To: Bruno Larsen Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Not all compilers add stderr debug information when compiling a program. Clang, for instance, prefers to add nothing from standard libraries and let an external debug package have this information. Because of this, gdb.base/dprintf.exp was failing when GDB attempted to use dprintf as a call to fprintf(stderrr, ...), like this: (gdb) PASS: gdb.base/dprintf.exp: call: fprintf: set dprintf style to call continue Continuing. kickoff 1234 also to stderr 1234 'stderr' has unknown type; cast it to its declared type (gdb) FAIL: gdb.base/dprintf.exp: call: fprintf: 1st dprintf (timeout) To avoid this false positive, we explicitly test to see if the compiler has added information about stderr at all, and abort testing dprintf as an fprintf call if it is unavailable. --- gdb/testsuite/gdb.base/dprintf.exp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gdb/testsuite/gdb.base/dprintf.exp b/gdb/testsuite/gdb.base/dprintf.exp index 0b209c02a62..e214531f6dc 100644 --- a/gdb/testsuite/gdb.base/dprintf.exp +++ b/gdb/testsuite/gdb.base/dprintf.exp @@ -111,6 +111,16 @@ proc test_call {} { test_dprintf "At foo entry.*arg=1235, g=2222\r\n" "2nd dprintf" } + gdb_test_multiple "print stderr" "stderr symbol check" { + -re "\\'stderr\\' has unknown type.*" { + untested "No information available for stderr, exiting early" + return + } + -re "\\\$1.*" { + pass "stderr is available" + } + } + with_test_prefix "fprintf" { restart -- 2.31.1