undefined references to __udivdi3 on powerpc

2008-02-28 Thread Olaf Hering

While debugging __divdi3 calls in drivers/crypto/hifn_795x.c (due to the
ndelay() delay call with a s64), I found even more breakage of that
sort. This is after a allnoconfig with ARCH=powerpc in 2.6.25-rc3,
plus CONFIG_MODULES=y and CONFIG_CRYPTO_DEV_HIFN_795X=y:

  LD  .tmp_vmlinux1
  kernel/built-in.o: In function `update_xtime_cache':
  (.text+0x221a0): undefined reference to `__umoddi3'
  kernel/built-in.o: In function `update_xtime_cache':
  (.text+0x221c0): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `getnstimeofday':
  (.text+0x22330): undefined reference to `__umoddi3'
  kernel/built-in.o: In function `getnstimeofday':
  (.text+0x22350): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `timekeeping_resume':
  timekeeping.c:(.text+0x226a0): undefined reference to `__udivdi3'
  timekeeping.c:(.text+0x22778): undefined reference to `__umoddi3'
  timekeeping.c:(.text+0x22798): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `update_wall_time':
  (.text+0x22c7c): undefined reference to `__umoddi3'
  kernel/built-in.o: In function `update_wall_time':
  (.text+0x22c9c): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `update_wall_time':
  (.text+0x230f8): undefined reference to `__umoddi3'
  kernel/built-in.o: In function `update_wall_time':
  (.text+0x23118): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `do_settimeofday':
  (.text+0x23520): undefined reference to `__udivdi3'
  kernel/built-in.o: In function `timekeeping_init':
  (.init.text+0x1870): undefined reference to `__udivdi3'
  make[1]: *** [.tmp_vmlinux1] Error 1

But its not a regression, 2.6.24 allnoconfig does not link either on
powerpc32. 

How can this be fixed?

Olaf
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: undefined references to __udivdi3 on powerpc

2008-02-28 Thread Segher Boessenkool
 While debugging __divdi3 calls in drivers/crypto/hifn_795x.c (due to 
 the
 ndelay() delay call with a s64), I found even more breakage of that
 sort. This is after a allnoconfig with ARCH=powerpc in 2.6.25-rc3,
 plus CONFIG_MODULES=y and CONFIG_CRYPTO_DEV_HIFN_795X=y:

I cannot reproduce this, but my tree has

time: prevent the loop in timespec_add_ns() from being optimised away

which is in -mm now.  Could you try that patch?


Segher

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: undefined references to __udivdi3 on powerpc

2008-02-28 Thread Olaf Hering
On Thu, Feb 28, Segher Boessenkool wrote:

 While debugging __divdi3 calls in drivers/crypto/hifn_795x.c (due to the
 ndelay() delay call with a s64), I found even more breakage of that
 sort. This is after a allnoconfig with ARCH=powerpc in 2.6.25-rc3,
 plus CONFIG_MODULES=y and CONFIG_CRYPTO_DEV_HIFN_795X=y:

 I cannot reproduce this, but my tree has

   time: prevent the loop in timespec_add_ns() from being optimised away

 which is in -mm now.  Could you try that patch?

Yes, this patch fixes it.
Thanks.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: undefined references to __udivdi3 on powerpc

2008-02-28 Thread Adrian Bunk
On Thu, Feb 28, 2008 at 02:37:18PM +0100, Olaf Hering wrote:
 
 While debugging __divdi3 calls in drivers/crypto/hifn_795x.c (due to the
 ndelay() delay call with a s64), I found even more breakage of that
 sort. This is after a allnoconfig with ARCH=powerpc in 2.6.25-rc3,
 plus CONFIG_MODULES=y and CONFIG_CRYPTO_DEV_HIFN_795X=y:
 
   LD  .tmp_vmlinux1
   kernel/built-in.o: In function `update_xtime_cache':
   (.text+0x221a0): undefined reference to `__umoddi3'
   kernel/built-in.o: In function `update_xtime_cache':
   (.text+0x221c0): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `getnstimeofday':
   (.text+0x22330): undefined reference to `__umoddi3'
   kernel/built-in.o: In function `getnstimeofday':
   (.text+0x22350): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `timekeeping_resume':
   timekeeping.c:(.text+0x226a0): undefined reference to `__udivdi3'
   timekeeping.c:(.text+0x22778): undefined reference to `__umoddi3'
   timekeeping.c:(.text+0x22798): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `update_wall_time':
   (.text+0x22c7c): undefined reference to `__umoddi3'
   kernel/built-in.o: In function `update_wall_time':
   (.text+0x22c9c): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `update_wall_time':
   (.text+0x230f8): undefined reference to `__umoddi3'
   kernel/built-in.o: In function `update_wall_time':
   (.text+0x23118): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `do_settimeofday':
   (.text+0x23520): undefined reference to `__udivdi3'
   kernel/built-in.o: In function `timekeeping_init':
   (.init.text+0x1870): undefined reference to `__udivdi3'
   make[1]: *** [.tmp_vmlinux1] Error 1
 
 But its not a regression, 2.6.24 allnoconfig does not link either on
 powerpc32. 
...

You didn't mention your gcc version, but you should only get these 
errors when using the not yet released gcc 4.3.

And this issue is known for at about half a year.

 Olaf

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev