From patchwork Wed Apr 26 22:47:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 20173 Received: (qmail 41106 invoked by alias); 26 Apr 2017 22:47:54 -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 41025 invoked by uid 89); 26 Apr 2017 22:47:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 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=1258, 7167 X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Apr 2017 22:47:51 +0000 Received: from ESESSHC006.ericsson.se (Unknown_Domain [153.88.183.36]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id E3.6A.06507.F8321095; Thu, 27 Apr 2017 00:47:43 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.36) with Microsoft SMTP Server (TLS) id 14.3.339.0; Thu, 27 Apr 2017 00:47:42 +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 VI1PR07MB1725.eurprd07.prod.outlook.com (10.166.143.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.1; Wed, 26 Apr 2017 22:47:39 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 04/10] Class-ify lm_info_dsbt Date: Wed, 26 Apr 2017 18:47:00 -0400 Message-ID: <20170426224706.27988-5-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: MWHPR2201CA0037.namprd22.prod.outlook.com (10.172.59.11) To VI1PR07MB1725.eurprd07.prod.outlook.com (10.166.143.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0380cda2-91a7-4852-55c5-08d48cf63f4a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:VI1PR07MB1725; X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 3:kF9TCbCeCcnYEo/d0m/BC6lwjboZGckmeLZfn8NHyPEBIJbVv8YZrK01mqagZ+1etRSNExFV9BiKZwOL1S2ThloBw5O4UKq1dsynugWoXQ29Vl19rZJYOtwfHov+1hQQuU6RuzrkY7HStduccj+SIaXrpXjQz++AXKJ5SAxGOxCKQ8poy76K0reHRGXf0vD7vQWQiTmqkrvg/JBXYTzIut7W985yN+RE4ztbksL6cIVKeqRxE7Zt5fpB6e78uFIkhBZlpeDU2LEFPpHjbjncCivMV1TJxO04+0JKpcfbiMFTiZVX+PLcyyW+aDi2F0fflTj5p3ffmfCO9Jbp++Om0A==; 25:3EtL+yGc5UAvQsp/8TN7KPVrJgu+DTHKriA9ejMR1A536SLABoF6GTeoScDgxbFXubYFyhzjc6Hh8tMEv4UgzmMMlRyABVOxHVUeNQucL3VFCE9eWMLbF68Nxs4FXRkm9HK3tqLX6uWl/0xoWYTU9yymcj3kEdp+TpRLaEHxurzsfUdMM7utSbLVP6GvbMGFRfQOQDWVu/BYFRTrvu05y87aRKghFE1YvHDInJE2B6rT7gGZU1SDNyjQrxO9rqg7lb8GpZfEvDO3AMQovG51UBR/daaq1Z3tvZ4/7OykVgcVX3RWjdUq1QiMx2FQW2JDh9qVVvE4rXaH6Tv4/lx5yRG5VLmyUIkXv5FLpY4qgnrz//CfhnKD6L+E1qzqa5VL7WQWeSyVlejlw2VOjWu1A8lfH50U+OD0wEBWl0V4ujkYwdKbWi8pPh70DvtasMFMC9hTi6lLBuwA2SHj9US9UAz7tl9XxPE8Ims3MyZr3qY= X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 31:aOJ2JjJNCLJkKWfZ2tABwu+WS5e2jReznStpzAbRfKhLBxQe7ItSMfdjfxJL2LYs6Oj8j16YdLzrfBlg0BhX+mdn+TUtUss0Lw+PZT0P96LuB1uz7sV27hAAPd5hT2spFuHThkF4AZKMy/fsv03of5sOJwwZOSjycqqJ64xOt2md5xe8ENFqZYVATlOOeDLc3tpaVLWeOXSzoXEk95WNhctixAo2Fcl1dp/slVTsVq3gvjfmsdCEN4eQUfG0hoiL96hEwlkpi+dveZo/7nXioQ==; 20:n1iJ7hOMSk6pfDlfuLFKqNb+r+fbU3GI2DzrqviuX+aQM4NP/yNcRw0nTdBZBrNV0gaqzPkpR/NtMNHH654OdM2dYhKkruNn9sPOGGWupL2/hRaNllb6fTEcLXLzj3pyacRfotfYaQjw03VislkzKiOCpheP6xMcw/4K+KY3bJNIybkD3mNbppwk5LdojJy06vig00dcNXnMo12a7UdqrFbHUC8PYitCGAqoWNMXWtfFzDCMqZn2Lydok/7+at0Jgh4tEbJxJzwy5VLyr3NS8GS4NOe1E204SNt/7Qk2QYtE855S2swmLvIVzapKwt4eb1O24RHguO9pKQlbHJdZ2DBxPs0FlTxmv4+YmqKPAjM070kow5yAQ8gA68JoEXXZheSg/Yhv5U0peHBKq+hDTAWjqUngC7nmE0EMeYqwBflHsaMSqvxt2dfnqAzumnavHi2vEtUrzY9oQTjMcsAt17mStNf2eygCyX4I5bKzTL4lpTEpbjJZDfFjxzXKip7G X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(6041248)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123558100)(6072148); SRVR:VI1PR07MB1725; BCL:0; PCL:0; RULEID:; SRVR:VI1PR07MB1725; X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 4:PcuDbR62SkODTop4g7Qd9ix3nwr5q++F+imXUay81tz44uk7J/EMmcUn6acQgCJqCKhApFRZFxMZPgFmnZ0XsopCcz9YJhQowSMk163kl/pJR/zRispNBLDUGvtjGM27kjrJAe2or027imOWlLklAAR800TKisgPiJenq+Bd+6/Kr94+6oypcknQXXgqpJFJZuyTemyBI2ldL6xE267/DPlL8+l+RIzkVOp56vlJaM5cxDbiDTcduTpxeIYK7OWfPJcIEgXJthG0sueRkyERFHOCsuPaCssgM2Pi+hl7P6y7F+kb+IH6Be7c5MvGTv2kRhNQKX0nXqIRnKFJMOhDM12Fkc/Ol/uWczdHO8v60sWrY98SCWAdFqEQ6VYjdMBxeUYuIJ0wvLv4MP87iBpFmB4s3QP4ibAZyq3ditX/+cAYEZRI0IrmzdL6ktvmOznCRNy9+5mEJwqKx9kWWyWJuk02Tk+t2cLjHht0TnVCvL6naV0MHUe40v+24msXKWh5PGcxIYlVbgCBpcutFSAzZBwKOwjCMdZ09GAroYFhOVLiTThg8byrfvwD08JU7EaQMLtuMORpPJI5oJqfor1ijLkZWcYwmwzo80w7OGduSns+/dG1AMKmV9LI5FyYtzzE15zbNaEcRNVI/o5LsunIwrnC7DEUUtsou7Zt1yQxzWfTfoT5g6Fv16YWKHCwLmHX4LgUSTQV9z5OTOZBJdHGv5/fYg3HavCJE681W/v+Nh4digy24+xe/BI5U/COdwFDAFNyE8dD8QNSH+1+AHj5xNaps0NIvwGjs4oNapF/Xps= X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39860400002)(39400400002)(39840400002)(39450400003)(39850400002)(54534003)(33646002)(25786009)(5003940100001)(4326008)(53936002)(2351001)(86362001)(2906002)(5660300001)(6916009)(6666003)(47776003)(6116002)(2950100002)(7736002)(305945005)(1076002)(3846002)(38730400002)(6506006)(110136004)(50226002)(36756003)(189998001)(6512007)(42186005)(50466002)(48376002)(76176999)(8676002)(6486002)(81166006)(66066001)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR07MB1725; H:elxcz23q12-y4.ca.am.ericsson.se; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR07MB1725; 23:sTOnIMYEXGDbbOX9CbFleQAgoHjl13rID8i3rYSgK?= =?us-ascii?Q?pUCodRt9g4WbCzYc7BlWvGmzCb47JkhrA+uMrcyYs6COgRIJ0id01CImw4uS?= =?us-ascii?Q?A1fAaxwlq44FshrwrJgLUIkBksV2ArTIpNItD5tbKH/c+LcfBzXzECGu0Abq?= =?us-ascii?Q?ceYntPXZ/Lf/oG2AXpV35q2zm+OM5zVZUCAwa/gc7te47ogV9U9gMS0vjcZ2?= =?us-ascii?Q?Qx4vHGhv/Gmsb2m5Dt5BHRb2GqihnvQrF2Mcly8fG/woYJf8OfZfcTajwoKJ?= =?us-ascii?Q?FvQyPZ/sMrQFouXEqQEmBEm4l9Zvcwcz1k5teq8LQxH4YStRKbvOT+lk3e+X?= =?us-ascii?Q?DDByF3mwrefGAPSdLo2ciD5V0G0CRUV4gdHM8OGxE9faKXlmVeMbR4agAktT?= =?us-ascii?Q?DOayoChLnNOyHKHtBCWVNOWa7wb7uZPVmWOr7HG/mky8r2Gzwm86Cd0FkiE8?= =?us-ascii?Q?FpUSr8QyyPoV/7tIWKpYMZBPLIF7EKNTFl4NL6nrUhirtS0mY89o2O6UNGUq?= =?us-ascii?Q?indno7m/JF5H3Syes3xhVRSzrLXJBlNgtwuGBB6jFSV/P/sGhzYyXXpYg5Sf?= =?us-ascii?Q?Z3S9+JgmVvhP2+PfbQ9+uc8jBssAd1fnUBs9k30WyY+mLeEt8f4AdNnN2jQu?= =?us-ascii?Q?62l/rWB4TOmb37RX9OTiUpjJl0jDrtnoY7eAPh2S5fuGHSnR/AHYsdpEQv4/?= =?us-ascii?Q?0Cmcmg6INRk2UdpX8ER9lGwl/4ijbbNycDu61N6jL77XHGxHhu5IBICumvPf?= =?us-ascii?Q?JKkzfqY1WS4J0NSTSYgzltXNML78cK7xqWaFci1hoMyqQx14J4KRmYlamYfP?= =?us-ascii?Q?ca21T/wtj+QlozXMP6kpxylsXna1kesktX6hW20xotFg24FC44pjxyQrz8Es?= =?us-ascii?Q?2NVzVdrlmrtyXpXzC1ECwAi2+hcYS5deJgyiIZPD2zOxATbDBM+TPgR/v3Vt?= =?us-ascii?Q?RUOxQlBGQekyvhWFgU3Dcl/9WtX4EHxCgFbOOb3lA1Dnncsz2+OGsb4wBm2I?= =?us-ascii?Q?gOvbJGmxfHIIqjvs4jEvoHGgBL15mjnybCZlNMNjXVpQWJ8RyL8c2FpHXFfE?= =?us-ascii?Q?V7VI1QFK18bS0+PEWoEpwlUxZPLO34JfCJVP2g89BQafXq7JQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 6:Gy8uyR+sMGVWPzh0gVMue4TVclag6G9LwyD2f4BkLgAL34XDNpuRtAd8IaaoY3uDJs0qBxV2C08jj/cLz1HPPnixVL+0sMeQ+zG9BlY3WPvGVAgCrnUOGtQHS0X7Pxc5/xkbFCNcEHuYByRsQkFhjuzcRosmTueuLXjKLmX8e5Y9kEh3CxIT3rFtXBPeYKsfmNhHoBk6K1aC3qDWgwOojGOehPz7BRn9D1/SNf/7kiBlkzlUr0xF83UeGpGNMsEzaOWJbHAm0WCgTo86yzNq77o8xbFzQ790RROTHKjKvJIKSrzXwLUCUQyj+oVruPf7JCkHyLNV1HU8BPuC7W7G70yYW3RSV/YMWmDPRlB26G8YF7dC3O9RpxveU/Bh3K/P1BduGJFF9Wqw9PnL6heLuSs0FehzFXQZvxLaNnne/J3miw401NroobQsO1GkWNfgX5VKyT9qP8henalrKEbdOOZ1AehQVXYS5HRBIIdnxHoSuaO1TMTju0+SCwJQ78mOGSB2FdZMImKq8OtoLBffSQ==; 5:CGLgUF32o8V3LsyHOy95Yby/LvnEp86wtehQMtTK+4zlLvF+sgev8K2zTRJHBylg632KmEEi3sqWeI7V6wnQFojipbDwNzcqiFYILymvkoqsBt/Rz4iKrLTCTukzD/3m2KD3W6lwXVvDv/03MGgZlQ==; 24:y0ThqnEu4Knbq83sEHSV6xnI/gHz4/gnQCPPwkdxD/WzqespdNpK3nvihUmOkTQn12e/SojPjD70oWRBBZPa/1uskK8bT+4FR1Wflfut258= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 7:ea6PTXy8wUDVqnqHIR8/Fehfn30Oi5LXBtWZi9tAPH2s0b9bBJlctm9P6OHKQJSiSEpjsj0QFkfj2J+cceP6ws2URwfFNudMZCcbnkfJwVIR59uUap8yQB3UWLqp2cbylY5uZ8jKIEbazPGleXSZZt5CaZ+79w80MqikTqDH3p0WydLv2cBF62eLnEldp10hm5KyqQesjoGAr8qa/xIo4BwkKbHE13dj2fzl7GdAXjLBw5lLWNxrouZZvX2mZ8RkVNPOAGVqsC1L6j02wo2/WItK3Z+gMTuOYvjUaBRq5jeyyeiLGKsShPNBbefGfC0FiFDtHAqBJ4Nn/Cj8lrM6Mw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 22:47:39.8074 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB1725 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes From: Simon Marchi This patch makes lm_info_dsbt a "real" class. It introduces a destructor, initializes the field and replaces XCNEW/xfree with new/delete. gdb/ChangeLog: * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize map field. (dsbt_current_sos): Allocate lm_info_dsbt with new. (dsbt_relocate_main_executable): Free lm_info_dsbt with delete and allocate with new. (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete. --- gdb/solib-dsbt.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c index 6d410ac90b..f8de53af5d 100644 --- a/gdb/solib-dsbt.c +++ b/gdb/solib-dsbt.c @@ -125,8 +125,13 @@ struct ext_link_map struct lm_info_dsbt : public lm_info_base { + ~lm_info_dsbt () + { + xfree (this->map); + } + /* The loadmap, digested into an easier to use form. */ - struct int_elf32_dsbt_loadmap *map; + int_elf32_dsbt_loadmap *map = NULL; }; /* Per pspace dsbt specific data. */ @@ -711,7 +716,7 @@ dsbt_current_sos (void) } sop = XCNEW (struct so_list); - lm_info_dsbt *li = XCNEW (lm_info_dsbt); + lm_info_dsbt *li = new lm_info_dsbt; sop->lm_info = li; li->map = loadmap; /* Fetch the name. */ @@ -930,8 +935,9 @@ dsbt_relocate_main_executable (void) dsbt_get_initial_loadmaps (); ldm = info->exec_loadmap; - xfree (info->main_executable_lm_info); - info->main_executable_lm_info = XCNEW (lm_info_dsbt); + if (info->main_executable_lm_info != NULL) + delete info->main_executable_lm_info; + info->main_executable_lm_info = new lm_info_dsbt; info->main_executable_lm_info->map = ldm; new_offsets = XCNEWVEC (struct section_offsets, @@ -1006,11 +1012,10 @@ dsbt_clear_solib (void) info->lm_base_cache = 0; info->main_lm_addr = 0; - if (info->main_executable_lm_info != 0) + if (info->main_executable_lm_info != NULL) { - xfree (info->main_executable_lm_info->map); - xfree (info->main_executable_lm_info); - info->main_executable_lm_info = 0; + delete info->main_executable_lm_info; + info->main_executable_lm_info = NULL; } } @@ -1019,8 +1024,7 @@ dsbt_free_so (struct so_list *so) { lm_info_dsbt *li = (lm_info_dsbt *) so->lm_info; - xfree (li->map); - xfree (li); + delete li; } static void