From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116555 invoked by alias); 8 Dec 2017 14:44:56 -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 116532 invoked by uid 89); 8 Dec 2017 14:44:55 -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= 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: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30128.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.128) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 08 Dec 2017 14:44:54 +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=ASHUXI6GbQqQllwmaihbCN6CFvaWbbZsnxdIECpjNlk=; b=T03Sfx7gdssRNqMnN8nwEjS00GAq2oUxRPTKx5NSoUU8hvVINpokkgM6FeUn1Py68Ro2T9g6QoMGZFsZSy+HvY9QS9ih06FVI/nNiJRqLiQynXGexmv+GPGvl1zvVk+NdZ+2+5g+wH0MedWx4e5ZDOjFHAIVvWU9XeW4bOXmlHA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ulf.hermann@qt.io; Received: from [10.9.78.45] (62.220.2.194) by HE1PR0201MB1836.eurprd02.prod.outlook.com (2603:10a6:3:b::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 14:44:50 +0000 From: Ulf Hermann Subject: [PATCH 2/2] Generalize cu_sec_idx To: elfutils-devel@sourceware.org Message-ID: <4d2ddc0a-0674-67e1-214c-67ed8a174032@qt.io> Date: Fri, 08 Dec 2017 14:44: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: HE1PR0102CA0051.eurprd01.prod.exchangelabs.com (2603:10a6:7:7d::28) To HE1PR0201MB1836.eurprd02.prod.outlook.com (2603:10a6:3:b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 32080d80-31de-4cca-b427-08d53e4a3c8d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307);SRVR:HE1PR0201MB1836; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0201MB1836;3:4uo27xsC5Fw6zPrnhQTwhT3BZ9kHiVUotsRBDRDAWdvYQMk1EnuLzqtrD7yBieVlh3CsEtVUyLpzIT4agDRZqVX05QjtWOq0sWWoJ0tVihhoz8XWi3fAVMC+5AiBPfgERbxkaK9AZdyt1ckaJwssbGZuyAV58USHMOX/YDfNTU82L1dyQ31tFc0MszJFcTS4QOb0PyX1BzsLBKaIfr1tRyAWTlcqAejgFe9YqGbKZ/rDBN7AcmMUYZJX/5k5IoGN;25:E0OLv8DzqJ2FW0pzRYVd6hlcGCj3jHK8ui/h3AaDayxgb/aDe3bg4kmGpQi/s72zW86FIlK2lyH3x+C6WCpFsM17P5vP3FOo1zE8nV0cnVts1D1XN3fAh4qDNO3O6etcneZ0tajUbA6gvptdn795w7aeaBpgaGagLktLoKHJyVpiH+voVWw+oUe82sUtPtMcqIQdjN+xAtCHed45rPHc3rNnl5cJ31Rmk0J5Ri00Km+sD5vupbUMlPigwtADDLIzNhrwasnAYFrHfSJ7dHz5Dign9V8vtnTyJa9giSawqyOGcHeS6BReOEpkO2BRyWppKxy2eKKinqwaazw8EdaE9A==;31:SsyFbQz7eX8qBn9UdAoTrQX0InAPBQ18C5kO+F7fDAOYaTVBmx9wuhL8KsVuiWF4bQIaUmAuuFAkCWswr1RcdDtKMqf8I6nDe3687lue312AflaP88odIuMEdWIl0N5nXLGDarh9kBefNyLzOHeVFxfbb862mqx3dHuRFjh+Zj7kq9oMtUdpQGbTRbuzxHcsZ5QZhniVr1P2G+qmoY/my0wSJ3OnQ4o5y9zppS9ioNs= X-MS-TrafficTypeDiagnostic: HE1PR0201MB1836: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0201MB1836;20:ccn6ABj1mNED+TrhxIw92B9umPyzwlKWtw+IDWFqzsFJiNcRMd7lgXCQat+pORB8XHlIy9eyOwx7/nc/X31fkM1qWVGgP3RLaZ0ueUOle3IGzTKYDE0OtKgs2m4ISFRrt1BgWTo2jSSdAcqWdcaoFADLGgk3zJTnsLujo+WwzdPfRO61U3ZXrPr/75d9BGvh3G/IVE+2mxZMfCFifwJre7aJh8a6abfV9triekdMXXOHpzQdIiU9q9ijckkvYJIvIjW+tzK4P0U2T75yssQZQakgTocPaCOzcQolAlua137JJWzd+FEKvPWjh9y2OjYsb5XUFp1XkuoiZhWRvauVDw/OYpa0oBDNGRkfjXVKSvz9cAgzseyHH9tKCY8VQnb8ZQPINXiWWhL00opcCmJ0eyIsGL578YHjeocTtF/Gv12iV2Gaz/FkumZV9JXTlo8lEwi9SgRWM98rIvzzn38VOirsLHPx2hYC0l3Q6eWr9rex+NFKUZSXBKYpVyJbcV5G;4:ci5MeyRHI9xAZli6eRmG0nF80baJ0MHQgNW+fS290uhxQNLdA4w7id5UueECTjYbdRkcAB55T4UmteFZIy0ICuekO+ATuy/sIBWhvRXLkZn4L9f+ZiO8ubdmGe+EwwO6s60Mk8tIcNqU0z9uHGPWRU6rvFaB12N6pSoU0PsX0318noT97WLxgH020/4eMMCe878iwcuW5iYth5Mbw3ikd5BEYYMX9MhKHGf35TlKIx9KBw5maAhDOR9sF/T7/y38xtlK5rm9L+KH1FLYvbNJrA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231022)(6041248)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:HE1PR0201MB1836;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:HE1PR0201MB1836; X-Forefront-PRVS: 0515208626 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(376002)(346002)(366004)(39830400002)(199004)(189003)(54534003)(377424004)(2361001)(68736007)(33646002)(47776003)(65826007)(6916009)(3260700006)(5660300001)(305945005)(7736002)(8676002)(83506002)(81166006)(67846002)(2351001)(25786009)(6666003)(65806001)(65956001)(66066001)(77096006)(36756003)(58126008)(6486002)(31686004)(81156014)(6116002)(31696002)(478600001)(50466002)(3846002)(16576012)(74482002)(86362001)(16526018)(33896004)(23676004)(52116002)(8936002)(97736004)(2906002)(230700001)(53936002)(64126003)(106356001)(105586002)(316002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0201MB1836;H:[10.9.78.45];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: qt.io does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjAyMDFNQjE4MzY7MjM6UUJoeUplMEpWNjRWZUZ6TjJoT3QyaGxV?= =?utf-8?B?NlNXRUU1aUZQbnNFbmZMZU9ScEIwV0VYVmw0bnlCRTdCUVdPT1I4eDRnRFZE?= =?utf-8?B?UnQrVEFOaVprRmozdXFDWkdSbkQ2NlQ2ZGdzYzd5VGZnVEdVZHY4b1NFWGNr?= =?utf-8?B?YjV4cG5SL1FnY05Ma0F3Ync3S3B2c0Q2TkU2YUo0UGFHRGlWRzRnVndwVlV3?= =?utf-8?B?SUxiZWdRSXJMODJ3VFFLbXE4ZE1kRFBzOG5IZnkwQjhOZXpWU2tBSFJMUlB5?= =?utf-8?B?UEhWSjQ5MTVmalBHTDhBWWw2M0RQUzMvc0c3UDVsZzlxWDFJSlJybTdLNGJt?= =?utf-8?B?eEQ2aHRyeHlXQzhZNGdRWkY5bFkrbDhjZ3krSDAvOWVpQXI3MUZoUWhOUElt?= =?utf-8?B?MllvM2NvckpmWS9wbk9vNUM2WXJCMXdkeFc4VVA5YlVtUm9lZVNlTGpFbU8x?= =?utf-8?B?dC9GSjRQNExrRmJROHlqL3hXV1hvWVJDSm1uSDRtTG9McDZBaWZ0a3h4TU1n?= =?utf-8?B?NWxYSGwyTmxubDlDRDJudU91eTBJd1I5L3l3SXJyRnRRalpmQUNnUlNvL3g2?= =?utf-8?B?QXlEbFFhY3MvZFJGRDFRYjV3c2dTTW13OG1sZ01oTUNUWjhrSnI5TWkyRlNP?= =?utf-8?B?U1BtK3RjYWxIUllINlM5VzI5OXU5czV5aGM0STBNckdZbm4ydlNzbXdhNUhP?= =?utf-8?B?OGhQQ0pldUtkVnhnRWpCRXVrVVVNUVlNNk9VcW1BVk1RcnJ0cUVmbkJPeS9z?= =?utf-8?B?NHlGZVdRK2lhYjdrWDdBTjIxenlzcjAxUjNpUTk1WjJFK0lIa2ZveEVwalky?= =?utf-8?B?cEl5a080YWRxbi9MZ2RSR21GTXRMOExaVklHVVh4dXMzK2ZTK29ad1dHZUxs?= =?utf-8?B?eTAxRXFuQXVrYTBSR0FRaFJGbnYyZDZNN01Qa2JDQnBhQjZxTTBEdFJ6VEtv?= =?utf-8?B?VFVUSkczbW42eEhPQmlkZGxEbTV3M1pKMjNUbzIvQXNRT2VZSlVBdWx4U3Iy?= =?utf-8?B?aUlwS2Mzbmt0YVoxck0xMTBBcFgwTVZKcHVVR2xkSVcwN0tTVDZKRnU2c3VB?= =?utf-8?B?TXlVN1JXT2JnMFZZT3U1dHJEL21pWEdkOCt6U3B6eStQUkg0OVFaMUNoZW5p?= =?utf-8?B?RkozMGxPb2dFa01QdTJ2QnJhWlFUYmNSTm1HSTlEakUzYlQ3aFlCRXE4dDdm?= =?utf-8?B?NldEcytxc29GbUZnU0F1N2x2cWZpTjNya1RTNlJmTGVMMGhqV2p6YUd5L1Jl?= =?utf-8?B?QUc0QkxpWUhmYWFmQ1h0TmFDQUNrYmYzSjBHN3JiZlJRMTdnRkJCdDhJZEhv?= =?utf-8?B?K2RJbUxkWmZYblZ3SjA5d1E5aU1GajFtbUNtQVIxMTJMeHpNbHJaQzJpaDh1?= =?utf-8?B?emRhVWRCdEVFVnpqUmtGUllkNkpHYUtMMDhsYS93cEl5ejE3U1FXcTNZZWNy?= =?utf-8?B?V1I3SnR5eU9kcUg2Zyt5bzQyem4ra1hSdnBObXNLQWVUZENwRGNVam52T0hB?= =?utf-8?B?Y25rSUtGWGxXbXJYdHg4YWd5SVBEY29mSjkrRmhvUTJQWU9RMFpnc2J0Yndq?= =?utf-8?B?OHljeklrR2xxUC8wSmRmMWVrOUdIUGxQUE1JMlJqbnJlWXRFM1ZURm83YzRO?= =?utf-8?B?aVJuUTF1ak5hOXZiL2JzdXJuMTY0VUZVZWdhVGo4NHJKdGc2Szc3TUJiZFpw?= =?utf-8?B?eDdiOWlCb0lhaElEQllrZ1FSaVFybzNZNmRFR05SMUt0aCtnME9OM0ZEc3kx?= =?utf-8?B?TzI2OWFhaCt5TGtNK2x4Ukh3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0201MB1836;6:L3NGOziuHbgJyDcdsIpbDdBs6fgwm93zWXxfOhaJKvnxzR5LoU9XqgvEgXY6yjv9gLg8pC5PlhVltJPyB18rY6nQhUsTLWrI+b6PpqHD2CGEDBSJ05iy17MRvW3Xkw/czKsUAYG1jz9tclQ1mUmWlXhJjBrU15TY7DkaYAGJ2tnsOydiVtzWYhY025viQNTenF/wlf8ddFvsNEBbhJQWakQIrO+XOK50+12ZzfxBrarhsiqzAi8hjmDa9qUEzQpSMRCxX0KJAmdC0DcW0YTagDsqaluzY88qpAizHaGwy/4nT0OCSn9Qzcz4z4l7vQenfkoIT7dCK6HgYtBY5w8pb+bkfx6FRHn7ijmRqosADTc=;5:Qho8gZEKZzdxPbSwUcQ4CncY+2KRfbAZ3hDAsplVLq3m91iyZShUtKQTcCwmtbOeQNRz5OmomYS0sX3o75Vmq0NeSOsrkyOIA4y8Wg3+zfMqNjdLhANP/nkmV3vBmsHDm3DILbaDy5RFvN0vWaQsNU5+YUfTPyq8jaB0y0yeIKk=;24:gFdX56yyoo4I+NLN8j0t+GtVAz5yFPglQHPyyuCcQIJqYapGqRoiVlj8O+H7O4fxQy1FPSuUBfwOpYUBlCwAEl3VGnuGqT4d/6Ctk/s+6Gw=;7:dH1lCGAlmZJ7Tfa9TdUz9KYDEVE3XfHcBKhLhw3DPZEO63hNpePNVCfaLET/7id38/O/i4+7T+TM/YZzHRW85JvpSV1i7V8R98081neGRtFYxNyFKgqAD3e1KYFRjboijv52y7c+fyskIo8Sw3uM1Dv+WXgt5gNWkrO3oBOqSsxkX0H9L71u/GgeAYEAyxH3M1MNzX7aU5NIcGcUGWCRpcO0C2inYQCZtzKaTIMIFmQZA2XhU57pXjAE89KZFEWR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2017 14:44:50.5808 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 32080d80-31de-4cca-b427-08d53e4a3c8d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 20d0b167-794d-448a-9d01-aaeccc1124ac X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0201MB1836 X-IsSubscribed: yes X-SW-Source: 2017-q4/txt/msg00093.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. Change-Id: I83260622b55d3778a38cd46427dba158d186c51e --- 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