gcc in potato
I am not sure where to complain about this...it probably isn't Debian's
problem, it is probably the new gcc. The newest gcc in potato:
gcc version 2.95.2 19990906 (prerelease)
Seems to be pretty damn buggy. There is a great store of code I have that
compiled under the last one I used:
gcc version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release)
That won't compile under the new one. For instance, this assembly
function won't compile under 2.95.2, but is fine under 2.91.66:
/* Read the pentium Time Stamp Counter register */
unsigned long long read_TSC()
{
static union {
unsigned long dw[2];
unsigned long long counter;
} tc;
__asm__ __volatile__ (
".byte 0x0f, 0x31\n"
:"d=" (tc.dw[1]), "a=" (tc.dw[0]):
:"%eax", "%edx"
);
return tc.counter;
}
And I get this error:
arch.c: In function `read_TSC':
arch.c:30: warning: output constraint `=' for operand 0 is not at the
beginning
arch.c:30: warning: output constraint `=' for operand 1 is not at the
beginning
arch.c:30: Invalid `asm' statement:
arch.c:30: fixed or forbidden register 0 (ax) was spilled for class AREG.
make: *** [arch.o] Error 1
Should I just give up and use the gcc272 package?
Reply to: