From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106362 invoked by alias); 20 Nov 2017 16:35:42 -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 106307 invoked by uid 89); 20 Nov 2017 16:35:42 -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,KB_WAM_FROM_NAME_SINGLEWORD,SPF_PASS autolearn=ham version=3.3.2 spammy=40817 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; Mon, 20 Nov 2017 16:35:38 +0000 Received: from ESESSHC006.ericsson.se (Unknown_Domain [153.88.183.36]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 98.1F.08439.954031A5; Mon, 20 Nov 2017 17:35:37 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.36) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 20 Nov 2017 17:35:08 +0100 Received: from elxacz23q12.ca.am.ericsson.se (192.75.88.130) by AMSPR07MB310.eurprd07.prod.outlook.com (2a01:111:e400:802f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.2; Mon, 20 Nov 2017 16:35:06 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 04/19] Remove find_inferior_id Date: Mon, 20 Nov 2017 16:35:00 -0000 Message-ID: <1511195683-2055-5-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1511195683-2055-1-git-send-email-simon.marchi@ericsson.com> References: <1511195683-2055-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: CY4PR03CA0075.namprd03.prod.outlook.com (2603:10b6:910:4d::16) To AMSPR07MB310.eurprd07.prod.outlook.com (2a01:111:e400:802f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0a7ada8d-6487-4ca2-5f70-08d53034a90b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603258);SRVR:AMSPR07MB310; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB310;3:H23TJf0n9Lv+ZrUc8S3l4Z+05U9LS+2+l0V5ObMEhLOF44Vcg/pY/zwrfo+pVWTAVsfz2PUJHIQmH1qfwoYGyg4uQdQRsQzdDSoJ0oRVJgenM8HC8IP3Vg3jM+kDuKBEulRimhCp2PrG3d3ElTpH3RQuMEhIu+sq8exZDhYDxQFf3ITzQ/X/k17u12jTVLDxfu+1nrx6teV8srQriAXPSuZRdUIcdVsvxTAMHX/OC705MRD6h9EW7OJl15KoPjPE;25:nfJ5rAG/T1kP+/tamtJVStYVEDvMYbWFOJerVvmTKlxK7czsGXrdhGXFWoI4qVXtVPa5ZzJ0LFJAZHs6WGPOKHH1qKDHAT8yORXff9lft78YGsk3UtdVGYl9SAcXmHzkjbBxIx7bxHMFMEpIdcuY2ZR/oKx7eY0ekQ3NK9E9EC38aSz+IraU/WSwoNfOa40SAT0jkUlmz9mO4+h19+A6YCvZqHthNWgeNHbjm4HHNPhw3eLPaWGaEPwy97WA4pxdzwPAoELSMriWDGOLGlzoJ+vRwLXVN59brWPV9HpEh0NRjGyNLzWmT2LtkVy3/LsKTEJqBzfOxIjBeLaSya7eLg==;31:DNZGxqwAjRnteWgbdcE4I5VZy6Z4H5vJnGIl6n845ix317s6S/Bsyc2IGY8hqdDU3etvJseQsvc1TWJBsU8mrQTZu4ZgLl6ViWwtOyIAltcBNGaxvn5H4NhGnBUzFGZeuM4PYXFgJ+b/n+fjgtNnsqtg0oc1V11Qzz2o1LJeBDoac8tQnOeNjOHT5x9syHwe/HM/ZzP4HXzSZF9Vh4oi7nuU4K05QdPUM6Ma8x8v2/8= X-MS-TrafficTypeDiagnostic: AMSPR07MB310: X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB310;20:fdV+uU+zaj7n2HzUsqb3yfEbmtpiNdCpGB6q92KWCVlD2+8V1OdiRJ5KHi+zp350YuEjj95LouWzSdgVafbig05zXXuLqzVdfeMdKU8e2JdE1/zRR/fny78VsEKPVNTHD5psLAAnIIs8LyzUf1QNRbJXY9m5wbWfwr0mcJIQZwKR2AJddbUlpzEy6G629C+DoZlM/kqQz8zA2Ev1h8coxhiF2gDsn27g8Th2QQa/cZkMlfqZMyXVystVi/gEirlfjGsBugDlGj+Ixx4ecQMFUGXKR2DTHtfcl0xyVLSe7y8h+GcjrqwL3RO8myqaet6RCGxEuve/wCqXDYEEfqszNXINc/weDZ4TlQFqd5nEdcP6h8XyioBK5YiDlXb5XYRgKPye/g8OdbGt+LoZCoX6Mv+MSBf/8YHTrntt5t9rO0BEhL0pWGd7kN6aMSOB+zv99KYW5uuidbLF64aRHG2frgfGiwoj7Ydx/bqRC2DP6wOq7BqtDBzShiPPF23omVFT;4:Mh8w3uGLkaTdOHHJkC7mmV7ecWFUh48QR0qoIAQ5Vj3PQBBF7K+SxDcRxp5ENu3NbLUSVPcjrG/7fMg8SFmXJXXnMnGXx9Qc6jVZYnweVZzr9uWWWm1AyERoXxU+qvlyTjGD5FSV0Eo2zwUtKZL5uwmYtMEjrDVUXdg3hxz7GUOP7gOy1H9cARwyI/jZoGO7whSKNzUev4YYUTquPssP1xkKcBv7a+63f+eyc7LT+qDtxmOYsp5MOBemNGd6NdCiSBgn8bngvdzG4UHfUu17eA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(3231022)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AMSPR07MB310;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AMSPR07MB310; X-Forefront-PRVS: 04976078F0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(54534003)(3846002)(97736004)(66066001)(5003940100001)(33646002)(16526018)(50986999)(76176999)(6666003)(81156014)(305945005)(7736002)(81166006)(6512007)(5660300001)(316002)(6506006)(6486002)(16586007)(6916009)(2950100002)(101416001)(8676002)(2351001)(2906002)(105586002)(36756003)(47776003)(86362001)(50466002)(48376002)(50226002)(8936002)(106356001)(68736007)(2361001)(53936002)(478600001)(25786009)(6116002)(4326008)(189998001)(575784001);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR07MB310;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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AMSPR07MB310;23:ucHdT45J32kPm3c3G807/ri8rB7JJ1ePlkJDgerzAk?= =?us-ascii?Q?xfCEoVa5k3Bn6hfsn+iBOwTnpl9mLk0HNuY2h5KFkoZFcx9yd/kj2wLU0J/b?= =?us-ascii?Q?81w1RilKnVPZpqZxuU/HLTmnr6vXGulqKlO7vmEsP+sqPQGwo260SPLuKu+c?= =?us-ascii?Q?5YCsDY2kxdcI9GQST7ytyccVUKkgi9H1Fp8mVm5N1/sEB37EYGP1Xby9oPrU?= =?us-ascii?Q?ZEukNv5Od4X+H1AaRExkCtbGK+eL9i6fGClrWmgyjLgaRh/TBs1eRwq4Wgcp?= =?us-ascii?Q?XrYjd1RoQStKFh/56H6JtSowEkRh8+kiL0jtTkwTbs5ZaFD/WjyhPKefcKgK?= =?us-ascii?Q?4IIDKrrdKoEXEBVJps5e/EU9p9ifR4Nnzmyo7Wiuqa8ptinXW8wls8ChbpIy?= =?us-ascii?Q?ejwvUgne/nSDNaC3nZhMbJn0ArVc4A7QCBIl84u2FFVwjc6CzgV8BCnYkYMO?= =?us-ascii?Q?7GiyXMSscZck+jNHMN3rU0RvxJx2OmYv9QkNFDMkaOAAzu5iozCoYP+lz550?= =?us-ascii?Q?amMFhRmCEJRc/MF4QA4u111SjC7EFX2lQYwevbl+aICOTcUMl2oAGxaH9jlY?= =?us-ascii?Q?1fiQ1tLlFgdU+Wx5XhJJVSLjvZxtVIj6FvEr/+yjSSR5eZsJmA0d+1DmjbJu?= =?us-ascii?Q?7bjzV9sU/x12XPhKLHMkNP9ISIHKXLiwxSuTvGuaNFDVcI7BD5P509HBYGcY?= =?us-ascii?Q?1sn4tpQKoCVBgTVYEM5XqI7fND76FZXftaQgLkMZUnBjmDJfnkang3vSJpH2?= =?us-ascii?Q?+c5WXDolBnLI+McJVcNhkYKbsh9W5S2ss1t9oTafj3hlDp4i0Z2hpTemGAuf?= =?us-ascii?Q?zOqOceZswxH6y5lAlABCnLsKvHWUJO+Zgj2AD2hnSpnEe51qzv+iAx7LBWuW?= =?us-ascii?Q?BL+DX7VsiUfrZPixMFkNeHfQsVGNrC3l4RsAk2/ZTBJpGzwtiIQBE7gALcj/?= =?us-ascii?Q?s45bxhT5bAaCyGmRDFgKNn9zYyvHaRLm8TTyttx9uY3AMgdEraTdROkV2ySE?= =?us-ascii?Q?QcnsNMgOy0iplTDSd081ePoyxKsIleBqGjlvvcAnArnaXjKWZ3uoJfSJEJI2?= =?us-ascii?Q?gE6s+pI3m94UI4I2dyq4r78otMpN81X2ofUgZ57N0/t3EpgQcyeMUSDwMJ05?= =?us-ascii?Q?3h8sejvl64NPS5909epaYh7zJGiVvZfxvyCgkg1YYtBAcwpWYmgh03iXZeJy?= =?us-ascii?Q?f33+2k/YrewbQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB310;6:uXRqUEHR2ItV/mcC/CWK1L4vR3xDTCTLp69rmy4F413vbizdQN8t9IEA+V5mM4pHvmd9wcdaRgmZok7jo1K4PHJAst8yygxo5qU5B6ZshwrI3s765nS2CVmXD38ER6by+Bo0yT/e3hFsR+FudHK/7r+jz/T/F7bj/WmyAgVoV19xRW8NaCpLb+hT0GRdbelJ6SCdy7ioLprV+VuJRQAZvrU6SSxOqFUzhtPmsnWRicJDFy3MSnz/+3Io4+4jgaObtn4VbxTyu/riMCa+B7n9gYvBXns+0JC1u5bYvQABEJcC1e9W583IomP61I8EazhXy8Lrf+RRk22q//tpX1KgIE128cluL3ugQ11bJBe06io=;5:2Z/cbX684T5TYPIAhZMrdy5HG+C5n710hPbcJLV33/pwz7jF3HAeDvD3Pk6kFVpPrXcNPm5HVSxMh5Lg7JLMoMwRlDF6haCIu+MGJ6eSvnUSPJYlUQcJkN1UBEYTms1esPiSYXZA3ysIOfo2Sn4W19LruBTjGpixsujEvaqk5ps=;24:kglY8K8PvYJQmOCrjM9Lg8cIiYZINEAUpKWArD77nASySg2ZIlWyTgIG8nFNrYJ9g2YCgof6/6ucdE0he+tyDyS+E9wnbe1uO+iF0JYOJqE=;7:XYj7fEFZlMWtmJp/wkjCqQfbKKuxbWx+U87eJ2ggu+ij8LNZ/7uNx/6xC6e8ES+Ad2zMHgspBCEo4Fv4G4mrAIK8wachKlWakBDAOpnEYGemi/iX3zrOCT2g9MZFtErHe78Zl2IgoIEwqWz2mCBwxcExB0xZeyo4gZi2OgG9a5V3D2Uzf5T3jTtMootPBFCE2goVT/973H7BhyMfWBEOTqglc5Ka+h0XH8ACmcppQ5t8thDfIWipSEUJenvN/1O1 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2017 16:35:06.7195 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a7ada8d-6487-4ca2-5f70-08d53034a90b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB310 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00417.txt.bz2 From: Simon Marchi Remove find_inferior_id, replacing its usages with find_thread_ptid. find_thread_ptid was implemented using find_inferior_id, so move the implementation there instead. gdb/gdbserver/ChangeLog: * inferiors.c (find_inferior_id): Remove. (find_thread_ptid): Move implemention from find_inferior_id to here. * inferiors.h (find_inferior_id): Remove. * server.c (handle_status): Use find_thread_ptid. (process_serial_event): Likewise. * thread-db.c (find_one_thread): Likewise. (thread_db_thread_handle): Likewise. * win32-low.c (thread_rec): Likewise. (child_delete_thread): Likewise. (win32_thread_alive): Likewise. (get_child_debug_event): Likewise. --- gdb/gdbserver/inferiors.c | 14 +++----------- gdb/gdbserver/inferiors.h | 2 -- gdb/gdbserver/server.c | 6 ++---- gdb/gdbserver/thread-db.c | 8 +++----- gdb/gdbserver/win32-low.c | 23 +++++------------------ 5 files changed, 13 insertions(+), 40 deletions(-) diff --git a/gdb/gdbserver/inferiors.c b/gdb/gdbserver/inferiors.c index f4101c7..be3f3ef 100644 --- a/gdb/gdbserver/inferiors.c +++ b/gdb/gdbserver/inferiors.c @@ -43,16 +43,6 @@ find_inferior (std::list *thread_list, } thread_info * -find_inferior_id (std::list *thread_list, ptid_t id) -{ - gdb_assert (thread_list == &all_threads); - - return find_thread ([&] (thread_info *thread) { - return thread->id == id; - }); -} - -thread_info * find_inferior_in_random (std::list *thread_list, int (*func) (thread_info *, void *), void *arg) @@ -120,7 +110,9 @@ get_first_thread (void) struct thread_info * find_thread_ptid (ptid_t ptid) { - return (struct thread_info *) find_inferior_id (&all_threads, ptid); + return find_thread ([&] (thread_info *thread) { + return thread->id == ptid; + }); } /* Find a thread associated with the given PROCESS, or NULL if no diff --git a/gdb/gdbserver/inferiors.h b/gdb/gdbserver/inferiors.h index 4c66a74..a8a374e 100644 --- a/gdb/gdbserver/inferiors.h +++ b/gdb/gdbserver/inferiors.h @@ -142,8 +142,6 @@ void clear_inferiors (void); thread_info *find_inferior (std::list *thread_list, int (*func) (thread_info *, void *), void *arg); -thread_info *find_inferior_id (std::list *thread_list, - ptid_t id); thread_info *find_inferior_in_random (std::list *thread_list, int (*func) (thread_info *, void *), void *arg); diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index f0dac95..26c4a01 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -3355,7 +3355,7 @@ handle_status (char *own_buf) if (last_status.kind != TARGET_WAITKIND_IGNORE && last_status.kind != TARGET_WAITKIND_EXITED && last_status.kind != TARGET_WAITKIND_SIGNALLED) - thread = find_inferior_id (&all_threads, last_ptid); + thread = find_thread_ptid (last_ptid); /* If the last event thread is not found for some reason, look for some other thread that might have an event to report. */ @@ -4081,9 +4081,7 @@ process_serial_event (void) /* GDB is telling us to choose any thread. Check if the currently selected thread is still valid. If it is not, select the first available. */ - struct thread_info *thread = - (struct thread_info *) find_inferior_id (&all_threads, - general_thread); + thread_info *thread = find_thread_ptid (general_thread); if (thread == NULL) thread = get_first_thread (); thread_id = thread->id; diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c index 67970f4..537758c 100644 --- a/gdb/gdbserver/thread-db.c +++ b/gdb/gdbserver/thread-db.c @@ -165,13 +165,12 @@ find_one_thread (ptid_t ptid) td_thrhandle_t th; td_thrinfo_t ti; td_err_e err; - struct thread_info *inferior; struct lwp_info *lwp; struct thread_db *thread_db = current_process ()->priv->thread_db; int lwpid = ptid_get_lwp (ptid); - inferior = (struct thread_info *) find_inferior_id (&all_threads, ptid); - lwp = get_thread_lwp (inferior); + thread_info *thread = find_thread_ptid (ptid); + lwp = get_thread_lwp (thread); if (lwp->thread_known) return 1; @@ -452,8 +451,7 @@ thread_db_thread_handle (ptid_t ptid, gdb_byte **handle, int *handle_len) { struct thread_db *thread_db; struct lwp_info *lwp; - struct thread_info *thread - = (struct thread_info *) find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid); if (thread == NULL) return false; diff --git a/gdb/gdbserver/win32-low.c b/gdb/gdbserver/win32-low.c index c7684b7..fecab84 100644 --- a/gdb/gdbserver/win32-low.c +++ b/gdb/gdbserver/win32-low.c @@ -193,14 +193,11 @@ win32_require_context (win32_thread_info *th) static win32_thread_info * thread_rec (ptid_t ptid, int get_context) { - struct thread_info *thread; - win32_thread_info *th; - - thread = (struct thread_info *) find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid); if (thread == NULL) return NULL; - th = (win32_thread_info *) thread_target_data (thread); + win32_thread_info *th = (win32_thread_info *) thread_target_data (thread); if (get_context) win32_require_context (th); return th; @@ -244,14 +241,11 @@ delete_thread_info (thread_info *thread) static void child_delete_thread (DWORD pid, DWORD tid) { - ptid_t ptid; - /* If the last thread is exiting, just return. */ if (all_threads.size () == 1) return; - ptid = ptid_build (pid, tid, 0); - thread_info *thread = find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid_t (pid, tid)); if (thread == NULL) return; @@ -892,15 +886,9 @@ win32_join (int pid) static int win32_thread_alive (ptid_t ptid) { - int res; - /* Our thread list is reliable; don't bother to poll target threads. */ - if (find_inferior_id (&all_threads, ptid) != NULL) - res = 1; - else - res = 0; - return res; + return find_thread_ptid (ptid) != NULL; } /* Resume the inferior process. RESUME_INFO describes how we want @@ -1582,8 +1570,7 @@ get_child_debug_event (struct target_waitstatus *ourstatus) } ptid = debug_event_ptid (¤t_event); - current_thread = - (struct thread_info *) find_inferior_id (&all_threads, ptid); + current_thread = find_thread_ptid (ptid); return 1; } -- 2.7.4