From patchwork Fri Nov 17 18:33:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 24317 Received: (qmail 18968 invoked by alias); 17 Nov 2017 18:33:58 -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 18948 invoked by uid 89); 17 Nov 2017 18:33:57 -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=STATE X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 17 Nov 2017 18:33:55 +0000 Received: from ESESSHC002.ericsson.se (Unknown_Domain [153.88.183.24]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 29.C3.09556.19B2F0A5; Fri, 17 Nov 2017 19:33:53 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.24) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 17 Nov 2017 19:33:53 +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:51 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 01/11] Remove usage of find_inferior in win32-i386-low.c Date: Fri, 17 Nov 2017 13:33:23 -0500 Message-ID: <1510943613-18598-2-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 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: f47b4b43-e2db-49e1-fea5-08d52de9c094 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:X7liI6Y1b8EhiMCve4gAixlO1IKP/16FUrcqBDCz/DCda+z1xDUvmKvu7kgsaaPpXGIDrRaQw75UHIroEwJ7RX+cyt6+fXjVDm3NN1Ydhs7G65VxtUVz8+Lb/lvHN3iWQNWOy8cpswnVEBNw7swZT8jjpH2D8Pm2pZuaRsebq6Fs+Sh45j4+6T+wJXalaCYbvr8uKzf/Ot68xyjx77s9UJaweyeD1Rw2S11mt39h2rYNyA6PRzsYJ5NyN3p0HX/x; 25:xpzVVwxXBbm0w7mUfcAAiAJKZ3bg+e69SsC0Jq4PG0ltoF6PQv7yjQ0gKBQr4KDrilPD1Ib9jA3NSu14YOTG30uKjyy5HKkRnBUlydfaNPDmp2NDzB09DRLPPWpWzVGVULNNAeQCJq+YvcIhngQbCf1hKdH/EcMjdMHf6M6wFpFZe8Ovd2zm7pgbyZkLJtBJwAEpTS5HlZcgwXqZ3nwABhcslo4IayPFoSi+X+VRbFd9NONim5dmMEYnvIP6dDwNZZIZt0pesr0DA7W6lxeSfyvGPzqqDWdvojjX59PopIIYee5dZkczBvukVQDydz7aacW9VbaYCo89bUt/p83Ivw==; 31:ggIhU8AVFyiUcYRMUAuody3dumxT2Tlgmhr5PSJs5McvuC0c3TBGrO0pPpvPQNmhljWa8L2ZSqEQBD7PQc+woAV/vckaobLS9cDJSV8/ydS1J0+hgHOjkaGjZFfjR6J5z5htpRl9QWy0PEi0sg7CeTH2AZAlgVGjSWN8n5Zvahcy1cBx6nmJerJbePmNsCPLKUFwCK0l5/xjAvMzxDki8MfBvpO8ekmkUDnKPneE2FY= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBXPR07MB317: X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB317; 20:8aljJrfh7Suqjtlm03dUabszRAE217RtGGXfbLtfzVd0/kGYasz0Uv4t6pyBTMHfwEMBgQ1LPGr4FaS+Y0L7228TTxGCX2/aa3Xr/X99ECmQyOk7q9yMVjRVIVDDBLGPrd3v6dg4PH1/KEzxVN2bBmf2MyoK8cuh48cwnSQromr5yREIu+EoVilUmH+PSJDB0kuSHCTgoSPlFxoE9SaegzrnxmE8VuVWno6Vyiq1NOpS1uUmUo7QGbgwagSniqOSTsUVcCobAFF9v01sHOjtrzizYr3Hfp0rBAUGOvGGdjL8m+IJc19nqDtoOdRts1y+wy7UxeTHu2MC8EENiEYPj3V3KVMQT6WW6EY6GaHUljo94If6Y33qx3niUXxLOX1EBy5WKyuNiykQJ8Kntx0c8tksajK6CkWjv1QlNqUXdbuwd+yToc1Fd1d3rEIS/SZNtRvwCWwuzD6ULEbkuc3FfFVSGFU+rnKFzyWy3W3m7HgIL5WSI+IHO6Y6rv6OaNTx; 4:y9N7HEQjLEdaVZJmNMc0SIz76jMB5Q6SZoROopLFzsffP5kJsXw140effrRpOiPlvtPvlysKkNmgJrgEjLFWbeNbBdi7TeVXb35l/WL9iNXaPf85OOVc8hU2nJVhDrpfp1lR/nS/OYAdEtTqKFtAVSCcMITX5ySKZKrVqdlm1qttGf2sIpHXpTipZ4dcd9+bt6z0ppmVblgDwVgCi7wVe57Kx4v7R0l4MXqO5xRdfd2YVZ/9dXnrTk2SJgulDm4t7TRZ4N4dsxgmpPyrT+7Okg== 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)(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)(230783001)(76176999)(36756003)(105586002)(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:OB/ZJPMKWz9erla9s5r2edh30f6/r1LNEPNb0QbSQp?= =?us-ascii?Q?4CfPstZSE96KPECDdGZWXBpotsoSq1y97O2G6hhDlEWkASPnU48UdNEccOys?= =?us-ascii?Q?nw3zhh3gc31igygs9mxtJfUtluFWkOXjeEtcKnvsAteo/NkftQdJPJNBV+y2?= =?us-ascii?Q?lb9MNRfWgLgPgElpOzSMnf3TlLJ7hWSNbfu0Cfh0mN/xhxTHBUZc2gVcK7Gc?= =?us-ascii?Q?4pglUR0Duxl0ZnklvS9fkyGQl3XtdfB79LTSb0v5Ftogk7WLj62B/LvyUFWu?= =?us-ascii?Q?k5kgJjw0l8gK6S1+YsO2v3XORfvyVcokCGemoXA2DXTjv+xDeJn5CwdjrIoO?= =?us-ascii?Q?/xML8vtn8wDbWRWODLntGR6Yrkvak5oru3Deo4JGAH+DoWgpdps/Uhq7Odoc?= =?us-ascii?Q?XrpEjD5Hjv+dFM1i5PtYn3jJKpFp2fbHFQyM57+btcknYTOpA7bKJuG62i2q?= =?us-ascii?Q?58n9VLTcxzzrRD/XY5/SB1+VTa8CnYhWdXWsY3TJ0ik14XFqrl5n2qp6sPRZ?= =?us-ascii?Q?XGZ2DlngaQ8pYaOUhvIW+mnf3MKWssriPUxX2RTUKtV0XWM0K2upOCm2hLvU?= =?us-ascii?Q?tYugAqshsFyxZjsdPOw4j22u/QIqOSpmyYF8InZ5XCaJttvY1q0gsvZItyQd?= =?us-ascii?Q?qxDEDAOkwal0YWAuRTui5lckqcX+iq1PTVi1EoNFgeRLzaAnopuogQnVjXJs?= =?us-ascii?Q?ogKJjKZSBCV6b4IU5+laLsK/5YeVrNs9qhw928zC/3wTyszHAe5HXa7sTB0s?= =?us-ascii?Q?Ty/cU91Dzki2Fhrrb9RAe2gZP+TeDaYthDZhZNheQ/gmY7HjI9P8r19XZDoh?= =?us-ascii?Q?MzHehgCoBN7uYjwio3hK9DsSEwpE4GUUTwCzmyqW3do5hx+SW6bGY17MYlSF?= =?us-ascii?Q?poZ65rTmrHJgFFgKYvS77cHuDWK3PVJkEujclTymOiBVUnbc0L7PvOWewivh?= =?us-ascii?Q?8c7HdZ3n8DV2TlCioE9v5tY2V8LT2yUL6tMEvtR9xj4ZHRjozLsqaKso8P7W?= =?us-ascii?Q?k8iYa1vlbGYgoT9DyN4QnMyMfymlMrdxxce3igEBJJgCuPrL2PviBJkCsW8j?= =?us-ascii?Q?XVgl+gQ949K06SQ5tBnflx+YJO+sF7kOlUZdq0eXEzjsdI4srIRwAGpB5N8U?= =?us-ascii?Q?D5ab6pz/tYfpNE+59TXKC5XRkUa80SLTWbjbNeD7/J3fJ1VdCtORcThXJEnd?= =?us-ascii?Q?tXwVTdUZNpL3c=3D?= X-Microsoft-Exchange-Diagnostics: 1; DBXPR07MB317; 6:9Qp08hTuaN1J01uh+u6py9QM204trUX0i2YN8yEL3RRdADIRUgsiD8E//CCxvzFVwbma4YCjq4hhP7PAvQZAhD1B73qpM/TJJCsssjMfIHU242gvfHsG2ThOYyr+/FeSPuX0UZTL1SVLUonk30Pz2HKw+YYgQSO7Q2R/ywyw+t8X3qZTj27aIqp17nFSR9VPcDmgLjqxkW/qodjKnWkaT9YMFCoJrF8perromD5cBB6xeYMuhOL4jvHvUcfwfg7DmeDBXVxMYcf5kgvimP7N934DOsLFzqCYtlc7L+Xm//QlGz9AtYwKHLo9gcGNTxUvoY3N/17eAQ7ASigi7RNJerSUwQOkd5Sp0Oae7kXqpAQ=; 5:4+SwCpHBSVyOISKoI0oUSbtYGnld6x1F/PwoQSCaj9dP4Ulu2JDgr5WGLSFzzb164FEFAZjNiRRRFKJs0BQKxB3+VKKCcT3CJxoMY0SPNucij4sdg3fLwXWfbpUywMl6XqY90kqgsDslx2hTKtJuiE84g1lglLBmwsu6R8CNpRI=; 24:ygSm8EARe2uIvyY+ItPfPCkVAkGW5Mma8BGjs3vdodbjG7kTWwyLmwkZw9KCn2xhdnsca0POp+rX6K4QifoI4K2UvpEL4APFDAgy4bljrXM=; 7:1u++N5kO/ryN0q9ttwWncUVC5NawhqKzipsf3IjVYK8yGZwgXtnG5QkvTKEdsEqeZwuCL4S8CBovox7cVgXpL5XoeLqmuUguhg1/50lGeBQRdriCb96k4rip8xcFMimpDglyoauMIRpIZmyQUF+zlTDabwSmZR+HZ7C55yll3CyJPUCJo1dox/3S1gCa8c/A46jmniafq8LXhjmYHVir4yy0kVajDHZD5074BcGHU8f4PKuqD632KjGePMW5fy+y SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2017 18:33:51.9881 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f47b4b43-e2db-49e1-fea5-08d52de9c094 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 Straightforward replacement of find_inferior with the overload of for_each_thread that filters on pid. I am able to build-test this patch, but not run it. gdb/gdbserver/ChangeLog: * win32-i386-low.c (update_debug_registers_callback): Rename to ... (update_debug_registers): ... this, return void, remove pid_p arg. (x86_dr_low_set_addr, x86_dr_low_set_control): Use for_each_thread. --- gdb/gdbserver/win32-i386-low.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/gdb/gdbserver/win32-i386-low.c b/gdb/gdbserver/win32-i386-low.c index fd99ca9..1961a98 100644 --- a/gdb/gdbserver/win32-i386-low.c +++ b/gdb/gdbserver/win32-i386-low.c @@ -36,21 +36,14 @@ static struct x86_debug_reg_state debug_reg_state; -static int -update_debug_registers_callback (thread_info *thr, void *pid_p) +static void +update_debug_registers (thread_info *thread) { - win32_thread_info *th = (win32_thread_info *) thread_target_data (thr); - int pid = *(int *) pid_p; - - /* Only update the threads of this process. */ - if (pid_of (thr) == pid) - { - /* The actual update is done later just before resuming the lwp, - we just mark that the registers need updating. */ - th->debug_registers_changed = 1; - } + win32_thread_info *th = (win32_thread_info *) thread_target_data (thread); - return 0; + /* The actual update is done later just before resuming the lwp, + we just mark that the registers need updating. */ + th->debug_registers_changed = 1; } /* Update the inferior's debug register REGNUM from STATE. */ @@ -58,12 +51,10 @@ update_debug_registers_callback (thread_info *thr, void *pid_p) static void x86_dr_low_set_addr (int regnum, CORE_ADDR addr) { - /* Only update the threads of this process. */ - int pid = pid_of (current_thread); - gdb_assert (DR_FIRSTADDR <= regnum && regnum <= DR_LASTADDR); - find_inferior (&all_threads, update_debug_registers_callback, &pid); + /* Only update the threads of this process. */ + for_each_thread (current_thread->id.pid (), update_debug_registers); } /* Update the inferior's DR7 debug control register from STATE. */ @@ -72,9 +63,7 @@ static void x86_dr_low_set_control (unsigned long control) { /* Only update the threads of this process. */ - int pid = pid_of (current_thread); - - find_inferior (&all_threads, update_debug_registers_callback, &pid); + for_each_thread (current_thread->id.pid (), update_debug_registers); } /* Return the current value of a DR register of the current thread's