All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] Missing __udivdi3 for ARM
@ 2009-07-31 21:40 J.C. Wren
  2009-07-31 22:36 ` Wolfgang Denk
  2009-08-01 13:26 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 10+ messages in thread
From: J.C. Wren @ 2009-07-31 21:40 UTC (permalink / raw)
  To: u-boot

I enabled CONFIG_YAFFS2 for ARM, and got the following message:
/home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
`__udivdi3'

I know some other math routines have been fixed, is there a patch for this
one?  A few minutes of searching found some things from 2007-July, but it
seemed to be refactoring the code rather than adding the function.

Thanks,
--jc

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-07-31 21:40 [U-Boot] Missing __udivdi3 for ARM J.C. Wren
@ 2009-07-31 22:36 ` Wolfgang Denk
  2009-08-01 13:26 ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2009-07-31 22:36 UTC (permalink / raw)
  To: u-boot

Dear "J.C. Wren",

In message <17434f2e0907311440v2909bf46w74877af175f493e6@mail.gmail.com> you wrote:
> 
> I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> `__udivdi3'
> 
> I know some other math routines have been fixed, is there a patch for this
> one?  A few minutes of searching found some things from 2007-July, but it
> seemed to be refactoring the code rather than adding the function.

I think Jean-Christophe has a patch to fix this, and I'm waiting all
the time for him to post it.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Doubt is a pain too lonely to know that faith is his twin brother.
- Kahlil Gibran

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-07-31 21:40 [U-Boot] Missing __udivdi3 for ARM J.C. Wren
  2009-07-31 22:36 ` Wolfgang Denk
@ 2009-08-01 13:26 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-08-01 14:40   ` Wolfgang Denk
  1 sibling, 1 reply; 10+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-08-01 13:26 UTC (permalink / raw)
  To: u-boot

On 17:40 Fri 31 Jul     , J.C. Wren wrote:
> I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> `__udivdi3'
just use lldiv

Best Regards,
J.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 13:26 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-08-01 14:40   ` Wolfgang Denk
  2009-08-01 16:14     ` Jean-Christophe PLAGNIOL-VILLARD
  2009-08-01 19:43     ` J.C. Wren
  0 siblings, 2 replies; 10+ messages in thread
From: Wolfgang Denk @ 2009-08-01 14:40 UTC (permalink / raw)
  To: u-boot

Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090801132619.GA19785@game.jcrosoft.org> you wrote:
> On 17:40 Fri 31 Jul     , J.C. Wren wrote:
> > I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> > /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> > `__udivdi3'
> just use lldiv

The big question here is if such a change makes sense; please keep in
mind that the yaffs2 code is just borrowed from Linux, so changes
should be kept to a minimum.

Actually I think it is only reasonable to assume that libgcc.a should
include such a function.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There is a multi-legged creature crawling on your shoulder.
	-- Spock, "A Taste of Armageddon", stardate 3193.9

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 14:40   ` Wolfgang Denk
@ 2009-08-01 16:14     ` Jean-Christophe PLAGNIOL-VILLARD
  2009-08-01 19:57       ` Wolfgang Denk
  2009-08-01 19:43     ` J.C. Wren
  1 sibling, 1 reply; 10+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-08-01 16:14 UTC (permalink / raw)
  To: u-boot

On 16:40 Sat 01 Aug     , Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
> 
> In message <20090801132619.GA19785@game.jcrosoft.org> you wrote:
> > On 17:40 Fri 31 Jul     , J.C. Wren wrote:
> > > I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> > > /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> > > `__udivdi3'
> > just use lldiv
> 
> The big question here is if such a change makes sense; please keep in
> mind that the yaffs2 code is just borrowed from Linux, so changes
> should be kept to a minimum.
yaffs2 is not linux mainline and will never been as it's author do not care
about it

I've already seen such problem wiht out of tree code

Best Regards,
J.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 14:40   ` Wolfgang Denk
  2009-08-01 16:14     ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-08-01 19:43     ` J.C. Wren
  2009-08-01 20:01       ` Wolfgang Denk
  1 sibling, 1 reply; 10+ messages in thread
From: J.C. Wren @ 2009-08-01 19:43 UTC (permalink / raw)
  To: u-boot

I thought the idea was to move u-boot away from libgcc dependencies.  Or did
I misread that?  I know that a previous problem I commented on was solved by
adding a __xxxxx.S function the u-boot library.
--jc

On Sat, Aug 1, 2009 at 10:40 AM, Wolfgang Denk <wd@denx.de> wrote:

> Dear Jean-Christophe PLAGNIOL-VILLARD,
>
> In message <20090801132619.GA19785@game.jcrosoft.org> you wrote:
> > On 17:40 Fri 31 Jul     , J.C. Wren wrote:
> > > I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> > > /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> > > `__udivdi3'
> > just use lldiv
>
> The big question here is if such a change makes sense; please keep in
> mind that the yaffs2 code is just borrowed from Linux, so changes
> should be kept to a minimum.
>
> Actually I think it is only reasonable to assume that libgcc.a should
> include such a function.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> There is a multi-legged creature crawling on your shoulder.
>        -- Spock, "A Taste of Armageddon", stardate 3193.9
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 16:14     ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-08-01 19:57       ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2009-08-01 19:57 UTC (permalink / raw)
  To: u-boot

Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090801161409.GD19785@game.jcrosoft.org> you wrote:
>
> > > > I enabled CONFIG_YAFFS2 for ARM, and got the following message:
> > > > /home/user/u-boot/fs/yaffs2/yaffscfg.c:185: undefined reference to
> > > > `__udivdi3'
> > > just use lldiv
> > 
> > The big question here is if such a change makes sense; please keep in
> > mind that the yaffs2 code is just borrowed from Linux, so changes
> > should be kept to a minimum.
> yaffs2 is not linux mainline and will never been as it's author do not care
> about it

Maybe. But that doesn't change the situation: the part  of  code  you
suggest  to  change  gives no reasons for changes other that U-Boot's
libgcc support is incomplete. So rather than fixing the  symptoms,  I
prefer fixing the cause.

> I've already seen such problem wiht out of tree code

Me too. But that doesn't mean we should add new problems, for example
when we want to update the yaffs2 code in the future.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Celestial navigation is based on the premise that the  Earth  is  the
center  of  the  universe.  The  premise is wrong, but the navigation
works. An incorrect model can be a useful tool.   - Kelvin Throop III

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 19:43     ` J.C. Wren
@ 2009-08-01 20:01       ` Wolfgang Denk
  2009-08-02  7:18         ` Dirk Behme
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2009-08-01 20:01 UTC (permalink / raw)
  To: u-boot

Dear "J.C. Wren",

In message <17434f2e0908011243y666d2d40if6fdfd8a5c00c7c5@mail.gmail.com> you wrote:
>
> I thought the idea was to move u-boot away from libgcc dependencies.  Or did
> I misread that?  I know that a previous problem I commented on was solved by
> adding a __xxxxx.S function the u-boot library.

In a perfect world the GCC provided libgcc.a would be "just working"
and we did not have to bother about all that.

But libgcc.a fo ARM is obviously not perfect, and causes problems. So
Jean-Christophe suggested to use the  alternative  implementation  he
wanted to copy from the Linux code - which again is supposed to allow
to use the code in question without changes.


But for some reason Jean-Christophe does not post a patch to add this
Linux based new library code, but rather suggests to change the  code
instead  -  which  I  do not understand, and which I tend to disagree
with.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Perl itself is  usually  pretty  good  about  telling  you  what  you
shouldn't do. :-)     - Larry Wall in <11091@jpl-devvax.JPL.NASA.GOV>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-01 20:01       ` Wolfgang Denk
@ 2009-08-02  7:18         ` Dirk Behme
  2009-08-02  8:27           ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Dirk Behme @ 2009-08-02  7:18 UTC (permalink / raw)
  To: u-boot

Dear Wolfgang,

Wolfgang Denk wrote:
> Dear "J.C. Wren",
> 
> In message <17434f2e0908011243y666d2d40if6fdfd8a5c00c7c5@mail.gmail.com> you wrote:
>> I thought the idea was to move u-boot away from libgcc dependencies.  Or did
>> I misread that?  I know that a previous problem I commented on was solved by
>> adding a __xxxxx.S function the u-boot library.
> 
> In a perfect world the GCC provided libgcc.a would be "just working"
> and we did not have to bother about all that.
> 
> But libgcc.a fo ARM is obviously not perfect, and causes problems. So
> Jean-Christophe suggested to use the  alternative  implementation  he
> wanted to copy from the Linux code - which again is supposed to allow
> to use the code in question without changes.

Just to get an idea what has to be done for this:

Do we talk about

http://lists.denx.de/pipermail/u-boot/2009-June/054627.html

without the changes to top level

Makefile
arm_config.mk

?

That is, updating that patch and removing the Makefile and 
arm_config.mk changes would be what we want?

Best regards

Dirk

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] Missing __udivdi3 for ARM
  2009-08-02  7:18         ` Dirk Behme
@ 2009-08-02  8:27           ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2009-08-02  8:27 UTC (permalink / raw)
  To: u-boot

Dear Dirk Behme,

In message <4A753DB9.6080508@googlemail.com> you wrote:
> 
> > But libgcc.a fo ARM is obviously not perfect, and causes problems. So
> > Jean-Christophe suggested to use the  alternative  implementation  he
> > wanted to copy from the Linux code - which again is supposed to allow
> > to use the code in question without changes.
> 
> Just to get an idea what has to be done for this:
> 
> Do we talk about
> 
> http://lists.denx.de/pipermail/u-boot/2009-June/054627.html
> 
> without the changes to top level
> 
> Makefile
> arm_config.mk

Right. The patch needs to be updated so that the new runtime library
functions replace the existing ones and get linked into
lib_arm/libgcc.a instead.

> That is, updating that patch and removing the Makefile and 
> arm_config.mk changes would be what we want?

That's what Jean-Christphe proposed - I am not in a position to judge
if this really solves all the problems we have on ARM. Looking at the
code I see things like:

	+ * linux/arch/arm/lib/lib1funcs.S: Optimized ARM division routines
	+ *
	+ * Author: Nicolas Pitre <nico@cam.org>
	+ *   - contributed to gcc-3.4 on Sep 30, 2003
	+ *   - adapted for the Linux kernel on Oct 2, 2003

That reads as if this was 6 years old code, which looks as if it  was
two years older than what we currently have in U-Boot.

I wonder if it would not make more sense to copy the C code from some
recent GCC version instead - it may be a few percent  less  efficient
in  terms  of  size and performance, but looking where such reoutines
are actually used in U-Boot I thinl probably nobody would ever notice
the difference.

So probably someone with a deeper understanding of GCC support for ARM
is required to make a qualified assessment, and in any case thorogh
testing needs to be done.



Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Hi there! This is just a note from me, to you, to tell you, the  per-
son  reading this note, that I can't think up any more famous quotes,
jokes, nor bizarre stories, so you may as well go home.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-08-02  8:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-31 21:40 [U-Boot] Missing __udivdi3 for ARM J.C. Wren
2009-07-31 22:36 ` Wolfgang Denk
2009-08-01 13:26 ` Jean-Christophe PLAGNIOL-VILLARD
2009-08-01 14:40   ` Wolfgang Denk
2009-08-01 16:14     ` Jean-Christophe PLAGNIOL-VILLARD
2009-08-01 19:57       ` Wolfgang Denk
2009-08-01 19:43     ` J.C. Wren
2009-08-01 20:01       ` Wolfgang Denk
2009-08-02  7:18         ` Dirk Behme
2009-08-02  8:27           ` Wolfgang Denk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.