From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 1QvzOkQuY2oOLisAWB0awg (envelope-from ) for ; Fri, 24 Jul 2026 05:20:04 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id DB9191E09E; Fri, 24 Jul 2026 05:20:04 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.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 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 859F91E099 for ; Fri, 24 Jul 2026 05:20:02 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 010E24BA7993 for ; Fri, 24 Jul 2026 09:20:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 010E24BA7993 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013002.outbound.protection.outlook.com [40.107.159.2]) by sourceware.org (Postfix) with ESMTPS id 574AC4BA2E2F for ; Fri, 24 Jul 2026 09:19:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 574AC4BA2E2F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 574AC4BA2E2F Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.107.159.2 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1784884774; cv=pass; b=KjontNKvQ48A0H4FeYGHUNoGSdOOLeBAYDWWzBcTXM03d4MgtZPnngR/F9sD5Rg507oFU/+w2BQnMMXKB3fvoq9/DuE0V5riotuKGRkm0XrOwDKrb+hASQH43TQFnWVNcRj29ek3iS88WZwsnt5UQqXL5RK0mWUJ397DaAmdZNo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1784884774; c=relaxed/simple; bh=D+3MbRs5tN0XRL5yldi8bOgoXD/EZbJw5ALz79uIu1U=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=lCTXkxdfasaZFr7Miw9xLZGFcW2KTGhE5d4OyHL8inmTJjqfEVuiL2ft3Ghm+XNh5LyCUdup9iH2RvqMsrDvvxFT9vzdoTVrNwAb21lk+bFn4AsOy086PRvuZ8CIK2IL2mgRM57zokapcOC7Hxb0+aHQ5vxWOthfjeBGSTWgpGo= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=jhoNdYik DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 574AC4BA2E2F ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=E7ftSeW5nJcwikqiwdEahyf8jDuMV5NDdaxyo/YOmmTS60cNP/hQU40NZzZvuQwdsb+Fv8xWl66/3bfhO6YButOLnSBlfparxYyWiHwslzeeZcRtjvQ+1X91IKYUz41zg6nMB3y+KcddgfNgsSeAZl+gmgVtcTpOkZ0W4Bi15W5rflZt0O4lAu8xZVVPlEEOcmohKke1GQhQA4dmsdKo1WEgRRc6pNQpvcHSqGmgFr7tT9GNvz8RIgR3QLH42rGBRBNimY2C8Tbb9vzr+bRIOiKBintNzx71FpyYFC3Lhqa6Nw2B2cihJBObJhZGa5GewwUv87axBjqE/Zp652bnBw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=09CiqVLBNvaKRsDu85RMiMKwGIGl4EoEsUt8Nvh9qew=; b=K0PZggaqO7nna9v5IElrV0p4sQUUdGoyruHIYQHzKVjn+e8GbrdCd4WNUtZpfW6f91cmtDJuIeP82q34o045GCie3+4scmz4yaFixVuuqpUq1bVFIH/mW5W/Eu4mSYi+UgRKKd69LhqJnIH/txmw179n8cbHEN68/kurkpT/QyAZZKV70LpoJTrfCx5oghsKIBeE6g+cpEuT7HEp1UKUzgNPPmukQLbykVP8XeDho162RfxM3h5a4AOSHjgXvPSiJF2ai+fmGzF2XoH2guUfqZH39bW0aB/HWSrllF4W2BW4lRHoeber1DvVeOnhWJefDrqi9AH79Y46fC41Icy7Bw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=09CiqVLBNvaKRsDu85RMiMKwGIGl4EoEsUt8Nvh9qew=; b=jhoNdYikTs1ABuPX5y1B1MDzwQHIz0+fxayfkp5UBu11XN73P33ZwwjJSbn/iFWKPUbf8VXMOnXIOKNCCE6Oas+61/j/4oNXFIkZyHLci5Y+hrjjAI9mK1k6eV5Sf3ikzyr3SroWgO2qZpnYv4ySBIW0xX18IC4QyQh1eHV/uGc= Received: from DUZPR01CA0245.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b5::25) by AS8PR08MB5944.eurprd08.prod.outlook.com (2603:10a6:20b:297::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.11; Fri, 24 Jul 2026 09:19:23 +0000 Received: from DB5PEPF00014B9C.eurprd02.prod.outlook.com (2603:10a6:10:4b5:cafe::a9) by DUZPR01CA0245.outlook.office365.com (2603:10a6:10:4b5::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.11 via Frontend Transport; Fri, 24 Jul 2026 09:19:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DB5PEPF00014B9C.mail.protection.outlook.com (10.167.8.170) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Fri, 24 Jul 2026 09:19:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uMEEJEHTpUNtNaQGHihvCR30YficMexEByrNRPO+agwOdZj3VOMKuFyIV54U8Dp3mh0RwZld2ayoToMp0AiL9YPkLyacm8c92NjHRozxk/39CpVl5f2M6Q/OUDORH0rQVo08hA73UXlT25YwjDEvNPlMEZTDJSneYS8omIxP32mQELWFIis+fKghLJ6sowv3dEluJe4NRKfh2MiDOW+ASX9FTifQ2/qDufkVMT15dJuenZJNbhOD9SK8u0X1M6nHDnpRM1iincGwzZBNU05dhbHmNU77d54qyy2Ad3UTj3mGl0Bdh8QrHIAoVyM1xjakJz82p9mI7Fjl6kOao5OAfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=09CiqVLBNvaKRsDu85RMiMKwGIGl4EoEsUt8Nvh9qew=; b=bPr/Dk0yHOw8u2jU84iAwnBq1YvgdJtQIK+0d+Hag9PDJLBQR+J/XYF7MzIiKuU6lnWrqhPSzh7fJE9awcYjYm2ZZXG050Et10uwHJ2ZuNuyvqIOE44e+dwI4xyDAarQlkDeudJKeQ2oCnO1barnlsEFdZu5WOPPcvqViY3ifBHwGuO2lT3Nmk+4aimoJfrg5Jvtkm09pUlKZ3walGUZ/b3wiSZr5V13eukCswrU20sqN1ywm84lLvftoVktcnNEDIlZd3lHQWnDBWefvjqglTNS8gOA9twE+JTrcCI4hRqPDLxKqVxGdHKtSZ2F4I1oKnZxFuLEtk5iaEnROMkzCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=09CiqVLBNvaKRsDu85RMiMKwGIGl4EoEsUt8Nvh9qew=; b=jhoNdYikTs1ABuPX5y1B1MDzwQHIz0+fxayfkp5UBu11XN73P33ZwwjJSbn/iFWKPUbf8VXMOnXIOKNCCE6Oas+61/j/4oNXFIkZyHLci5Y+hrjjAI9mK1k6eV5Sf3ikzyr3SroWgO2qZpnYv4ySBIW0xX18IC4QyQh1eHV/uGc= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0SPRMB0014.eurprd08.prod.outlook.com (2603:10a6:10:350::5) by AS8PR08MB9431.eurprd08.prod.outlook.com (2603:10a6:20b:5ed::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.11; Fri, 24 Jul 2026 09:18:17 +0000 Received: from DU0SPRMB0014.eurprd08.prod.outlook.com ([fe80::f381:cacf:9ed8:19c1]) by DU0SPRMB0014.eurprd08.prod.outlook.com ([fe80::f381:cacf:9ed8:19c1%5]) with mapi id 15.21.0245.009; Fri, 24 Jul 2026 09:18:17 +0000 Message-ID: <8cb28dc2-6e51-4ce8-b785-fd66470e2e40@arm.com> Date: Fri, 24 Jul 2026 10:18:16 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] gdb: align siginfo_t with the Linux kernel definition To: Luis , gdb-patches@sourceware.org Cc: Thiago Jung Bauermann , Luis Machado , Tom Tromey , Andrew Burgess , Srinath Parvathaneni References: <20260702165231.331169-1-matthieu.longo@arm.com> <82f5d130-cfa5-46e1-b640-f575f6ab00b9@gmail.com> From: Matthieu Longo Content-Language: en-US In-Reply-To: <82f5d130-cfa5-46e1-b640-f575f6ab00b9@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P265CA0290.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:38f::17) To DU0SPRMB0014.eurprd08.prod.outlook.com (2603:10a6:10:350::5) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DU0SPRMB0014:EE_|AS8PR08MB9431:EE_|DB5PEPF00014B9C:EE_|AS8PR08MB5944:EE_ X-MS-Office365-Filtering-Correlation-Id: 2623cb91-640e-4ffc-aaaf-08dee964a4cb x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|376014|366016|23010399003|11063799006|56012099006|10067099003|4143699003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: hEqkCZHhTlrIHQeoRBC5JNgwH0q//m9YEmqDRLys4HrYRb83cJ4kyOr+Kw2UahiOsQGbocZDl4EWbxNlHefiDgwMcgG6qDmGFHYOpCyGwjBAsyrDk2Fw48J5c+JiPqu51w3U/OmM8clQqNOkLJ/jwPENHAoXW68ZMalCCwzvcYcfS6sTAk33MewpsujrVxXHLiScq5FAlQU88AZtN3hdcg5rkwjZueo014G1YM6Rt3SyCyf6Nz2ZUB965o/HDOtodiAxTPUP3iWz76WFv5p117db2y9xbbIcxj/dxxuyFwHH9Nrypa/TboyjNCMQJUv4BQolZwA9z5owL/arQN23mYHSTo5ubD0xJqDHKAjehToWCYxgaxicywhv6eOrZInh4I26DBq2dXjQgU9DwoNyhkO0f50OXJnvPvGhIBPKMYXrTYuUY36DzMFo5cQEffvg6XkrqE3z3/gwP3be+FPVWhztday1WpPO3w9VHOvt+X71lG4EuQcsswaZuucu6nA67HSi6JWi8+IE7sDFmTvCHErYs23VYgo+OzQGn4zo4eabSBi6QAK+gf8N+gZ6CY7v+qBdUsYnuLvMG5eiSUTcZyucGxCmesMkfVseHVOzBk/MLizSXRh5ZnUwXlneuH8oqKZBprGJEZLQH2sQdAhqJhNtiPxF97N1UEZHDNDLV/4= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0SPRMB0014.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(23010399003)(11063799006)(56012099006)(10067099003)(4143699003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: QtLwgViXe5UsyYtNQjvS8SMmb1pb3njDuAwBnYNVI/Ve5koAQcJE2WTIf4TGYeqw53bE8fTXeBTJjSxCU5+LvNsyYutgYtztwabpbrZN1foT5WOtnSfcnNasDb5ns3EdqtR2/NLUslcEg1SWxZMDSF7ZgBxGlzZmavewvmQtt7u7k1OV79lBncSYX7Pxvpi78VS8G+XphdzyEw93MStnNKrx2+FOwxGzkARc9lw27yjDGjBfdxVFENaJQ2rAe0v2+75D0z+16BDqQzbRaVLKC3p0ly4CrLo/R4z5ZeMPEzqon1Ru5Vstl74mMTYX+7P3kZL3rf7Z9jodZUDh0BNrdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9431 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9C.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 312ff73d-ced1-498c-2a28-08dee9647f31 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|1800799024|35042699022|376014|82310400026|23010399003|14060799003|22082099003|18002099003|56012099006|11063799006|4143699003|10067099003; X-Microsoft-Antispam-Message-Info: 0nvFwyQhaXEh9APvQ1BiK45BlUkdj9htx9HegP1QpxuVoeRnXQYyJA5PTO902IBNIHx+gFnNr8/Bxg8Qyfx0Lt6ktyEhQu9KmmsqwqveEeUr5wg36hAFaffgS+z9e0hq9KJO2javdbL64oaM5B5E7MW4PEZ5T9Zb7tR42ZzjK+K5fnioEO3tyHwOlnC0qDJ4C+Na3zYiHhAKzfvm7SCfZ1HhU4VSMee7YcyTk1XWwINp5W+PA3Lq5mBGNm7NMuSCnjdxB5WwmClt4WTk6ifx5vkAhK5YJugyrh0SICKYx2vw4mXRu+Xe/zpk/6fMLlsOTlOgE8PCuNUM43UOhyhVnRrVPCBU1ZaHrJfG+Xd0tL3BpHbVyErKDyxi5GoK+PSaNhqVwd34HomlicdtgOGKerVvmMv1Ick0yJ8GGrGRX/ry05dh0qKJ1x7+MqSmrKb6RI5AwHqYTgumMWqm7MqpkmdR1rqTEVyOv743gYF7T1Y06Z5OZfb/yUGYa6YWZCciH7J1+hZNN+/9GHzQxNUeIVzUj4X4o5An00AUahZ/iVKllug2p/fwds3xgDHkHoZhqbE7i7P5S95h2Smf0oGq746z4rlU8mUqW7bZBoUCbySdUS7FeJILwHkCOF8Za3y4pWqZ3R9MFT36MGuY3zWeB4zz1P/if02smH6213QWwhtGSSxfCN4FaRnPYYlqxRPg6SBkac9JfoeA1WfwvMzkpQ== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700016)(1800799024)(35042699022)(376014)(82310400026)(23010399003)(14060799003)(22082099003)(18002099003)(56012099006)(11063799006)(4143699003)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TWqqyV1RQWs7CxAlRwy5aPjfrSlPOWe06K5Gih0FJNLRSZJE++zskUmHw3BPtKULbtbW1a+gWkqSkk0wdY6sdpakBkZCSCRkn/g8sU87DhNCQPdjc3AvVbx2yurodI4t4ECb0p/8bGCED0N2Pz5KrQSmQwC71dW3HFrHwZBVoJZeL3rVhWRoWt1qxUoyrIt3ItX5ejE8VG6e7pcND5ieTBICqUk2DPFCNO6ER2PY/l44z7q4IG3Nej5BFtgzfudp7WqqKnBrJEbDIp1TqJkJYCT9NCD3pARoc7bAwcayoMToHliphIg+ZUKAsZnnRaNH8ZXDpFEXZD9CTBlL8ca4XQyj7kxVWmrv2qMWqYbyOVAWzbBtmwCHv2nsHFlFXzhJfQXFvYfDMGwG84YxODmcdzxBN9u93qfQBVRO+IF8TCnquRN43XvtStim09Je/VA0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2026 09:19:20.2796 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2623cb91-640e-4ffc-aaaf-08dee964a4cb X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B9C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5944 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 23/07/2026 00:09, Luis wrote: > Hi Matthieu, > > On 22/07/2026 16:00, Matthieu Longo wrote: >> On 21/07/2026 22:09, Luis wrote: >>> On 02/07/2026 17:52, Matthieu Longo wrote: >> --- a/gdb/linux-tdep.c >> +++ b/gdb/linux-tdep.c >>>> +  append_composite_type_field (sigfault_union_type, "si_addr_lsb", short_type); >>>> + >>>> +  /* used when si_code=SEGV_BNDERR */ >>>> +  type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT); >>>> +  append_composite_type_field (type, "_dummy_bnd", addr_bnd_pkey_padding_type); >>>> +  append_composite_type_field (type, "si_lower", void_ptr_type); >>>> +  append_composite_type_field (type, "si_upper", void_ptr_type); >>>> +  append_composite_type_field (sigfault_union_type, "_addr_bnd", type); >>>> + >>>> +  /* used when si_code=SEGV_PKUERR */ >>>> +  type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT); >>>> +  append_composite_type_field (type, "_dummy_pkey", addr_bnd_pkey_padding_type); >>>> +  append_composite_type_field (type, "si_pkey", uint32_type); >>>> +  append_composite_type_field (sigfault_union_type, "_addr_pkey", type); >>>> + >>>> +  /* used when si_code=TRAP_PERF */ >>>> +  type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT); >>>> +  append_composite_type_field (type, "si_perf_data", unsigned_long_type); >>>> +  append_composite_type_field (type, "si_perf_type", uint32_type); >>>> +  append_composite_type_field (type, "si_perf_flags", uint32_type); >>>> +  append_composite_type_field (sigfault_union_type, "_perf", type); >>>> + >>>> +  /* End _sigfault's anonymous union.  */ >>>> + >>>> +  /* _sigfault is set by SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */ >>>>      type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT); >>>>      append_composite_type_field (type, "si_addr", void_ptr_type); >>>> +  /* Since there is no possibility to declare an anonymous union, >>>> +     using '_' instead.  */ >>>> +  append_composite_type_field (type, "_", sigfault_union_type); >>> >>> Could we name this in a better way? Simply using _ is a bit strange. >>> >> >> What about "_union" ? >> > > Naming is hard. Given it is an anonymous union, should it have something anonymous in the name? > I understand your point, but the name is going to start getting very lengthy. What about "_anon_union" ? > If we're going to access this by hand, it might be worth having some easy to use too. > What type of accessors do you have in mind ? Compile-time ones ? Or runtime ones at the destination of the GDB users when accessing _siginfo ? For the compile-time ones, I propose to add those defines: diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index f11eccc1bc1..1a03e6897d6 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -2689,7 +2689,7 @@ aarch64_linux_report_signal_info (struct gdbarch *gdbarch, si_errno = parse_and_eval_long ("$_siginfo.si_errno"); fault_addr - = parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr"); + = parse_and_eval_long ("$_siginfo."si_addr); } catch (const gdb_exception_error &exception) { diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h index c19839fde2c..f739cc69111 100644 --- a/gdb/linux-tdep.h +++ b/gdb/linux-tdep.h @@ -98,4 +98,18 @@ extern CORE_ADDR linux_get_hwcap2 (); extern bool linux_address_in_shadow_stack_mem_range (CORE_ADDR addr, std::pair *range); +/* How the fields from siginfo_t's _sigfault can be accessed. */ +#ifdef si_addr +#error "Matthieu: this should not happen" +#endif +#define si_addr "_sifields._sigfault.si_addr" +#define si_trapno "_sifields._sigfault._anon_union.si_trapno" +#define si_addr_lsb "_sifields._sigfault._anon_union.si_addr_lsb" +#define si_lower "_sifields._sigfault._anon_union._addr_bnd.si_lower" +#define si_upper "_sifields._sigfault._anon_union._addr_bnd.si_upper" +#define si_pkey "_sifields._sigfault._anon_union._addr_pkey.si_pkey" +#define si_perf_data "_sifields._sigfault._anon_union._perf.si_perf_data" +#define si_perf_type "_sifields._sigfault._anon_union._perf.si_perf_type" +#define si_perf_flags "_sifields._sigfault._anon_union._perf.si_perf_flags" + #endif /* GDB_LINUX_TDEP_H */ diff --git a/gdb/testsuite/gdb.base/siginfo-obj.exp b/gdb/testsuite/gdb.base/siginfo-obj.exp index 6c43d30b7b8..5e36b334068 100644 --- a/gdb/testsuite/gdb.base/siginfo-obj.exp +++ b/gdb/testsuite/gdb.base/siginfo-obj.exp @@ -115,7 +115,7 @@ gdb_test "p \$_siginfo._sifields._sigfault.si_addr = 0x666" " = \\(void \\*\\) 0 gdb_test "p \$_siginfo.si_errno = 666" " = 666" gdb_test "p \$_siginfo.si_code = 999" " = 999" gdb_test "p \$_siginfo.si_signo = 11" " = 11" -gdb_test "p \$_siginfo._sifields._sigfault._union._addr_pkey.si_pkey = 123" " = 123" +gdb_test "p \$_siginfo._sifields._sigfault._anon_union._addr_pkey.si_pkey = 123" " = 123" with_test_prefix "validate modified siginfo fields" { gdb_test "break $bp_location" @@ -143,7 +143,7 @@ if {$gcore_created} { gdb_test "p \$_siginfo._sifields._sigfault.si_addr" \ " = \\(void \\*\\) $ssi_addr" \ "p \$_siginfo._sifields._sigfault.si_addr from core file" - gdb_test "p \$_siginfo._sifields._sigfault._union._addr_pkey.si_pkey" \ + gdb_test "p \$_siginfo._sifields._sigfault._anon_union._addr_pkey.si_pkey" \ " = $ssi_pkey" \ - "p \$_siginfo._sifields._sigfault._union._addr_pkey.si_pkey from core file" + "p \$_siginfo._sifields._sigfault._anon_union._addr_pkey.si_pkey from core file" } >>>>      append_composite_type_field (sifields_type, "_sigfault", type); >>>>        /* _sigpoll */ >>> >>> Do we need to add some extra tests to validate that gdb can read these new fields? >> >> Indeed, I can add some, but I would like to avoid adding a test for all the new fields. >> Can we stick with the original purpose of this change, i.e. adding si_pkey ? >> > > Sure. I'm fine with having the proper coverage as a follow up patch. But it would be nice to at > least have the coverage for what you plan to use, like si_pkey. > The proper coverage is not easy. The test gdb/testsuite/gdb.base/siginfo-obj.exp relies on definitions of those fields via the glibc header . It creates local variables that GDB can print to test the values. Since the definitions of siginfo_t are not aligned, and some fields are missing, I don't think there is an easy way to do a full coverage. I propose to add a few fields from the anonymous union, like si_pkey, and the rest should implicitly work if si_pkey works. PS: I will publish a new revision once I get your confirmation about the naming, the compile-time accessors and whether I need to implement runtime accessors. For those last ones, please point me into the right direction for the implementation. Matthieu