From patchwork Tue Jul 25 20:51:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 21782 Received: (qmail 700 invoked by alias); 25 Jul 2017 20:51:39 -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 127841 invoked by uid 89); 25 Jul 2017 20:51:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.3 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=BAD, 1159, pc, HX-ClientProxiedBy:sk:AM5PR01 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; Tue, 25 Jul 2017 20:51:32 +0000 Received: from ESESSHC011.ericsson.se (Unknown_Domain [153.88.183.51]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 8B.A1.24422.15FA7795; Tue, 25 Jul 2017 22:51:29 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.51) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 25 Jul 2017 22:51:29 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ericsson.se (192.176.1.81) by DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1304.10; Tue, 25 Jul 2017 20:51:26 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH] Add enum for result of fast_tracepoint_collecting Date: Tue, 25 Jul 2017 22:51:18 +0200 Message-ID: <1501015878-5152-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: AM5PR0102CA0025.eurprd01.prod.exchangelabs.com (2603:10a6:206::38) To DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 85179f0a-1d26-421e-2c06-08d4d39eeb3b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB4PR07MB316; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 3:9K7Xu1J8pBFBK2t2uKmAbIpCPN8IapgRJws2IxmeDVTPEuRrbkyL26kovATMB+BvmIPBE2XEieqOpOP6RB7BXzKFRMmM1vkWz5l5ouws+jpGG8iKaT9IqxGZP2wDL3pG/Jf/Q9S85Hb0a7Ki5rpeKzLUezYzPxQGsQxAZNTXNeClHpejrQ1axUVtXhil1YD4xHNXCVWoDVyG3ggL6ekgtVfVtP/e/dGkOlvlcUQ6HaHrxNv863MR2ocCD/rb/P8UiGUrQ5HUul/SMaP5j6KpwHZAQ8R6viL9pdeqHgHdZHmWQQRKVNXNGASPbk6umhnAdMrQRj11+OxbnL+LAw+vYB1zTLJ02Zkb48VI04LDrjjKS3EF2UGpmeaJjE5dZ0isF+w2EvrBy+SqbawWvadWBuf9UPc02Czt8c7R4C6jYyn5/YQeTskDjOyembS3/vXvx3r8cDQNETh1xPhzq6aAqqPNeJKKAxiwVy0p6zuMNLhDkPUTt2A++Jjzr5ez+uAXo/gXmt9HHFUk8PKhKscGFx2vyv5cXe7MvAvs74/fbWdUXTwESa1jjCsEv4+TWvPZr+aWKTLC7qqJxM2aK2XH6XEe5jmLxMWm4uxavsbJ8UkKkH55s0NHdo6y2kc3U26Gpq0PM9sJxlQh34nY1s8OnY8INmHB+oVgn5F5vMV4wNQ3/FGZBAFTm2TlxCzJg+MLS7rXybCUu7NU7gAnA1RaHfKxtJ3mwVt3RN18vQPFUw0= X-MS-TrafficTypeDiagnostic: DB4PR07MB316: X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 25:+wWtasuku1joQNHzA/XOG+AX0QArSeV1AFydSZfzTPcfbCnLY+8EpWiwVprNkkZ9N/cU9v2AqlP37b24AM94d3C0nDen3dus4YVwixCbKotRu7zRgB6ZcswMAyfgUiwmUoTuAwvUV5HEgbA68Ho1FQf4UHoNPu4j2nd0pmM19TSANbD+UX5Y/zkTPyB0bDN80V06Rj3HcPq+ohISKaDSR9UpbhaJtrVFugWjx1uRASL30zr/K1qX0x3xuoi/ioZZTShFqzyygFAc90FhvBqYi8ksbCybGSkIlNb5wjz3KYVJIE4lKERtK0A9DXPDtYscHdMnpzVPi4mGcKMQSMntsYL9VMRiNxXPx/crDz/o+dV5q/pzhi7U7+Bzqh89IHT/y2RBqct2V1NB9h1jvJgHpMDTs4NAj+4SAneM/0GTt5GGDNDwamtqh1PztMDhaWdYcLx1P0+2rJEzy5XJQJp+vCI/RpRwqEvETUehpqUJiEWmfzJJo8niztUgF7oFZypVJHYJQ5DJMzR48e1KJ83p6/wIUopNOxdT3681j33SQQKN3xsX+bma7z3Wd8cVugfaN8CHy20teu2FJu2v4b8KPykVzHg5K8E8MQTulbxes2sOG0XRGHhcqlHeni/gAuroVyuqtJ7QLnBy0GwcZeNjSLB7kl6yNDC+BpeZSxkiuSXZH/WLe258ACfXGGmcScDW2VBjWZMbPOynsTcrTIoXGp/KaXEC9VzMaip+lw8H95bA79jLO50c2uJxySGBS5xdrHhZOjjTDcC9js7r0l6zfO7+boNkCe8odgv1bz8U3DWXbnpaM9VRxMRDIQ1z24mNWhELSDwQsnwYAR2oII1oDZhGCkxxhZ+7VVISO98FxFV8evbC6TeN39WZ/G6TSjEDnzRoK3aY4VXy6giCOMnjJj3fnAEvCfAfCwxkz0muPko= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 31:iz4cfbbLU8ZIq9fsDtz2sLj5hjGjkery437a1yOstNEAn7v6lgvBoyo79CT6XuCi2mNagGXqaWZ46PEUlA8kPuxPbuSzlkM7OHBQcTidTs9SKwh0bgvP/Mq9euGkQTqzl8WWP1DPjvxi7eFn4GalcZghjvZMom6/mv6p/rbC6nUEY61TQ9B1pYpQdX2SmsX+6SQQkJWm09n2HPPVlqH7iJMB8itBF94LQX9MG8NBwGtLUmh8F2i3xlCpthceBpD1q+ZhgyvkIZZDjhc8++0uQdpu8ygagvv1B6i15OishuRg0KylRLZ1eJNS1XV5dslmbbG6wP6xxtjaUpN4jRtQ0OuRCbg6uRxW36l9bxBB8elUTNXVvCYh+g+rvY2YS+MBWj6G1sXf3KuB7p+jag3QIGlsH2L7mVVa6ALbgSM3z/JHcxa4yh4GfiXTGNqckstlmZq3j9mUO2l6TeqZKI8/yLo48jAvD9czff7ptOfIlCGEyX6q4R6H926edUbvsTcFVkDA0VA/BNNtdeXyGgYJ1iRTFFa+KkiLQHd+9764Z2Y49MxSMSchMMDzsH1Or8x4QpQ4KnwgjyYH6oebD7/SgwIIj/8HF7q3P74mCCNaXr5d/e1ET0TX5gK9ScG78Kxk5OOk0VtE3QrLjXscYBbAJNSCZjVkAcI0gxgaooBmf2s= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 20:ntW/V3fFbLnT3mRBCTTDSftUz3cwqoFdRvA3RPmqNXlzON0aaZGRaXE2NoSm92iA/l85ilL6zKhDu9xRFTMSwxi0Dtkac8COw8fLFE8XZsIePgOp17XITtQFNuOonwKrSkS5Nvpz1TH9F7wXvWy15S1c6usjfNEgx/xNMlD5KJHkjgMuJOppdSvyvXeaUbmBR8fx5++d9HbqjWMrt/Kz3GQWexZw2v6kGWKQlEWj9AU6rYBed4gS3GLKfzirYvTOx2IR0j3cDtt+7k0dRQfpEnD7Zu1J21vaN7gra+39M3ujm+XlA6CS8HlIrUugCtQS6MX0wuD52/N0cmA18nyD05ynYkPZvUjKOmjI6AIXVsIHA/8qV58vifXt4bRRnOQrgKH80/BPyPMdKypdHO6gkqua/tQbLsdjlJTZjHjFsQYsnESLqvjE4hD51znerW8kX7LJftcGSssmKEuIQN7rAFQA4T3/cAbAqx1xGneQh9FIcjaM7wuV6T5ZpurGikCO X-Exchange-Antispam-Report-Test: UriScan:(211171220733660); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123562025)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB4PR07MB316; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB4PR07MB316; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR07MB316; 4:EFEFI/ODfSdjSCZaYMYDcHt3AZN/1Jj9bp8FAuJC+Ye?= =?us-ascii?Q?AB1WV8+5QYupbU+bzPI4dcbLuwiAcRyga528k+MDRII6errTKcx+OgQqBX79?= =?us-ascii?Q?S/5LFlT0FbUBTG2tMq41fuoO4I8q7BAxld8wgiEU5iL/DWxKBSi/4o2gvSHn?= =?us-ascii?Q?p5kMKbZU+yzFrTFCgCERqdG23F/e/hFTCGGrnvQ8gOl8yAvCz9wmZ+wpx1VS?= =?us-ascii?Q?rZ+aPhMEDLmkOp1XQUJDEU1JTbepLzKliWleZudFqsTOGowcos84chg74Lan?= =?us-ascii?Q?IXVDpBT4GClUrVm+lDYrYlJ1djMHpplXDy+b+6aZVYRoHzXKvtIPb2tVPI7x?= =?us-ascii?Q?aNJM7WS3fJgJox/VqhQUDkS9UeEP4rWW0ASd285ZBdYe6F49NJLVPsqn+Fhj?= =?us-ascii?Q?xf8K0ZQrNftyJpT24UhRZRxq/6w8QX7MloeemGrvZdKWo0b+wPqnEBXp4BlG?= =?us-ascii?Q?x3r44/jWY8VnNngLfdm3g2o/ds3fZIg20M6yF1Tc6tvJ6rtzsAhhC374Brsu?= =?us-ascii?Q?AZecPdUnnaBeXIx92wow3MVWoA9n7ei9+vO2Oa4fVrzCNTP3xAjuCAfcodep?= =?us-ascii?Q?4vCQ54dZixmCkWGBW63nhUUvMQOzh0b7mR10QOuhZN2bD9WWZfn2639qgQI4?= =?us-ascii?Q?C+gof43k8xFjR7k9TahG+Hpv+Hr3OOVMKLuzCnD0rJTX+94LgEdCw84cea1Y?= =?us-ascii?Q?RU55EIepYEP/au8sA9Brvnj0tvQbJgGwFXXjraejVKzXfI7zwv8wFGxf0sOe?= =?us-ascii?Q?xCKfgAsfQfnXN4g61s4s2XrYZdb+mhFlwOQYyK+jGsDSUJvBMMlQrFwFZjLH?= =?us-ascii?Q?9BQUBfnAPZIqdjYxKp6BcA0e292AAhnDgQ3xaK8nDTmXc5QRSesIDgfHW4fv?= =?us-ascii?Q?8+LNezyQ1N4vDbsTFDI7bswgrg4hQkoYx0Q1FCZb9+pgcX3pnT+li+Lw+8fV?= =?us-ascii?Q?JujRBL+FgtX8ELbChftMrarTbnFbCf//AwivnPdkKQDwZFxXrT0Y1lx/WMjk?= =?us-ascii?Q?jijGAS9QVoivdDlKip5IUHRpfzAesPLgZ+Sm66UqFJX3AFZAmQuFxnw8jNE5?= =?us-ascii?Q?v4ARd5Y139YXMq/iTokNcphb+zJqAxk9ZHbWJo1CXuV4kII+LF9Mwea7KNO8?= =?us-ascii?Q?n2s3k15jaVKzykAaabfXnJf+vZx8ZPX5rs3DQ7X2QNqqF4fSNiJAvW4VcMLl?= =?us-ascii?Q?xIjbGuCO8r4A=3D?= X-Forefront-PRVS: 03793408BA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39850400002)(39840400002)(39860400002)(39410400002)(39450400003)(39400400002)(54534003)(189002)(199003)(5003940100001)(7350300001)(2361001)(105586002)(33646002)(42186005)(2906002)(97736004)(36756003)(189998001)(478600001)(53416004)(6916009)(86362001)(6666003)(6506006)(6486002)(305945005)(68736007)(5660300001)(66066001)(38730400002)(53936002)(101416001)(4326008)(110136004)(107886003)(47776003)(2351001)(25786009)(48376002)(106356001)(50226002)(6116002)(50466002)(7736002)(50986999)(69596002)(8676002)(81166006)(6512007)(3846002)(81156014); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB316; 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; DB4PR07MB316; 23:smuIlj/Ari41ORHGV2nbaPVzo/pguqEmDnRW+wmD/z?= =?us-ascii?Q?uPj8RLd/gkfY5sCGZSq3LapXsjvOZhLIilZmG4shyTns181jOsmZn+OlUrkn?= =?us-ascii?Q?Qhs1+AZfjDltIfNksOjBi9qGIidx0ZTY9X8p0jhSNBIZmv4FTqTaS7oaOiVn?= =?us-ascii?Q?na6uFTT3sn+teMXkRYishpBbs3XeG3Z3lxaZCVDCkmqo7zrhrwAGwL/pbXpp?= =?us-ascii?Q?IZm5APJHJbiAMdYCGNdrhSe/E/7ypSxIG5rbdPyxMiujpOAIwAIYDuHBY67l?= =?us-ascii?Q?qxM4uiFC+1b5Q88HpkKdcqwyQzpX0ee3Fs02iAIrvcgDQSwuADvnzdXK+lpf?= =?us-ascii?Q?dyCmIBPxaSoL9pKjS12jZbh/2DLDjaLXZGig3rB1Fhl74l4MT8lzPeRrBq+O?= =?us-ascii?Q?NP+m/bRfhvRRsC1ITcPGcCZkVtreeCpBuOKR3NMqsKNpg31+B0TBar1dlAny?= =?us-ascii?Q?n+XOvQjbFfxzda6ERnvWz+hKQcWE7izi2v29yLYCPPY9cu9MA1uvwLHwHkwd?= =?us-ascii?Q?g+ExaNtvpSKm+j7XAMXgZ1/VQMI/B3XHfhGaWqvehIPDkSdItbfCu+TJL1OA?= =?us-ascii?Q?RtytR7bXGizAisQb6RA1bwLKn5qeK6fqvxbpi7+EWdCTKUWa1U/dpJ9YsYl1?= =?us-ascii?Q?+IBXtvvJbPTu0OQbY4kZSK1wVlexGc5BgnlC60YO8TYMeHFNBFRF5mrpMk5q?= =?us-ascii?Q?SNKpQ/7mXpPImMVcBtFCa0B6lq910xfxOYraydWBp+ICN1AQSaISKVv7tM3h?= =?us-ascii?Q?W1R1BAbRxEVN1RY+YAzd7W5HIEeWTFvXcD34jhOsTEpolDLXuvqHObR5r5qa?= =?us-ascii?Q?IE0Y8YKlJN/0BeNz6htLJ4g3F1S5DbPlimxVxr/1w3KMnnGvJlqmS3OAOv3+?= =?us-ascii?Q?WgOqbZ0DX3VUqAIFL4ljFIMM37Wckn224CziPF2nokAVxbVbmbZ4fmt6XRV8?= =?us-ascii?Q?3q38nMk0D0PbT9EPHwCJA2v9oR1ORxG4zS8vIHFQ9iRv55MmDeuSpK/pNugb?= =?us-ascii?Q?Rr62UyisaU0LIhgzMKQCWu7zfQgfETrB6ND9M1uxuY6QoH9oV19mUUgcgfMa?= =?us-ascii?Q?S1MWsBEVw0rUya6gYd5jShQShQ0YMWw0yUAypPWIhwTIt8hcWjAuq771JHjs?= =?us-ascii?Q?ikXLiqHu24VpJUFgqKk20GKRFP0VZC8zjxhnzAYJT5KihPTjLI/LzlbdQlDW?= =?us-ascii?Q?EUXWGqWuSz1VPbVjEJYBLs17NZ5B1jnLwCXxepCGFSakZM01Ip4Pt2tVUo7t?= =?us-ascii?Q?MdB2MSSjMjRTChVooFdyVOY8HQhDKBpagzwskBaiHC9UKqtfyczN1GPxM+U2?= =?us-ascii?Q?IkDutjLjaXrXKn72SNxciQ5IEPCCATW1NTcfNughRvrFSbsfrp/+j0YXb/M8?= =?us-ascii?Q?DtSQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR07MB316; 6:JveMqWQST6ObXTxJF/z3z3M23CSIkC1z6a1yoVjfLzA?= =?us-ascii?Q?TZ0f/NyMV0aJa4n4jqnsXWnuRkpmgtEk+iV0slMxiyAwu8+yOK7rTCR2afQs?= =?us-ascii?Q?tWS4uK6WaJDA8DLZMeqlOnNZPjxYZYJemwVi67xxwK/ToituP22D1ahhlTmG?= =?us-ascii?Q?ffiJOlRtmRSdatwfifMyT/eHs/x7uBT5FKmhnKJWbnUuzSYP6OaYe9OGwTa5?= =?us-ascii?Q?k0jMZUDsMtE8dgbtusMp6cGhu+EkqQlCOgwIB+S18ADu1Go17nMawamISSvc?= =?us-ascii?Q?I2t0xxyGONIMI16Ie5H7BU5ZgnbDAfkgOe7fmI1uVzAFRSo3fyvSqGALFDyx?= =?us-ascii?Q?d0+TL3tr9NGAjzOpUcZpl27oGmbIsa9npgRm+Ip6kWQb+CQEfs0jeA4QUDfO?= =?us-ascii?Q?jIu4Kk8M/6we6uI9nHE2iQC5IYxy5ZGocf9f4Zef2b2YD/Cw87B3jv429YLl?= =?us-ascii?Q?BFEbKLZTbkcwcpNpcAnmYwaLp/0Kr/dO1tH8gRxJrHKHFAo33Zjp7ukmRQ8e?= =?us-ascii?Q?wzF0v0w0Sg0cl+K9kIiMYcg7tTSHpjISZuDETLSYRl8DB0ee0TaWIsTR80lk?= =?us-ascii?Q?fVZCWvjBbeDbRsNsh4IYg0NrE7k2y17YL+hw8YexROhat3mFTBZknGwLjsvv?= =?us-ascii?Q?HUVO9Vq6uAcDcT3cpGG6O0mZq1J/uVCkH5hZUEHHpnTegItJk8Ww8EvpvvNG?= =?us-ascii?Q?MFA4RCrFucDzdE1FhmgTsA5plmRBp+Y4RD4PitA31xjwmQx3hNrGvvE9SLCo?= =?us-ascii?Q?72IU25oG2HItZ5n9DwBXjSEZJzEhupKVJprU6vx2k3OveRfGq8h9I696bWAq?= =?us-ascii?Q?HaDAwMJFQPXjDSNVV3+/An46On2lgZyB9i4YVHads6oiycUXjNYoEqDCxkfW?= =?us-ascii?Q?PSP6WUUZ52m9BJy4vJ+h/tsaRVwYFj1vjCUX5GDOVa3+T0CfBPyhUm5VQgwN?= =?us-ascii?Q?BE4iqAkLtSyExSDbxxnwnQvUzAl5v+zWttaj3TUFbI96OrwsEaVID3ztaqWM?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 5:UuaWGKP4u3XZiFDVm/VsC0RvMpuxLruJs/SJefA9+BuBlDz/BVMsenI9bewqREWRGpsKc9tQEodl8miwVegxJStK2P+9tualVxXA0kjorW3cOYXTZn/GPiBwS0uhYC80dd61NOZgO43unChoM1QxM+ShCrdihhPJXXQQJtn5Ucbjsbjooj5H8x6pGfURLVqZvJ27AzSmFtCdg641TPBRNgm8Ed3+x2KfTCIaEVsLXGjTkmsgs98Hd3LBdvICsNzHEVxCl9kFStHm/BFJkatSX1zDhztZfNbz4j25Kj1J/OI58LXGBF1TuHdNj94abT9pO+KhY43fnHcqSImeRXbM8EQM1EO06OqtGLQGKNG1wiZryPhHhXZxYnra37oJhRtXnv6X/GOWbR3uCB835npbXc3vMX4Hdg2VkHfDlt2Zw4gW09yuMvBXfaVWD2t7OEoIylw3NpocvrjJrxBWMDlGVwTCBtb1OYag2la2L/Cf1VwI0LKPaQ3s/pV5n3PyoQY/; 24:h2QPen5QjsB3aM9ScMlCWIYUqrQcBoGgT5ZjpVIjl5IREBLm+/Qok50930GXgqEry043pvkim24DXqLEZSfwpJXv7KtcUSIbMBBytUvGpSI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB316; 7:NdaC7v72/kYXU2861hCQG6kiNcj9qIO8tJCncp9yUaVz03cdGGkEeEudLnr3oMDEPV9/otKKdtWVFY8GAZiLvv0CeyeuLEaB5fVWNMmZ7L4NLjt4Jmty0s6Bzt375fyvdl5VzisHxG8m48wmJSqI61hov9MyEe++G3W+5fTMrjFZNEqlFlv6lYRLAtNOMlBe/1TUfDAuFwg0AxcHme03eBouhMfzjCuF9ktQ2BZXIdVwru+RPcsYff6EgyD80ZRqdenuQzajrRabmBziAFK1KrGgGZQpFMm3JPJGKtz0Vb0SBWngoW3x/LZJPus/lBuLTl1jDAikNZDzTn6VSublvisVS9SmON3OzgGztV8Xx074bdyZqMgsYx0K/wL71LV2WYFt7bE7mkS8ECtSGJ/JBmLBfndgYTW2t4eYyCBoT+qxEDwzj+es+V289BkGfY3TqbQr1e1FjN0gG0J41SkpklKGQleGGYGPvYY1pFnVbSVBCHiOc52PqOBQ67nS5jBAq/uEFAVyYMvBVPRek9rS2oXxMxg5bcXV1NBDa52MYHeJCbLf1CIQIsp2+3ZrKBokJsj8gZ7oLKxI35yh3sHfJDokIar7rWRvJzC32fonAE5QQ7UvcULq9HiFQ9NK/DHyOo6okF/09QTWkhzn0woGOcxXGA78+vMWxFM/LOvgeG1u5d8SIyZMFACNWmXtBM5eGbu5y5FpSqUJnyenYbdRY4ydtNH4qmx/GSOr2XR+KjNjKmXG9f9NQAaQys77BvT2F4Pyqte0CsJh5frEW4JG6KI2bKNUsoTRzft55DgeU1Q= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 20:51:26.8397 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB316 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes I got confused by the result value of fast_tracepoint_collecting, while it sounds like it would return true/false (whether the thread is collecting or not), it actually returns: 0: not collecting 1: in the jump pad, before the relocated instruction 2: in the jump pad, at or after the relocated instruction To avoid confusion, I think it would be nice to make it return an enum. If you can help find a shorter but still relavant name, it would be awesome. Otherwise, we'll go with that, fast_tpoint_collect_result, which is at least consistent with the existing fast_tpoint_collect_status. gdb/gdbserver/ChangeLog: * tracepoint.h (enum class fast_tpoint_collect_result): New enumeration. (fast_tracepoint_collecting): Change return type to fast_tpoint_collect_result. * tracepoint.c (fast_tracepoint_collecting): Likewise. * linux-low.h: Include tracepoint.h. (struct lwp_info) : Change type to fast_tpoint_collect_result. * linux-low.c (handle_tracepoints): Adjust. (linux_fast_tracepoint_collecting): Change return type to fast_tpoint_collect_result. (maybe_move_out_of_jump_pad, linux_wait_for_event_filtered, linux_wait_1, stuck_in_jump_pad_callback, lwp_signal_can_be_delivered, linux_resume_one_lwp_throw, proceed_one_lwp): Adjust to type change. --- gdb/gdbserver/linux-low.c | 61 ++++++++++++++++++++++++++++------------------ gdb/gdbserver/linux-low.h | 3 ++- gdb/gdbserver/tracepoint.c | 18 +++++++------- gdb/gdbserver/tracepoint.h | 22 ++++++++++++++--- 4 files changed, 67 insertions(+), 37 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 3d7cfe3..3da60ea 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -2082,7 +2082,9 @@ handle_tracepoints (struct lwp_info *lwp) lwp_suspended_decr (lwp); gdb_assert (lwp->suspended == 0); - gdb_assert (!stabilizing_threads || lwp->collecting_fast_tracepoint); + gdb_assert (!stabilizing_threads + || (lwp->collecting_fast_tracepoint + != fast_tpoint_collect_result::not_collecting)); if (tpoint_related_event) { @@ -2097,7 +2099,7 @@ handle_tracepoints (struct lwp_info *lwp) /* Convenience wrapper. Returns true if LWP is presently collecting a fast tracepoint. */ -static int +static fast_tpoint_collect_result linux_fast_tracepoint_collecting (struct lwp_info *lwp, struct fast_tpoint_collect_status *status) { @@ -2105,14 +2107,14 @@ linux_fast_tracepoint_collecting (struct lwp_info *lwp, struct thread_info *thread = get_lwp_thread (lwp); if (the_low_target.get_thread_area == NULL) - return 0; + return fast_tpoint_collect_result::not_collecting; /* Get the thread area address. This is used to recognize which thread is which when tracing with the in-process agent library. We don't read anything from the address, and treat it as opaque; it's the address itself that we assume is unique per-thread. */ if ((*the_low_target.get_thread_area) (lwpid_of (thread), &thread_area) == -1) - return 0; + return fast_tpoint_collect_result::not_collecting; return fast_tracepoint_collecting (thread_area, lwp->stop_pc, status); } @@ -2136,14 +2138,14 @@ maybe_move_out_of_jump_pad (struct lwp_info *lwp, int *wstat) && agent_loaded_p ()) { struct fast_tpoint_collect_status status; - int r; if (debug_threads) debug_printf ("Checking whether LWP %ld needs to move out of the " "jump pad.\n", lwpid_of (current_thread)); - r = linux_fast_tracepoint_collecting (lwp, &status); + fast_tpoint_collect_result r + = linux_fast_tracepoint_collecting (lwp, &status); if (wstat == NULL || (WSTOPSIG (*wstat) != SIGILL @@ -2153,9 +2155,10 @@ maybe_move_out_of_jump_pad (struct lwp_info *lwp, int *wstat) { lwp->collecting_fast_tracepoint = r; - if (r != 0) + if (r != fast_tpoint_collect_result::not_collecting) { - if (r == 1 && lwp->exit_jump_pad_bkpt == NULL) + if (r == fast_tpoint_collect_result::before_insn + && lwp->exit_jump_pad_bkpt == NULL) { /* Haven't executed the original instruction yet. Set breakpoint there, and wait till it's hit, @@ -2181,9 +2184,10 @@ maybe_move_out_of_jump_pad (struct lwp_info *lwp, int *wstat) reporting to GDB. Otherwise, it's an IPA lib bug: just report the signal to GDB, and pray for the best. */ - lwp->collecting_fast_tracepoint = 0; + lwp->collecting_fast_tracepoint + = fast_tpoint_collect_result::not_collecting; - if (r != 0 + if (r != fast_tpoint_collect_result::not_collecting && (status.adjusted_insn_addr <= lwp->stop_pc && lwp->stop_pc < status.adjusted_insn_addr_end)) { @@ -2715,7 +2719,8 @@ linux_wait_for_event_filtered (ptid_t wait_ptid, ptid_t filter_ptid, if (stopping_threads == NOT_STOPPING_THREADS && requested_child->status_pending_p - && requested_child->collecting_fast_tracepoint) + && (requested_child->collecting_fast_tracepoint + != fast_tpoint_collect_result::not_collecting)) { enqueue_one_deferred_signal (requested_child, &requested_child->status_pending); @@ -3467,20 +3472,22 @@ linux_wait_1 (ptid_t ptid, } } - if (event_child->collecting_fast_tracepoint) + if (event_child->collecting_fast_tracepoint + != fast_tpoint_collect_result::not_collecting) { if (debug_threads) debug_printf ("LWP %ld was trying to move out of the jump pad (%d). " "Check if we're already there.\n", lwpid_of (current_thread), - event_child->collecting_fast_tracepoint); + (int) event_child->collecting_fast_tracepoint); trace_event = 1; event_child->collecting_fast_tracepoint = linux_fast_tracepoint_collecting (event_child, NULL); - if (event_child->collecting_fast_tracepoint != 1) + if (event_child->collecting_fast_tracepoint + != fast_tpoint_collect_result::before_insn) { /* No longer need this breakpoint. */ if (event_child->exit_jump_pad_bkpt != NULL) @@ -3507,7 +3514,8 @@ linux_wait_1 (ptid_t ptid, } } - if (event_child->collecting_fast_tracepoint == 0) + if (event_child->collecting_fast_tracepoint + == fast_tpoint_collect_result::not_collecting) { if (debug_threads) debug_printf ("fast tracepoint finished " @@ -4192,7 +4200,8 @@ stuck_in_jump_pad_callback (struct inferior_list_entry *entry, void *data) && (gdb_breakpoint_here (lwp->stop_pc) || lwp->stop_reason == TARGET_STOPPED_BY_WATCHPOINT || thread->last_resume_kind == resume_step) - && linux_fast_tracepoint_collecting (lwp, NULL)); + && (linux_fast_tracepoint_collecting (lwp, NULL) + != fast_tpoint_collect_result::not_collecting)); } static void @@ -4369,7 +4378,8 @@ single_step (struct lwp_info* lwp) static int lwp_signal_can_be_delivered (struct lwp_info *lwp) { - return !lwp->collecting_fast_tracepoint; + return (lwp->collecting_fast_tracepoint + == fast_tpoint_collect_result::not_collecting); } /* Resume execution of LWP. If STEP is nonzero, single-step it. If @@ -4381,7 +4391,6 @@ linux_resume_one_lwp_throw (struct lwp_info *lwp, { struct thread_info *thread = get_lwp_thread (lwp); struct thread_info *saved_thread; - int fast_tp_collecting; int ptrace_request; struct process_info *proc = get_thread_process (thread); @@ -4397,9 +4406,12 @@ linux_resume_one_lwp_throw (struct lwp_info *lwp, gdb_assert (lwp->waitstatus.kind == TARGET_WAITKIND_IGNORE); - fast_tp_collecting = lwp->collecting_fast_tracepoint; + fast_tpoint_collect_result fast_tp_collecting + = lwp->collecting_fast_tracepoint; - gdb_assert (!stabilizing_threads || fast_tp_collecting); + gdb_assert (!stabilizing_threads + || (fast_tp_collecting + != fast_tpoint_collect_result::not_collecting)); /* Cancel actions that rely on GDB not changing the PC (e.g., the user used the "jump" command, or "set $pc = foo"). */ @@ -4455,7 +4467,7 @@ linux_resume_one_lwp_throw (struct lwp_info *lwp, if (can_hardware_single_step ()) { - if (fast_tp_collecting == 0) + if (fast_tp_collecting == fast_tpoint_collect_result::not_collecting) { if (step == 0) warning ("BAD - reinserting but not stepping."); @@ -4468,14 +4480,14 @@ linux_resume_one_lwp_throw (struct lwp_info *lwp, step = maybe_hw_step (thread); } - if (fast_tp_collecting == 1) + if (fast_tp_collecting == fast_tpoint_collect_result::before_insn) { if (debug_threads) debug_printf ("lwp %ld wants to get out of fast tracepoint jump pad" " (exit-jump-pad-bkpt)\n", lwpid_of (thread)); } - else if (fast_tp_collecting == 2) + else if (fast_tp_collecting == fast_tpoint_collect_result::at_insn) { if (debug_threads) debug_printf ("lwp %ld wants to get out of fast tracepoint jump pad" @@ -5294,7 +5306,8 @@ proceed_one_lwp (struct inferior_list_entry *entry, void *except) if (thread->last_resume_kind == resume_stop && lwp->pending_signals_to_report == NULL - && lwp->collecting_fast_tracepoint == 0) + && (lwp->collecting_fast_tracepoint + == fast_tpoint_collect_result::not_collecting)) { /* We haven't reported this LWP as stopped yet (otherwise, the last_status.kind check above would catch it, and we wouldn't diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h index 6328da0..18ca6a0 100644 --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -26,6 +26,7 @@ /* Included for ptrace type definitions. */ #include "nat/linux-ptrace.h" #include "target/waitstatus.h" /* For enum target_stop_reason. */ +#include "tracepoint.h" #define PTRACE_XFER_TYPE long @@ -358,7 +359,7 @@ struct lwp_info return to the jump pad. Normally, we won't care about this, but we will if a signal arrives to this lwp while it is collecting. */ - int collecting_fast_tracepoint; + fast_tpoint_collect_result collecting_fast_tracepoint; /* If this is non-zero, it points to a chain of signals which need to be reported to GDB. These were deferred because the thread diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c index d4fe76a..68ce10f 100644 --- a/gdb/gdbserver/tracepoint.c +++ b/gdb/gdbserver/tracepoint.c @@ -5581,7 +5581,7 @@ force_unlock_trace_buffer (void) case, if we want to move the thread out of the jump pad, we need to single-step it until this function returns 0. */ -int +fast_tpoint_collect_result fast_tracepoint_collecting (CORE_ADDR thread_area, CORE_ADDR stop_pc, struct fast_tpoint_collect_status *status) @@ -5656,7 +5656,7 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, if (tpoint == NULL) { warning ("in jump pad, but no matching tpoint?"); - return 0; + return fast_tpoint_collect_result::not_collecting; } else { @@ -5684,7 +5684,7 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, if (tpoint == NULL) { warning ("in trampoline, but no matching tpoint?"); - return 0; + return fast_tpoint_collect_result::not_collecting; } else { @@ -5712,14 +5712,14 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, { trace_debug ("fast_tracepoint_collecting:" " failed reading 'collecting' in the inferior"); - return 0; + return fast_tpoint_collect_result::not_collecting; } if (!ipa_collecting) { trace_debug ("fast_tracepoint_collecting: not collecting" " (and nobody is)."); - return 0; + return fast_tpoint_collect_result::not_collecting; } /* Some thread is collecting. Check which. */ @@ -5732,7 +5732,7 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, { trace_debug ("fast_tracepoint_collecting: not collecting " "(another thread is)"); - return 0; + return fast_tpoint_collect_result::not_collecting; } tpoint @@ -5742,7 +5742,7 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, warning ("fast_tracepoint_collecting: collecting, " "but tpoint %s not found?", paddress ((CORE_ADDR) ipa_collecting_obj.tpoint)); - return 0; + return fast_tpoint_collect_result::not_collecting; } /* The thread is within `gdb_collect', skip over the rest of @@ -5769,7 +5769,7 @@ fast_tracepoint_collecting (CORE_ADDR thread_area, fast_tracepoint_collecting, returning continue-until-break at %s", paddress (tpoint->adjusted_insn_addr)); - return 1; /* continue */ + return fast_tpoint_collect_result::before_insn; /* continue */ } else { @@ -5780,7 +5780,7 @@ fast_tracepoint_collecting, returning continue-until-break at %s", paddress (tpoint->adjusted_insn_addr), paddress (tpoint->adjusted_insn_addr_end)); - return 2; /* single-step */ + return fast_tpoint_collect_result::at_insn; /* single-step */ } } diff --git a/gdb/gdbserver/tracepoint.h b/gdb/gdbserver/tracepoint.h index 799a16c..31103a3 100644 --- a/gdb/gdbserver/tracepoint.h +++ b/gdb/gdbserver/tracepoint.h @@ -115,9 +115,25 @@ struct fast_tpoint_collect_status CORE_ADDR adjusted_insn_addr_end; }; -int fast_tracepoint_collecting (CORE_ADDR thread_area, - CORE_ADDR stop_pc, - struct fast_tpoint_collect_status *status); +/* The possible states a thread can be in, related to the collection of fast + tracepoint. */ + +enum class fast_tpoint_collect_result +{ + /* Not collecting a fast tracepoint. */ + not_collecting, + + /* In the jump pad, but before the relocated instruction. */ + before_insn, + + /* In the jump pad, but at (or after) the relocated instruction. */ + at_insn, +}; + +fast_tpoint_collect_result fast_tracepoint_collecting + (CORE_ADDR thread_area, CORE_ADDR stop_pc, + struct fast_tpoint_collect_status *status); + void force_unlock_trace_buffer (void); int handle_tracepoint_bkpts (struct thread_info *tinfo, CORE_ADDR stop_pc);