From: Joel Brobecker <brobecker@adacore.com>
To: Luis Machado <lgustavo@codesourcery.com>
Cc: "'gdb-patches@sourceware.org'" <gdb-patches@sourceware.org>
Subject: Re: [PATCH] Move code to common/ptid.h
Date: Thu, 19 Sep 2013 12:34:00 -0000 [thread overview]
Message-ID: <20130919123407.GQ3132@adacore.com> (raw)
In-Reply-To: <523AEB33.9080100@codesourcery.com>
> 2013-09-19 Luis Machado <lgustavo@codesourcery.com>
>
> * common/ptid.h (GET_LWP, GET_PID): Moved from
> linux-nat.h.
> (is_lwp, BUILD_LWP): Likewise.
> * linux-nat.h (GET_LWP, GET_PID): Moved to
> common/ptid.h.
> (is_lwp, BUILD_LWP): Likewise.
No real objection from me. But I am wondering about the usefulness
of these macros, now that they are straight mapping to functions of
the same name.
Some thoughts for the long term below. Do not feel like you should
take them on yourself. Just sharing them, and seeing how people
feel about that. I may take that on myself. If there is a general
agreement, though, then perhaps the patch you are suggestion is
a step in the wrong direction...
In the past, before we had ptid_t, I have always found the (target-
specific?) effect of these macros to be a little obscure, and I am
still suffering from those effects. Getting over it is not the biggest
challenge I have faced in my life :-), but if the macros are not
really necessary, how about slowly transitioning them out in favor
of using the functions directly, at least for GET_LWP and GET_PID.
I get "is_lwp", and we could either keep that as a macro, or define
a function.
For BUILD_LWP, I personally don't see an advantage to having this
macro or function, but perhaps others might prefer having the hint
that we're building an LWP directly in the macro/function name.
I would define a function, though, Eg ptid_build_lwp (pid, lwp).
Cheers, Luis.
>
> gdb/common/ptid.h | 6 ++++++
> gdb/linuxt.h | 5 -----
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/gdb/common/ptid.h b/gdb/common/ptid.h
> index fefe8b6..ceafd02 100644
> --- a/gdb/common/ptid.h
> +++ b/gdb/common/ptid.h
> @@ -20,6 +20,12 @@
> #ifndef PTID_H
> #define PTID_H
>
> +/* Helper macros. */
> +#define GET_LWP(ptid) ptid_get_lwp (ptid)
> +#define GET_PID(ptid) ptid_get_pid (ptid)
> +#define is_lwp(ptid) (GET_LWP (ptid) != 0)
> +#define BUILD_LWP(lwp, pid) ptid_build (pid, lwp, 0)
> +
> /* The ptid struct is a collection of the various "ids" necessary
> for identifying the inferior. This consists of the process id
> (pid), thread id (tid), and other fields necessary for uniquely
> diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
> index 044f646..0fc68ef 100644
> --- a/gdb/linux-nat.h
> +++ b/gdb/linux-nat.h
> @@ -110,11 +110,6 @@ extern struct lwp_info *lwp_list;
> (LP) != NULL; \
> (LP) = (LP)->next)
>
> -#define GET_LWP(ptid) ptid_get_lwp (ptid)
> -#define GET_PID(ptid) ptid_get_pid (ptid)
> -#define is_lwp(ptid) (GET_LWP (ptid) != 0)
> -#define BUILD_LWP(lwp, pid) ptid_build (pid, lwp, 0)
> -
> /* Attempt to initialize libthread_db. */
> void check_for_thread_db (void);
>
--
Joel
next prev parent reply other threads:[~2013-09-19 12:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-19 12:16 Luis Machado
2013-09-19 12:28 ` Pedro Alves
2013-09-19 12:34 ` Joel Brobecker [this message]
2013-09-19 12:44 ` Luis Machado
2013-09-19 13:29 ` Pedro Alves
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=20130919123407.GQ3132@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=lgustavo@codesourcery.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