Re: [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.

From: Tetsuo Handa
Date: Fri Jun 05 2009 - 08:58:36 EST


Andreas Herrmann wrote:
> Overlooked the 64-bit division.
> Did test this with 4.[23].x compilers on 32-bit which didn't complain ...

gcc version 4.1.2 20080704 (Red Hat 4.1.2-44) generated below code.

.loc 1 51 0
movl -48(%ebp), %eax # start.1059,
movl -44(%ebp), %edx # start.1059,
addl -24(%ebp), %eax # size,
adcl -20(%ebp), %edx # size,
movl %eax, -56(%ebp) #, count
movl %edx, -52(%ebp) #, count
subl %ebx, -56(%ebp) # last_bad.1061, count
.LVL28:
sbbl %esi, -52(%ebp) # last_bad.1061, count
movl -56(%ebp), %edx # count,
movl -52(%ebp), %ecx # count,
shrdl $3, %ecx, %edx #,,
shrl $3, %ecx #,
movl %edx, -56(%ebp) #, count
movl %ecx, -52(%ebp) #, count

It seems that only gcc 3.x genarates "call __udivdi3" ...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/