* [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 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 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 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.