From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: card: modify mmc_getgeo function
Date: Mon, 26 Sep 2011 15:13:33 +0200 [thread overview]
Message-ID: <20110926131333.GA20550@pengutronix.de> (raw)
In-Reply-To: <m2k48vtr12.fsf@bob.laptop.org>
On Mon, Sep 26, 2011 at 08:41:13AM -0400, Chris Ball wrote:
> Hi,
>
> On Mon, Sep 26 2011, Uwe Kleine-K?nig wrote:
> >> Thanks, pushed to mmc-next for 3.2 with a reworded commit message:
> > This (i.e. ee9e0e0 (mmc: card: Remove duplicated constants) in next)
> > makes gcc emit a reference to __aeabi_uldivmod in one of my nightly
> > builds which isn't defined.
> >
> > The final linking stage fails with:
> >
> > LD .tmp_vmlinux1
> > drivers/built-in.o: In function `mmc_blk_getgeo':
> > clkdev.c:(.text+0xd1528): undefined reference to `__aeabi_uldivmod'
> > make[2]: *** [.tmp_vmlinux1] Error 1
> > make[1]: *** [sub-make] Error 2
> > make: *** [all] Error 2
>
> Interesting, thanks. It builds fine here on my (gcc-4.6) ARM toolchains.
> Looking online, I think you're hitting an old gcc-4.3 bug?
Yeah, this is gcc 4.3.2. Is it too old to be supported?
Do you think of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783? Then
no, that is not the problem. The function is actually used:
00000028 <mmc_blk_getgeo>:
28: e3a03004 mov r3, #4
2c: e3a02010 mov r2, #16
30: e92d4010 push {r4, lr}
34: e1a04001 mov r4, r1
38: e5c13000 strb r3, [r1]
3c: e5c12001 strb r2, [r1, #1]
40: e590c050 ldr ip, [r0, #80] ; 0x50
44: e3a02040 mov r2, #64 ; 0x40
48: e3a03000 mov r3, #0
4c: e1cc04d8 ldrd r0, [ip, #72] ; 0x48
50: ebfffffe bl 0 <__aeabi_uldivmod>
54: e1c400b2 strh r0, [r4, #2]
58: e3a00000 mov r0, #0
5c: e8bd8010 pop {r4, pc}
I thought that the problem is more:
> The kernel doesn't support 64-bit by 64-bit division at all then?
Nope. 64-bit by 64-bit divides are grossly inefficient and should be
avoided.
(taken from http://www.spinics.net/lists/arm/msg13532.html)
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2011-09-26 13:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1316516929-26694-1-git-send-email-girish.shivananjappa@linaro.org>
[not found] ` <m2ty8520fb.fsf@bob.laptop.org>
2011-09-26 8:28 ` [PATCH] mmc: card: modify mmc_getgeo function Uwe Kleine-König
2011-09-26 12:41 ` Chris Ball
2011-09-26 13:09 ` Russell King - ARM Linux
2011-09-26 13:13 ` Uwe Kleine-König [this message]
2011-09-26 13:19 ` Russell King - ARM Linux
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=20110926131333.GA20550@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--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).