From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107666 invoked by alias); 15 Sep 2017 13:35:31 -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 107246 invoked by uid 89); 15 Sep 2017 13:35:30 -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,SPF_PASS autolearn=ham version=3.3.2 spammy=tall 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, 15 Sep 2017 13:35:28 +0000 Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.183.69]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 7D.B8.21299.D17DBB95; Fri, 15 Sep 2017 15:35:25 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.69) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 15 Sep 2017 15:35:25 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ki.sw.ericsson.se (192.176.1.82) by DBXPR07MB320.eurprd07.prod.outlook.com (2a01:111:e400:941d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Fri, 15 Sep 2017 13:35:22 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 1/2] Deduplicate require_running macros and move them up Date: Fri, 15 Sep 2017 13:35:00 -0000 Message-ID: <1505482514-10206-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: HE1PR05CA0192.eurprd05.prod.outlook.com (2603:10a6:3:f9::16) To DBXPR07MB320.eurprd07.prod.outlook.com (2a01:111:e400:941d::21) X-MS-Office365-Filtering-Correlation-Id: da4fbdf5-e8be-48e8-3b79-08d4fc3e9dd6 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DBXPR07MB320; X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB320;3:MQfnGpw/OZTPRZ5TAVvRBUCMf1TDoSRukxjVdbX0KvFn/Dpvo2am9KGabmjrACmwYyTv/4HhaI25YrKVO0pdh0iZKnym9l9WMcy8OZgB8HDAeE4xWzr6r7IDrTOxeV/zt7KcnUfm76+ck4LO/B5JapqBrX88zDC6wlboWn0+Y21fk9c8T4wcy6Wgup+zqaQetbx9ZfWFs5rliYLF9pANL2Wl0mI+Lihz+IZ8AdSmnVa1zx6lxdaCSEavUmHVI5vM;25:+qN2mZf3TNY+bkHKeNuRic2yB20aSk0rIfdfKBb8AzRN/ntHTiE4Cc8zAslWElr0AveJLYC4IDowU37WaqszrvNakp5hkXgZqje+vMTVMoSooQwV8ZRdx1jXwKpedGE5DO4ATezl93YNLQB6b7Jdna1xZo5oEaa4+7uwe1zPqAuqesietgGiuTbIYJMTijEKXcQFNEUBu9TNeUTcqRe3z8LxjBq//YQMxs/kWnhsO4cF7rm/zH41Ig80W6xQz9BKdmqNHiv5qEzx6JPtwYbvpzx3h4abrzNWrsBYhm/OI14ipJYi/FUyYaQseVzNjxjyTWgC2xwfw9kg1IzLdys1QA==;31:PROsAmI1tB9aXr69UT5ljNVQ4iMAKMtryYRxL+1sDFTpCe1sDw8gmcVPZbiKx8KTMM8STcnogfCYYBUGtM92bJOlY5B6ISwaLk9tH6qZJgHcybLSY0zSDleTvgn9X4hu5ivnwPkCfwUuYbG2SaOHQEyJ77qsHZYonP81XlijaHniZMYxYvEVDFvPOvzy0Y5PbZqx4+sgCDyi+Fzw0MS/s0ww1VneUXBqNNTMNoT8m8M= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBXPR07MB320: X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB320;20:5tw/1RMaD8+Klgeb48Kj/MyTHiXoD66vUrkcEB1ICywcUKRnPSsSG8GSiNtUk1JGZ1aJDvk10at2T95PUnooJc2mBfZn/qaLcXGw4QTrBSPz4BSiqfeYAdHeF9sra8mbfL/PzfWMDizy3mcLHkUBxHpAV/rfHHoiY80/s1cwGKJ3nDgc7Uyt19suOwO56a1PfpfkYht91vdQg6PuEeD/mfeczwvbGVmhbcRldrpGQkC2DW0w3CGNbALczguRhb/7wwtNPfep0DBBFVtm3BwiTp03HzqRlMyJh00b2QK0fmD1I8oEqHBiKS/um99faUH9pNvP3JEznSc00Dwrvn/WIelMtqi7ZL4Q74/gV7p1MSv951jQ/yoN9qQK8Nr8syY762M/bZ+IA9EWLQBQk7Mzb7yO7K+JKMzp84Wn+rzHMe2xx4pP81ajUGoK9L3wBj0ZlGJBeubd/YkV7x/DgJpLrveL34/tA52aJcWnI1X5QMlnka6XkD9I6skQ9g42aLXx;4:gmGoptW2xHzqrvNl+sDmTSvoEzMGmZlVsbMwl7KYzsbwLEAgGSy+useY5XLyyM2qFXfKhDNAYSV/k89n+jAk5Ac/gCtM5mcnWD1C32benz8Vg8zkc9l0qKkB4sX25RmO0egZ3mgqs+wlk5kuK1eOkmF31zGdxc6oVx8S9wMSVohjOVZ9Xf9XnmoMD/vJtcZ/RVw6zcuKVu4DNXDLeHvrY7lJQGz8nx+DowH9EHPj0mP4bZjrUUCOb/nrLsLJgDaB X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DBXPR07MB320;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DBXPR07MB320; X-Forefront-PRVS: 0431F981D8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(346002)(376002)(54534003)(199003)(189002)(575784001)(101416001)(3846002)(478600001)(2361001)(2351001)(106356001)(6116002)(6512007)(105586002)(305945005)(7736002)(36756003)(2906002)(5003940100001)(33646002)(66066001)(47776003)(6486002)(6916009)(6506006)(25786009)(50226002)(8936002)(68736007)(6666003)(81166006)(81156014)(5660300001)(8676002)(189998001)(86362001)(16586007)(107886003)(48376002)(97736004)(16526017)(50986999)(110136004)(50466002)(53936002)(4326008)(316002);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR07MB320;H:elxacz23q12.ki.sw.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;DBXPR07MB320;23:aHkkHHOukrjamdbdax/YlzmcM+Ij9O+5yHAAltyhXV?= =?us-ascii?Q?lDMiz4SwuKQ9eeeYHW0jzbTacxobFt+g0TDCGOkA2Mi+rxwsmP5uKW7EymKv?= =?us-ascii?Q?0S5uGjBuRGP1gRm3bBZF84DNkX94umTApzgqYTpiR0JySoC6tf1IX6HyldT7?= =?us-ascii?Q?iLd9/SiwRZCRq4vKLdpsP7BMcQvXfUuedf9xIlrYAe3imiPdkid/Q/NmCTm/?= =?us-ascii?Q?D+D2qNhOFYe971431YUbSI0wYiHD6lMJwaURN4N6Ey/0WrMzjefprzqFrQUO?= =?us-ascii?Q?qo5sMcGVF7HR/oJenXZj0zAw+vbyMB4cDlLKkGBYoCTgyTZs5aruOfyO5+wk?= =?us-ascii?Q?QPCq5ES13WIvH2A7UqkEEnrVBGV6ss46qu6PBdUGcCGv4MMewvo1JeAaFVtq?= =?us-ascii?Q?/eCWBoAT3VXS7EwJn6jMml/orKXn42Qvi6/yZHSj3yDY8tUu33Yr560GQnZ6?= =?us-ascii?Q?0z07JmixrP0zOhSNfe19YlbC9K4f5ttdiZDjfskrSvjbhlOBQmR6fpQ2SUzC?= =?us-ascii?Q?TV65sLUPVDml5X5mVLFZVi9XGoQBzm2kuWGbW2pC/tKnnMUBt+hEsSXEIDeg?= =?us-ascii?Q?zyJ1oAq9lhYS1efDQN0wQ/s8AtR7t8IFZzjvmncj3Y8pxUhXKM4ijuyS6HWt?= =?us-ascii?Q?RAIB7WHUs4Zqr57tACzaSEZAwiM7+gbx5A5yE6r82Q1ghCYwCQJkc0rQ30wk?= =?us-ascii?Q?mnRoFhABUgHUUxkZeuGYlLA/wgCJtZRnFMJLCXfic6Wt5u5w2INEjFtR3nPq?= =?us-ascii?Q?/54inDkcsNS9oEtHbQcwU2aTQCevmNfPiaFhrOue7Y1MbzujVciihzb34fbs?= =?us-ascii?Q?7K5KozZxRbgdVBUf9nDmo84+VYoM4AoDD9KASQozKJY1avl8ee/CvxR0mXRz?= =?us-ascii?Q?ImvPSeB6tDiSv6KOuiMDxBhdZyi+r44FsWXClZyqWJDVd/e75+j/ULvTFJNL?= =?us-ascii?Q?cSmXJGDQZBuMV16whyGc6BNoRwrw1hfyQ4SvTElPy5MJz5M8b28t7pEMIFAN?= =?us-ascii?Q?Idc2Lzfzl8D9DNWX1tY2fy+SXBNEFbs4SbuK5fipOwDQ7CN9+hcetMZ62WUV?= =?us-ascii?Q?nuM7mrun1o2oiCuMsBD8zImCQXrOZdyb+bibhfbX7pqZqF2IN3mYE8rVQXsv?= =?us-ascii?Q?zE5JGra68gSOqzzSyItF3nlWRYqSEyqikcP+Pi7P9WDIRbAI840A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR07MB320;6:pDvABqwfxgd6Y6UQs3HcC3ssL0q1QmLX4/sILvaLdSSZj6CJ+24MZWnknPLaALFDa55AiAulHxK/N9DP6nVJQquOlsAzIY4JjC7qLOc2XrX3A3EglhT5KX358ak5HnFocOvVzxBMsJL/dFUjncadZoaNjHBgDy7Q1Z8YbM+uyZ3UZM4PGWk/ITfPISgIk0auV9janRnjzLWD3yyVyf5YqwZq72DysJu8Aw/ie14PJBODwB36vU35m1O/9iumzW3jvKNXw+j2cgZRXr6nuTGBKdDOyFYGU2kEHaHfj715IWHoT+69nQj5tzXIocI5DI7BNe1dbVT+LDh4HnM0khWrug==;5:0ymSr23dWQFqYRc35kAnKgP2HpxtBF1XswQIGwekTJlN8K3lT+SDiaRQwDBBvGfZxS5Qk3i98IJTsf+E5zJyHWhHY0xsCYzCScU/yRIshxP2RTEDJYc2XRT4ngVGQiwgucvwLbB1e2CqFI4gJxPJBw==;24:a3BOZ3uz11sAVSFNqJAb28LaCLtHc0ei4selnKA2zU6SNGcalGA5mBdRUJOBcB/yO/+Ht/CtpdbPsJeTGCkC7fcUCLhl/apycWjlKkC/YXo=;7:3m9SWrlo6C1ZbvsQXLovhD/siE/6+6y+n13VED4JQ/cKxOB5Mmq352HfmzCPEOpMEuZbHl5mhqbPJKELLfnU8f9M9m3PD1PUJ9XVD5hk4zx/zqb0WbvJVWXc3hH2yNifBvXdZbfJvyWAkic+1st6GY7nRW3a7cLCTbeHKfijVsOYqGnf3OWlPyvcOSy1mluc9Pb3Ux3KM7IPo4MUIaYj+U/sQDZVaqZzPMyuTEIj0EE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2017 13:35:22.8879 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR07MB320 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-09/txt/msg00407.txt.bz2 I find it very confusing to define the require_running in the middle of the file, and re-define it to something else later in the middle of the same file. I think it would be better if those macros had different names so that we know exactly what they do. gdb/gdbserver/ChangeLog: * server.c (require_running): Rename to ... (require_running_or_return): ... this ... (require_running_or_break): ... and this. (handle_query, process_serial_event): Adjust. --- gdb/gdbserver/server.c | 70 ++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index bedb87b..8e0bf5b 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -42,6 +42,20 @@ #include "common/selftest.h" +#define require_running_or_return(BUF) \ + if (!target_running ()) \ + { \ + write_enn (BUF); \ + return; \ + } + +#define require_running_or_break(BUF) \ + if (!target_running ()) \ + { \ + write_enn (BUF); \ + break; \ + } + /* The environment to pass to the inferior when creating it. */ static gdb_environ our_environ; @@ -1143,13 +1157,6 @@ handle_search_memory (char *own_buf, int packet_len) free (pattern); } -#define require_running(BUF) \ - if (!target_running ()) \ - { \ - write_enn (BUF); \ - return; \ - } - /* Parse options to --debug-format= and "monitor set debug-format". ARG is the text after "--debug-format=" or "monitor set debug-format". IS_MONITOR is non-zero if we're invoked via "monitor set debug-format". @@ -2071,7 +2078,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) if (strcmp ("qC", own_buf) == 0 && !disable_packet_qC) { ptid_t gdb_id; - require_running (own_buf); + require_running_or_return (own_buf); if (!ptid_equal (general_thread, null_ptid) && !ptid_equal (general_thread, minus_one_ptid)) @@ -2142,7 +2149,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) { ptid_t gdb_id; - require_running (own_buf); + require_running_or_return (own_buf); thread_ptr = get_first_inferior (&all_threads); *own_buf++ = 'm'; @@ -2156,7 +2163,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) { ptid_t gdb_id; - require_running (own_buf); + require_running_or_return (own_buf); if (thread_ptr != NULL) { *own_buf++ = 'm'; @@ -2178,7 +2185,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) { CORE_ADDR text, data; - require_running (own_buf); + require_running_or_return (own_buf); if (the_target->read_offsets (&text, &data)) sprintf (own_buf, "Text=%lX;Data=%lX;Bss=%lX", (long)text, (long)data, (long)data); @@ -2415,7 +2422,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) int i, err; ptid_t ptid = null_ptid; - require_running (own_buf); + require_running_or_return (own_buf); for (i = 0; i < 3; i++) { @@ -2528,7 +2535,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) if (startswith (own_buf, "qSearch:memory:")) { - require_running (own_buf); + require_running_or_return (own_buf); handle_search_memory (own_buf, packet_len); return; } @@ -2546,7 +2553,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) } else { - require_running (own_buf); + require_running_or_return (own_buf); process = current_process (); } @@ -2568,7 +2575,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) int len; unsigned long long crc; - require_running (own_buf); + require_running_or_return (own_buf); comma = unpack_varlen_hex (own_buf + 5, &base); if (*comma++ != ',') { @@ -3441,15 +3448,6 @@ gdbserver_show_disableable (FILE *stream) " threads \tAll of the above\n"); } - -#undef require_running -#define require_running(BUF) \ - if (!target_running ()) \ - { \ - write_enn (BUF); \ - break; \ - } - static void kill_inferior_callback (struct inferior_list_entry *entry) { @@ -4039,7 +4037,7 @@ process_serial_event (void) handle_general_set (own_buf); break; case 'D': - require_running (own_buf); + require_running_or_break (own_buf); if (multi_process) { @@ -4138,7 +4136,7 @@ process_serial_event (void) ptid_t gdb_id, thread_id; int pid; - require_running (own_buf); + require_running_or_break (own_buf); gdb_id = read_ptid (&own_buf[2], NULL); @@ -4203,7 +4201,7 @@ process_serial_event (void) } break; case 'g': - require_running (own_buf); + require_running_or_break (own_buf); if (current_traceframe >= 0) { struct regcache *regcache @@ -4230,7 +4228,7 @@ process_serial_event (void) } break; case 'G': - require_running (own_buf); + require_running_or_break (own_buf); if (current_traceframe >= 0) write_enn (own_buf); else @@ -4248,7 +4246,7 @@ process_serial_event (void) } break; case 'm': - require_running (own_buf); + require_running_or_break (own_buf); decode_m_packet (&own_buf[1], &mem_addr, &len); res = gdb_read_memory (mem_addr, mem_buf, len); if (res < 0) @@ -4257,7 +4255,7 @@ process_serial_event (void) bin2hex (mem_buf, own_buf, res); break; case 'M': - require_running (own_buf); + require_running_or_break (own_buf); decode_M_packet (&own_buf[1], &mem_addr, &len, &mem_buf); if (gdb_write_memory (mem_addr, mem_buf, len) == 0) write_ok (own_buf); @@ -4265,7 +4263,7 @@ process_serial_event (void) write_enn (own_buf); break; case 'X': - require_running (own_buf); + require_running_or_break (own_buf); if (decode_X_packet (&own_buf[1], packet_len - 1, &mem_addr, &len, &mem_buf) < 0 || gdb_write_memory (mem_addr, mem_buf, len) != 0) @@ -4274,7 +4272,7 @@ process_serial_event (void) write_ok (own_buf); break; case 'C': - require_running (own_buf); + require_running_or_break (own_buf); hex2bin (own_buf + 1, &sig, 1); if (gdb_signal_to_host_p ((enum gdb_signal) sig)) signal = gdb_signal_to_host ((enum gdb_signal) sig); @@ -4283,7 +4281,7 @@ process_serial_event (void) myresume (own_buf, 0, signal); break; case 'S': - require_running (own_buf); + require_running_or_break (own_buf); hex2bin (own_buf + 1, &sig, 1); if (gdb_signal_to_host_p ((enum gdb_signal) sig)) signal = gdb_signal_to_host ((enum gdb_signal) sig); @@ -4292,12 +4290,12 @@ process_serial_event (void) myresume (own_buf, 1, signal); break; case 'c': - require_running (own_buf); + require_running_or_break (own_buf); signal = 0; myresume (own_buf, 0, signal); break; case 's': - require_running (own_buf); + require_running_or_break (own_buf); signal = 0; myresume (own_buf, 1, signal); break; @@ -4371,7 +4369,7 @@ process_serial_event (void) { ptid_t gdb_id, thread_id; - require_running (own_buf); + require_running_or_break (own_buf); gdb_id = read_ptid (&own_buf[1], NULL); thread_id = gdb_id_to_thread_id (gdb_id); -- 2.7.4