Thibaud GUERIN writes: > On 4/22/06, Andrew Haley <aph@xxxxxxxxxx> wrote: > > Well, we've established that whetever is wrong, it's not the code gcc > > generates for this routine. It's correct, as you can see. > > > > > The only debug ways usable in the code right now are some things like : > > > i = (long)(fmt); > > > __asm__ volatile ("mov %0, %%eax\n":: "m"(i)); > > > __asm__ volatile ("l1: jmp l1"); > > > > > > which are really dirty i agree... > > > > Thay're also wrong, becasue they don't clobber eax. > > If you have any way to do it (or check with cleaner ways) i'm > listening .... it'll be helpfull.... Just put "eax" in the clobber list of the asm. But really, we've gone as far down the read as we can with this: the gcc code you produced is correct. Time to look elsewhere. Andrew.