Bug in x86 gcc inline asm for blendRectRGB


#1

Hi Jules,

I have had a hard time to catch this one, but the gcc asm for blendRectRGB in juce_LowLevelGraphicsSoftwareRenderer.cpp is not consistent with its clobber list. it is modifying the %ebx register. Which is afterwards causing all sorts of very strange problems !

I suggest that you add a “push %%ebx” at the beginning of the gcc asm sequence and a “pop %%ebx” at the end (gcc does not want %ebx in the clobber list as it is reserved for the PIC relocation)


#2

Wow - you win the prize for the most obscure bug-find with that! Many thanks, I’ll add those pushes and pops…