Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jie Zhang <jzhang918@gmail.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: Doug Evans <dje@google.com>,
	gdb-patches@sourceware.org,
		toolchain-devel@blackfin.uclinux.org, newlib@sourceware.org
Subject: Re: [PATCH] gdb: add callback defines for new ARGV handling
Date: Tue, 17 Apr 2012 07:00:00 -0000	[thread overview]
Message-ID: <CACYR8yP1_E4UKvXKP2h_vBgJHf=9oEON-MF9v=d2tYGiimz4eg@mail.gmail.com> (raw)
In-Reply-To: <201204091508.11480.vapier@gentoo.org>

On Mon, Apr 9, 2012 at 3:08 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> Jie: could you comment on the below thread ?

Yes.

> -mike
>
> On Monday 10 January 2011 22:38:11 Doug Evans wrote:
>> [+ newlib]
>>
>> On Mon, Jan 10, 2011 at 2:29 PM, Mike Frysinger wrote:
>> >> 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.
>>
>> Understood.
>>
>> > 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.
>>
>> I wouldn't mind hearing more, sounds pretty fishy.
>> Though I understand it was before your time.
>>
It was also much before my time. See my next comment.

>> I found these in the newlib archives:
>> An inquiry into argv,argvlen:
>> http://sourceware.org/ml/newlib/2006/msg00859.html
>> Submission of argc,argn,argnlen:
>> http://sourceware.org/ml/newlib/2006/msg00883.html
>>
>> I couldn't find any pushback when argn,argnlen were submitted.
>>
When I was working on adding argc/argv support for Blackfin
newlib/libgloss/simulator, I just copied the existing implementation
from other ports. I checked out the sim and newlib code around 27 Oct
2006. It seems at that time sh used argc/argn/argnlen while d30v used
argv/argvlen. But the code for CB_SYS_argvlen and CB_SYS_argv was
commented out by "#if 0 /* FIXME: wip */... #endif" in sim. So I just
used the same one as sh port for Blackfin.

The initial sh newlib patch:

http://sourceware.org/ml/newlib/2001/msg00043.html

The initial sh sim patch:

http://sourceware.org/ml/gdb-patches/2001-01/msg00288.html


>> > 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.

I think this is true. CB_SYS_argv/CB_SYS_argvlen came in with the
initial import of gdb repository in 1999. It was still commented out
as WIP when argc/argn/argnlen was added in 2001. It's still commented
out today! I really think we should remove these commented out code,
which has been WIP for 13 years. I don't think it will get done in
near future.

>>
>> Blech.
>> I'm hesitant to approve the patch, but since this is sim,newlib I
>> don't want to hold things up much just because of this.
>>
>> > 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.
>>
>> newlib: does anyone know the history of SYS_argc,argn,argnlen vs
>> SYS_argv,argvlen beyond the above mentioned emails?

The earliest information I know is the two patches I mentioned above.

Regards,
Jie


  reply	other threads:[~2012-04-17  4:06 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
2011-01-11  3:38         ` Doug Evans
2012-04-09 19:08           ` Mike Frysinger
2012-04-17  7:00             ` Jie Zhang [this message]
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='CACYR8yP1_E4UKvXKP2h_vBgJHf=9oEON-MF9v=d2tYGiimz4eg@mail.gmail.com' \
    --to=jzhang918@gmail.com \
    --cc=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=newlib@sourceware.org \
    --cc=toolchain-devel@blackfin.uclinux.org \
    --cc=vapier@gentoo.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