From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Ondrej Oprala <ooprala@redhat.com>
Cc: "'gdb-patches@sourceware.org'" <gdb-patches@sourceware.org>
Subject: Re: C++-compat clean build
Date: Tue, 01 Oct 2013 12:53:00 -0000 [thread overview]
Message-ID: <20131001125338.GA12847@host2.jankratochvil.net> (raw)
In-Reply-To: <524AB12E.8090209@redhat.com>
Hi Ondrej,
On Tue, 01 Oct 2013 13:25:34 +0200, Ondrej Oprala wrote:
> this is the first of a few patches I intend to write to make gdb
> code compile cleanly with -Wc++-compat.
> The idea is to make separate patches for respective subdirs under
> gdb/, unless someone objects ofc.
this is a too huge patch. It should import first archer/tromey/c++ which is
already separated into specific parts, that is each commit in that branch
should be a separate posted mail/patch. This could also state the gcc error
that occured, it is not always clear for review (such as the ptrace case).
According to gdb/CONTRIBUTE there should be written ChangeLog entries, that is
what will be written to gdb/ChangeLog (one writes them as plain text into the
mail, not directly patching the file gdb/ChangeLog, as the ChangeLog patch
would get immediately out of scope). Some requests for comments without
immediate check-in may got without ChangeLog entry, such as this preview
patch.
It is not a requirement but the preference is to post the patches inlined in
the mail text; just I am not sure Thunderbird will not corrupt it, your mail
body is format=flowed which would corrupt it, OTOH without format=flowed some
mailers wrap the patch to some fixed column. So maybe the attachment is the
least worst for Thunderbird.
> --- a/gdb/amd64-linux-nat.c
> +++ b/gdb/amd64-linux-nat.c
> @@ -172,7 +172,7 @@ amd64_linux_fetch_inferior_registers (struct target_ops *ops,
> {
> elf_gregset_t regs;
>
> - if (ptrace (PTRACE_GETREGS, tid, 0, (long) ®s) < 0)
> + if (ptrace ((enum __ptrace_request) PTRACE_GETREGS, tid, 0, (long) ®s) < 0)
> perror_with_name (_("Couldn't get registers"));
>
> amd64_supply_native_gregset (regcache, ®s, -1);
enum __ptrace_request it is on GNU/Linux but not on other platforms where GDB
is compilable. My guess is the right solution could be:
configure.ac:
-for gdb_arg1 in 'int' 'long'; do
+for gdb_arg1 in 'enum __ptrace_request' 'int' 'long'; do
> --- a/gdb/amd64-tdep.c
> +++ b/gdb/amd64-tdep.c
> @@ -762,12 +762,12 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
> AMD64_XMM0_REGNUM + 4, AMD64_XMM0_REGNUM + 5,
> AMD64_XMM0_REGNUM + 6, AMD64_XMM0_REGNUM + 7,
> };
> - struct value **stack_args = alloca (nargs * sizeof (struct value *));
> + struct value **stack_args = (struct value **) alloca (nargs * sizeof (struct value *));
Here the line got longer than 80 columns, this is forbidden by GCS:
https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards
It is not always clear what is best in such case, it may be in some cases for
example better to move the initialization from the declaration:
struct value **stack_args;
stack_args = (struct value **) alloca (nargs * sizeof (struct value *));
Sorry for not reviewing the rest of your patch now, it should be split anyway.
Thanks,
Jan
next prev parent reply other threads:[~2013-10-01 12:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-01 11:25 Ondrej Oprala
2013-10-01 11:52 ` Ondrej Oprala
2013-10-01 12:04 ` Mark Kettenis
2013-10-01 12:53 ` Agovic, Sanimir
2013-10-01 14:16 ` Pedro Alves
2013-10-01 16:34 ` Joel Brobecker
2013-10-01 12:53 ` Jan Kratochvil [this message]
2013-10-01 12:57 ` Ondrej Oprala
2013-10-01 13:06 ` Tedeschi, Walfred
2013-10-01 13:57 ` Pedro Alves
2013-10-03 20:39 ` Tom Tromey
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=20131001125338.GA12847@host2.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=ooprala@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