From: Pedro Alves <palves@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>, gdb-patches@sourceware.org
Cc: Phil Muldoon <pmuldoon@redhat.com>
Subject: Re: [PATCH v3 9/9] compile: compile printf: gdbserver support
Date: Wed, 29 Apr 2015 16:12:00 -0000 [thread overview]
Message-ID: <5540FE5A.1000005@redhat.com> (raw)
In-Reply-To: <20150411194437.29128.58569.stgit@host1.jankratochvil.net>
On 04/11/2015 08:44 PM, Jan Kratochvil wrote:
> Hi,
>
> former patch injects plain:
> printf (...);
> This patch injects gdbserver-compatible:
> f = open_memstream (&s, ...);
> fprintf (f, ...);
> fclose (f);
> return s;
(A more expanded explanation would have helped here. The first time I
skimmed this, I didn't really understand what this meant.)
So the issue here is that calling "printf" in the inferior ends up
with output sent to the inferior's stdout. If gdbserver is running on a
separate terminal (or machine), then the output of "compile printf" without
this patch goes to the inferior's terminal, unlike using "(gdb) printf ...".
That's not just an issue for gdbserver, actually. Even with the native target,
using "compile printf" without this patch against an inferior that gdb attached
to, with "attach PID" (a process that was already running on a separate
terminal), or if you use the "set inferior-tty" option, you get the exact
same problem.
> @@ -233,10 +241,15 @@ add_code_footer (enum compile_i_scope_types type, struct ui_file *buf)
> {
> switch (type)
> {
> + case COMPILE_I_PRINTF_SCOPE:
> + fputs_unfiltered ("\tif (fclose (__gdb_outf) != 0)\n"
> + "\t\treturn NULL;\n"
> + "\treturn __gdb_retval;\n",
> + buf);
> + // FALLTHRU
Please use /* */ comments, here and elsewhere.
(replying to the other mail)
Thanks,
Pedro Alves
prev parent reply other threads:[~2015-04-29 15:53 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-11 19:43 [PATCH v3 0/9] compile: compile print&printf Jan Kratochvil
2015-04-11 19:43 ` [PATCH v3 1/9] Code cleanup: Make parts of print_command_1 public Jan Kratochvil
2015-04-29 15:44 ` Pedro Alves
2015-04-30 0:24 ` Jan Kratochvil
2015-04-11 19:43 ` [PATCH v3 3/9] Code cleanup: compile: Constify some parameters Jan Kratochvil
2015-04-29 15:47 ` Pedro Alves
2015-05-06 18:58 ` [commit] " Jan Kratochvil
2015-04-11 19:43 ` [PATCH v3 2/9] compile: Distribute scope, add scope_data Jan Kratochvil
2015-04-29 15:44 ` Pedro Alves
2015-04-11 19:44 ` [PATCH v3 6/9] Code cleanup: compile: func_addr -> func_sym Jan Kratochvil
2015-04-29 15:52 ` Pedro Alves
2015-04-11 19:44 ` [PATCH v3 4/9] compile: Support relocation to GNU-IFUNCs Jan Kratochvil
2015-04-29 15:48 ` Pedro Alves
2015-05-06 19:00 ` [commit] " Jan Kratochvil
2015-04-11 19:44 ` [PATCH v3 7/9] compile: New 'compile print' Jan Kratochvil
2015-04-29 15:53 ` Pedro Alves
2015-05-03 14:06 ` Jan Kratochvil
2015-05-06 10:22 ` Pedro Alves
2015-05-06 12:23 ` Jan Kratochvil
2015-05-06 14:11 ` Pedro Alves
2015-05-06 19:18 ` Jan Kratochvil
2015-05-15 16:35 ` Pedro Alves
2015-04-11 19:44 ` [PATCH v3 8/9] compile: New compile printf Jan Kratochvil
2015-04-29 15:54 ` Pedro Alves
2015-05-03 14:06 ` Jan Kratochvil
2015-05-06 10:22 ` Pedro Alves
2015-05-06 11:30 ` Jan Kratochvil
2015-05-06 11:47 ` Pedro Alves
2015-04-11 19:44 ` [PATCH v3 5/9] compile: Use -Wall, not -w Jan Kratochvil
2015-04-29 15:49 ` Pedro Alves
2015-05-03 14:05 ` Jan Kratochvil
2015-05-06 10:21 ` Pedro Alves
2015-04-11 19:44 ` [PATCH v3 9/9] compile: compile printf: gdbserver support Jan Kratochvil
2015-04-26 9:33 ` Jan Kratochvil
2015-04-29 18:19 ` Pedro Alves
2015-05-03 14:06 ` Jan Kratochvil
2015-05-06 10:22 ` Pedro Alves
2015-04-29 16:12 ` Pedro Alves [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5540FE5A.1000005@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=pmuldoon@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox