This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Sun, Jun 27, 1999 at 10:29:15PM -0000, Wolfram Gloger wrote: > Unmodified egcs-1.1.2 when bootstrapped on i586-pc-linux against > glibc-2.1.1 miscompiles the ncr53c8xx driver in Linux-2.0.37, or at > least it compiles it in such a way that it doesn't work (kernel hangs > on boot when detecting SCSI devices). > > Unmodified egcs-1.1.2 when bootstrapped on i586-pc-linux against > glibc-2.0.6 seems to compile Linux-2.0.37 just fine, at least > ncr53c8xx works. [...] > What can I do now to track this down ? Start by debugging gcc. This > - leal 2464(%edi),%ebp to this > + movl 32(%esp),%edi > + addl $2464,%edi would at first blush appear to be a change in how the combiner is working. I can't think of anything directly in there that would be affected by a library change, but perhaps there is a difference in the generated insn-recog.c file. Make sure all the insn-* files are identical between the two builds. > - leal 0(,%esi,4),%eax > - movl (%eax,%ebp),%ebx > - cmpl $-1,%ebx > + leal 0(,%ebp,4),%ebx > + movl 24(%esp),%edi > + movl %ebx,20(%esp) > + movl (%ebx,%edi),%esi > + movl %esi,%eax > + xorl %edx,%edx > + andl $0,%eax > + andl $-1,%edx > + movl %eax,%ecx > + orl %edx,%ecx > je .L1410 This bit's very bad. The andl 0/-1 thing is particularly disconserting. We wind up with the je always true. r~
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |