Re: Compilation problem in ndisc.c / 2.5.1-pre2 : possible gcc

David Relson (relson@osagesoftware.com)
Wed, 28 Nov 2001 14:29:07 -0500


At 02:09 PM 11/28/01, you wrote:
>On 28 Nov 2001, Erik Hensema wrote:
>
> >
> > I've been looking into the compile problems of net/ipv6/ndisc.c in
> > 2.5.1-pre2 and I found that the asm generated by gcc (2.95.3) is wrong:
> >
> > This is a small part of a diff betweem two asm files generated by gcc, note
> > the missing \n's in the wrong code:
> >
> > -
> > - addl 0(%ebp), %edx
> > - adcl 4(%ebp), %edx
> > - adcl 8(%ebp), %edx
> > - adcl 12(%ebp), %edx
> > - adcl 0(%ecx), %edx
> > - adcl 4(%ecx), %edx
> > - adcl 8(%ecx), %edx
> > - adcl 12(%ecx), %edx
> > - adcl %edi, %edx
> > - adcl %eax, %edx
> > - adcl $0, %edx
> > -
> > + addl 0(%ebp), %edxadcl 4(%ebp), %edxadcl 8(%ebp), %edxadcl
> 12(%ebp), %edxadcl 0(%ecx), %edxadcl 4(%ecx), %edxadcl 8(%ecx), %edxadcl
> 12(%ecx), %edxadcl %edi, %edxadcl %eax, %edxadcl $0, %edx
>
>
>This is probably just some loop unrolling, not some as you say "wrong
>code".

The lack of \n's is wrong. Adding \n's and some whitespace, gives
identical code. Looks like a defective printf() in gcc.

David

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/