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