From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id CWHyFmJIxWZbeA4AWB0awg (envelope-from ) for ; Tue, 20 Aug 2024 21:52:34 -0400 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=BhN7le5l; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 45AD01E0D0; Tue, 20 Aug 2024 21:52:34 -0400 (EDT) Received: from server2.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 ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 1FA271E0AC for ; Tue, 20 Aug 2024 21:52:32 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 52A47387087C for ; Wed, 21 Aug 2024 01:52:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52A47387087C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1724205150; bh=rTI/3bHC7RHyvo0R80PyceUes8GDVF5jYHO7ARGm9wo=; h=References:In-Reply-To:Date:Subject:To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=BhN7le5lYzvVTztQybPkf70oweebR9iIIUIKBvCJmoVUnlInUGdB/AgM8xEdCIJfd iViVNS4PR7qXPUEHdBHd35RinoMg4/JM5Sf/F9XzSXtwbjuAp+88VPFn+1ewHIDasF cIPnXfSnbRAvxtQqz+rjmHh1BSpJH/vlAKI36y0E= Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) by sourceware.org (Postfix) with ESMTPS id 539F9384A428 for ; Wed, 21 Aug 2024 01:51:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 539F9384A428 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 539F9384A428 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724205106; cv=none; b=HFDff0Mmhfu7iSNxBqxM/ePw32BhpEszg0m4WUKPVUbrncjkpwHChkkKX1joBANW7uz9oarJrjbPsK520Upn682J5RHKhpE2PxbspJw5sZ1loLXLny5c2cbXSsgnpaKthHtsgAttI+d4SQKd5RXmsZVfqecFodpVl+9njrp3CO0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724205106; c=relaxed/simple; bh=uiZxl1Up9fauSNgkT5lM7b3ZKMsKd3XnXW9mSbqLo5s=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=tQHxjlrAw+A5ael/TAM7U4iqBrpQs1BjZRwWAnJgyOR5SOnj+HoT6VMtL/KErtNNIihmuVf6FJ2homIW14M2XgN0Mr6afDaIgkJ2wcudVIcrPy+MSoFeht8HPQvctHyse7EGEjMGxQ8c5MX5Et8GtFxhFf2m+FX9VUab9KoTUp0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yb1-xb36.google.com with SMTP id 3f1490d57ef6-e115c8aa51fso6141694276.1 for ; Tue, 20 Aug 2024 18:51:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724205103; x=1724809903; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uiZxl1Up9fauSNgkT5lM7b3ZKMsKd3XnXW9mSbqLo5s=; b=vWDrz2KdL/i6W7HHqWLck4FRmWRO9mu/92MIVLM77JtW9ejfMEaS+UP5IfqAGRQSWG WMDlOo1Rpm4j+3F6mFVBbUoYADhvgtE6EVEi+0v/2oSY0WKkUBUFDPCuaxJwt4BIfUQa wIhfsY1m/LGOQxPPDna1K2t4WyXuVBDXIHbTzLgITpUS9kqeWHdETRyTlnOOxNwlCZyJ K2QCPtnrO4HbG6qUpPFCuDW4DftyYiUz75bZL0dRSB8wn1tuphiNID4nRRfWSUp/rDPX uOwZ21QZHUN2+F1Ih9DhZyI8CkJziE/Kr6Yemeix8gejpzLXA9k2fnXWI7vJM3Eaqgv5 RnBw== X-Gm-Message-State: AOJu0Yy3D+ixD59KJFnP0q04Iz68wF1n4geaGIbGaBvATmKTF84UYU9S TWpLjaKSmgivEllb2FG2qeFuo+OUR4772E8eSlwJGj6V4Nbu2L9KLDq3OZfURh+gAVY4vM5K2Eg j0q73yD33pWEBSv/xofXbzvaH84BUbKUV X-Google-Smtp-Source: AGHT+IHKhAEKGsCXAXLfgLSpo+kuDkYuTYQwQbXwTplSMeKFfYn3+XQR8bsWFfy3qGucsTlt5Opc7ZEfD5ZGYFBudZY= X-Received: by 2002:a05:6902:11c6:b0:e11:6ab2:cc2c with SMTP id 3f1490d57ef6-e1666400316mr1228838276.14.1724205103458; Tue, 20 Aug 2024 18:51:43 -0700 (PDT) MIME-Version: 1.0 References: <99d3cb61-88d1-4d43-b251-25af737ba08f@arm.com> In-Reply-To: <99d3cb61-88d1-4d43-b251-25af737ba08f@arm.com> Date: Wed, 21 Aug 2024 09:51:32 +0800 Message-ID: Subject: Re: How to handle different sizes of pointers in GDB? To: Luis Machado Cc: gdb@sourceware.org X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.30 X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Iru Cai via Gdb Reply-To: Iru Cai Errors-To: gdb-bounces~public-inbox=simark.ca@sourceware.org Sender: "Gdb" Thanks for your help. On Mon, Aug 19, 2024 at 6:42=E2=80=AFPM Luis Machado = wrote: > > From what I recall, you'll need to make sure your address class is correc= t > in DWARF for the > different pointer types. Assuming that is correct, have you also > implemented the 3 hooks > that deal with address classes? > > set_gdbarch_address_class_type_flags > set_gdbarch_address_class_type_flags_to_name > set_gdbarch_address_class_name_to_type_flags > > Now I'm using set_gdbarch_address_class_type_flags to make the DWARF reader set the instance_flags of the pointer types, and register a gdbarch_pointer_to_address method. I can see GDB can call my pointer_to_address for each pointer, and type->length() is still 8, but I can get the address class from type->instance_flags() and use it to know the pointer size. > Check the s390 code for some reference in gdb/s390-tdep.c > > Even with those set correct, gdb can still get confused with pointer size= s > depending on > which gdb subsystem is handling it. The type information sometimes gets > lost when we cross > some gdb internal boundaries, and then we fallback to the default pointer > size. > > I hope that helps some. >