From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 96035 invoked by alias); 10 Sep 2017 20:11:37 -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 95928 invoked by uid 89); 10 Sep 2017 20:11:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3 autolearn=ham version=3.3.2 spammy=TRACE, 6377 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; Sun, 10 Sep 2017 20:11:35 +0000 Received: from ESESSHC002.ericsson.se (Unknown_Domain [153.88.183.24]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 22.01.22679.67C95B95; Sun, 10 Sep 2017 22:11:34 +0200 (CEST) Received: from EUR03-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; Sun, 10 Sep 2017 22:11:33 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.localdomain (80.216.43.226) by DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.4; Sun, 10 Sep 2017 20:11:32 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 3/3] gdbserver: Remove thread_to_gdb_id Date: Sun, 10 Sep 2017 20:11:00 -0000 Message-ID: <1505074275-1662-4-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1505074275-1662-1-git-send-email-simon.marchi@ericsson.com> References: <1505074275-1662-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: AM4PR0101CA0084.eurprd01.prod.exchangelabs.com (2603:10a6:200:41::52) To DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9228a9fe-8962-4258-2d02-08d4f88821b2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DB4PR07MB316; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;3:uCi2rbXdjTKul6nP13TxLbHGQrhLq2NcHuW1dCX7XzSE9CIPIejTgDczSfJqPMYxGmXfUR56A9T7wqcg9FiPEDyTDLfqOsOPBAwC6y89BdZHwQoPg1XZyMgNbQvdBfDk8jypcgBobYnhivTE+DLgk6MRNnnO+rpqyuNoPgkEQLGFMtpk5aAslaAGvNUyER+EKoPypsqyDZ2xfSOOcE0Acak9+a+nde6tuHjV/yoqbCJZB3H0hxAN6POau5A96DMx;25:tii8g664pyTmIUtPNc57CJDvOnZrczuoKOZWAsz5RiQw1rbqe1+PHzxdW+zu/z3tBCZrGs7koD74m7Ls0mo3P6b2gY1YHVIdlqnK0BllGWTIB4+3WO3w3gVY9YNydMJEqGw3haLO+YnTVmW5FNlR5aTgnJfhi2uYoju6QabopIhSyVASdCSeJf3N3vQyTHY0zCEPNhX8f+2eQKgc25ljfv+zUi40rEL+YYgXfCu2nDyyR/mawvhEiBnwmL15/5v6e0t5zb6/4n1anvUYJeLdHzXMsifn2ggimzrKRbi0E9KcDvKX9QO1rFGp6IPahmpEyWWTzwQDMym39Z8uyDmaOA==;31:rgoDkEbNrH9cBA2UiNEucdG39pRZFrEMWuFoIgQYKjRSLODwu8QkOrv+n21zjd3U2UCQRrUI5kwj997A0LHmE4Ol8ZI/7+akk73NggZ2KaHkhRbs8WlpLIQc8dygg1RpwAlmt22GKkswVnOiBUu5BlmIu7mmEW1oIosE1XMrqvKsRDFXohzv1iq0TPGSVRHFDDJN5hDpfNRFN6QWfbbVtsw+ZCYQgjzxt3nAgGaa0K0= X-MS-TrafficTypeDiagnostic: DB4PR07MB316: X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;20:nNUBOSMhcOa2xGkS3otcKKzvJ2BhKooVo0I5PHntdw4RSEvmoh/z/ZyMJsPzldQkpV6elPpZ2Tyx8+h3OAFz9+8wZXRSMpg1mYcD0UTtwP+mg6dyXKfiscJ+cxCQbV9A8imPhjMTFKsbr20TMJiCrKtpRnVjbknRHA2sjIi/ht/enVL+dhu3g/gVFTwPjTRomw/A1uetSMmndIKpVClnYuCu7CogSkMm6iTvwzc86TC065p0dNf8GC8Yrq6ZbbJ7p2+D3pbaD/uIUcaI3n+ABkiTKRk5VJvZWOJkeUyvtVwA2StqiE1hShdH+Jyjo9ik49mWkMWs1AXGWQZqO2YYmd45W7oRn9wQCpyYv6RXk4GjFp3Hc8Zzyrd5s6BS9oKi9QntucwSCD4F/ayoY+4RrBDeP5qokE88EcQczEGcRffCjTha/gAuocvnCBhOqY1xQKdPIDOZLNm+Tgv2uMJSkkDT4H3o6BKQRuTXSAR9NN810DSmB1pG/3CZGLv74gN5;4:68csEwIiMDYwfGUSAN5T7XuanR3p6QpZXQ0S8IamYA1OUWJnFxlBgIx3J1a1bCUTMwOJbiCQLEmHWe4K8sKQGzOZM/9O8LDqmc48PVKUGc5fMFR5OExHZK8HmjU0dazW7BDJZD2unZ4da7kWXeYNw/ujEEQ0lpSTzWbTKnDaWwojLmXFU/+Xipx/H9UbMXd/FD4OSxNu0Nk/cu+1Na5MPAvNK3tp0O9uPgxHPnVGU/ccObLPNcu8/nRvodZ96x/p+s37tnYNNgY9M4bqF+UfiSN41B0/FfN18rozjYWYRWo= X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123562025)(6072148)(201708071742011)(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-Forefront-PRVS: 04267075BD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(199003)(54534003)(189002)(7350300001)(25786009)(107886003)(6116002)(81156014)(81166006)(7736002)(8676002)(76176999)(50986999)(66066001)(47776003)(42186005)(50226002)(33646002)(3846002)(110136004)(97736004)(478600001)(5890100001)(5660300001)(106356001)(86362001)(5003940100001)(105586002)(6486002)(6506006)(2950100002)(6666003)(6916009)(68736007)(6512007)(189998001)(101416001)(305945005)(2906002)(36756003)(53936002)(2361001)(50466002)(4326008)(2351001)(48376002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR07MB316;H:elxacz23q12.localdomain;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;DB4PR07MB316;23:IJp1vBv7LduHcU++1KEIvdK7C6BzfgdfMABYe4PUYU?= =?us-ascii?Q?b41tH7zosxN9uqv1P4gWIxS45K2d+q2gUAoZpE2tPE+/jdc1K152K7m7a2iF?= =?us-ascii?Q?GzBCCGHYO7odPXb/KI8ISjznVnvZPqlPeDtpvY+B3rLcB1axw+PKMgKrwSyR?= =?us-ascii?Q?3QE+pYyckIzHIiHSYLt0PPSrQiK2Pn3gFrwf5z4PYz3P1I8NZsdgPziFUay4?= =?us-ascii?Q?how5GHVCPQK9///KlJ0HNWiVcYYEIr1JHZKZH9FQfXjWTXrFR+jjJ2Hyvz6L?= =?us-ascii?Q?ct8qAwan17BBPHf8ezVtVDFgsGvE2/cCbTAZ5WGhXEuQ5DjlA0FCkMct1COU?= =?us-ascii?Q?qyorY9LMtOiOyXakjNp11ar5Eg2oIZtvk0QGmwix9+w/dm3UdVo0MOyoKzZ1?= =?us-ascii?Q?3W2yt2gtkYAOH2ylk4vix8ABYEx2WgB8JUfnFJFDX82HDkySttbfaMAOuQtp?= =?us-ascii?Q?DDkzItJ7CXtYJun2Ftt4q3SxykLtD1vmmySDt+6ARF+GYbXS4oHAuav0kkG3?= =?us-ascii?Q?3v4gtN9f2vrSnZBauQJYSOoMlHiXH+eB35uXjNWvNpXFth5ldUO/UWV/qPTl?= =?us-ascii?Q?3QKpIofPu+7y+NCfWV5mdlBKBjwWnNyiXuxLI3O8wnSdww+eRSpLbf9Tvyr9?= =?us-ascii?Q?FCmOMIRVXC1BLlqRXzTbZb7BKn1xZ2G1fTSwiqw/RGAqi1ZgaccsV2sUm11z?= =?us-ascii?Q?FrYzgq1jy/izLrKF50XO2v1u0u16fTNrz3G/AsCXjZ7ozEA/DFZG6AVF9W6r?= =?us-ascii?Q?rAmrtF/6M3DoEQNK0YLn4JXurshAN1GUtb+WbTptBDTlt7D9nYeU7zZ93kd7?= =?us-ascii?Q?Rj/sOfFFwJ7aODhockVXw65RpyrgkNPru7l9Wwc1C2RzbXIl2EZi137fqDq3?= =?us-ascii?Q?HlvhMPfycOwijmbKFATF666oqd3yHr5lkvfwt1smezh+eP3KPMkM6yCRYJk7?= =?us-ascii?Q?/MOXXgewJ2efG0fXB70mBJmR91EX05AlEAkPxiCEupXQMHhwy8uYXeSK3Tvb?= =?us-ascii?Q?xLZjgUYQGWplciu9bzCOm3WODw2yqQiyfqDZAwol3MYuoFcfEnMb6DWDWkSH?= =?us-ascii?Q?9qT7kkx+rKmOHwRTs0OkLHou7ySxiWSNvkPN/8uGTJCveZFUI/+p7fGjbKcq?= =?us-ascii?Q?cqHAqCR3rl6TtFblrz/bsfCSsxEaRMX8+7D0S0+vT88Ij7cjSqsoIXMSXAVQ?= =?us-ascii?Q?eZoXr6IA4JrQU=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;6:biujq/dDaddWca5gQo8yzkeVTUYLmBB8D8v2FNJTsTnGF5BO3b8epxxFWbgG+nQ7scSYK93m4HafUOcb2spgPdvEN+35tUlSTIxvdXKNwoO6cI4OutifghiBx3ceKPby+HVylRblKsVCvAHbKsnXzChxpC3QBISPNbu9FfcsBiT6ZLZ4nEYl1i/F06U1EEodPkRy3IcOZU7RpDbWA3BlZohmJVRiRBn9pbTYXbkTr+hRo6+KHh8zCVUZzXdBYifnq87fpEWamvL/BOp/n97m1eGK7HZjgn11se4QakSeAKp4C9qqswi5mBdLlVyrrQUc7/FZ1KaLoFBY3YOyjGhmsQ==;5:mRyvQcgG7lIkfJ3h4ysA4l2Fl8Cc7SR86UDOl6f6khxH3S+J2fah7IAX7QFJBE1PZwg7LyE6tSW0a8YuQjEYEKK2YmpoHiioMwa/8HXyMshWriGOrPuTzZbtt7dmbs66JMrKxwcf527XEZW5BO/y9w==;24:pbaP8nYxLa5mugarVPZz1EwgFkQj1qtxHSkKwuKOaej+MNhQRRv+wqCZ8mgMHAR2jEgGAUJBhbF2TjPjUDrW0JEPKMY7C2bg4HCAsvYcZUo=;7:LIYBXwf6GPwQPK4UuQRaN1JbxEeWbzquXP0fAJRsB99ihVAYlLfHLGZe6GxtylXMEAYfXs2l4ztBbYJJA/MoNxWmf7yzBCrPj6gxr1m7mZhypDEZpjAQVjndzzyD2IFHfg+LljOdcr+jr36mOTesU6pHMKjMn8/iNpN68VGbz62BIG9CPyhXbQI50hLfk9VTnyR8Okq6ZxsDe6kuqm9WaNtWIi6uNUAr+Tv2ETMoTVE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2017 20:11:32.8460 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB316 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-09/txt/msg00282.txt.bz2 As explained in the previous patch, the gdb_id concept is no longer relevant. The function thread_to_gdb_id is trivial, it returns the thread's ptid. Remove it and replace its usage with ptid_of. The changes in nto-low.c and lynx-low.c are fairly straightforward, but I was not able to build test them. gdb/gdbserver/ChangeLog: * inferiors.h (thread_to_gdb_id): Remove. * inferiors.c (thread_to_gdb_id): Remove. * server.c (handle_qxfer_threads_worker, handle_query): Adjust. * lynx-low.c (lynx_resume, lynx_wait_1, lynx_fetch_registers, lynx_store_registers, lynx_read_memory, lynx_write_memory): Likewise. * nto-low.c (nto_fetch_registers, nto_store_registers, nto_stopped_by_watchpoint, nto_stopped_data_address): Likewise. --- gdb/gdbserver/inferiors.c | 6 ------ gdb/gdbserver/inferiors.h | 2 -- gdb/gdbserver/lynx-low.c | 14 +++++++------- gdb/gdbserver/nto-low.c | 8 ++++---- gdb/gdbserver/server.c | 22 +++++++++------------- 5 files changed, 20 insertions(+), 32 deletions(-) diff --git a/gdb/gdbserver/inferiors.c b/gdb/gdbserver/inferiors.c index 933dd76..72f0412 100644 --- a/gdb/gdbserver/inferiors.c +++ b/gdb/gdbserver/inferiors.c @@ -121,12 +121,6 @@ add_thread (ptid_t thread_id, void *target_data) return new_thread; } -ptid_t -thread_to_gdb_id (struct thread_info *thread) -{ - return thread->entry.id; -} - /* Wrapper around get_first_inferior to return a struct thread_info *. */ struct thread_info * diff --git a/gdb/gdbserver/inferiors.h b/gdb/gdbserver/inferiors.h index 6316fe5..aef8433 100644 --- a/gdb/gdbserver/inferiors.h +++ b/gdb/gdbserver/inferiors.h @@ -143,8 +143,6 @@ struct process_info *find_process_pid (int pid); int have_started_inferiors_p (void); int have_attached_inferiors_p (void); -ptid_t thread_to_gdb_id (struct thread_info *); - void clear_inferiors (void); struct inferior_list_entry *find_inferior (struct inferior_list *, diff --git a/gdb/gdbserver/lynx-low.c b/gdb/gdbserver/lynx-low.c index 77f570e..f074dd5 100644 --- a/gdb/gdbserver/lynx-low.c +++ b/gdb/gdbserver/lynx-low.c @@ -350,7 +350,7 @@ lynx_resume (struct thread_resume *resume_info, size_t n) the moment we resume its execution for the first time. It is fine to use the current_thread's ptid in those cases. */ if (ptid_equal (ptid, minus_one_ptid)) - ptid = thread_to_gdb_id (current_thread); + ptid = ptid_of (current_thread); regcache_invalidate_pid (ptid_get_pid (ptid)); @@ -423,7 +423,7 @@ lynx_wait_1 (ptid_t ptid, struct target_waitstatus *status, int options) ptid_t new_ptid; if (ptid_equal (ptid, minus_one_ptid)) - pid = lynx_ptid_get_pid (thread_to_gdb_id (current_thread)); + pid = lynx_ptid_get_pid (ptid_of (current_thread)); else pid = BUILDPID (lynx_ptid_get_pid (ptid), lynx_ptid_get_tid (ptid)); @@ -612,7 +612,7 @@ static void lynx_fetch_registers (struct regcache *regcache, int regno) { struct lynx_regset_info *regset = lynx_target_regsets; - ptid_t inferior_ptid = thread_to_gdb_id (current_thread); + ptid_t inferior_ptid = ptid_of (current_thread); lynx_debug ("lynx_fetch_registers (regno = %d)", regno); @@ -637,7 +637,7 @@ static void lynx_store_registers (struct regcache *regcache, int regno) { struct lynx_regset_info *regset = lynx_target_regsets; - ptid_t inferior_ptid = thread_to_gdb_id (current_thread); + ptid_t inferior_ptid = ptid_of (current_thread); lynx_debug ("lynx_store_registers (regno = %d)", regno); @@ -673,7 +673,7 @@ lynx_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len) int buf; const int xfer_size = sizeof (buf); CORE_ADDR addr = memaddr & -(CORE_ADDR) xfer_size; - ptid_t inferior_ptid = thread_to_gdb_id (current_thread); + ptid_t inferior_ptid = ptid_of (current_thread); while (addr < memaddr + len) { @@ -706,7 +706,7 @@ lynx_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len) int buf; const int xfer_size = sizeof (buf); CORE_ADDR addr = memaddr & -(CORE_ADDR) xfer_size; - ptid_t inferior_ptid = thread_to_gdb_id (current_thread); + ptid_t inferior_ptid = ptid_of (current_thread); while (addr < memaddr + len) { @@ -742,7 +742,7 @@ lynx_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len) static void lynx_request_interrupt (void) { - ptid_t inferior_ptid = thread_to_gdb_id (get_first_thread ()); + ptid_t inferior_ptid = ptid_of (get_first_thread ()); kill (lynx_ptid_get_pid (inferior_ptid), SIGINT); } diff --git a/gdb/gdbserver/nto-low.c b/gdb/gdbserver/nto-low.c index a5f1543..01e951c 100644 --- a/gdb/gdbserver/nto-low.c +++ b/gdb/gdbserver/nto-low.c @@ -631,7 +631,7 @@ nto_fetch_registers (struct regcache *regcache, int regno) TRACE ("current_thread is NULL\n"); return; } - ptid = thread_to_gdb_id (current_thread); + ptid = ptid_of (current_thread); if (!nto_set_thread (ptid)) return; @@ -678,7 +678,7 @@ nto_store_registers (struct regcache *regcache, int regno) TRACE ("current_thread is NULL\n"); return; } - ptid = thread_to_gdb_id (current_thread); + ptid = ptid_of (current_thread); if (!nto_set_thread (ptid)) return; @@ -869,7 +869,7 @@ nto_stopped_by_watchpoint (void) { ptid_t ptid; - ptid = thread_to_gdb_id (current_thread); + ptid = ptid_of (current_thread); if (nto_set_thread (ptid)) { const int watchmask = _DEBUG_FLAG_TRACE_RD | _DEBUG_FLAG_TRACE_WR @@ -901,7 +901,7 @@ nto_stopped_data_address (void) { ptid_t ptid; - ptid = thread_to_gdb_id (current_thread); + ptid = ptid_of (current_thread); if (nto_set_thread (ptid)) { diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 3ea24ff..bca5340 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -1586,7 +1586,7 @@ handle_qxfer_threads_worker (struct inferior_list_entry *inf, void *arg) { struct thread_info *thread = (struct thread_info *) inf; struct buffer *buffer = (struct buffer *) arg; - ptid_t ptid = thread_to_gdb_id (thread); + ptid_t ptid = ptid_of (thread); char ptid_s[100]; int core = target_core_of_thread (ptid); char core_s[21]; @@ -2070,21 +2070,21 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) /* Reply the current thread id. */ if (strcmp ("qC", own_buf) == 0 && !disable_packet_qC) { - ptid_t gdb_id; + ptid_t ptid; require_running (own_buf); if (!ptid_equal (general_thread, null_ptid) && !ptid_equal (general_thread, minus_one_ptid)) - gdb_id = general_thread; + ptid = general_thread; else { thread_ptr = get_first_inferior (&all_threads); - gdb_id = thread_to_gdb_id ((struct thread_info *)thread_ptr); + ptid = thread_ptr->id; } sprintf (own_buf, "QC"); own_buf += 2; - write_ptid (own_buf, gdb_id); + write_ptid (own_buf, ptid); return; } @@ -2140,28 +2140,24 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) { if (strcmp ("qfThreadInfo", own_buf) == 0) { - ptid_t gdb_id; - require_running (own_buf); thread_ptr = get_first_inferior (&all_threads); *own_buf++ = 'm'; - gdb_id = thread_to_gdb_id ((struct thread_info *)thread_ptr); - write_ptid (own_buf, gdb_id); + ptid_t ptid = thread_ptr->id; + write_ptid (own_buf, ptid); thread_ptr = thread_ptr->next; return; } if (strcmp ("qsThreadInfo", own_buf) == 0) { - ptid_t gdb_id; - require_running (own_buf); if (thread_ptr != NULL) { *own_buf++ = 'm'; - gdb_id = thread_to_gdb_id ((struct thread_info *)thread_ptr); - write_ptid (own_buf, gdb_id); + ptid_t ptid = thread_ptr->id; + write_ptid (own_buf, ptid); thread_ptr = thread_ptr->next; return; } -- 2.7.4