From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: some quesion about assembly when calling fork
Date: Wed, 16 Sep 2009 15:30:59 +0100 [thread overview]
Message-ID: <20090916143059.GW13508@trinity.fluff.org> (raw)
In-Reply-To: <3a665c760909160723g75823427t46639d1ae737e483@mail.gmail.com>
On Wed, Sep 16, 2009 at 10:23:40PM +0800, loody wrote:
> Dear all:
> i copy the assembly code as below, I use uclibc.
>
> if ((pid = fork()) < 0) {
> 84b4: ebffffb5 bl 8390 <.text-0x48>
> 84b8: e1a03000 mov r3, r0
> 84bc: e50b3010 str r3, [fp, #-16] xx1
> 84c0: e51b3010 ldr r3, [fp, #-16] xx2
> 84c4: e3530000 cmp r3, #0 ; 0x0
> 84c8: aa000002 bge 84d8 <main+0x3c>
> printf("fork error");
> 84cc: e59f0040 ldr r0, [pc, #64] ; 8514 <.text
> +0x13c>
> 84d0: ebffffba bl 83c0 <.text-0x18>
> 84d4: ea00000b b 8508 <main+0x6c>
>
> why we store r3 and ld it back at the same place in xx1 and xx2.
> does that have any relationship with fork?
> appreciate your help,
It is possible that the compiler is not being told to optimise enough
and that it is failing to spot that it can fold those together, or that
it think there is somewhere else in the code that could branch back
here.
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2009-09-16 14:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 14:23 some quesion about assembly when calling fork loody
2009-09-16 14:30 ` Ben Dooks [this message]
2009-09-16 14:38 ` Alessandro Rubini
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=20090916143059.GW13508@trinity.fluff.org \
--to=ben-linux@fluff.org \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).