On Mon, 27 Jul 2009 13:24:25 -0400
Mike Frysinger <vap...@gentoo.org> wrote:

> On Monday 27 July 2009 07:31:46 Hans-Christian Egtvedt wrote:
> > On Mon, 27 Jul 2009 02:46:45 -0400 Mike Frysinger wrote:
> > > On Monday 27 July 2009 02:19:37 Hans-Christian Egtvedt wrote:
> > > > On Mon, 20 Jul 2009 08:50:25 -0400 Mike Frysinger wrote:
> > > > > afaict, there is nothing wrong here.  variodic function calls
> > > > > have the same calling convention as non-variodic function
> > > > > calls. presumably the kernel isnt going to check arg2 unless
> > > > > the option is appropriate, and passing along a non- zero
> > > > > value shouldnt be a problem anyways.
> > > >
> > > > Well, works by accident for most architectures, but when using
> > > > variadic arguments you must grab the arguments passed to the
> > > > function appropriately.
> > >
> > > if the majority of arches are doing the sane thing, then the odd
> > > balls should not force them to suffer.  in other words, the bloat
> > > here is not OK.  instead, add a new "__UCLIBC_VARARGS_REQUIRED__"
> > > or something to uClibc_arch_features.h and you can key off of
> > > that.
> >
> > Sounds fair to me. But it still works by accident for the other
> > architectures.
> 
> you say "by accident", but i say we're leveraging common behavior to
> get smaller code -- by design.
> 

Yes, by moving a fair deal of logic into the compiler. AVR32 does not
have that, could have had of course.

> i'm guessing your syscall.S is doing something similar.  how exactly
> does your code know how many things have been passed ?  or does it
> blindly assume 6 args have been specified ?
>

The patch I sent grabs the number of arguments depending on what prctl
call was made.

-- 
Best regards,
Hans-Christian Egtvedt
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to