From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 8.mo575.mail-out.ovh.net (8.mo575.mail-out.ovh.net [46.105.74.219]) by sourceware.org (Postfix) with ESMTPS id 2CDBB3858D3C for ; Thu, 10 Nov 2022 18:18:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2CDBB3858D3C Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=lsferreira.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=lsferreira.net Received: from player157.ha.ovh.net (unknown [10.109.146.32]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 0B24C21CC9 for ; Thu, 10 Nov 2022 18:18:17 +0000 (UTC) Received: from lsferreira.net (unknown [195.158.248.226]) (Authenticated sender: contact@lsferreira.net) by player157.ha.ovh.net (Postfix) with ESMTPSA id 8F0EC30A1DD19; Thu, 10 Nov 2022 18:18:15 +0000 (UTC) Authentication-Results:garm.ovh; auth=pass (GARM-99G003dc88b099-ce8e-403f-8262-bab1a080fac9, 18B1BE8AFB6B7A8B0EC20820B24DE22A87E2AB42) smtp.auth=contact@lsferreira.net X-OVh-ClientIp:195.158.248.226 From: =?UTF-8?q?Lu=C3=ADs=20Ferreira?= To: debugedit@sourceware.org Cc: =?UTF-8?q?Lu=C3=ADs=20Ferreira?= Subject: [PATCH] debugedit: Don't hang on DW_FORM_strx references Date: Thu, 10 Nov 2022 18:17:59 +0000 Message-Id: <20221110181759.63673-1-contact@lsferreira.net> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 4641240894809176312 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggdduudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepnfhuvohsucfhvghrrhgvihhrrgcuoegtohhnthgrtghtsehlshhfvghrrhgvihhrrgdrnhgvtheqnecuggftrfgrthhtvghrnhepvdevgeekkeeihfejgeeuieekveehjedvjeeuleduvdehieeuvdeikeethefftdefnecukfhppeduvdejrddtrddtrddupdduleehrdduheekrddvgeekrddvvdeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeotghonhhtrggttheslhhsfhgvrhhrvghirhgrrdhnvghtqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeguvggsuhhgvgguihhtsehsohhurhgtvgifrghrvgdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_ABUSEAT,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 List-Id: Compilers that generate DWARF5 can write to .debug_info a DW_FORM_strx reference. The code seem to handle it but hangs on the abbreviation sanity check. Signed-off-by: Luís Ferreira --- tools/debugedit.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/debugedit.c b/tools/debugedit.c index d82ae5a..4450b34 100644 --- a/tools/debugedit.c +++ b/tools/debugedit.c @@ -778,12 +778,17 @@ no_memory: || form == DW_FORM_line_strp || form == DW_FORM_implicit_const || form == DW_FORM_addrx + || form == DW_FORM_strx || form == DW_FORM_loclistx || form == DW_FORM_rnglistx || form == DW_FORM_addrx1 || form == DW_FORM_addrx2 || form == DW_FORM_addrx3 - || form == DW_FORM_addrx4))) + || form == DW_FORM_addrx4 + || form == DW_FORM_strx1 + || form == DW_FORM_strx2 + || form == DW_FORM_strx3 + || form == DW_FORM_strx4))) { error (0, 0, "%s: Unknown DWARF DW_FORM_0x%x", dso->filename, form); -- 2.38.1