public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: "Will Deacon" <will.deacon@arm.com>
To: 'Hannu Heikkinen' <ext-hannu.m.heikkinen@nokia.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] ltp_clone
Date: Fri, 25 Feb 2011 14:46:51 -0000	[thread overview]
Message-ID: <000b01cbd4fa$d675ada0$836108e0$@deacon@arm.com> (raw)
In-Reply-To: <20110225144159.GE27985@hannu-debian.research.nokia.com>

Hi Hannu,

> > I believe the __arm__ case is to ensure that we pass an aligned
> > stack pointer to the syscall (as required by the architecture).
> > What I don't understand, is why we pass an unaligned address in
> > the #else case? Given that a stack push decrements the sp before
> > writing on every architecture I know of, it seems that the __arm__
> > case should be used as the default rather than forcing a misaligned
> > stack on other architectures.
> >
> > Will
> >
> 
> Hi,
> 
> have you fetched the latest from the git tree:
> git://ltp.git.sourceforge.net/gitroot/ltp/ltp ?
> 
> Lines are:
> 
> int
> ltp_clone(unsigned long clone_flags, int (*fn)(void *arg), void *arg,
>                 size_t stack_size, void *stack)
> {
>         int ret;
> 
> #if defined(__hppa__)
>         ret = clone(fn, stack, clone_flags, arg);
> #elif defined(__ia64__)
>         ret = clone2(fn, stack, stack_size, clone_flags, arg, NULL, NULL,
> NULL);
> #else
>         /*
>          * For archs where stack grows downwards, stack points to the topmost
>          * address of the memory space set up for the child stack.
>          */
>         ret = clone(fn, (stack ? stack + stack_size : NULL),
>                         clone_flags, arg);
> #endif
> 
>         return ret;
> }


Wahey - that's much better! I was accidently looking in my checkout of the
October stable release, where ARM is special-cased.

Thanks for pointing this out.

Will




------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

      reply	other threads:[~2011-02-25 14:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-25 11:11 [LTP] ltp_clone Will Deacon
2011-02-25 14:41 ` Hannu Heikkinen
2011-02-25 14:46   ` Will Deacon [this message]

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='000b01cbd4fa$d675ada0$836108e0$@deacon@arm.com' \
    --to=will.deacon@arm.com \
    --cc=ext-hannu.m.heikkinen@nokia.com \
    --cc=ltp-list@lists.sourceforge.net \
    /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