From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19358 invoked by alias); 17 Nov 2017 18:34:01 -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 19305 invoked by uid 89); 17 Nov 2017 18:34:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KB_WAM_FROM_NAME_SINGLEWORD,SPF_PASS autolearn=ham version=3.3.2 spammy=Request, Hx-languages-length:2537 X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 17 Nov 2017 18:33:59 +0000 Received: from ESESSHC021.ericsson.se (Unknown_Domain [153.88.183.81]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 4B.EF.08439.59B2F0A5; Fri, 17 Nov 2017 19:33:57 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.81) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 17 Nov 2017 19:33:56 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ca.am.ericsson.se (192.75.88.130) by DBXPR07MB317.eurprd07.prod.outlook.com (2a01:111:e400:941d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.2; Fri, 17 Nov 2017 18:33:54 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 04/11] Remove usage of find_inferior in reset_lwp_ptrace_options_callback Date: Fri, 17 Nov 2017 18:34:00 -0000 Message-ID: <1510943613-18598-5-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1510943613-18598-1-git-send-email-simon.marchi@ericsson.com> References: <1510943613-18598-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: BN6PR1101CA0001.namprd11.prod.outlook.com (2603:10b6:405:4a::11) To DBXPR07MB317.eurprd07.prod.outlook.com (2a01:111:e400:941d::11) X-MS-Office365-Filtering-Correlation-Id: 308958f4-5dfe-453f-6202-08d52de9c21e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199);SRVR:DBXPR07MB317; X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;3:TfleRoYfkTU/orFkkTyjFRGXDVwUCyiuBKMiHtZHTr12ZjtWJY+51nJAbyVToT4y/deFG/iJhb4ymSqF1pWdRhIHuud81X4sdkO99XzmJqzXtkU0wC1rffqWTQFhAMzKEbro+ZGiIvUe+RL+/W78CqhQInZ2EGw0XoNU1o0aTUxvlTKkA/jZcOjWS0DtC1c5/GX+BWvjJEIvznk9ke/zoYBDc8hTsytfJ7q8xI3OsV8p9u/FOw6cLygSeXkfqgmb;25:UB254Ry0UvXGfJXEYORnCfTLl6Gqe137JLYxOaNb3u0WzgGaDyTXbP7GsH07F9OFMQSdqi+9Gr0hV3o6/0gSPBFaL7wDpq4c/ZTT6maauNnWB4nuS0X1XjX/CdtQMrwEFTVyuBSCAj3dLj6q3jL7S9oKtG+7W6rL1k3YcyPP6cfdN6ntur5NtCKTKZJdVjwlHZhmMBDNidOgwKOEAySFUQdmpC/D7a15gEl12ZChGUNBYglypXZVPF9nKYMoGKqzXNnu9qLlM2UbhhuqYhspjwp2Vxf2rEYWuodz0MMON1ZQYacW+Pl5wZPfkfy6wNrHKGKGGaSL5rf5eZxl4il/pA==;31:IgdSnm+fORiGAPzWWOaVBB6gRmEp+APr/IrDLwf6AFTX8vCqcKR3LzYk+gHLEiY3uEBNahE3tyJV+1sOr4zTFsEmXxoT2+PZf/Iu19C9LLPCmF5BNGGl+ujF/OpBqVaTXd+AYMg5epCz3v+2rfqF6kj0A/cb0+87u2gA2HePP0v/iqMeVPqlUzGzoAv2BmnU6QwBzqL4ng1zai66KUr8UaTwTMfS8QM4o7iOJLTFawU= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBXPR07MB317: X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;20:pVky1hpOMgKdFLDeRquzhJwoMzez2gVXndcTZhrSbN8nqjLgVQKd+oifEGYUWK2t7jhChVkZC/K839tToSjNvzF5SjWC26bo2CgxcIfRc6YDOHjxygM3Mp5bU3uRtbJhPZaRn0r9mSWMDnqDD5GItR6/Jui3TBrMDmek4v9tIt/tCzNnL5YXC7cBjBxayPV1PdEss8KwH9c8J/pF09ff22k1biPnrhqp0t5LUvQZYrqQ0rJg7nB3SrVbGmHBK5EB1imrfVT2eD2znryJG5QfaAeGepwwwAu+Cv1AOymyDQ0ZGsYzBVLC9tAOFVA5GQEX1xkJ2+SeuLNBOXXkffa8xQnZZDDP1/T0wMvNhhI/+mXVZjMXfnYB85vx/vmKx43J71cfwR/86RAjCKgdrHBVVCMvFdWHwLgvWhhAAjZOGXSpYvqeOd8YCdmKY7DrasjCQ1GYtw5RKZ8AekLDdQ3gPb8KvJ+Fxqd3jyolCaCH3GE1uL/1MMjesHPldMQb4WBm;4:vNOBqndThxU2IlztEgBqhqueFdbRIKPFx2HPaWfVq97HMie5s4MTB7NNdeYvTGwX7yDf/ZiDKAX4oGnwNbG+avKyzznZxMXkznwovKGg70U+wmg80Tp2Kx8BYxpaRLGTbM4CSxyCBBBn1Xp8PAclB32c2ryNUkcgk6kkIO4SY0CAonYutBk8kpWMrVYkxQFEDd5t8OyFYUzvnWiSQOGlzIlY7KdtgbzOHiRJRA1W6AFdx6P3EKNAXtkqjOGdFmfiUCRBNQKTtmMSk/3xS0TgQejE76u7dURy1PJvSKXz+mfRx68OC9kjZ1EOjRIZHOqU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231022)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DBXPR07MB317;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DBXPR07MB317; X-Forefront-PRVS: 049486C505 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(39860400002)(376002)(54534003)(199003)(189002)(86362001)(16526018)(2950100002)(81166006)(6916009)(81156014)(2906002)(33646002)(316002)(106356001)(47776003)(8936002)(6486002)(8676002)(97736004)(6666003)(4326008)(16586007)(6506006)(107886003)(53936002)(478600001)(189998001)(6116002)(3846002)(68736007)(50986999)(76176999)(36756003)(105586002)(5890100001)(5660300001)(101416001)(48376002)(2361001)(50226002)(66066001)(6512007)(7736002)(50466002)(2351001)(5003940100001)(25786009)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR07MB317;H:elxacz23q12.ca.am.ericsson.se;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX: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;DBXPR07MB317;23:Sgbd+PKtZQHONS7kVD6uHAOmrqvdxtjKquj2m9jEAH?= =?us-ascii?Q?2HyVeTiEwgh+aP03zf+sFNiUSbKdt4fH4wwezzl5TleWy6kfQtJqZ86LvudP?= =?us-ascii?Q?Go5wVYKZs8J02iLS3nSPRHBZwJYf6A6ZGkGshRolsdW0Uip/vIYl+nLIWK2V?= =?us-ascii?Q?pnan4ZHsDPewv+OGyVOkLxMBishA4an3XrlnyWWIT67EKNVz7D0k2J24eaw9?= =?us-ascii?Q?qZQL6mr3AyQOKzDjWMXCwu5+oLJ2jxp0zWhlkWX15reKCPpb4mTbBbWld9dV?= =?us-ascii?Q?vPT7L97VBP7w9AnEGDC5KQig5+6uVdl1btRtLnqsVwN0edmfvQREB9Z1+1hW?= =?us-ascii?Q?QwnsYLEKUsRn8AE6QRkrbEm1sgtACP88RaWGzg5Vkm7uUGijjxL+Y1JunStN?= =?us-ascii?Q?jvUpPdhCWq7+D0ILD/YzfUzvH0MQ0UWKGrMP9A+zv/XGjKjPNaq5rAARmRgO?= =?us-ascii?Q?ljmTnT0NUW9mztQTjha5qgasXiI6z2YugSJ+32JSnHbKHUBLCPU4RcWIFVCG?= =?us-ascii?Q?vKQhufnRuXvrI3fGkdI8182OAzHI4XwTFSKnAPq4bb2WvZok217iTcV4srul?= =?us-ascii?Q?7g74DdH945IxLL4JDAewnOtpKKTNJMbkt5xM9LUt3LnMzIiQY3iU/CWUPyba?= =?us-ascii?Q?UuZWJtfqlqMAeVFlYTi/OqdHqPXo6UYzZCB8PnkcxNlHU2uvQ5Grr6jWMWQp?= =?us-ascii?Q?kYljl59y7DJDHLZUTh4v2QutMkWYRZsg8Oad26wzCnA08ZJZBfzDgiYM/EWm?= =?us-ascii?Q?wECmi+ihCIJHpfoZVVJpd5Xe7RO4JnlzvobN7CLEVgqq6BrdNbNMBmPnmPwr?= =?us-ascii?Q?A9lTNMUlMV3u5I4eJrkYg2Hgc91T5851GbAV7we0OcZRWWFSnImQPO2vqEa6?= =?us-ascii?Q?zEI/rNZwnU3SUXHZkWd2qQ6PoQrSDXnMWGcboHoBLD/QW1NarNR4Qyo9KvRI?= =?us-ascii?Q?cGMtNr+xFXRsSRF8XPE9C2BNsAseyLgTFzsi+vIxgzSNrXKx2bZaLhJKtVYc?= =?us-ascii?Q?d7Dwa8ibs3BI5xhl0ng4xciH0yweD9bb6WxRU1QrnSw+lptYi/675oXf/FfC?= =?us-ascii?Q?Z7gGoS4T0Ol5hTaFRwf/XHDdG20UKVyI95nl4Ozs7bfvMtXCNm0CnQ68iDGe?= =?us-ascii?Q?hhfD55r0ukL9Jim8TWSInPy5YnsuJh5kIrKkgeBesFA1tAYVQlWHXXSl1Xm2?= =?us-ascii?Q?fIJyLZ/8qNQct4PcXyI1gG8vk07aOrbeqL?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB317;6:X60EuDU+ZlKBbICRQmCnlhQgmG9GPBtudgaOl+sILMfsF8Q9uf4x1f3NvI9gf/HgJGOMNwR74MSz5+1Fo43WHbNJbIiN40qCuWwBD1uNWETu3m01YPN7FKV3/koN+QK3ppk4KTu2h4Du4rHpm+h5gCABbURDV3fR0o+65Q2YMvyWHP5xZDpc6QjTckvU5KVlbjWAsE1deu7oi+9uNkviLiE4dXZ1fTzZqHWrH/pAt82Q3Q8QCP6FmmAnFecXwdzcp6PZ3pd1rxnkdWXmLrb/5czL4HqwLj62QsqEjG+OLSdCZnzdeTPVqPcmZeQrH2mz/og8Yl7NxcLJPS7rcckwcV/SE7WPaqHUGgsZouBS00g=;5:FU4VpT8ZummKxX4WM4Qm5VNrvSDIJ2t4VB/adYMjAKyAaWI2gAokRf6h8tCdz2Gzsyr6P+3hWC6ATLcRiP3eXR2HDdCf7//lqmqyiyvftliz2aVm053MG27lX+TQ+6pEUi9ywrpK26bqj5ALIEttUjGAL+nxPwNsf8CFNcegvuc=;24:pKUdYRGXaCmlGU7CCEdPyLsJUhwC+rF07veS8TJyYlRRn2xPFAhAjaTMuM3lOfskNdPrvTImu2lPIjb88DI8xlEoEE62Cs8jrIItltovg2M=;7:8sunwWgtUbaykuiwN3WHkrzuJ7x6DJYeBiGLjA1/REStg2Svx7lVtMdBa7rjSSf2PeFn4b1cYZiYAmLIbESqX9gHkCoB0i5EBFN5FmoobJQY6cOk+zi+IoF3qhzHi/1WpCXkWo2C+PthnXrQI0K436h+QkQxNscMn/2OsVU2qgdoIuzSdz8lPNqYJqkiUfoTlqnOODPR9oM2sXmdo+CH7yj6eXTSV/1HYhFm8iaWwNfi8f2PmRv1Osiv1awFS8XE SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2017 18:33:54.5662 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 308958f4-5dfe-453f-6202-08d52de9c21e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR07MB317 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00357.txt.bz2 Replace with for_each_thread, and inline code from reset_lwp_ptrace_options_callback. gdb/gdbserver/ChangeLog: * linux-low.c (reset_lwp_ptrace_options_callback): Remove. (linux_handle_new_gdb_connection): Use for_each_thread, inline code from reset_lwp_ptrace_options_callback. --- gdb/gdbserver/linux-low.c | 50 +++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index b267c70..628135a 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -6434,33 +6434,6 @@ linux_supports_exec_events (void) return linux_supports_traceexec (); } -/* Callback for 'find_inferior'. Set the (possibly changed) ptrace - options for the specified lwp. */ - -static int -reset_lwp_ptrace_options_callback (thread_info *thread, void *args) -{ - struct lwp_info *lwp = get_thread_lwp (thread); - - if (!lwp->stopped) - { - /* Stop the lwp so we can modify its ptrace options. */ - lwp->must_set_ptrace_flags = 1; - linux_stop_lwp (lwp); - } - else - { - /* Already stopped; go ahead and set the ptrace options. */ - struct process_info *proc = find_process_pid (pid_of (thread)); - int options = linux_low_ptrace_options (proc->attached); - - linux_enable_event_reporting (lwpid_of (thread), options); - lwp->must_set_ptrace_flags = 0; - } - - return 0; -} - /* Target hook for 'handle_new_gdb_connection'. Causes a reset of the ptrace flags for all inferiors. This is in case the new GDB connection doesn't support the same set of events that the previous one did. */ @@ -6468,10 +6441,27 @@ reset_lwp_ptrace_options_callback (thread_info *thread, void *args) static void linux_handle_new_gdb_connection (void) { - pid_t pid; - /* Request that all the lwps reset their ptrace options. */ - find_inferior (&all_threads, reset_lwp_ptrace_options_callback , &pid); + for_each_thread ([] (thread_info *thread) + { + struct lwp_info *lwp = get_thread_lwp (thread); + + if (!lwp->stopped) + { + /* Stop the lwp so we can modify its ptrace options. */ + lwp->must_set_ptrace_flags = 1; + linux_stop_lwp (lwp); + } + else + { + /* Already stopped; go ahead and set the ptrace options. */ + struct process_info *proc = find_process_pid (pid_of (thread)); + int options = linux_low_ptrace_options (proc->attached); + + linux_enable_event_reporting (lwpid_of (thread), options); + lwp->must_set_ptrace_flags = 0; + } + }); } static int -- 2.7.4