From patchwork Mon Jan 1 07:49:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 83068 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 1DF9B3858422 for ; Mon, 1 Jan 2024 07:49:56 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id B51293858C31 for ; Mon, 1 Jan 2024 07:49:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B51293858C31 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B51293858C31 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704095373; cv=none; b=ea+C7Yu6g0XFBIvSleO/QnYGq6oR3S7TxVvtlkGUjR1hF09qrlVN8LdsDPV+Qe10IRHpNVVPmwf8wvGEBNrZhe8Wav+APhb2uZiJ2+zNNPyawwd5jMC9DIiKc8m2q3+Vu3CeNrLSzbT+xRqXIkXCctmXE9cOyklmZAJ8NT/0JRw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704095373; c=relaxed/simple; bh=GcaChen7XamDYPPfKa03meTsMPOdN3Dxup/JU5dgEa8=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-Id:MIME-Version; b=wFjuvks+LemvuQJDUPLYjMSa9DlhBCxPlUeq7e3Jbkai30M2q2xxCHJLbHTAH2IsPy8QSL746FvET9LpA9KYFznuFMvjO8Ma2rw97eFLNRlBCtCI/7k7irRhYKQSqijTApSPkYP33ETw3xLTOWhoRdecP5OtGdXj+/uBhsvOuYc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64: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 smtp-out2.suse.de (Postfix) with ESMTPS id 430D31FBB5 for ; Mon, 1 Jan 2024 07:49:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1704095369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=6GtKlc3CXr7wlrRUvdfKC+wKAajp8ErSr5dfg8YL+Xg=; b=fKOwdnobrpRNlIutSWgEq2WljmvJFpUNMkkgEVsWoQhuVummZxPpbtm811Wfxz6Rgjel4u q3ZiO4+zYBy7TYERaONKZzfd2ne541iCIHJvjwv6lS+fIncDk5xTy1qd9maIvNmZUvq+wp 6wGR+7gd8vdKlHjtrgMwSjj1sPlePtA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1704095369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=6GtKlc3CXr7wlrRUvdfKC+wKAajp8ErSr5dfg8YL+Xg=; b=6IvDEPbFFXW05/NBrGdVB+AByV7N/iDF5jKpXIemb2U7aJjCu5+8wDa9aBPDaOnXnTP1IW +7mjFGBFiO2CapDw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1704095369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=6GtKlc3CXr7wlrRUvdfKC+wKAajp8ErSr5dfg8YL+Xg=; b=fKOwdnobrpRNlIutSWgEq2WljmvJFpUNMkkgEVsWoQhuVummZxPpbtm811Wfxz6Rgjel4u q3ZiO4+zYBy7TYERaONKZzfd2ne541iCIHJvjwv6lS+fIncDk5xTy1qd9maIvNmZUvq+wp 6wGR+7gd8vdKlHjtrgMwSjj1sPlePtA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1704095369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=6GtKlc3CXr7wlrRUvdfKC+wKAajp8ErSr5dfg8YL+Xg=; b=6IvDEPbFFXW05/NBrGdVB+AByV7N/iDF5jKpXIemb2U7aJjCu5+8wDa9aBPDaOnXnTP1IW +7mjFGBFiO2CapDw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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 imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 26A941398B for ; Mon, 1 Jan 2024 07:49:29 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id ifakB4lukmW5VQAAD6G6ig (envelope-from ) for ; Mon, 01 Jan 2024 07:49:29 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb/testsuite] Make gdb.base/solib-search.exp more robust Date: Mon, 1 Jan 2024 08:49:41 +0100 Message-Id: <20240101074941.18426-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Spam-Level: ** X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spam-Level: X-Spamd-Bar: / X-Spamd-Result: default: False [0.19 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; RCVD_DKIM_ARC_DNSWL_HI(-1.00)[]; FROM_HAS_DN(0.00)[]; R_MISSING_CHARSET(2.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; BROKEN_CONTENT_TYPE(1.50)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_NONE(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+]; MX_GOOD(-0.01)[]; MID_CONTAINS_FROM(1.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:106:10:150:64:167:received]; RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%] Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=fKOwdnob; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=6IvDEPbF X-Spam-Score: 0.19 X-Rspamd-Queue-Id: 430D31FBB5 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org On aarch64-linux, with gcc 13.2.1, I run into: ... (gdb) backtrace^M #0 break_here () at solib-search.c:30^M #1 0x0000fffff7f20194 in lib2_func4 () at solib-search-lib2.c:50^M #2 0x0000fffff7f70194 in lib1_func3 () at solib-search-lib1.c:50^M #3 0x0000fffff7f20174 in lib2_func2 () at solib-search-lib2.c:30^M #4 0x0000fffff7f70174 in lib1_func1 () at solib-search-lib1.c:30^M #5 0x00000000004101b4 in main () at solib-search.c:23^M (gdb) PASS: gdb.base/solib-search.exp: \ backtrace (with wrong libs) (data collection) FAIL: gdb.base/solib-search.exp: backtrace (with wrong libs) ... The FAIL is generated by this code in the test-case: ... if { $expect_fail } { # If the backtrace output is correct the test isn't sufficiently # testing what it should. if { $count == $total_expected } { set fail 1 } ... The test-case: - builds two versions of two shared libs, a "right" and "wrong" version, the difference being an additional dummy function (called spacer function), - uses the "right" version to generate a core file, - uses the "wrong" version to interpret the core file, and - generates a backtrace. The intent is that the backtrace is incorrect due to using the "wrong" version, but actually it's correct. This is because the spacer functions aren't large enough. Fix this by increasing the size of the spacer functions by adding a dummy loop, after which we have, as expected, an incorrect backtrace: ... (gdb) backtrace^M #0 break_here () at solib-search.c:30^M #1 0x0000fffff7f201c0 in ?? ()^M #2 0x0000fffff7f20174 in lib2_func2 () at solib-search-lib2.c:30^M #3 0x0000fffff7f20174 in lib2_func2 () at solib-search-lib2.c:30^M #4 0x0000fffff7f70174 in lib1_func1 () at solib-search-lib1.c:30^M #5 0x00000000004101b4 in main () at solib-search.c:23^M (gdb) PASS: gdb.base/solib-search.exp: \ backtrace (with wrong libs) (data collection) PASS: gdb.base/solib-search.exp: backtrace (with wrong libs) ... Tested on aarch64-linux. --- gdb/testsuite/gdb.base/solib-search-lib1.c | 3 +++ gdb/testsuite/gdb.base/solib-search-lib2.c | 3 +++ 2 files changed, 6 insertions(+) base-commit: ee0dbcf99efb17573724f1ede3a12491d7e81d19 diff --git a/gdb/testsuite/gdb.base/solib-search-lib1.c b/gdb/testsuite/gdb.base/solib-search-lib1.c index 76338a8e216..6a4cc9aa1a7 100644 --- a/gdb/testsuite/gdb.base/solib-search-lib1.c +++ b/gdb/testsuite/gdb.base/solib-search-lib1.c @@ -39,6 +39,9 @@ lib1_func1 (void) void lib1_spacer (void) { + int i; + for (i = 0; i < 10; ++i) + ; } #endif diff --git a/gdb/testsuite/gdb.base/solib-search-lib2.c b/gdb/testsuite/gdb.base/solib-search-lib2.c index bf7c7bd071c..fb004d7377f 100644 --- a/gdb/testsuite/gdb.base/solib-search-lib2.c +++ b/gdb/testsuite/gdb.base/solib-search-lib2.c @@ -39,6 +39,9 @@ lib2_func2 (void) void lib2_spacer (void) { + int i; + for (i = 0; i < 10; ++i) + ; } #endif