From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 130133 invoked by alias); 1 Feb 2018 21:22:17 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 130124 invoked by uid 89); 1 Feb 2018 21:22:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 01 Feb 2018 21:22:14 +0000 Received: from ESESSHC002.ericsson.se (Unknown_Domain [153.88.183.24]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 74.52.14322.305837A5; Thu, 1 Feb 2018 22:22:12 +0100 (CET) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.24) with Microsoft SMTP Server (TLS) id 14.3.352.0; Thu, 1 Feb 2018 22:22:11 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [142.133.50.46] (192.75.88.130) by DM5PR1501MB2007.namprd15.prod.outlook.com (2603:10b6:4:a1::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Thu, 1 Feb 2018 21:22:08 +0000 Subject: Re: [PATCH] Don't rewind PC for GHC generated frames To: Bartosz Nitka , References: From: Simon Marchi Message-ID: <7e10d4f7-79f4-175c-b45a-33d698fd0ad6@ericsson.com> Date: Thu, 01 Feb 2018 21:22:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MWHPR13CA0004.namprd13.prod.outlook.com (2603:10b6:300:16::14) To DM5PR1501MB2007.namprd15.prod.outlook.com (2603:10b6:4:a1::37) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3d53f1d8-cfd6-46e2-9d12-08d569b9d9cc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:DM5PR1501MB2007; X-Microsoft-Exchange-Diagnostics: 1;DM5PR1501MB2007;3:9DghOuWgefw1R4V4jXp5OzFZ9q13r58SWe3N+2MDgaqHo2AYiN33feRWs4iy0WW0EPabRlkAKK5wxj8JtJEH3hwW1fjHOsik7jPh/9YpTn1HzyifmaZuxphHD4zN8dAyWUUr4oHatdHQ31vcsCma908Efu6CR60j9R0G2dS3xOmDJvDq6SWzPTDu/10rcMt9B5mXTjUcxSBn3NyT6WS8/qktzQ6vruJmULT5B31mSWdotaN1SsPThePyiRrhZLsP;25:X0TV3h8kYSgh+ihSjobConxMWEzuVPDTN3DclW2cEHH2E5V/wKRLNDxq7gya72qejMNOlFz8VRu7Kz/gLwm9YybNgHxPRq8iJ03cuhbcm0Lib4xA0u8kcPEXAd3cWa/Z092+yHc/PlOXXNWi3S++JvODbLXhZEdUJ76rxtKkxwOXvSL4aV/hD9Dv5PBhqOY0Gss9VgBSHasVzqi021r5c78Er3Wc+XT/nxHr6AI4Ma0GgI9AkkUkqjMdBW79MfC7y2eVhMvtRqWWMoEdJO8cVmbn5HFcyd69iwTQ7q/nrgqK4ACUqJRiNUOXZL5J3IyeJL4ULYBCJysPMDHSw6GSXA==;31:9uy/yax5gV0la7TVP7wDmb+0+Gm4IbG/4fAJKpVCM1NTc3iePlNgoDhaNQAVy9uexDp8p4R4wPM7hUMcYfOAu7mW/z+OXnrFY3JZ41JTnlmofkk1fH2UeT9bXi3QyZgIyJ6gHpYpU7xETTGe4kPc0kYBDzJJX8ZQ/dfnlmm0D0IZOnvWJ0+k9lWOo9iBtmb+4t4XioFiBleMVz2jc1Iu1AWQ4x0Mc2xsVES0BJtTQm4= X-MS-TrafficTypeDiagnostic: DM5PR1501MB2007: X-Microsoft-Exchange-Diagnostics: 1;DM5PR1501MB2007;20:pcQSmTcJ8GVQ3LBL6Yxz/U/hAKbOwBL+HPVW6ACs5Gp/vfm1anH3bBv6wBOIVU03b25nHknsvECOwPUa5DQUm3kC+lqDPdN12FXsqcA3JjuBEwLFhxwniAa4qD4ofYLExIqVq/fLsfkFFVVufoRQ9CDKnwGqbZqiQ3uEX9OjmlxCFJhnK9abGrRTnEOspAurxGwuzreGlXUO6NOZep5vJ02Yb75zlgrFHvls6dESztFxykrhKe6ApHKdHV6yR+zi0ZTV3qxHPdp3TJC8ff0fcvvd451xZOQCgwXMBNEru6Ph5s7unPosp03B6MXSUiTScTq9ZGzInERAQ02W720jPDsWaDGCKV3UKI6suJwDUMRopXbB/Z38ToHXsERIXDz6cm9TWCg5vglcbTf07zpbegXRMQvpgd+DwyxkjU6K8wN7EvgRd/kvBySFMw6nmKZyNdY1lYUOOg17wlXKhHprzqkyHW6rhTdlvGxLiprNm8hRgpFJppYkzzJ0oeMad6Jn;4:0Q/ECh0OgAt46tCK8YIO3elOQHImWoJpaOLbUZUSzMwEH3sJrz0ZjDTfQzRBJ9IyGm1NwDUUltRJ7Y+UIDLDbhwGf43mtol+PiEpo6wYuOS5+Mv0nH8Ow9Mh13YgHXhY/vEu894Yhh9KgbpzthyIKiMqG5Bty6gz/ERZhOXLVmIhzymPXSOi9ZZXolAHK+WoInPF9Q5Ieu1w+BuLqUq1riHQ8frVQSzjKoeytjwvO92yQ/7lA1+nurhPESuNpKcrmKwPJKLN8EyrllcF31o6ww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(5005006)(8121501046)(3231101)(2400082)(944501161)(3002001)(93006095)(93001095)(10201501046)(6041288)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011);SRVR:DM5PR1501MB2007;BCL:0;PCL:0;RULEID:;SRVR:DM5PR1501MB2007; X-Forefront-PRVS: 0570F1F193 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(396003)(39380400002)(346002)(376002)(39860400002)(366004)(377424004)(199004)(189003)(31686004)(49976009)(305945005)(47776003)(97736004)(83506002)(36756003)(8676002)(186003)(64126003)(105586002)(16526019)(58126008)(39060400002)(25786009)(50466002)(3846002)(8936002)(81156014)(316002)(86362001)(6306002)(6246003)(575784001)(6116002)(81166006)(26005)(6666003)(31696002)(66066001)(52146003)(7736002)(65956001)(53546011)(229853002)(2486003)(386003)(230700001)(106356001)(53936002)(52116002)(76176011)(16576012)(966005)(2906002)(2950100002)(65826007)(5660300001)(478600001)(23676004)(68736007)(65806001)(6486002)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR1501MB2007;H:[142.133.50.46];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE1MDFNQjIwMDc7MjM6bVNVMEFQcDc1akdLVFo0TUZFRER6VGFM?= =?utf-8?B?bDVuL2p0cHZwZWdOYTZGV0owNTY2b3N1NVNsODJ1TU01SDNrTkRPRWRDRXFy?= =?utf-8?B?NUVmQ1IrOHJneVhZdGluamJzRWJ4b3RsbmtxNEthTnI1S2Ntcnp6S0lLcnNq?= =?utf-8?B?SUdUdGlQS3pnOEFEMkg0RVc0NGRuVUJqOUpKVGxoRFFMNnhyUWVqOFhsR2Fi?= =?utf-8?B?bDMzMGRnWHd6SldHTnJtbUNlYjExRGtsUm83ME9oUnhzVFo0cUxZbk1vUW9W?= =?utf-8?B?MFZVSjVMK1VaVldQbStpM2RCSGlHSHU5SHhnVUpuaUg3RzA3MWVZMTljeGV4?= =?utf-8?B?dFZoUkJESCtQWWhWeDhnc3Zxekw1NUwyNTNac09yblM0ODFiaFhTemlIRjJv?= =?utf-8?B?ZkdybkpTb2NMQ0duOGErcENhN1U5ZlQ5TXVWNjVRQ2x6ZEU0czUxak5WbkRY?= =?utf-8?B?MW82TnMvWG1pSGdCVG9PcHFJemprNWhMQjBGSXY1RWIrQkluLzBQVGJFaG10?= =?utf-8?B?b1dMZStzanZjdktwR3ZLeElpQ2hXa1Z2MlZMcXI0ZGFTZFNXajllMlBWY09V?= =?utf-8?B?aldydWZmd2FrR09QazBqbFA1QnlwSDIrdERMaFUwcVBXTkd2c1FHa0cxdnEr?= =?utf-8?B?UlVremZocndPdmwrSEtsdnFEK3pydTJjcEYzbnJuV0l6dGZ0N1g4QWdwelRl?= =?utf-8?B?d2JkWnJVbXdzUVlYV28zeTdGTmJBYUVpZkRPNHJiNmVXUUl6UVpvYkw5b3dL?= =?utf-8?B?Q3VSaWZOUUdGNEFBNlY2eFdIV2gwZFpaN284NjEwd2RuQ0pHcUVQSE13OVJX?= =?utf-8?B?bWlseXlFSjQvQlNxQkVQLzI3ODFpaCtsMmtrUHc3Mm9SK1U5ZkwvTG5tL3k4?= =?utf-8?B?YmErT05kYUpyTHNMZmVtVTFWNHRVNXlIc09pQVZLVVlLZFpBN2g5UEtabUdK?= =?utf-8?B?MlAvM054TU5LZE9MZlFmRklrVm02M3VYUzZyRnVib0dKaGt5UWlZVHh5NmpV?= =?utf-8?B?dGRaY1NVaEs5eHVaQ1BrRXRWd2hUNk0xdGFLNFY5WmZ3NHdWblVXWWhxTExQ?= =?utf-8?B?KzRCVFRZWFJ0NHJaOE9pVkJsVlVIbk9jY1RUVHZkdlVIbDBaUGlVelk2UnNG?= =?utf-8?B?S0lMMDJCN3RkVUJjRldmay8zZ29JSnl4WCtGcGZKMVlHRzZIQ1FGa2Q4SzZE?= =?utf-8?B?V1V5bWlncDU5eG8rZFUzWlpqekJRZ2dVaXI1NHkzbFlPMFhVRVI0WXhzWGFm?= =?utf-8?B?WDBMcXZNdDBERnlYaWU0RExTZEgxY3YrQmtDbXR3ZkVBbi9yMEx1MjlvSzJ4?= =?utf-8?B?K1dWL3U1MXBCSGVhR0MyZWtGQkVsdHoxZ0dHNThmcUwxVWs3N1o4T2FNN0Z4?= =?utf-8?B?eS9pNEh3cEVWb1lnRFA2MnFtMXowL3dyVmYwSlVTd2JGcEJjRWNkTjJwSE1U?= =?utf-8?B?aTZhbTdDOUFCTC9DbHp1U1JITkxJdVhuK2JiMlVCWHBZcGM2RE5kd28yUlNE?= =?utf-8?B?S3JQbkRMV29iNnA5M244dHZvKyt0NXI1WktFRVNjVVF5TWJicDJzYXkvczF3?= =?utf-8?B?RGVBV2hlY0hlYm55ZWRIby9MVDEwem5mY25JNE5sVWxSb2hJNXVueDBiNWxn?= =?utf-8?B?MzloWkVuWDJ0SFlSM3FVTWVHa2dFVUJvRzI4bXlGRTQ2anJjdzc0bGR6VWNY?= =?utf-8?B?eVhuMkpqTEhxNmIrVXl3TWpNdHNOYTVLelhBS25FSUx3V0hmWlFIYXBjYnRD?= =?utf-8?B?b1ZiM0RyODNhVVFveW1SN1pGV0Q5S2VzQnFQOXlZR3dWVFhmVWMzbFhBUWFk?= =?utf-8?B?Vkl4RTJkaFFmaURrdzNyVU5RSmtjNGJWUndYeHd4OFhCU1ZBSXUvanBOUGtC?= =?utf-8?B?UGV0ejZTQkVkOVl2L1FmcS9Hd21mb3MxQks5VWQ0NkNtZlRveVI0ZzZEeHAw?= =?utf-8?Q?E75T/vNkWY6YqV7smOxzUfapvRm4SkXM=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR1501MB2007;6:WGd7wrkRG1cIsctODthVQGvW8TmYcM/M1rrxkKuxV+PKK13XAIPVKhOzZcfKCWR+3Srz8e3rAoHfSWjZ6R4Vt0G0fIoRAAcdgb/gGkGSXXD4UQjk3J1JqBv0YkSYameIXM/BUXHTAbOHHGpQtqDBw2RtpKFWunuWHGzExqwG0N8kCuVITezt2IBZEqrVBf7z55BISEfpJ8XeL4AIGDBCgEnDXkfSv0OH+JzY1aitOjo6Go7eRIcW11S5z6UExrFJaF1Hp7W3D03IDHKXkEe1SeQ0OYHPaZRT96SqeNfFu83RVljJk0+AKY7zjxOHVqSxowMw4v7dl2D2XTe84psXcJWOmntN/Ltq4/OKHdMworo=;5:xTx5a2Nw2TcBbqyAV0a+00cqLCe8YU0l6gr87KnHl7vQ9mufKlO2WXv2A+ZszcD4dvKbl8KpYz47WPFBUxSqUhXCnPg+Fg0LyrZxebUGCjj6gCHS1V5EvNU8UAWMQ8RlV+RI4nUC2Z9flWNSdDJeJJ4hEngfRYz8v1U4ubhLZf8=;24:RbzjlbBKsOBfcOuqcVtWkoIQJy9tCWY2a7ppH7KaKSfxrFhIuRhcZMp2ZvUPlXc4okppDCoPTzEF9lJ7mPYbFMik7LnaHibyArrW8Gsm1OU=;7:VNW9qQJSuvJ4BnPeckjaDrk+wF47vE3l8IeJJE46vHsGYKn0+gB9Il+SH97RxH+afUPLjQZXXeNBUDRYSoKWkLiaFTDpYQw/3kc1MB9fnkAGya/jaCxdlxxaEISB1soOT9vOufd71PHeDqCvBt3r0yS6yIeXziKlf1l1PlsseIJc3ejsHJitEDe3KlztEhlTp/LAmt1ZjYalxwhxVSY6Z/WwEAto2eDq9bZwZKsGQqMMWQAQuygZFRV23+0RpHaH SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2018 21:22:08.1099 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d53f1d8-cfd6-46e2-9d12-08d569b9d9cc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1501MB2007 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00023.txt.bz2 On 2018-02-01 01:54 PM, Bartosz Nitka wrote: > GHC - the Haskell compiler generates code that violates one of > GDB's assumptions. > > GDB assumes that the address in a frame was generated by the call > instruction and that it is the address of the call instruction > plus 1 (I'm rephrasing the comment in get_frame_address_in_block). > So to get the real address, one has to substract 1. This is doubly > beneficial because some functions are "noreturn" and don't have > further instructions after call, so GDB would be looking at gibberish. > All in all, this is good for C-like languages. > > GHC generates completely different code. It uses jumps instead of call > and manages the stack itself. Furthermore every piece of code is preceeded > by some metadata called the Info Table. If we substract from the > program counter it ends up pointing to the metadata, which is undesirable. > GHC has a workaround for this [1] that works most of the time, it basically > lies in the DWARF data and extends the function one byte backwards. > That helps with making unwinding succeed most of the time, but then the > address is also used for looking up symbols and they can't be resolved. > > This change disables program counter rewinding for GHC generated compilation > units. > > Some additional context can be found here [2]. > > [1] https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/nativeGen/Dwarf/Types.hs;e9ae0cae9eb6a340473b339b5711ae76c6bdd045$399-417 > [2] https://ghc.haskell.org/trac/ghc/wiki/DWARF Hi Bartosz, I am unable to apply your patch, it seems that your mail client messed up the formatting (among other things, replaced some tabs with spaces). Would it be possible for you to send it using git-send-email? There are instructions on setting up git-send-email with gmail here, if needed: https://www.kernel.org/pub/software/scm/git/docs/git-send-email.html Thanks, Simon