[3/4] gdbserver: Ensure all debug output uses debug functions
Commit Message
On 19-06-19 15:17, Tom Tromey wrote:
>>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
>
> Tom> This seems to fix it.
>
> This needs a ChangeLog entry but is otherwise ok. Thanks.
>
Committed as attached.
Thanks,
- Tom
[gdb] Fix clang buildbreaker
Building gdb with clang, I run into:
...
src/gdb/gdbserver/linux-low.c:6190:41: error: comparison of unsigned \
expression < 0 is always false [-Werror,-Wtautological-compare]
if (debug_write ("sigchld_handler\n",
sizeof ("sigchld_handler\n") - 1) < 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
...
This regression is introduced by commit a7e559cc08 "gdbserver: Ensure all
debug output uses debug functions", which replaces calls to write with result
type ssize_t with calls to debug_write with result type size_t.
Fix this by making debug_write return ssize_t.
Build and reg-tested on x86_64-linux.
gdb/gdbserver/ChangeLog:
2019-06-19 Tom de Vries <tdevries@suse.de>
* debug.h (debug_write): Change return type to ssize_t.
* debug.c (debug_write): Same.
---
gdb/gdbserver/debug.c | 2 +-
gdb/gdbserver/debug.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
@@ -133,7 +133,7 @@ do_debug_exit (const char *function_name)
/* See debug.h. */
-size_t
+ssize_t
debug_write (const void *buf, size_t nbyte)
{
int fd = fileno (debug_file);
@@ -36,7 +36,7 @@ void do_debug_enter (const char *function_name);
void do_debug_exit (const char *function_name);
/* Async signal safe debug output function that calls write directly. */
-size_t debug_write (const void *buf, size_t nbyte);
+ssize_t debug_write (const void *buf, size_t nbyte);
/* These macros are for use in major functions that produce a lot of
debugging output. They help identify in the mass of debugging output