I'm seeing a testsuite regression on 3.4 and mainline when running with extra flags -fpic or -fPIC. The testcase does use ebx, however 3.3 manages to pass so somehow it can work and this is a regression. (The testcase is identical in all three branches.)
http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00211.html http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00210.html http://gcc.gnu.org/ml/gcc-testresults/2005-01/msg00209.html I get this in the log file: FAIL: gcc.dg/20020919-1.c (test for errors, line 132) FAIL: gcc.dg/20020919-1.c (test for errors, line 177) FAIL: gcc.dg/20020919-1.c (test for errors, line 231) FAIL: gcc.dg/20020919-1.c (test for errors, line 244) FAIL: gcc.dg/20020919-1.c (test for excess errors) Excess errors: gcc.dg/20020919-1.c:132: error: PIC register '%ebx' clobbered in 'asm' gcc.dg/20020919-1.c:177: error: PIC register '%ebx' clobbered in 'asm' gcc.dg/20020919-1.c:186: error: PIC register '%ebx' clobbered in 'asm' gcc.dg/20020919-1.c:231: error: PIC register '%ebx' clobbered in 'asm' gcc.dg/20020919-1.c:244: error: PIC register '%ebx' clobbered in 'asm' -- Summary: [3.4/4.0 regression] gcc.dg/20020919-1.c fails with - fpic/-fPIC on i686-pc-linux-gnu Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: inline-asm AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ghazi at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19275