From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2061.outbound.protection.outlook.com [40.107.22.61]) by sourceware.org (Postfix) with ESMTPS id 8EEF33857809 for ; Mon, 25 Jul 2022 14:30:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8EEF33857809 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kw2ndk6VfWjSMfqBvh+lxRyka1VEOgCvtdJ2VDeRv5TYyxal4A4TjKNxi7PmP4B93ebJs5fZM25sz6hy73FvnfktNAgzceZYK1KAoHEqSGSxvSvb8gd+4vMIT5TKkpgGdMUNbeL8HZ7L9t3ITtc30KSdj3V4dQHNvRl/N9Ljt7hyNbEcu2AHIqBZRzRS6TaZIPNy2r6ohQcLItU5iiwCZUyfshfzOK4NXtAPSSBFYliqAIyRZO1T9DJ/Qt9YFEyv2H+mK8oAoynGaMQSOAMh0jdkWfNyFpvo0MH96+PmgkFGvzgG97UrBRfYwVbXdWerIDn6FYy8oYOABv9xloL4DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=NkCnGyVIbT20fBxlxG+NFQm0eSjKVjtnE95uoGR/VtE=; b=CQ4JOjk5tSHriH1ElwmyUdN+ARnJqlfxDOGPGCnfAOsxUXhNpnA5hymdg8whO7Hch/2Sexyb09ALCy3qPtq00jltGjXX5HutlSk10NQsdqowf5N9MtCG2QUOr+775gdI3ODauhyChddDHKnd0mpvCzFmXjCV3jKEL8z1oCvPWiKZwQ+tu3X6uZIVXJyhI8prd6MJoIqx4xXBPTqPbjHyBL9ny0o19UCASK/7d59BPBxNh3g8zdl8MihUSC59xmv8o7KJw0Q19S2expPgBwp7VlMsww7E7IoDSPe4X0BQlDLWJYiM1XFKGBxhZMcXNJUjuyyrnzYdLFHBsG80qfLEug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by VI1PR04MB4734.eurprd04.prod.outlook.com (2603:10a6:803:5b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.23; Mon, 25 Jul 2022 14:30:40 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d4c4:d01d:5d39:920c]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d4c4:d01d:5d39:920c%7]) with mapi id 15.20.5458.019; Mon, 25 Jul 2022 14:30:39 +0000 Message-ID: <2a305d77-905b-c1e9-c36a-6c25766c5a98@suse.com> Date: Mon, 25 Jul 2022 16:30:38 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] bfd: Fix issues with files in debug_line table with dwarf5. Content-Language: en-US To: "Potharla, Rupesh" Cc: "George, Jini Susan" , "Parasuraman, Hariharan" , "Natarajan, Kavitha" , "Potharla, Rupesh via Binutils" References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0048.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ae393695-9342-4335-5022-08da6e4a3f47 X-MS-TrafficTypeDiagnostic: VI1PR04MB4734:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gsd0uDuLq0hun2MSZYntRUJyUxoT36c+c/xANir1CU9BZMzS83s5z9HGdJhtGoHv2eLl4VN9QYUdrIO23siQxeUhNj1izCAbCAww2YrQPDNHfUXcUaOofkJ2A5E+2Q71IyoSRTLl2TeIzRexJbajSbNgbSEI2YpokR9f8m5ozfx0+vnnwU22mhJfL5ad3jl+Y08CqqYRie6N8CgxgODdHMNroMRTY+AfiSfHQ5dRVWBguAT5rkrJugQx8fhYnWqG4apqOu96qBVY0FVYDBN7j7drFluyhqa6hFk3LO05WXEeNQ/nIB8yxTC1VzKmOYnYwTZJziGAK091d53VFyoQ6/s4nZnte4Bsz463Y1YrhvnXs1HMMzwybV313UPQD8SkIiUnHlQ36beg8NerHhheJGXNIsiWuq65jPtam6EEvVzbZipSNfoon4UbsT+dzjLTT6gFZvkH9q24S33UdTj040NXNFyLuvZMFIkdWPoG/pq1ThTGATJp/fpwgXxAI8SyumEUpKsSXA9nf3+E3h67bPhcinGYkidX9Mz9hsq/EWribvJX4chQpuOhUBuw+w4kT0Zpx+3CqTCAI5S/V0nvFOLklCRJROwshIC+fGYAzctGbjK7DpWfsNPIFQ2lViblBIwjQg/Hnm/oaHF754XuLYciQsk+CREac6vYhcvvk39iXi3wJFAPw5dTVCnLx9i3nECya/ZWqgnMvBnjmYq1ta5/3kvgsde49GMDgT/NrK5lNzpW60pMPY3lZbTmyGjW/2tgR+vbMdT39nqn9UdHW9SIQo4vN84jsp/fQiQGizniqzakeBYo5TgbVMEl3R3xgPVv26ppWyBX54wgYDUPGkIMpO011GFA9mgSKbdiw3A= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(376002)(39860400002)(136003)(396003)(346002)(366004)(66946007)(4326008)(66556008)(31696002)(66476007)(2906002)(54906003)(8936002)(8676002)(36756003)(38100700002)(316002)(6916009)(31686004)(53546011)(41300700001)(26005)(6512007)(5660300002)(6506007)(2616005)(6486002)(478600001)(86362001)(186003)(2004002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NlNWdU5SbkN2WFpDVEkrK09YRXV2dDFrRHRNdGo0QmhvQzJkY2dEL3dlenk5?= =?utf-8?B?K3h3L2RCRkZCcEozdmlQQWZNWS9md3Z2QzlZb2hyM0hsblJDOVVnT25zWTlO?= =?utf-8?B?bGNoTjR2UUxwdTZkQmxxSWF0WW5RRUN3a09ET242R0xzVjMxMUZock1mUzdq?= =?utf-8?B?ZzN4REtNZ1FUUVB6L0tUYWFpay9qTitCbkRIUFhoQlV4d0lFZnJqZVRHTkhq?= =?utf-8?B?ajJVNDgzdkpGRTExVmdmV21DWnkvUnp5NktuMHU0UTZNVk0rcWJUUXduSzlP?= =?utf-8?B?aWxpQTdIS2crOURoS2FiQVdUeVVhMnJXakpSa29vYXpkdXBadjIxc3crV0JQ?= =?utf-8?B?QVVxcHpnT0lhMTZJU1hYMHRQQnJqdlhRaGoxZEZqcSs5SkMxQVkvUys2bHdX?= =?utf-8?B?RjZWOVV0RWNiSXpqWVZaVSswT2M0Yi9GeXBtbVY4SWVqSHRsTXdYMmo2bnpZ?= =?utf-8?B?Sk9JR1BTNEViR0pYSk1xMGRaWDE1NXd4bjlHMXlqTVlyR3N6T0xUdlpybzJD?= =?utf-8?B?bFI1WGp3Tkg5VmVjbEhkMThiUEM0WVJZcCtwOFlML0N4eFYrTGpZY2dKNzVM?= =?utf-8?B?TlRlNlRNbFkxUTdvV1F3OUZVQjdYcnBwbjFDelVLcEJmVXYwMkorY2NMeW1M?= =?utf-8?B?U2ZBekhtT1FyaTc0cnhyeng2d0FyWDVGYmRaQlZYTGxRdzJTWHdxREx2emNN?= =?utf-8?B?K1cyMWFiRU9FSGtOUlcvdzhhdEF5RkNaUnE4dVBEbEdKTDVBYlVtcEpjNkl5?= =?utf-8?B?N1g5TWh1SlZxNUtIZ1cwS200VG1ZeEk4VXRLZzFvTHFkMFhvR2RBc0x1WG5V?= =?utf-8?B?OFZZZzVJUHRIZ0tZalU1bC9ScUV1TW1yRkM4TkduVWdZcFZucWF6UElrVTdn?= =?utf-8?B?SmNtc3dlV0VhZ1dnSFJXSFZ3UDhSelJhQXZ5dnRxQ0R1V3h4YXJDTjdvVGEw?= =?utf-8?B?VjgxQ2M0bEFBNFRGcm9FQ2hoTEVRUEJ3MWtkN0F0RlQwR1cxWWw1YWVMTnZj?= =?utf-8?B?bG9OaEppMExDWXdMUHkyOGZSTjN5UkwyMmJ5eko1TTdyQVlaZmxuaVZ6OW5w?= =?utf-8?B?MGU4cVFFZkQzT3pxRE5PdkRCcWxGdjd6Z1Q3M21qSnQzMUZqendKOTNRTEox?= =?utf-8?B?SDNXN1AwRTBZYSt6NU50ek1ua2NZaW5HdkNFTkpKcERWeXY1RFBqU282Ykw4?= =?utf-8?B?RnhhRGM1azRmKzRLY2p0VmVqSTZvOWp3ZXNiajNqalNvOFBQVXN0c3RSYUFi?= =?utf-8?B?T0M0UWtCOWlWVlNsTTJ1ZlR5bWxuL1ZDbllnVWVSdHA2ZEtDaDRiMWlqc0sv?= =?utf-8?B?TEhTYWhjVndWYnlmOXlORURmSVNqVmRuRFYvVy8xeStmZmpTOUVVVkpOVkNw?= =?utf-8?B?dkNIQk9hMm1jaHpOa0ROTjN6QXNiTTZabHVRN3FUTVhoUS9MekNQR3hjdUk0?= =?utf-8?B?OW9LalRUN1FVREUraXFnOXhrbXBZRlZKekFlL3crSHozMWRVRVpZK2NqYVdr?= =?utf-8?B?WDNqVmJwSGI4ZlVOeTdpTHJlb2pOSWF1ZDgyQ3lWK01SbzZFcUU2TGlFRi9k?= =?utf-8?B?OTFLYWdwOG5sTWZQNHFraEhRYWdDSjNYVG9OamFWRkdvb3BtclY5bEN3ZUto?= =?utf-8?B?TVlJRW4yVXkvQjhzb1RNcVY5YThQS2FQSnhmeGk2M1FvNkFCZXp2KzVzYkc3?= =?utf-8?B?VGtzR0RTNitHYStTMDZldWhTR2FQd0xtb1FidHBOR0VQa0tLNE0wcStteVZh?= =?utf-8?B?bGhtWGJYNU4vd0FvZzZqaWdsZS81MTlrWUJMdkY3ZXEwNUFoRzZTdlJ4NytB?= =?utf-8?B?N0NwbEJlb2cyL3dZVXo1ZU0ycm9sWi9YMVF0dFZyNTc0cHV4L2Foa0pzZ3B5?= =?utf-8?B?NG9kSmhoYnVSOUp4RGQ4VkZTSGM2L1dPbi8rQ3lnN2dLb3hqbHUrUS9JSkg4?= =?utf-8?B?RzJBNDlYcVdtdzVta2VGdUdLT1lVaVpyMFYycGE3OHFsMG1yQlhSZmRzWklB?= =?utf-8?B?NUtIakhlNUlsb0JhcVVsVUpYK2d4ZUs1UHhXakxYaFozYWxYQ2Q5SXR6WDZR?= =?utf-8?B?K2FGdVFQekJyc1VnSTdRQ3FKRTRpY3IvZEZSdW9lZ3ZxM2xjV1pyTWliRVNQ?= =?utf-8?Q?azcvOp9cUxoHj4a9H6xCLEE18?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae393695-9342-4335-5022-08da6e4a3f47 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2022 14:30:39.6963 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +HUwzYvRmLT3QQko6pSC0vRZHzxoKopwaRcIwKxVMqmW+A8bY/tNxG570ZQQQqugxSIQ+qIbYuWEAXPzK8ezng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4734 X-Spam-Status: No, score=-3030.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jul 2022 14:30:44 -0000 On 05.07.2022 08:46, Potharla, Rupesh via Binutils wrote: > Patch Inline: Please note how the inlined version has extra blank lines inserted between any two actual lines, whereas the attached variant is a *.docx rather than a *.patch. I'll use the inlined version for the few comments / questions I have, but you will want to sort your mail setup. > --- a/bfd/dwarf2.c > > +++ b/bfd/dwarf2.c > > @@ -1369,7 +1369,7 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit) > > &file->dwarf_addr_buffer, &file->dwarf_addr_size)) > > return 0; > > - if (_bfd_mul_overflow (idx, unit->offset_size, &offset)) > > + if (_bfd_mul_overflow (idx, unit->addr_size, &offset)) > > return 0; > > offset += unit->dwarf_addr_offset; > > @@ -1380,9 +1380,9 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit) > > info_ptr = file->dwarf_addr_buffer + offset; > > - if (unit->offset_size == 4) > > + if (unit->addr_size == 4) > > return bfd_get_32 (unit->abfd, info_ptr); > > - else if (unit->offset_size == 8) > > + else if (unit->addr_size == 8) > > return bfd_get_64 (unit->abfd, info_ptr); > > else > > return 0; > I have to admit that I don't see the (direct) connection to the patch title here - are these changes perhaps better to form a standalone change? > @@ -1951,6 +1952,8 @@ concat_filename (struct line_info_table *table, unsigned int file) > > { > > char *filename; > > + if (table->version >= 5) > > + file = file + 1; > Don't you need either this ... > if (table == NULL || file - 1 >= table->num_files) > > { > > /* FILE == 0 means unknown. */ > > @@ -2579,10 +2582,8 @@ read_formatted_entries (struct comp_unit *unit, bfd_byte **bufp, > > } > > } > > - /* Skip the first "zero entry", which is the compilation dir/file. */ > > - if (datai != 0) > > - if (!callback (table, fe.name, fe.dir, fe.time, fe.size)) > > - return false; > > + if (!callback (table, fe.name, fe.dir, fe.time, fe.size)) > > + return false; > > } ... or this adjustment, but not both at the same time? > --- /dev/null > > +++ b/binutils/testsuite/binutils-all/addr2line.exp > > @@ -0,0 +1,59 @@ > > +# Copyright (C) 2018-2022 Free Software Foundation, Inc. > > + > > +# This program is free software; you can redistribute it and/or modify > > +# it under the terms of the GNU General Public License as published by > > +# the Free Software Foundation; either version 3 of the License, or > > +# (at your option) any later version. > > +# > > +# This program is distributed in the hope that it will be useful, > > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > +# GNU General Public License for more details. > > +# > > +# You should have received a copy of the GNU General Public License > > +# along with this program; if not, write to the Free Software > > +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. > > + > > + global $NM > > + global $ADDR2LINE > > + > > + set testname "addr2line" > > + if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog executable debug] != "" } { Could you help me spotting where the Dwarf version to be used it coming from? (Ideally the new test would be run once for v5 and once with an earlier version; yet more ideally once per version. Yet I'm not sure how easy this would be to achieve.) > + verbose "Unable to compile test file." > > + untested "addr2line" > > + return > > + } > > + > > + #testcase for default option. > > + set output [binutils_run $NM "tmpdir/testprog"] > > + regexp -line {^[0-9]+\s+[A-Z]\s+main} $output contents > > + set list [regexp -inline -all -- {\S+} $contents] > > + > > + set got [binutils_run $ADDR2LINE "-e tmpdir/testprog [lindex $list 0]"] > > + set want "$srcdir/$subdir/testprog.c:\[0-9\]+" > > + if ![regexp $want $got] then { > > + fail "$testname $got\n" > > + } else { > > + pass "$testname" > > + } I have to admit that I can't really spot what you're actually looking for, and hence whether that's sufficient for a test. Rather than all of this open-coding, did you consider using the pre-cooked run_dump_test? Jan