Once upon a time in the not terribly distant pass, GCC's testuite results on OpenServer (i686-*-sco3.2v5*) were at approximate parity with Linux on IA32. I've been a big slacker and haven't had my eye on it in many months. I just cranked off a bootstrap and a testsuite run and it's not looking good for G++. The C language tests are basically in the game with 234 unexpected failures. The G++ tests are still running, but by inspection of the still-growing g++.log, it looks like the majority of the failures have the same root: /usr/tmp/blah.s:name already bound as global: blah If I take the attached registers1.ii (derived from a random failing testsuite entry) I'll see: $ ./xgcc -c ./registers1.ii /usr/tmp//ccG6WKmc.s:4:name already bound as global: float_src /usr/tmp//ccG6WKmc.s:12:name already bound as global: float_dest /usr/tmp//ccG6WKmc.s:19:name already bound as global: int_src /usr/tmp//ccG6WKmc.s:26:name already bound as global: int_dest Sure enough, it's emitting double .globl for C++ things. (robertl) rjlhome:/play/negcs-3.2/gcc $ head -5 registers1.s .file "registers1.C" .version "01.01" .globl float_src .globl float_src .data 3.0.4 didn't do this. You can argue that the assembler is being lame and I won't argue, but it'd be helpful to folks that use AT&T derived assemblers if we wouldn't torment them. Can anyone offer a hand on this? Thanx, RJL