From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 73654 invoked by alias); 16 Oct 2017 20:28:32 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 73110 invoked by uid 89); 16 Oct 2017 20:28:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3 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; Mon, 16 Oct 2017 20:28:30 +0000 Received: from ESESSHC003.ericsson.se (Unknown_Domain [153.88.183.27]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id B3.2F.07039.B6615E95; Mon, 16 Oct 2017 22:28:28 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.27) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 16 Oct 2017 22:28:27 +0200 Received: from [142.133.49.59] (192.75.88.130) by AMSPR07MB309.eurprd07.prod.outlook.com (2a01:111:e400:802f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Mon, 16 Oct 2017 20:28:25 +0000 Subject: Re: [RFA 3/6] Remove cleanup from ppc-linux-nat.c To: Tom Tromey , References: <20171016030427.21349-1-tom@tromey.com> <20171016030427.21349-4-tom@tromey.com> From: Simon Marchi Message-ID: Date: Mon, 16 Oct 2017 20:28:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171016030427.21349-4-tom@tromey.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MWHPR2201CA0060.namprd22.prod.outlook.com (2603:10b6:301:16::34) To AMSPR07MB309.eurprd07.prod.outlook.com (2a01:111:e400:802f::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bbe9fba9-df24-48c0-a9bd-08d514d4749c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603219)(201703131423075)(201703031133081)(201702281549075);SRVR:AMSPR07MB309; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;3:lMNnEjXl91wxdcJ4GouPMaEhKsLW/6IIsIjP/1EUR/ZaTIcI3e4L/U6RdIqtkNw6Ml6AN+LDvWrlEo4fmUJka48AqBZOFQPpaCqeRKzin4/3TuoZAY+JMla2ODgZGOeo1S4INOUhiIiVyfezJjoXA3X4IxJZQb+fORk4hNb3vzNWb8Ybn8l6sA+VZ3QoaVlDcA53D/Rhi/3voc1eP5ExWNk6/kCbneeOsTp3SPJ9ovpL+HALR7+mEHcxgfBfUwEk;25:uAIhx2xKdglFvgk48Gmv0ToWifvmMKl5iA+RR3pdRq8znr4yzNHxcAtZ7zwjCpdrACXBA1gGhJGWKQGrO3p7bo4kHV0kA/lz8z3GPf1f5DvOOZXJ7bWoCWROtXMGVMXNr8z3ZfRAkPpV6Mu6Iot97gfQ9WOmiKlPOtj73eAXsUzlayL0IZghbw8ykOfefd0Rn/avenRG+zofpqDhyupz2tJdVTB44UXkCspnwyKWjWu4XkWU4tyZ1DoJqSLoApsCSzf+Iig5hhy+QG9u8xApx+453hH2+xP6JKXz4knLbC+G/bfRyDipw9cRRXBXnGyWYkMpbZ/wyiFYtijivcX04A==;31:MeaY6kozRJIP7drBGZImr9h2k7xqYvVN1pzz+GT3LBf4PRexM/yzZMdnT67GJN4OtpraQi1kVvlQbqYkykLj+1JpQyJQCugMqRi+YCMbFtOSy0pNnqfP/KGxAbSKKhZowFe4Qq3axUhU90Qz2ohMooHEGa8hppfntcoVY9xU32RYd2WHKVNBSVVFm8hbCWe2Kv6lZtQsKA9eJlDvAypwha/ORcHTZhHiaJMBLeg+e4U= X-MS-TrafficTypeDiagnostic: AMSPR07MB309: X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;20:MxRlK/OL26GhsPgpBidxWmwRt/cWd3tiCAnR+p+K38EJz5mIWbF/4eTpP/acmp1XLR9FY6IQOYjxpFHFW9wG6fi/iUxUKc71MEyVQFzLhg8IuFLZ10zm+t7Vb0RG9dHXQgC+6sGhngBWIacaUBXENCBVV8LUPa4YcsfKVIQuz9aXNbli1oZSZneya4rAkBrheZ7oOw8ZbzNKWVBL+kHsdKWiOAaZECQZbRurq19VKeRF7FJNROimKrVQfMq/+Zrchc1AbrSbGgggCyyfwgf/FHRk1j8RowgKLhFgHD/ZbKQUqyx5b+KsEzP3Ut2xzi79KCgRH14Y/i7zWtI6NP8AUcQvSlv9qp0tvhKUOMX9FIOyncYT92JuW3f+ZZ12PrBbjmvwnvO2iSR7iBTqlMDhsnqBICu4cGcpsf4we310/g9q3AG2Rc1LqZzwJomMgPLolJGEff6teoHn7XigkZg3He//39WssEJqa+gY4rj21Brm/mjHnuD0TLemVOAafOEE;4:xLqYrctKWu8McbcEpCY3ijH2QkWgqOz6rJ3QueYJcY97txwdi2IGUcuM5Q0M85jxCjE/P7MNKQsSUQQGAskW1NEVmdB/D1OHOzNltIsZKw5/bZrXYivjxMWVbSJKhhK6HzApE7LwOWnUQnGQaR5Y+Ok3VDi3mZ98F+BokMlhqk2lmFaXoIN2gpFk8g7VSNdoy6aZKvt69h2rqrT88gs1o/o6KK5pGJIhzBUchuCwZjKJHiXu07ea/PNB20dRgitQ X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AMSPR07MB309;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AMSPR07MB309; X-Forefront-PRVS: 0462918D61 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(346002)(376002)(39860400002)(189002)(24454002)(199003)(377454003)(54534003)(377424004)(33646002)(230783001)(76176999)(54356999)(65956001)(68736007)(66066001)(7736002)(230700001)(65806001)(47776003)(101416001)(3846002)(6116002)(105586002)(305945005)(6486002)(64126003)(65826007)(2906002)(2950100002)(6246003)(53936002)(50466002)(5660300001)(6666003)(229853002)(86362001)(23676002)(53546010)(106356001)(16576012)(97736004)(31686004)(25786009)(31696002)(16526018)(4001150100001)(58126008)(49976008)(83506001)(316002)(81156014)(81166006)(8936002)(189998001)(50986999)(36756003)(478600001)(8676002)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR07MB309;H:[142.133.49.59];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUIzMDk7MjM6d09sbTF3M1ZYWE5XWjZIelJVME9oellaSjNM?= =?utf-8?B?MFp4NStnUGd2YkNtQVgvQWN0SzZoeE9qWGdhTW14M1FuVGdNWVoxNlFxWi9h?= =?utf-8?B?SC9oS1c3UUdpVGtyL3dXbFFCQmR1a3l2UTgyekVxSXlLamxLRVVQZ2EzSytU?= =?utf-8?B?YUsvS1VvNzJRZmFvdU01UG1nS1dwMFVIek15eVFlWWUvWldyRU50ajZ6Mmw4?= =?utf-8?B?T0tJekEvb1NZTmp2Mm9ud3luS1JnYmRpZ2RXK3dHLzdra1Ftek9hMkVXdXZD?= =?utf-8?B?SHU1cWh4T3c0RSs1TDIwMjZlQ1dPR09xYnpPOGZxdWRLbWZ0c2VZZEhqbSsv?= =?utf-8?B?Z2JkaThockVVcDc3ckRzMWF3WGlwMGdDYlZNVTVEUW4xK3RQamNyQitGSlhm?= =?utf-8?B?b1NZVXNUYkJLc1paQ0JuYStJL0dkaXkydnIxZGRhbisyWFZQVUkxNzNEd2J4?= =?utf-8?B?T0ZSN0crOUlTNjAzOTJHaHhCejVBRDhhZlE2NkZ3bno0a0xkZUV5Mm5RS1FD?= =?utf-8?B?cUxmWnprZlMxMnVjYlkyQUVjYTVEdHdJNkU5UGxTbGxMcExJYUVSRjY3RWt1?= =?utf-8?B?ZzE4dzZXNUlnelVHdy8xeUdVSjNQQmphbUdaUkpKa0pUc1FZcjhHTE96RlF4?= =?utf-8?B?Q2FsNmhEM0hKWXM1U2xpMDVuVEZVR2pWRzVFckhYL2pQUjF2SmV6Rm9CdU1x?= =?utf-8?B?QWRrRVZMWDhYd04yTVFVMDNibkswZXJ3YVFFcmVBT1hWYitFK1VtbmtCR3JU?= =?utf-8?B?U1RRVEF3NXpzQlBhRWtFc2lDUE5JRUR1RmZud2hXRXV6Q0diTlNNd3lxNnFB?= =?utf-8?B?cWZNTTR4SVdaN1AvcEZQSDF6bXA2eG4zbnpXaU5VS2F4ZmpWRTgwbmpsUEVj?= =?utf-8?B?R0lodWtVbmF1ZzVzaGU3bG05djlSZ0IwbnBjZDFpSDF6RXU3Y2t6MVF5dW5O?= =?utf-8?B?dHlhVThDck0ydFdkS2NnN0tyZjlFUDVxc1pCRjc2UStSUWUxRW1OZVdBY21p?= =?utf-8?B?elVaY2pncWpwOUNiRG1DaEFFcGNTbVZmN2JHTjRNUUpqQVJJTFN0TnJ5cyta?= =?utf-8?B?MlBtejBUODQzbVJSS0RwRytld1lXbUsvMmpzeERaUzdlaG9IWFk4ZzdlMEdE?= =?utf-8?B?TmFUeVp2b0t4b1h2bTEzODdiT2VCUW43VWM3enNIVlVINmlsOGhXbjhtRjEv?= =?utf-8?B?M0tPV0hkWEkrUGc3Y3QyeUhFRDB1UG13SVp4VytkS05ZcVdObmlyaWpHcFMz?= =?utf-8?B?OXNmdS92MDhGQmpoZE1tb0M3SXVSKzJnbTZIRWdHRWNJQ0lzcmJpNEZDYm5l?= =?utf-8?B?NUFrYm01bTk1K0RyeEQrY3BkdmQwTU9Xdk1hTGcxWHZUL2ZGeVFkYWFBTC93?= =?utf-8?B?SDZnUlpoQlRWR2pnWVQ4ZjJ4M1gxaEttS0pzeUFiYzBKRVQxZmRGR21ZZ1Vx?= =?utf-8?B?NDNJUmFvL3JNbCtCbHlLTmVwVzNmQkMybm0zaGFIODlMVklTUWx4RnpmY052?= =?utf-8?B?WEErc3FkZ3FPaEZSdDRja0xJdW1QSWZuaFVNOTlCb2VkZW5pcGZQNzJMcXNM?= =?utf-8?B?cmZNdnBrRVVhaVFzV0pqeUs4UTZnU0xzNG5rRHI5eTBsZXNnOXh6K3RFVldK?= =?utf-8?B?bGlqdVRjK1dqRk1ZWVdHOWtJdVNsVTFJTEYwQmlySlFMREJsalg1SGd3RSsw?= =?utf-8?B?dU90aVdMb05CUmxnSWpIdHM5Q1YzMUVCcFFsY3dKUlI3TWY0NWhiNkRpaUFv?= =?utf-8?B?WW44SjF2dWZGcnRoejM0U0RpZllhT1M5TU5DZTNvL2hEUHBqTWl4NzcrUzNq?= =?utf-8?B?V1pJSmVxbzMvZjc4bGRGQ0w1eWJ0S1RkOWF3UXE3SU9qR3grakNiTkJ5UTE3?= =?utf-8?B?VWZrcTByc3JUeC9ENzJPQ2hxd3JYN1NqTDY3V0QvMWpvMXl2Rzc0U2l1SDh4?= =?utf-8?Q?SEP+mD/PZ/7SvyNfuoOjM7ZepgHhI=3D?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;6:VMH/dHW1wShtuhjLam2MgaAqbmf5GtBNL8i/awnxfTbj5Yejqb2viWLnvg2ahI1najwhp+YAjN0/uka6YJkxK2my7rDKSglgrgdsVqVT/on003X/VTFb5gbZ8frNugztZgIre/niAMWhuLDsTc67ds1aueQxrjYpGVJNqUA2zouscZ/2+53ig9xhBAZPV6bWsoYMjItR7d9jzwK80geIvH81/mDw6KMz0lK0AALkKkGlxd4LIFnu5pEE3OfNWB46n8heeH9VcsedvtSIGVDpZiijyBJxjvd2KWarbAnwy/Dsu7sZPJBQFMG+6qhfA40NGZC3dNqf5jMc1+clsLzoMg==;5:20UwT8cQ0kwc+6CQmw+gnVr/vwUSi83ge+1Bj5mxGi7/onPx8CJujk2Q2QAYSICU+OJn9J7jVmYVaH6f0JVPrC00X6wBvNpVhsrAS66pXRFjfo80wXXOuhi1MqjfsTmZ6qouQrGr+MH2qCVWqYMv7g==;24:plgQq+G6J+VqDXP5yDoreDzMpTSKFr1HpTXhN2S3Mjtx5NpjzlriW6wg76R46uSHqa+6ZEW/OMXo2gdlDa0tBn7UZdMihtgJzlTUm8dlcuY=;7:bEamKQ9eubxgd+UxDa1u4xzlwuHuC/flp+k+1I/wO1IbPaQogDND5nlGmJYlSNXHX9WrhGvmzGvpl4AX5rk9X84c6q3TLrdUFz8SQX8ktt1VDGz9USe26dU3d3v1E+oJmF/KdmcsudQWUOyDNTTGpi4lQea0xqssZtV82CDEkJrWY/mvyT32FzDLO4zTMQZLViQ3rwZh6xlowslGRjfICz95qshI3MHvtcTY1mIh14Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2017 20:28:25.5933 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB309 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-10/txt/msg00468.txt.bz2 On 2017-10-15 11:04 PM, Tom Tromey wrote: > This removes a cleanup from ppc-linux-nat.c, by using > unique_xmalloc_ptr. It also slightly simplifies the code by using > XDUP rather than XNEW and memcpy. > > ChangeLog > 2017-10-15 Tom Tromey > > * ppc-linux-nat.c (hwdebug_insert_point): Use > gdb::unique_xmalloc_ptr, XDUP. > --- > gdb/ChangeLog | 5 +++++ > gdb/ppc-linux-nat.c | 11 +++-------- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c > index 45c8903ef6..7c8ab6c67b 100644 > --- a/gdb/ppc-linux-nat.c > +++ b/gdb/ppc-linux-nat.c > @@ -1541,16 +1541,13 @@ hwdebug_insert_point (struct ppc_hw_breakpoint *b, int tid) > { > int i; > long slot; > - struct ppc_hw_breakpoint *p = XNEW (struct ppc_hw_breakpoint); > + gdb::unique_xmalloc_ptr p (XDUP (ppc_hw_breakpoint, b)); > struct hw_break_tuple *hw_breaks; > - struct cleanup *c = make_cleanup (xfree, p); > struct thread_points *t; > struct hw_break_tuple *tuple; > > - memcpy (p, b, sizeof (struct ppc_hw_breakpoint)); > - > errno = 0; > - slot = ptrace (PPC_PTRACE_SETHWDEBUG, tid, 0, p); > + slot = ptrace (PPC_PTRACE_SETHWDEBUG, tid, 0, p.get ()); > if (slot < 0) > perror_with_name (_("Unexpected error setting breakpoint or watchpoint")); > > @@ -1564,13 +1561,11 @@ hwdebug_insert_point (struct ppc_hw_breakpoint *b, int tid) > if (hw_breaks[i].hw_break == NULL) > { > hw_breaks[i].slot = slot; > - hw_breaks[i].hw_break = p; > + hw_breaks[i].hw_break = p.release (); > break; > } > > gdb_assert (i != max_slots_number); > - > - discard_cleanups (c); > } > > /* This function is a generic wrapper that is responsible for removing a > I was going to say, it would make more sense to use the copy constructor: std::unique_ptr p (new ppc_hw_breakpoint (*b)); but it would require other changes, and it's probably out of scope for your current goal, so LGTM. Simon