From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 111465 invoked by alias); 8 Dec 2017 15:06:34 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 111447 invoked by uid 89); 8 Dec 2017 15:06:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:sk:DB5PR02, H*r:sk:DB5PR02, Hx-languages-length:1525, H*RU:sk:DB5PR02 X-Spam-Status: No, score=-25.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-db5eur01on0113.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (104.47.2.113) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 Dec 2017 15:06:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Kqq1xH2PJFWeSxvynxunw8KlTZSO6GpO1YV+Y4ludS4=; b=IR2/w3NJ/VZL8bREjdkENdc74NWa7pRV15r6yRx2glPj1Or71954SiCNxNqJkgLyORnxD/canSTpGWFX9Y/H59zdowNYqUTUQnhr34gi7TUuTx+/8vXT7VstmdD528BSO4riUTm84s9W0qWh1qXDvS/Xapo/ofbCxr7f/MJvWBs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ulf.hermann@qt.io; Received: from [10.9.78.45] (62.220.2.194) by DB5PR0201MB1832.eurprd02.prod.outlook.com (2603:10a6:0:32::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Fri, 8 Dec 2017 15:06:28 +0000 From: Ulf Hermann Subject: [PATCH 2/2 v2] Generalize cu_sec_idx To: elfutils-devel@sourceware.org Message-ID: Date: Fri, 08 Dec 2017 15:06:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: DB3PR0202CA0029.eurprd02.prod.outlook.com (2603:10a6:8:1::42) To DB5PR0201MB1832.eurprd02.prod.outlook.com (2603:10a6:0:32::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a4feae57-55ac-4984-9753-08d53e4d4254 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307);SRVR:DB5PR0201MB1832; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;3:f6rqWKrnm4tjK0fVxy5DhmH4gjYWdiNK8yEHnTyjD74ANnRKKB8z5a8zf3xgkj21B1QS5k32nIn0Fs/x3uOO7YB0ngZAURARtPXKV3YYekdu3KAEpHFRmDYJtCLhvszNHpZ5Lbqj52GLrJKNOEIi0qdq4InuJV2cEr493IPayd20qh10hURMPAKv5W33sUb2tKgyTECM9Ci9r/sqtwidkTqZtq5N/fuO4hamqi0mJlcRBuPHdtqXBHAQFdQ1JB1B;25:vVEme5Ng3Tic14BOQnZxNZz0MvkOlZY0bedaK6cgQhoRvOGPR6/HBcE7ESRNtc9IW3VIeYLrvNNzt9crZX1eSoCdlaQip2BVCiIXQ1S+KEdi2Ux8UrjLNVuAlEehaDuhDr7XVu7Yn3oikN8j+oMZ4N33a8g4p1TeOlrht5t4qRHdgav1x0ft10Dn3wUVhg/zGe62CQ8m4ciqhW59Ybw3bOt6PDUGRJXidgrWihzpW4p9dKkXGg2UpMAc4nD5mrN315RZYuzUHeJEPfUkqJtqpEByLI1FJGctkF+4tWGgeZoKmxoucu1r0wnegyhXwJ9BegBUxkuVT2G1CezFUVMD/A==;31:UKuPPJUuxIY7KOWU/U+J8hQPtvrfaOhNMvnmoa/EEbNIyg/aJ+QD4JmtEQt1lA+mqaKm4jSR3XVdMPP/bq3l5oE3Ck7KkcWT1ccwOK28lgAHIY6PM4FHguvcYa4WC5JcUPD7r509Tg6ozmS16sJkckr/NDumSES/+NDkooZlDQDygmDIxrN3t8Nqr8S67JB1Z7RoRDrhXH3YZCnVfnlhvnKOW72/GofZllewM89h1yg= X-MS-TrafficTypeDiagnostic: DB5PR0201MB1832: X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;20:Vm2Duvupr/oT3TqHrQPK90UUgFaESpzwtwMv5sdAByJnnzACNKJVlfN1dGtHe/+yc4VxhTjO9ZeQ95CgABUBnT0195YKVp05lB3wRfuEkimT1E5T0Qs0Kv5vcME9M/7MKsh1UcyUZzAyFX3YydMaPIBUV0PONNK3jJqCjw9HdPIjVR4yba3LHrRkl1uPhwpPL70B4On5E5x1yGbOp6hK7FqAYEJzj/htmLO50qHGCYTA8a0W4OWmA5WNgHTbumjUqgQvOIB4khPl02WVliFU3cxZINjKQAcpc0xzvPGKYqi6WiBQIN2VKeKyNE5UJs2IVDh797+xmEZ71CFaBdrNcvZrEumxDz+CmuOOgFZ7dUnH1eqOhTBGJTdfw9oRkmkiqDZKX/3uKzTqQqNXIC60Mw9Rt5pyJ9bkE7VKOrENTSi5F9vujx548A3GL7Z+cVQ3EoE5Sey00P8aRNHHuRq/lAOgmEcVRZIyD69omT096tVuWt0UH4RTesvD9A0Aemq5;4:3M1cxyZ9pV08mNHVTjc5VWD6DPHVQiCpOaigX3h4ud0MV9o3uS2I5QQS1J/4TDkqv5fPD8nYkaw2C+yLOYUlNI1M4MSI3GhTNSVWJSX6L5WJ2HMI4ylmb+0fHWWSDy/FK9xAF2rj7OTNoAMRWRAuTxW4JTAXf87we8MNz9r8kTz8bRfidcBgMtJrbeMk/6ZosbDoR6LW8PCVDjo8UETuIJhn9mXURl4lfuuXvLK5TCkthBCNGDRcsBiyQRoGMIXGCDPVHANZrAzt93kE+QJXUg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231022)(10201501046)(3002001)(6041248)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011);SRVR:DB5PR0201MB1832;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DB5PR0201MB1832; X-Forefront-PRVS: 0515208626 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(39830400002)(346002)(366004)(376002)(54534003)(377424004)(189003)(199004)(83506002)(6486002)(105586002)(31686004)(106356001)(77096006)(2361001)(2351001)(68736007)(478600001)(8676002)(3846002)(81156014)(81166006)(65826007)(52116002)(2906002)(6116002)(67846002)(6916009)(33896004)(5660300001)(64126003)(97736004)(74482002)(36756003)(47776003)(7736002)(66066001)(65806001)(65956001)(58126008)(316002)(16576012)(25786009)(3260700006)(16526018)(53936002)(31696002)(8936002)(23676004)(50466002)(33646002)(305945005)(86362001)(230700001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR0201MB1832;H:[10.9.78.45];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: qt.io does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjVQUjAyMDFNQjE4MzI7MjM6UVUxc3hGU2dRZk42SVlDTDlPWjltZUtL?= =?utf-8?B?L0xzVWNwcDR5N0c3bGxlbVdvSGs4UlJhZlJLQ1B2Q2lKVUNXYUtzKzI5YkJO?= =?utf-8?B?UzZTNE00SzFpUHBEcWJmRjVzL3Exb3RWU3hnVWNOOExHRDNrbktIODZZc2JV?= =?utf-8?B?WlNpQVFZR1RCcXRrWFlCTGt3NEJBeDdFWlRrVkhuMkI0NlltNHFMaUdKY1NX?= =?utf-8?B?a2ZwN0sycUNrdFpOenYyWTJyQnZxSHJST1dFcHRVS0E5TDhxSmsxSzdiYysv?= =?utf-8?B?NjRBMS81Q0tOMUhrbTZIbXowNlZNTi81Q25oVUV6cnF5R29wcDFNUGZRV3Rz?= =?utf-8?B?eTBrd1JrMVYrdjI5cmNvTmYvaEtWL1lDQ2tHSndoV0M1bktLSnhyb29CRHBR?= =?utf-8?B?WkMra3RvU0tOTUNrK2VCc2YrcDdCZXJpL3VJT0g4Ui9nanQ0SUkvcy9qU1Vl?= =?utf-8?B?VHhkTyt1b2xuT2dQQ3AzZXo0cGhMRHF3OVV2Nm1OTHdjanVzcFErczdBMU5Y?= =?utf-8?B?QUp2MFI1bmVxb2IrWW1WaDZHOHoyalVTRjRhT21zRU9YeEorSCttRzFEajlz?= =?utf-8?B?ZzlFTUZidlh4b3B2LzZidkRGRk5xQkM0anVXUHV2OHVBbnJiUFB4Y2JsSTU3?= =?utf-8?B?NUE4QUJIOVNoc1g4MjR0Yld0NkQrM1pJQnMrNHR1N2RJd0QzdmNpWkpzbEpv?= =?utf-8?B?azZqOE91cThRTVZBUnI0YXFCWVNkcnVvNWJGRFhwR3VlQjBUcDJXYUREZyt1?= =?utf-8?B?c2VVWnc5YldIeVhtNCtoenBJUjBEcFRWc24vcDBueWlqWGpYYXpISkptSDg5?= =?utf-8?B?MktsRS83a3BWbi9tQ0VMTURvRjRMckZKc1JPWDBoVkNyVk5XZEp5SkNLME52?= =?utf-8?B?d0FVOFVKdTFjc2tFSXc0MWNLN2ZldjkxbEI5ZWlsQjd6VHRaRVo4aTRWNVdZ?= =?utf-8?B?QzBxeUp2UUNFeHhqYzZBWnpJY1ZXeSt4eFd4dSt1R2hYaTEzN0VTRGlnR0Ju?= =?utf-8?B?a0RiZnlJbTA3VE1FdmhwckQrNVBFK21Xc0FQWEwxd3lwek5EaEx3TUtvRU9u?= =?utf-8?B?L0lhMDVjdjF6dFRLcTlHR21HVDZMWG1yd0Y5YmFzQ3dtSnVLeHA5UmNDVHox?= =?utf-8?B?Y3phbnR6c1U5bVM4Y1dCNmVPWS9SSzBNeG9TYUtIK2p2cnV3N0R1Z2UzVnRa?= =?utf-8?B?U0ZXeFlOcitmanVmclRac2NSS1RITXhBaHZqcWdQNHFMY0FZaXFjM1l4TVR1?= =?utf-8?B?L01QKy9YNmM5VTlqWi8rb2RUN0w0a1FFb2YyYTNDQVVNSDJCWlhFSkMvMlZs?= =?utf-8?B?TU9OV1NhVVV2WURsa1NHTnBRYmdvaHpnVzRkM2lROGxlckxBaXFndkVoVDRE?= =?utf-8?B?WE85c2dDZExsQkljV2E5QVJQN2pqbFZCM1FDNE5LbWUxeDR2aGxyVGdVMzlX?= =?utf-8?B?ZTdEQ0k4VXZpNElvS0tmbk5mS3BVR1FmSzRYQjR3MkMrYmFVY0FLWmFSZDgv?= =?utf-8?B?T2ZIWFl2N0tnWlVaYnNZUmtaUGlSYkhFcUNvM1JJVEJxak9DRXVoUDl6R0k1?= =?utf-8?B?eitIL1NJMnd1Z0lhMnZwODlLVStYYjl3eElFUFMxVkRwR1hXYWEzVXJ2K0Zt?= =?utf-8?B?Rmlqd0J6UVlEenBCUmxCU1AzSnkrTHFJOEhQNzBCcjh5VlFtSXZEMTQ3c29R?= =?utf-8?Q?iG4rHZxTc8srjkjVwLQWBLN/FfdqmYDAcdLeum7nb?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1832;6:50CWgVzcD54K7Ltzm80DG3osclhdKTgGmEWOKFQfNsClHMQ/5UQPHt8BV+vykpMcG9/oP6yupOOAtg2Z281RGevd4CmVgKNtAEKET25oNxZQX27pbUbHYHKw08Fw6vKApjwp+BxoGi8DHN5V5KPXtaCQ2Hx2n1dwWjbEA2QXiGChGnMJnt3Ot7VsU4I4bkEdVXJVWYgwh2e/ntyWxKofPk77MDWAhB9ojnXkns8zNap8LRhDggJvsGUssF9J7Yy0AjIjtkjs5r5Ed3ODsyiFcZohHBEG5sTUniC/pxiFTEk4jQim+XkusUfo18rF+p1WKeRJS+zF1UiYmj6ix4aCD0pjQYr4bq7aKGQDc4fOnrY=;5:iuZOZdvQAo0wh3M8OxQh9+opQYdYMPTsitXIvylB0aYSkfn5KKNJ6dmA24Wh1Ur5HSEKg91gjYFfaua4lzXZgT990z3yt65zGfQt8GZodBh3WOPuQtYWWaEUqJfcZ/SV+3VIdPuYKm8P9w9CDMvI3gZcq5qZYlAHRIV726JPvoE=;24:E3iyVawd4ALMb4POoEOY9dR0QTw0/3FGiYSTftTsz5mzlI/+hkJUZtJue3OcxBOW7c8S5ZvmvMi84g4omCw0rxWc3Nw9kRIFvje9qk3sR1U=;7:BM+jcT4np/bQ7LJ1jfYhldS8xdB1jclV+x3yt8gcDjT14kYWHOJhNh2qToYyW8YZsofg7B0TBoydfyuaawivoRL8boAi/9K8WyPNtlhPQRJ73F5hwY+2VoUspaCOM7HZdo4LJmK9hv9fRo5I0DnJAsh44fmPA6m8MEoB/rrVyrb7CRG1eE8TFEgUhf6Sz1ffHgBGd9afj2gjXHkQQGDfWKZq6+9yq1tEq0v2BF3Xxz7p3H8tqLZLes6O0iFUY6l5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2017 15:06:28.7787 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a4feae57-55ac-4984-9753-08d53e4d4254 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 20d0b167-794d-448a-9d01-aaeccc1124ac X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR0201MB1832 X-IsSubscribed: yes X-SW-Source: 2017-q4/txt/msg00095.txt.bz2 Apparently CUs can appear in other sections than IDX_debug_info and IDX_types. Rather than relying on the indirect indication provided by type_offset we compare the addresses directly to figure out which section a given CU belongs to. This fixes the dwarf-getmacros test. (Signed-off instead of Change-Id ...) Signed-off-by: Ulf Hermann --- libdw/ChangeLog | 4 ++++ libdw/libdwP.h | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 996cd2e..508bf9c 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2017-12-08 Ulf Hermann + + * libdwP.h: Generalize cu_sec_idx to check all sections. + 2017-05-09 Ulf Hermann * libdwP.h: Fix check for the upper border of the range in __libdw_in_section. diff --git a/libdw/libdwP.h b/libdw/libdwP.h index e092d8e..8f3a95c 100644 --- a/libdw/libdwP.h +++ b/libdw/libdwP.h @@ -715,7 +715,17 @@ __libdw_read_offset (Dwarf *dbg, Dwarf *dbg_ret, static inline size_t cu_sec_idx (struct Dwarf_CU *cu) { - return cu->type_offset == 0 ? IDX_debug_info : IDX_debug_types; + for (int sec_index = IDX_debug_info; sec_index < IDX_last; ++sec_index) + { + Elf_Data *data = cu->dbg->sectiondata[sec_index]; + if (data != NULL && data->d_buf != NULL + && cu->startp >= data->d_buf + && cu->startp < data->d_buf + data->d_size) + { + return sec_index; + } + } + return IDX_last; } static inline bool -- 2.8.1.windows.1