From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ebBINDiix2qidhYAWB0awg (envelope-from ) for ; Thu, 08 Oct 2026 10:01:28 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=GVPZ+8Nw; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D15851E04E; Thu, 08 Oct 2026 10:01:28 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id D27D61E04E for ; Thu, 08 Oct 2026 10:01:27 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6BA5D4BA2E1C for ; Thu, 8 Oct 2026 14:01:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6BA5D4BA2E1C Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=GVPZ+8Nw Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 7957A4BA2E04 for ; Thu, 8 Oct 2026 14:01:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7957A4BA2E04 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7957A4BA2E04 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1791468061; cv=none; b=g5Z1V/+dqGCjVSCp/LaVRqwzj9ZWnaWSAiuO+KwEjcs+9k5QolhHr5ouLc7gBITvkw95LRzVt7Qzke/sQnpAFEan6gl1XDyOkkYTvTwmNZz8Kddb90Lx8pmkgTjfQVVQLKvskFZnCIyatx1auw7d2IGKnVsw6w0PhUV/q2WXYKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1791468061; c=relaxed/simple; bh=qZFpanCJXDl4GdP0e4a0KJAkmXCvbC6U67PdLyH0xcg=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=vKn+XwofNTcKgVB3NQLoOafyxzIThrx6OpzFmm9a25xdzCuP4TuvHYUyLz/GV4ITamdT3UiCEQy5f6narqXShGOQH/XEB5jhrosjB0PJn166bgNh8TkZlOHVsfqzYg2ec4xL/Ivgon/PwSFBberbjqHBhc5DtN4nuBrveXcZnfE= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=GVPZ+8Nw DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7957A4BA2E04 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 698E0tdW004871 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 8 Oct 2026 10:01:00 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 698E0tdW004871 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=oct2025; t=1791468060; bh=u9107ZitxORcnsOxhAQb6PsOg7KPK5bBHt/PqTgcP2o=; h=Date:Subject:To:From:In-Reply-To:From; b=GVPZ+8NwfBE9SPBit+BtJO11ayZATCp31kCKyl/vumg0L/jhRVRLfgP3oYfPaU/bm M0LcJKTBcd0tC5sEwaqFsXf8D0lSMXZ26Ai6a5QwgifJ1ouFZqFmfHPFeBVQjD87kx S9ztYb7qXruQTYDjOKQIwSR62oeLCP/3LoCimk05iDXZ2nfeFVdrexiIzsMZVU3kOU VoQyut3Bn9MuLcQAN+N3tkDSRV1iNGUnE1wp5eqeV4L7VXp2m8A6aZKYItZLvhpxao yevWHp1BQbcifeeFymkK46skotcF2MJOtK2S44hKdbG7yCoa8WHkUBNGUIoLZPYoX8 yjFiKQC2NWM2Q== Received: by simark.ca (Postfix) id 8B8FF1E04E for ; Thu, 08 Oct 2026 10:00:55 -0400 (EDT) Message-ID: <6d524653-b2d7-470f-aa5a-87c3fafd5030@polymtl.ca> Date: Thu, 8 Oct 2026 10:00:54 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] gdb: rename YYSTACKDATA in generated parsers To: gdb-patches@sourceware.org References: <20261007140014.2488030-1-simon.marchi@polymtl.ca> Content-Language: fr From: Simon Marchi In-Reply-To: <20261007140014.2488030-1-simon.marchi@polymtl.ca> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Thu, 8 Oct 2026 14:00:55 +0000 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~public-inbox=simark.ca@sourceware.org On 10/7/26 9:55 AM, simon.marchi@polymtl.ca wrote: > From: Simon Marchi > > When building with byacc and -flto -Werror=odr, we get: > > ada-exp-parser-gen.c.tmp:1552:3: error: type 'struct YYSTACKDATA' violates the C++ One Definition Rule [-Werror=odr] > c-exp-parser-gen.c.tmp:3732:3: note: a different type is defined in another translation unit > ada-exp-parser-gen.c.tmp:1546:30: note: the first difference of corresponding definitions is field 'l_base' > c-exp-parser-gen.c.tmp:3726:28: note: a field of same name but different type is defined in another translation unit > ada-exp-parser-gen.c.tmp:1552:3: note: type name 'ada_exp_parser_YYSTYPE' should match type name 'c_exp_parser_YYSTYPE' > > The byacc generated parsers define this type: > > typedef struct { > unsigned stacksize; > YYINT *s_base; > YYINT *s_mark; > YYINT *s_last; > YYSTYPE *l_base; > YYSTYPE *l_mark; > ... > } YYSTACKDATA; > > Since YYSTYPE represents a different type in each parser (it is renamed > to {prefix}_YYSTYPE by post-process-parser-output.sh), then YYSTACKDATA > is also a different type in each parser, which leads to ODR violations. > > This is a regression from my patch that removed yy-remap.h (d3d68d798e0c > "gdb: let the parser and lexer generators prefix their symbols"). > yy-remap.h remapped YYSTACKDATA, since commit df940f8bb348 ("gdb: Fix an > ODR warning with byacc with GDB_YY_REMAP") which fixed this exact > problem. > > Fix it by adding YYSTACKDATA to the renames done in > post-process-parser-output.sh, alongside YYSTYPE and friends. > > This is a master-only bug, no need to cherry-pick to gdb-18-branch. > > Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34712 > Change-Id: I6332bd0edc6619434f67cccef463cd21e96e3251 Sam confirmed on Bugzilla that the patch fixes the problem, so I went ahead and pushed it. Simon