From: Mike Frysinger <vapier@gentoo.org>
To: Doug Evans <dje@google.com>
Cc: gdb-patches@sourceware.org, toolchain-devel@blackfin.uclinux.org
Subject: Re: [PATCH] gdb: add callback defines for new ARGV handling
Date: Mon, 10 Jan 2011 22:29:00 -0000 [thread overview]
Message-ID: <201101101729.10772.vapier@gentoo.org> (raw)
In-Reply-To: <AANLkTikqeEFo6DzT2PUrL6UaB+f-kSnNndmsUpwOHwyR@mail.gmail.com>
[-- Attachment #1: Type: Text/Plain, Size: 2928 bytes --]
On Monday, January 10, 2011 17:11:53 Doug Evans wrote:
> On Mon, Jan 10, 2011 at 1:25 PM, Mike Frysinger wrote:
> > On Mon, Jan 10, 2011 at 12:57 PM, Doug Evans wrote:
> >> On Thu, Jan 6, 2011 at 2:15 AM, Mike Frysinger wrote:
> >>> The common sim code has slightly unfinished support for these already,
> >>> but even arch ports are unable to handle these if the common header
> >>> does not define them. This is because the generated callback header
> >>> includes simple common gdb/sim headers only which causes it to skip
> >>> the new ARGV syscalls. Plus, it isn't like providing these in the
> >>> common header will break any sim targets which don't want them.
> >>>
> >>> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> >>>
> >>> 2010-01-06 Mike Frysinger <vapier@gentoo.org>
> >>>
> >>> * callback.h (CB_SYS_argc, CB_SYS_argnlen, CB_SYS_argn): Define.
> >>> ---
> >>> include/gdb/callback.h | 5 +++++
> >>> 1 files changed, 5 insertions(+), 0 deletions(-)
> >>>
> >>> diff --git a/include/gdb/callback.h b/include/gdb/callback.h
> >>> index a1f79f9..296dfc3 100644
> >>> --- a/include/gdb/callback.h
> >>> +++ b/include/gdb/callback.h
> >>> @@ -231,6 +231,11 @@ extern host_callback default_callback;
> >>> #define CB_SYS_truncate 21
> >>> #define CB_SYS_ftruncate 22
> >>> #define CB_SYS_pipe 23
> >>> +
> >>> +/* New ARGV support. */
> >>> +#define CB_SYS_argc 24
> >>> +#define CB_SYS_argnlen 25
> >>> +#define CB_SYS_argn 26
> >>>
> >>> /* Struct use to pass and return information necessary to perform a
> >>> system call. */
> >>
> >> The common sim code has CB_SYS_{argv,argvlen}, but I don't see the
> >> above. Where do they come from?
> >
> > pretty much all the callback "syscalls" that the sim handles are
> > because of newlib/libgloss
> > -mike
>
> Ah. src/libgloss/syscall.h has SYS_{argc,argnlen,argn}, added in 2006.
>
> So now we have CB_SYS_{argv,argvlen,argc,argnlen,argn}.
> Blech.
> It would be nice to know the reasoning behind argn,argnlen.
>
> For callback.h, IWBN to add some documentation regarding why things
> are the way they are. E.g. if argn is preferred over argv, why?
these things were created long before i had even heard of either project, so i
can only speculate on their history. i would guess that argv/argvlen made it
more difficult to do what most people actually want -- pass argc/argv to the
main function. and so argc/argn were born.
all i really know is that argc/argn/argnlen are labeled as "the new approach"
in a few places, and as such, it is what the Blackfin port supports.
it also seems like the syscall handling intended to handle argv at some point,
but someone didnt get around to implementing it. so i could flesh that out
too so that i could take the Blackfin argn/argc code and move it to
common/syscall.c in the sim.
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2011-01-10 22:29 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-06 9:15 Mike Frysinger
2011-01-10 17:57 ` Doug Evans
2011-01-10 21:25 ` Mike Frysinger
2011-01-10 22:12 ` Doug Evans
2011-01-10 22:29 ` Mike Frysinger [this message]
2011-01-11 3:38 ` Doug Evans
2012-04-09 19:08 ` Mike Frysinger
2012-04-17 7:00 ` Jie Zhang
2012-04-12 6:27 ` Mike Frysinger
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=201101101729.10772.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=dje@google.com \
--cc=gdb-patches@sourceware.org \
--cc=toolchain-devel@blackfin.uclinux.org \
/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