From: Luis Machado Date: Mon, 29 Mar 2021 16:48:43 +0000 (-0300) Subject: Fix inverted logic bug X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=782c1ab836f73e9f18ad615a464b9dea92754f05;p=binutils-gdb.git Fix inverted logic bug During reviews, I changed the success/failure variables from int to bool, but missed updating the code in a couple spots. Given the logic inversion, the gdbserver code fails instead of succeeding. Fixed with the following patch. Seems fairly obvious, so I'll push it soon. gdbserver/ChangeLog: 2021-03-30 Luis Machado * server.cc (handle_general_set, handle_query): Update variable to bool and fix verification logic. --- diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index edce56b0eb9..58ed0f0e69b 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2021-03-30 Luis Machado + + * server.cc (handle_general_set, handle_query): Update variable + to bool and fix verification logic. + 2021-03-24 Luis Machado * Makefile.in (SFILES): Add /../gdb/nat/aarch64-mte-linux-ptrace.c. diff --git a/gdbserver/server.cc b/gdbserver/server.cc index fd5e7808363..2a443305691 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -982,13 +982,13 @@ handle_general_set (char *own_buf) require_running_or_return (own_buf); - int ret = parse_store_memtags_request (own_buf, &addr, &len, tags, + bool ret = parse_store_memtags_request (own_buf, &addr, &len, tags, &type); - if (ret == 0) + if (ret) ret = the_target->store_memtags (addr, len, tags, type); - if (ret) + if (!ret) write_enn (own_buf); else write_ok (own_buf); @@ -2730,12 +2730,12 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) parse_fetch_memtags_request (own_buf, &addr, &len, &type); - int ret = the_target->fetch_memtags (addr, len, tags, type); + bool ret = the_target->fetch_memtags (addr, len, tags, type); if (ret) ret = create_fetch_memtags_reply (own_buf, tags); - if (ret) + if (!ret) write_enn (own_buf); *new_packet_len_p = strlen (own_buf);