From patchwork Wed Apr 26 22:51:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 20179 Received: (qmail 54480 invoked by alias); 26 Apr 2017 22:54:46 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 54450 invoked by uid 89); 26 Apr 2017 22:54:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Apr 2017 22:54:43 +0000 Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.183.69]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id D8.9E.04167.33521095; Thu, 27 Apr 2017 00:54:43 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.69) with Microsoft SMTP Server (TLS) id 14.3.339.0; Thu, 27 Apr 2017 00:53:10 +0200 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=ericsson.com; Received: from elxcz23q12-y4.ca.am.ericsson.se (192.75.88.130) by DB5PR07MB1720.eurprd07.prod.outlook.com (2603:10a6:0:12::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.6; Wed, 26 Apr 2017 22:52:28 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 09/10] Class-ify lm_info_darwin Date: Wed, 26 Apr 2017 18:51:38 -0400 Message-ID: <20170426225139.313-9-simon.marchi@ericsson.com> In-Reply-To: <20170426224706.27988-1-simon.marchi@ericsson.com> References: <20170426224706.27988-1-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: MWHPR17CA0066.namprd17.prod.outlook.com (2603:10b6:300:93::28) To DB5PR07MB1720.eurprd07.prod.outlook.com (2603:10a6:0:12::25) X-MS-Office365-Filtering-Correlation-Id: 2e1c326f-a477-4fda-d102-08d48cf6eae2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:DB5PR07MB1720; X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB1720; 3:3/PPoe+OpfSPJBF8kSuVd2ipgYEXJFsu1xQiuM5+6lNYs1qBipswPsouydT8CZbX94bXMSru8phci4mxi/289KPRG/7/N95ilLzxmvZPM0hygGlgQih96NiqqlxQOWWyKaD2d7UdQWeaFgZONl87iIqMRh5xrxI6USfDCNZV8nRKENZBC+t6MSi5H15K2L93DS+alVJT217SPVxfctEkpQDf/r/bvKYFRlkJyQqHjC9FF2BPkQBofJPvpeK2u1pjXYCewAm/pRxuo0u5HphD01QITBMLF1tTnSjAYluW17w1JMpVM2p/oEnQ0WlFT1bP8dMWcgzYf+aDcpUJ1B2MhA==; 25:0vcllwS9BViF9Kszlvc8xyXuRdi+pHdaLhlqLPnsJe5tWMKlIMfVHzdTvxVQ6tnPIfqY1lp7hCk/mlOcgoe46eCJkH7Z7Ov8HtBcNNOJgvUtfI/WTbf235ko/ZWGp54r6JG4gvkygERSX+qNzMPuPW+j67z7puA7d8GHp1vlIEKL5TyWoWmXiTUPVfC+trnBsOrMHLFxPmJKfPGJJk7TdkyH3PilnOvy/ATndBDl1K2rE2YJ8m9cUyW1n4P8rvg1rztlMmX0whDoelpirzdLv579DKoAmLtovcPDamr2bJFgi76OX7k/X/mQ2vCHKHJwJQfgaQmQxliQgoGn8ztA4lVwykK5DBUnfA0yl5OLFBvRveXLmfbGzqxmTd525bCpKPCRdvyKhGEK3WndDz1hyFCciqdR8U+GoLHPi8/Lxbk3vU2Zq83Kugp6rujZR77OrDMIFg+CUpI51m09wnUJX2WUHuc9911edojFeTKcD20= X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB1720; 31:QunJ/4b7LIzgzF5S8SVrDlgHihrWVIvdPNChTljUmhfHmej1pweu8HoKOw0E9M2NNN1CMSnF3iZUfh+5vOqMSXPxIo2G/Za1N57MYbLBlYPO9MFQQ6IiUrCqhmuAWajYjwBiQV4wOkLN0AqPy7q6V3mcjP42raBC4PgGIBVJVgl/RP2H2nn0W9uzgcsW5YcjhIXLWa9TGvGum5Ia93JJyM/kJR6EzYpygPr3ejYqwgM=; 20:8CZTR3JaBpbBrcc2oNfHNHCAYvuajxmGJpFq+QpXW70hNHu/wE7+Mpt4NLWQagDP1+17a7eKKMy5vrdqeuNRqg23C4iCwbHGnCHGhfI1kZ/yM53aPNlkxyvwWk4J7icF9rKQ21sve3ozqEjh6exjwV+MrUiRjj1u2HG1UFPNyYuUaw7kkTNWyBMFEEfwKTnXwpIDva7BLvexQKSWrL8Mk6vDrFF3XUj4dRvOUb8k21UX/FMXF1SLReePzsgoTnKwNvseJJ9Hy25ncL15ou6mv5kwPe0UMZvqQxElx+hSrt0b2UQo8NdNCBPJoMISStTQcrFL7V+k4h1RIoCih/scmsgO2MFNwTgg1fRcHf+6bnWDIq6tYbL2PRFDRT1BARpT3WTuaiGEtgNM87O9tfh+Jq6RFzph9Mnehdpu6cZbpYBJCCUVNRSx2u+O0n5dlUDtDS3krkEG+5Wby7q1QWsSuM3WxaHN0k62tdSdIMjDBg1VnRGWI0dDOKQ75V85F5wy X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123555025)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148); SRVR:DB5PR07MB1720; BCL:0; PCL:0; RULEID:; SRVR:DB5PR07MB1720; X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB1720; 4:62X8VMOtyW8d1Zfa65tQP9dupqUnECCxgwbKQua9NY146h3RZMCZOQ/gXkOwPzTda5Mzm1LVbfA6Z7/0XR9tsz9dWDBxVPvr77w6WYO0f8PDnUOGcnxc7zaQuEmUZT33M5gXlzpYzp+zFCwFW6CDl3nWBdlEoPyQZ7Gq1baAMVFLWQ8z162tC5qCg5Aqn+kWDC4JoU8TiueslOnsLdttQrhieRoqq/seQDEkfzsnNUCp7QeNVe+L/+UOYxvshcyEMTE051wuOGCk5koUUHRXjv/Sf6ZLUk+q7E4W9A303SZU9vwa9UkvwlgfFedld2prnjK158z3uDd8qQqUAleBH+r7LxUckgGy72GfBKBnQSR3ghbSt4bA1pd+21ZHgeIPbD2ZCCJgMpIg7W2h9RJmrbJ7dGrSPIxJw47CUfvanojwaWHHAgI79nORoMSOI2apiz6gRVMSTaNzZxQHdo+BLcJ4t2VDXv73XdXrPgQG29Vw9uYOLgElI4jdVuwkv7AYY1L1pNZB6KCqdq4v6OukOAgfePlXRcqT16YLB+T3/NoT+4aq9CvUm8eas8QqMypnMwqEaxtYcqdW5PMDuAXivBJ/nqyAkS8adjFbcQ4bbeIj1wvnl+0SNIWCacUQNWN5lrP4AW5i02DgKhl1K7WUFT8UklBcV8TXj2dPTxuGrcasgN1YzE6oJP5Q185aCij44ftG22FJtQc3eS941zJq0DQg9InDenA7NK7bKr0EKq8JDUOWoR7kcPUygLWmFWdbcv1LAibC+r8HCbNzB9dfx95rx5iqtHmfdGLiGqH03h0= X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39450400003)(39400400002)(39840400002)(39850400002)(39860400002)(54534003)(107886003)(110136004)(42186005)(38730400002)(86362001)(5003940100001)(2351001)(189998001)(33646002)(6512007)(53936002)(5660300001)(6116002)(6486002)(1076002)(6506006)(2906002)(3846002)(7736002)(6916009)(6666003)(66066001)(8676002)(2950100002)(81166006)(48376002)(50226002)(4326008)(50466002)(76176999)(50986999)(36756003)(25786009)(305945005)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB5PR07MB1720; H:elxcz23q12-y4.ca.am.ericsson.se; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB5PR07MB1720; 23:jClTg6suqInlJvHhaCSbQpSni+sc/d/DbAnnE5yFI?= =?us-ascii?Q?DrhdCT1CuKR563VmKROS54WJPsNAaOrYSuAhrmLd6B1ByAU5/hzmsdnj6Ezd?= =?us-ascii?Q?HMk0bPHhXElMiMoRyu0a9dX1L4+CNuXCXGkXuIyej5oSuBYm0Fz6BSB/K2hb?= =?us-ascii?Q?E2dSVdbA+nqOGvOtnbQKb3H7bZ2GfgemZhVS2ds3LowvK+Elpv/tUTMXbSJY?= =?us-ascii?Q?QqRugOP6YmmIf7qFosxUsUt4gwACCEfNuil+FZHZmzYoNyROqLFSsKqNtBrO?= =?us-ascii?Q?3CFyHKkOrrQLxaWaCbPH6x+TU733hCNGv0mNQYGTke4uH0SR6Tw8oCtUlCj6?= =?us-ascii?Q?QUHvq8NkjjTWUOGkHAWxM1pp3c+PMFrKk//Gs61ZOlBNbr2pS6JcJpS5JNpY?= =?us-ascii?Q?iV4e0TWzh82jgdkP67KVd4Mtq//Y+pz1f2losAxeTFyDqK1mEyd5otLD11su?= =?us-ascii?Q?6dOA8Qym5mGB3yhhj9AVrutjy9RB/ZajYjP0KT3QKvWotXnhzxEtx2x89NVP?= =?us-ascii?Q?gjw+ud0hGu1rd19OaE5oidfW0j9SNc1c44dbkVhQXOgl+glb72XV7o/hAhDI?= =?us-ascii?Q?+OTct1mhfRGDVakL7tQMO8Rr6PoqEbxP60YAzH6u/SHphJPoBQpQJsntNmfb?= =?us-ascii?Q?/G3ZIQf59D1Cuac8+0rCFGUjl+e5YIGiJWS5S4UO52dIOJ8x2tXtbX7Ogb3s?= =?us-ascii?Q?QbW0QNO6xN5EDmeiKAAnYJwhEHKJSOzdDYI6Nv8swYOpxqHc/zLXXQfyEBJH?= =?us-ascii?Q?a3ynONtBVb6c4JOg6AEUnpOxmu4/Bnkf6FQyCnHAUugDHcduAvp61S3ycReN?= =?us-ascii?Q?WyAeSBQP2u5GnE9ePPIBv1pvRh2/1hUwoNcNEhfi11E8LFdvWPA4q//HN0OT?= =?us-ascii?Q?fWYM7g3oRHP7dcu2RGoziVi6GF5eUOc1/zFG7AMbe215h596YQBTy1iVlEWR?= =?us-ascii?Q?rMk8H3f7Or8BiAoby34exp0gJ30ho7VfIRG4NmZyGOK6KC8qPIo/jfdkGzRI?= =?us-ascii?Q?ZwOM+LvoOJ/CBVSUBZ3j2lrzc7vJktc8zvZVd/wR0XXOuAT7S4OEBWspV+WQ?= =?us-ascii?Q?cK9+ZRU6neQ+/8Q/PNelFI/2Gmqjja8WHDPlvaNehTtB+lxy2+EXBPlf8jOM?= =?us-ascii?Q?Y9pO6HQQwU=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB1720; 6:qlBwfhrGBSdNEbMZIeBH1OdsovzZ46uwwFKnhV0C2WAyVPGDRoDSXhP5KKzdPUxLPe0fNgvAlfimGUUs/bClNa4Abx7X7cKfWYYi/LjGM1a35tD1T1iRQnnyWB0jADwR1Kjdqb9IjKLqdGVGels3TeSj/3vN2FwVaGeuQgLE2xLx81ElLXnRDG43qy0kOm1RNg3hVK6Ynj85T4Qmxa4xFhPzk5XXQnUbkdpJ/0mbU5PjR5DM3Tm3xJS79LR8XXi0IcGNcHlgk2vdsqCjXmYYcQl41vtd8A7bRsrxEFHFfC9sUhZ57mT7rLzipPCE2S28cj4Y/da84a4Ylsawa/2YVo3++ehJfw3AG7RrG91touupslAZ5R4sUBYzCq80H3im8frtRPDQcqLgLPFmzEtgLBsqNzRDdN4z+0i6IA3H+ynPJWwD4kFlVhnt0iprA053oYkoD2+QmkDfyow2hs7QX8EjRur9Cv0B5biiempmW8KA7HTij3u/qOYQqcrpb06Ph2MtZnvmYUmbvHDbZaL2KA==; 5:zLqpUiSwh04bBqIXeWS3oFw1+agu67vOTIYUmHK67g6emKfCdTXsn0vOfiAEfxvHyp2zif456lSF3OHud8gd7+EWCwfmxjG6Z4/Dbe1Q3Z4eHyeWTudQqGEhONdD7Y5Gj5xTGiDpT5QIZ5IkzgpwYw==; 24:O0tUWlKVAGkuGbzGWW25tQ5u+0ch7WZUHWZfjBXunZgFiF2yvqWu5qFiKZBgc15EYhFqrnKj9L3QWRxs8nZI3D7WaabXcy17FjuJtNGSlv4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB5PR07MB1720; 7:NaLm4rb9AP7nBvpo0tHkEZZd97duin5imC/uvhAqnrOcK5Gbu7IfWVKMsn5T+ew2YoBz7djv92nk/RdKEqOPT+8n1Bod6zO5NP+6C95dZqa/3eRyrTttgcB2Bnr4hpg0hJqCIejODXiCa1Uz8aRaIGVikvWRf8MECLzrbH0n6hrIF7m4tXp0hNNqk/t5eBJoogv9gX5zMikQm/P+NBplDpXdhd5uSHcRIO/SuwQ1ziTDIzfqZ344AuV9Mwr2djxWHMTXeEJYpepT5+bw4SApD8VU/ULfzr+YmsW6TvH1k4Quaub69F9UAiiBXQlfRmTBDCT82AQvxA+TW6NfE1ix8w== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 22:52:28.8221 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR07MB1720 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes This patch makes lm_info_darwin a "real" class. It initializes the field and replaces XCNEW/xfree with new/delete. I believe the cleanup in darwin_current_sos can be removed, I don't see anything that can throw after the allocation and the call to discard_cleanups. gdb/ChangeLog: * solib-darwin.c (struct lm_info_darwin): Initialize field. (darwin_current_sos): Allocate lm_info_darwin with new, remove cleanup. (darwin_free_so): Free lm_info_darwin with delete. --- gdb/solib-darwin.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index 03211cfb92..0e20dc4fc5 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -41,6 +41,8 @@ #include "mach-o.h" #include "mach-o/external.h" +#include + struct gdb_dyld_image_info { /* Base address (which corresponds to the Mach-O header). */ @@ -156,7 +158,7 @@ darwin_load_image_infos (struct darwin_info *info) struct lm_info_darwin : public lm_info_base { /* The target location of lm. */ - CORE_ADDR lm_addr; + CORE_ADDR lm_addr = 0; }; /* Lookup the value for a specific symbol. */ @@ -296,7 +298,7 @@ darwin_current_sos (void) newobj = XCNEW (struct so_list); old_chain = make_cleanup (xfree, newobj); - lm_info_darwin *li = XCNEW (lm_info_darwin); + lm_info_darwin *li = new lm_info_darwin; newobj->lm_info = li; strncpy (newobj->so_name, file_path, SO_NAME_MAX_PATH_SIZE - 1); @@ -578,7 +580,9 @@ darwin_clear_solib (void) static void darwin_free_so (struct so_list *so) { - xfree (so->lm_info); + lm_info_darwin *li = (lm_info_darwin *) so->lm_info; + + delete li; } /* The section table is built from bfd sections using bfd VMAs.