From patchwork Wed Mar 21 21:25:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 26409 Received: (qmail 103911 invoked by alias); 21 Mar 2018 21:25:40 -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 103823 invoked by uid 89); 21 Mar 2018 21:25:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 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=Simon, replying, marchi X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 21 Mar 2018 21:25:38 +0000 Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.183.39]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 9A.0C.13895.FCDC2BA5; Wed, 21 Mar 2018 22:25:35 +0100 (CET) Received: from ESESSMB501.ericsson.se (153.88.183.162) by ESESSHC007.ericsson.se (153.88.183.39) with Microsoft SMTP Server (TLS) id 14.3.382.0; Wed, 21 Mar 2018 22:25:34 +0100 Received: from ESESSMB503.ericsson.se (153.88.183.164) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Wed, 21 Mar 2018 22:25:34 +0100 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESSMB503.ericsson.se (153.88.183.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26 via Frontend Transport; Wed, 21 Mar 2018 22:25:34 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ericsson.se (192.176.1.80) by SN6PR1501MB2014.namprd15.prod.outlook.com (2603:10b6:805:d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.588.14; Wed, 21 Mar 2018 21:25:31 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 2/3] Use std::vector and std::string instead of VEC(char_ptr) in gdbserver tdesc Date: Wed, 21 Mar 2018 17:25:08 -0400 Message-ID: <1521667509-303-2-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1521667509-303-1-git-send-email-simon.marchi@ericsson.com> References: <1521667509-303-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: HE1PR0902CA0011.eurprd09.prod.outlook.com (2603:10a6:3:e5::21) To SN6PR1501MB2014.namprd15.prod.outlook.com (2603:10b6:805:d::33) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c50f80f-817b-4d5d-9c39-08d58f724753 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:SN6PR1501MB2014; X-Microsoft-Exchange-Diagnostics: 1; SN6PR1501MB2014; 3:SIQLZ/BO1uY/CgPefPIjIT/1WBKHcO2NqN4cu3ed0qRSgpP8/tlNZHK1fK1Y1Ok3aGahOdYMtyRb4HqfOL7adKuuAQSQio6EAggJyWhgRnyDZGGB1xXr3j0xINEycwo5I3a3eeOodBX6OUxGXb+99NnEnRoFnjTJXJOnf+eqT7t47qQykF91nKZ3k3Ox6uBK1F9JjsBDN+E6VfuMEsT06R4gL+XpVlpawS3Sa5FvArD4XkfTQbvbHkKHDOai6QRU; 25:T2PDBEdPtKRMRuhbU34zx0Q7TDgSiSiOp94uGzLXIQVs2QjCs720Q5tdeO8z202aPH8LRHBWuCUAWqGZ1tWPePwgFlxy1eaD470dOoLPxaGpz0RhQdN1vOYdxpoDqZdE/73R7meXiuTsPjsV3qlExJ54jrfGTy5cBMtjRUPag9SD+y/K28iVk5OGLqvowmZYKOvei6EhC+Rbx1/5lLbMtJP2zEZnTBDSlmFaQENvtJRWPToTjV3Z/DQGWhXHiaztzFR9aiqOkqaExgRnJsh4S8Uo5JwuFlBsgJMsGudahtSfBrAlfxdnLJPTxROgYCER6f3HOb9lnHvBn3ybt5JJXA==; 31:8mPdv3Pk7W4lJLrLqRxy649UU/RyVjCTL9LHJ+jQld79QBnzJ0YtT2v2Go3HHIz4dESTVbeiOxiyFlxW17hxH2VYuwH0AoODNMp5hQ+pnY34c8AUq7TLjC1iOw0Eh5pV05gHeuyM5Ir2wzxjcWUJkQ1/6+p+n727LbEw0l60sYgOSMG1zcdhGB3mvnUqKmfqxqADIcQuQ0zz92yNRvL+AJ9ZmC4psl7m6AOuYtdqoHo= X-MS-TrafficTypeDiagnostic: SN6PR1501MB2014: X-Microsoft-Exchange-Diagnostics: 1; SN6PR1501MB2014; 20:TIQS4PGkm6+ZNMFrgJciGxcbcb/GQ7LJUgMTKOk8vkF1LDEqYUZZJI39rK0p85lRsWLxZbGfQsBkBUtexA0YwBkMoQrxLmgaWYQGQyyid+XzOjbsWdJQzbcfj7d1u6H3j7weeo197rb+ilF2RVWVqXa9RHIgRRfnFYllSjxC1g/FuVw+eXhTr2wpCFOx0e0WCiHPwS+lVcaV2HzLu1bgtLOVGf8PA8pBgsI2VoK4gBtXjcxNlfBpU8De5FscCVZN6ftkfsm5Szdn8qHBSv1UPfOmzBzkWcdb6Ucf4SSFs7JomyaGy1P1E1Ud6/z2WCovN+eYebUwbxx6iMHmDtHM9ZobQhEsVRrPVccAly+Acz81TooF08CAZ13/9hNcIXu5m5Dji3WHXLkRt0n8rBcbnOjWmeusTHS0r0BXFzrNQU1cq/Vjx+n8lZhLuMPKrknKmqOjRZIjo1yjUdv4qtBRJ8pvinqDaBM234ErcAYtmVSt+8PY9LBqzJ+h1Z3xwsx/; 4:LQnzUC2F5NDHxie+bogwWeiSz4o/k3Ljw0IoTzM3xgH/Pa/qMTlgOv6np8pwlwF+3toHGq+sebrpQHYk6Ie9bgZ7/ef4IkCgaWu8uZFH8a/diDml503vJu7YK0Ovb+y2e0WmtCuvM4kQIS/KSmZsFxKpr7JOnFYTgUCUjAoe4d86BPEauqeidAh7mrPjDpn5Xy50i5NJrIpNhJiFIG+KWtVzNXeZSbjci4UQqtoaRSwV28e21t12Hrzvq6x0rlCqqVgpvYxCSyngM5Wr85azUg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(10201501046)(6041310)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:SN6PR1501MB2014; BCL:0; PCL:0; RULEID:; SRVR:SN6PR1501MB2014; X-Forefront-PRVS: 0618E4E7E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(396003)(39860400002)(376002)(346002)(189003)(199004)(54534003)(2906002)(69596002)(47776003)(3846002)(6116002)(50226002)(76176011)(6916009)(2950100002)(16526019)(26005)(4326008)(25786009)(66066001)(6506007)(386003)(8936002)(68736007)(186003)(478600001)(316002)(2351001)(6512007)(2361001)(48376002)(7736002)(36756003)(6486002)(305945005)(81166006)(53936002)(53416004)(52116002)(8676002)(105586002)(86362001)(16586007)(106356001)(5660300001)(50466002)(81156014)(51416003)(97736004)(6666003)(446003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN6PR1501MB2014; H:elxacz23q12.ericsson.se; 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) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN6PR1501MB2014; 23:KbpE6zLlsjxsfPGDbc2+GyC00hMjoTelNWiabs/?= =?us-ascii?Q?Q6JGbglNk1H6e5CQPZl/908jb4L9ub0naGSmHvjUfT7gkIAQBlnhUDUruCmM?= =?us-ascii?Q?J1kx6Hs88UDAqsv8fZOB5ziSRTisZ72EnngBauX8HYfgbZQSM9JZB9Ip6AOq?= =?us-ascii?Q?uA6+uzJvpRcJmuwEGbHBxfCUDkFhYZ3UYKrAUlgdQAJglSIxr3j8QVO+5+Bb?= =?us-ascii?Q?FdCAufdvvNgYE/a+XYqOenYuib49708nxlpplEiDNpnQszglv9VSBGp9kATw?= =?us-ascii?Q?3zX1BYLxzzhPJiM5R5/FPbD+zWxKq5LskDJHNUg0RPQjmGsjd9oPPQRXiWgm?= =?us-ascii?Q?8G09ZZwUmkjtrCOMoVMgUmwr1KuJas3TVoWxHAfj3XsJwj0nxQBMJdvmkdD9?= =?us-ascii?Q?XfzxpYrt3QCP5BmalfYTH5SmoH8UNDgBi0wePZZPs93DclF/75U9YTeZzvna?= =?us-ascii?Q?eQuScV2W2+nMLfldXF0nOT4GBlVXkpQaFc3C6kwTe71G8qBNR5QxAjp67kvz?= =?us-ascii?Q?SvqoTfftVzUFmVNmUBvuR5REyMzA8L1ZwPK+/4r+VTlS6kL3BZIMGrAN+hKB?= =?us-ascii?Q?Lr7zPUOFURwuEGj6UDaMPDHr03t5F6pYsYCN1q5CMHiv/eyYLGzySzihB22f?= =?us-ascii?Q?l8b5WT6YP3dao/DrFR7OUpCmb7stYgYFPqzCnc7UaqnUxi6BIk4B3VzROyg4?= =?us-ascii?Q?P9WtigOOwrhOs+Akew0HBuR9P9DaG2zOdf2htKGNuMPLqHmu0kb7wJpFSjCW?= =?us-ascii?Q?2Ov5BG7dJTMie2/6R17pbZIUmU0T/BsMV1XOx09lUAM/g72ADrfW2OPF8+0j?= =?us-ascii?Q?+FRxNqzmWbcn300O1LzHpRMLaYJGlUH28BDbnS0pplF5Gc5kikf/C4or52Ah?= =?us-ascii?Q?FPbCjMPuTRGPn0H/JMOEBQGmbfbZdpx61QblLRtTQZCG6D2a9zElnNSIjJZ6?= =?us-ascii?Q?+B16iFhsqweoNzMW6Sws4YCbbLYTva4c6s/u36d0kiDBuLo5A8whtccfaSin?= =?us-ascii?Q?VslEloJAg45AjzAQom3tAWOsvvTuN6fdU9kqKxfpBWGR1NkDFy/S1S4zrh3L?= =?us-ascii?Q?iSN24FTiOeUan8vyNWnkt/iewq9uZTreaw9FevavFKd0wGpuDNcS5U2rVrAW?= =?us-ascii?Q?1ywzD6B/A6JHf2AY/efSDPNDBoiW7jkNsXvn9zf5TGcECAuh3CfQmBwfdCFW?= =?us-ascii?Q?eB+mBqqJDhkSetCbxsEQlfXZfuYrF3kbbV/bdNqzd/eQJjQyKsUQ15J7T5w?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Antispam-Message-Info: F38UTmi9zm/wguYD4I5W7vhlfmnKcQEFKWimLL+HM2TfV87ZkuhNoG3PrmvfM+zBQhRIxrmw4XyuOuaMDtYiA4B9zlvlXjBnmQJYzhOW7txrzZ95/4/6XOOC2wTJvYD8LDMSh+8mjptl+iAVi0TZBgRDB9lAd4Owbjk47EBJ+ctP2oxCrdYu7qkp4FrcnYcv X-Microsoft-Exchange-Diagnostics: 1; SN6PR1501MB2014; 6:MAdpsnzl+LwzIuEnxQrU24sqpYi1df2BlJ4pcrJo/OqW6+Q2rWgBdtwXmJqoRtojti+Jsf15WIMTAYjPJHZ9vs4thz3SIX8U3OsT5cDzXXqbECyqWzkRkYp6iHZNKO62JNLE0M5A6rgDikHm93nUa4jIrK8x/5LhdU7Zxf3DhtmPPxLqOsPcVEV8/pIYN6iPFk9wPgfhhrRzXW4TFFg50YNAQrj+FwbMql72edxiYD+pyvUeOT64s+b23cyQPcyc5eTaxlTknQfcln8YPhPcGepxhNkPlPXNA1D/Iu3ZI8fQqtuGzmyIoGlB61ZzrKvasJGAMn+GFrJdecpZoP/RP2lT2lyrq/HJX4SfDSLWEHA=; 5:xZfzmkD1ooZ0JoDgIcqT0heg+P50iyLsGcCwu7DCcILVLzphPSAq+bMjZMTg//P/7p+JjWxG5t0PUvcq3ggLzmeeHtqEA4xpPsLySe+uvkUFqXuSSX2gCAB31y8XLiARZ1+3GWjKeHP3vlCoIqbRmkaP/KLkQd/ZEw8DkjkhBIc=; 24:L/vJxj8L8Myjo5c2RthVp03criF0S83YpB/bhhbdl9y8zAJIoZcp7AHB5LQOwhndb6rFjLi1alJ1c2Z1zka2adkjGUlcCrk9FqiabG7HxuU=; 7:VVP/S2cajj5KigkwKxDoPDT8iOq6gd9is4Tho+jnS9L1VsdAc9kmn1VIlwzX+ZpV6WzOeBABJQa0ym4QUoERNAiCTs0BCWovBKerknhJnbvcCF+opRUJ1VFGpI1Myd05pahRTY3GSGYBVaWpobq5akwHSnu2OIIAn6hDrfLh9YCkFgbjBSzDwTmHxMke9lCTprfs+0sxaCR9Mr3F3k0OgYGdMQwfxBg9nATpfKcYDTfG1WYa4ObbEp2nChurFyWo SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2018 21:25:31.7561 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c50f80f-817b-4d5d-9c39-08d58f724753 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR1501MB2014 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes From: Simon Marchi This is a straightforward replacement, no change in behavior are intended/expected. gdb/gdbserver/ChangeLog: * tdesc.h (struct target_desc) : Change type to std::vector. * tdesc.c (tdesc_get_features_xml): Adjust to std::vector changes. (tdesc_create_feature): Likewise. --- gdb/gdbserver/tdesc.c | 7 +++---- gdb/gdbserver/tdesc.h | 8 +------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c index 00a5e8d..3a932e6 100644 --- a/gdb/gdbserver/tdesc.c +++ b/gdb/gdbserver/tdesc.c @@ -91,7 +91,7 @@ tdesc_get_features_xml (target_desc *tdesc) { /* Either .xmltarget or .features is not NULL. */ gdb_assert (tdesc->xmltarget != NULL - || (tdesc->features != NULL + || (!tdesc->features.empty () && tdesc->arch != NULL)); if (tdesc->xmltarget == NULL) @@ -111,9 +111,8 @@ tdesc_get_features_xml (target_desc *tdesc) buffer += ""; } - char *xml; - for (int i = 0; VEC_iterate (char_ptr, tdesc->features, i, xml); i++) + for (const std::string &xml : tdesc->features) { buffer += "features, xstrdup (xml)); + tdesc->features.emplace_back (xml); #endif return tdesc; } diff --git a/gdb/gdbserver/tdesc.h b/gdb/gdbserver/tdesc.h index d21574c..e501257 100644 --- a/gdb/gdbserver/tdesc.h +++ b/gdb/gdbserver/tdesc.h @@ -54,7 +54,7 @@ struct target_desc : tdesc_feature const char *xmltarget = NULL; /* XML features in this target description. */ - VEC (char_ptr) *features = NULL; + std::vector features; /* The value of element in the XML, replying GDB. */ const char *arch = NULL; @@ -76,12 +76,6 @@ public: xfree ((char *) arch); xfree ((char *) osabi); - - char *f; - - for (i = 0; VEC_iterate (char_ptr, features, i, f); i++) - xfree (f); - VEC_free (char_ptr, features); } bool operator== (const target_desc &other) const