From patchwork Thu Mar 22 08:44:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 26416 Received: (qmail 36510 invoked by alias); 22 Mar 2018 08:45:03 -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 36287 invoked by uid 89); 22 Mar 2018 08:45:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 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=Compare X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0054.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.54) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 22 Mar 2018 08:45:00 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Received: from C02TF0U7HF1T.arm.com (217.140.96.140) by AM2PR08MB0097.eurprd08.prod.outlook.com (2a01:111:e400:841e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.609.10; Thu, 22 Mar 2018 08:44:52 +0000 From: alan.hayward@arm.com To: gdb-patches@sourceware.org Cc: nd@arm.com, Alan Hayward Subject: [PATCH v4 01/10] Move tdesc header funcs to c file Date: Thu, 22 Mar 2018 08:44:20 +0000 Message-Id: <20180322084429.26250-2-alan.hayward@arm.com> In-Reply-To: <20180322084429.26250-1-alan.hayward@arm.com> References: <20180322084429.26250-1-alan.hayward@arm.com> MIME-Version: 1.0 X-ClientProxiedBy: CWXP265CA0052.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:2c::16) To AM2PR08MB0097.eurprd08.prod.outlook.com (2a01:111:e400:841e::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0a6d3c03-0170-452b-0483-08d58fd12e6b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM2PR08MB0097; X-Microsoft-Exchange-Diagnostics: 1; AM2PR08MB0097; 3:aRXG/w47+zyNo9OAGpzK85oPFapug2O9oN0Vw3J6wrIsg/dSi2bX9jBzhN7TS48s3I8SpaW8iH4D4API8oVjWWhFXT+yslc+7VJgrllvb+5KypiFCm0Gb4X5zCN+BgE5lM+LgqMkcjmjmBwhp9lRxU+hnmxGahT0YPTFejgJ5Teo5J3Tr2x+LTQZ9jbp557pKaBrpnJC2XGSq0km+ps+rSla1bQF4P/2Oyv9C7WDm6Wt1LijeZZjv3RCGYBKtEDZ; 25:EVGvyW0xkyZtihRhR/pb8CMJ4dRn8BHbJRGhIo/H0DvMLT53vypImXlaUm9TNIonuNxxCJHHBceWJGQyClL/bTPUNqW3rCiBEu/66Kr5RiNgaArZyzb19cuIF09Zlb28rRnCgIOdO0qyxeJILZYeKjqMpiDXIF49MgjbQuuTb2gqzaT+R4G2jzT4GmalLXUY6pXlreIa+nqXlte85rdzbPm2tq6YozY1/u9m7IG6tnkvo+33nL8TubpKuaiSmj7C+YYfstAvh5cAE7JtqGz1smW0kLRZTdwmS39iWgfcpHgjreIkjHOxDt7jel3rtR7q/q2rzPXpund7fEEDNri+7A==; 31:B7O+y6RnIEHg2szLAYy7d1LvOTwZT2toXQVR3cbtzfS/R5JzVs9bsmUgC8lSm3H1SGNxTeBrkMx1UyRgxXMuJO+ZaPlyuJ3zHi7UfqTuoqndisLA5LXDMCtCmzlxaH599FM+Siqniz4b8JhKYSIPot0tjsL5S8zk/kDu43ihxESBlPqVtJRfDM4W471E40VvrNMM06r3Pz6h0IcNHpfUBA+LowNWFyPAQIs7h650e4s= X-MS-TrafficTypeDiagnostic: AM2PR08MB0097: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; AM2PR08MB0097; 20:q1clail0bj178eURGQRJpP6LZU8Ax0vpAwCri+P5YnRBibBeBXlGPoCUcS6BkNN80RwBAbRXTjb5qW4uLIown+O6c0RUIzpHy1t69x+HZihtl13JNThwpGcSacxwZvLY3d2P5z1a4G1oEyBhVXl6g2uSfLD/7Qyz4VHsRlz/gTg=; 4:R61wFAKs3j7faRLUhlQ2aVSP7gDkd07mSgu0K9/vHbl0w3pMtlrM1Pcvq1JWl/U8i/39GfKwsZAiOuOWaD4LBKvxY5hnOMcCjuA2cW0V3E9DJcKpmVGMRz6WaNt1/5lubqxpSTY2iN5DaiZGBku7KNLC5JlG0kAfdL1+bMX6Eb+1LvMbx17IFQpLcL+E7+zFfGU6MShE4lJs1oguV+CPJRut81RFiBPnTgi/n3Kgd8e6r5kEJrAQs6S9GEFvu6sYuEy8bH1GRRZIFiDVGGpcZuO89lp8jI8bzlJEe2QmnGHAv7nHojEKLjhWJ3FduHup X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(6055026)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:AM2PR08MB0097; BCL:0; PCL:0; RULEID:; SRVR:AM2PR08MB0097; X-Forefront-PRVS: 0619D53754 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(366004)(376002)(39380400002)(396003)(39860400002)(377424004)(189003)(199004)(97736004)(72206003)(16586007)(7696005)(6666003)(86362001)(6916009)(2906002)(2950100002)(66066001)(47776003)(6486002)(25786009)(53936002)(51416003)(4326008)(106356001)(1076002)(8676002)(105586002)(478600001)(53416004)(6116002)(305945005)(50226002)(36756003)(386003)(7736002)(52116002)(3846002)(81156014)(81166006)(9686003)(68736007)(76176011)(50466002)(8936002)(186003)(2351001)(16526019)(85782001)(26005)(316002)(5660300001)(2361001)(48376002)(446003)(85772001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR08MB0097; H:C02TF0U7HF1T.arm.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM2PR08MB0097; 23:bABSka/rTJuH17ccJrrv7MZgpRTc0R5HPGrf7LvOg?= =?us-ascii?Q?wKCTwytXTq9ANC6WO6oKrkaC7niIP942sZdK74zF1qJBSXyU4j1o1HmkGRv5?= =?us-ascii?Q?UbVBk6Gc9HOlHu1V18F9MIS9LMSu7aRPTP/pJk5H2fXg08DKqbSgO+EQYUe9?= =?us-ascii?Q?0t65PwyvdMQLPECM+y9pylSuzQtY3TAZ4DU1xxUTnLOIY2yvni3a8nxFoL/D?= =?us-ascii?Q?FMGcwM85URI7HSe3YfoKSICU+h4raPEgU50ixAEUVooc4KGG+rGBus0wd3iY?= =?us-ascii?Q?jHVcZYsrRawzKV7z3zI0nr4Mqr+SEHTGssSGKd2/VYzhn3IUhuqAyJraXSTe?= =?us-ascii?Q?YqR+jjdryOoIZ/HEkYtuWref6jf5Nb0OxbyQiCHF+NgdJfmVirdp4Dct7naC?= =?us-ascii?Q?SpV1ZsZJdgxvp7r2+0Kspdn86n7oYGsXIYmGiWvIncyIeuMTBI+4L/hCsNBe?= =?us-ascii?Q?iFRYVXIeRDCNDE9m0iYKTv63G+bXeMcOyi9xrd7mOgcpRk+IJYavozDK0qkg?= =?us-ascii?Q?p3dXNnFxR7ajXEoWXM389CafDWRja1eS3E9QuXmomOHmVJiAnuZBNWt2ONBQ?= =?us-ascii?Q?YUkPEYRSR5r7vAZwg40jo6cnAGrHU5ZkDdIB5k9Pk1/uzXr9mPH/CGKF1puf?= =?us-ascii?Q?hlQdcXcO/yiF7VopvNbGd+iPCJ4KVqiqwFz5H66SPrOaed6waTIWQcU7hayb?= =?us-ascii?Q?jtlGToc9wkDebJq1Q1nLdMsDxuHbyNlyYwNuVWIU1+WvxnsvXP1dqS3bI0vx?= =?us-ascii?Q?byTP5jxteMqwv9r9oSpTv+UHMa3yuVhp5FCNiKd4Blc/ma4W+FtnTAHV57rY?= =?us-ascii?Q?bri9CXJTRZB/81ybq+Xl/MZ0fnAr09Ft0xHQw/svtD9RBTtZC2DtbqonNedE?= =?us-ascii?Q?dr4s7x67mD7aNu9QmB6rnfGP6uRwQ50Lx0MLTGdS4LYuUJZq+rDnNqiNuFLL?= =?us-ascii?Q?7qofukSCZFLu28lDn0FLxWLzNR4PZzD1i3pv9vgqUJtpGkwxB7gCuq2AViED?= =?us-ascii?Q?u8nSnCHCOkdrILONx88y/HyhZdCOjlfMzMRUl0nVVj0bFXv2bF+8dsbez0Jv?= =?us-ascii?Q?wcNZMDGzfoYjteseUrKF/mrhfx9iOw7sqrx1f2SxXCxWvnR61t3pWnRyEoSA?= =?us-ascii?Q?Xwm5m7sKYDWcH+tRupKcWR8NFxLI0bjaoi2evx/CxPUK5VEjuqoq5Nf8lZWI?= =?us-ascii?Q?u6h8+iplkp/QGbsijNSWqjPH2SaIseIWr9ljRcBTCG0v32WtTUux+zqWn9Hu?= =?us-ascii?Q?0mFqLmo67R4rLtw5I6JVRXvEdJx4XgfSTNKZA5MKF3cz8BNsjo6o0AxhD23w?= =?us-ascii?B?QT09?= X-Microsoft-Antispam-Message-Info: OWHgE5wh1RldhhnWmXopDHx1UkGJnBmUGjmwoVQ7zlxHFqBh3IeoS46IPxIMvGtJnIX5NOrkVwyyuN9TbmioGDPOtLEOYBrjR+wDk8stQbyQ5uI/EFPKBndfcxCwv5gftseNMxdG9V3hGTpK88S1OM5T3zCH/C1/CWg7brHCFlllXL4aIcbigW5OfKmFL5af X-Microsoft-Exchange-Diagnostics: 1; AM2PR08MB0097; 6:18xXMSkFAJBzvpevlUFTmyiVOhizoiuUxbqeW6MzMXsAvSoFgVTfxF0CjQu0pgyKqiiaZ3GO/K0TMtf1tZPGqbc8pgswY2IToIRnEfLUxVA2sg24JFwngrEYF36+SbfO0TxNVjtpfnWCvIDW451zBr4O1M5DSZztnW9mStdcVniIFb2H+gN5M3lrSBevYrl2QG7yxghtYzPiSkehVYfZ5FiHEbHXdVkKkSJDhJVMJsLKJCFshJDuOo0JtKG3JDYBgx9Vapecm9yVDVD6hlgdOkzfVJRT7dL7J65pjG2m7VCFx6Zwgbr+uxr0DwfvX9X2z+5T4zBW2KPsfai5kz32DiE2ARsR3JJUQHf4MrSdzGZKy7kbRzeiz8nhFjWGk1SKu08B64NAT8XCAxaAeyGYrhTb3sGA4dmOKbqhaDtoIcVtqLbILJFcMDcPk0xXbntQZqgrBO5Dx+9C36xCS4lcmQ==; 5:KgACicSG5dEoMwG5WtJTduUIiahiU2rcu8uLQLFGJsS+gISZA5NlwRP67ST7X25LTVO4P9oIb+EKyYjmowcy15iJs3fhEnd9oIT0ri3HJVmPIzTYQZ17MrPlhxtJJmnuQlCXTx7+GrhvVQj3Z43BpL1adlTtFYv4sTpi3K10gBg=; 24:bMzY08xImgCDNlogtV/D+MeOSA747hI+B0J6dl2n0H2jAvqpzGItuUd6kUob0IcwvHnC1NMierSA2WKyIU+W61Bo+sPorzEvo9eot+gVs0A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM2PR08MB0097; 7:9bl83X8usaOL5M1PQcwDGZJlXB5pvMLGdwCSmR0u0HztABaUoLkWe6MyE/ET3a/cuPWNNIKc+UeD4gC92/coDquQ5mW5Lk53L+iI7IpG/p6FLfs9vlAbg4yclp+eFrzCMVR2oa8pF8B/cFlgpiTHnnnFJ6Hej2+7r8xdNObKWuJDYmKdo8sMzymbtvApVxFV5aYbJCei7tNG/GDdhmhjooJRmGD5F1nMoIXGMpQSODb81WP5ScvhtSoxUmGm2R9l X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2018 08:44:52.8745 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a6d3c03-0170-452b-0483-08d58fd12e6b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR08MB0097 X-IsSubscribed: yes From: Alan Hayward Move the destructor and equals operator for gdbserver tdesc from the .h to the .c file. Both functions are too long to be inlined and make the header look messy. Patch does not change any functionality. Patch identical to V3 version. 2018-03-21 Alan Hayward gdbserver/ * tdesc.c (target_desc::~target_desc): Move to here. (target_desc::operator==): Likewise. * tdesc.h (target_desc::~target_desc): Move from here. (target_desc::operator==): Likewise. --- gdb/gdbserver/tdesc.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ gdb/gdbserver/tdesc.h | 44 ++------------------------------------------ 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c index 00a5e8dc4d..e50a848e2f 100644 --- a/gdb/gdbserver/tdesc.c +++ b/gdb/gdbserver/tdesc.c @@ -19,6 +19,54 @@ #include "tdesc.h" #include "regdef.h" +#ifndef IN_PROCESS_AGENT + +target_desc::~target_desc () +{ + int i; + + for (reg *reg : reg_defs) + xfree (reg); + + 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 target_desc::operator== (const target_desc &other) const +{ + if (reg_defs.size () != other.reg_defs.size ()) + return false; + + for (int i = 0; i < reg_defs.size (); ++i) + { + struct reg *reg = reg_defs[i]; + struct reg *reg2 = other.reg_defs[i]; + + if (reg != reg2 && *reg != *reg2) + return false; + } + + /* Compare expedite_regs. */ + int i = 0; + for (; expedite_regs[i] != NULL; i++) + { + if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) + return false; + } + if (other.expedite_regs[i] != NULL) + return false; + + return true; +} + +#endif + void init_target_desc (struct target_desc *tdesc) { diff --git a/gdb/gdbserver/tdesc.h b/gdb/gdbserver/tdesc.h index d21574ca73..4513ea7423 100644 --- a/gdb/gdbserver/tdesc.h +++ b/gdb/gdbserver/tdesc.h @@ -67,49 +67,9 @@ public: : registers_size (0) {} - ~target_desc () - { - int i; - - for (reg *reg : reg_defs) - xfree (reg); - - xfree ((char *) arch); - xfree ((char *) osabi); - - char *f; + ~target_desc (); - 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 - { - if (reg_defs.size () != other.reg_defs.size ()) - return false; - - for (int i = 0; i < reg_defs.size (); ++i) - { - struct reg *reg = reg_defs[i]; - struct reg *reg2 = other.reg_defs[i]; - - if (reg != reg2 && *reg != *reg2) - return false; - } - - /* Compare expedite_regs. */ - int i = 0; - for (; expedite_regs[i] != NULL; i++) - { - if (strcmp (expedite_regs[i], other.expedite_regs[i]) != 0) - return false; - } - if (other.expedite_regs[i] != NULL) - return false; - - return true; - } + bool operator== (const target_desc &other) const; bool operator!= (const target_desc &other) const {