Eric, the error below is a result of a gcc-4.3 bug. It happens that the compiler runs out of registers although older versions of gcc compile this code fine. Unfortunately, gcc-4.3 has some other optimizations which requires to change assembler code which was compiling fine for previous versions.
As a hack, edit the file include/iprt/asm.h and search for 403. You should fine three hits. Changing '>= 403' to '> 403' should make the code compile again. The resulting code is probably not correct but it concerns testcases only (execute tstInlineASM -- this will succeed and tstInlineAsmPIC and tstInlineASMPIC3 -- these two will fail). Kind regards, Frank On Thursday 05 February 2009, [email protected] wrote: > I get the following error trying to build with BUILD_TYPE=debug. Has anyone > seen this? I updated from svn late yesterday. Thanks. > > - Eric van Tassell > > > kBuild: Compiling tstInlineAsmPIC3 - > /home/evt/wrk/vbx/vbox/src/VBox/Runtime/testcase/tstInlineAsm.cpp > /home/evt/wrk/vbx/vbox/include/iprt/asm.h: In function ‘bool > ASMAtomicCmpXchgU64(volatile uint64_t*, uint64_t, uint64_t)’: > /home/evt/wrk/vbx/vbox/include/iprt/asm.h:2899: error: can't find a > register in class ‘GENERAL_REGS’ while reloading ‘asm’ > /home/evt/wrk/vbx/vbox/include/iprt/asm.h:2899: error: ‘asm’ operand > has impossible constraints kmk[2]: *** > [/home/evt/wrk/vbx/vbox/out/linux.x86/debug/obj/tstInlineAsmPIC/tstInlineAs >m.o] Error 1 The failing command: > @g++ -c -g -g -pipe -pedantic -Wall -Wextra -Wno-missing-field-initializers > -Wno-unused -Wno-trigraphs -Wno-long-long -Wno-variadic-macros -march=i586 > -O0 -fno-omit-frame-pointer -fno-strict-aliasing > -fvisibility-inlines-hidden -fvisibility=hidden > -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fPIC -m32 > -I/home/evt/wrk/vbx/vbox/include > -I/home/evt/wrk/vbx/vbox/out/linux.x86/debug -DVBOX -DVBOX_OSE > -DVBOX_WITH_64_BITS_GUESTS -DDEBUG -DDEBUG_evt -DDEBUG_USERNAME=evt > -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DIN_RING3 > -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=64 -DPIC -Wp, > -MD,/home/evt/wrk/vbx/vbox/out/linux.x86/debug/obj/tstInlineAsmPIC/tstInlin >eAsm.o.dep > -Wp,-MT,/home/evt/wrk/vbx/vbox/out/linux.x86/debug/obj/tstInlineAsmPIC/tstI >nlineAsm.o -Wp,-MP -o > /home/evt/wrk/vbx/vbox/out/linux.x86/debug/obj/tstInlineAsmPIC/tstInlineAsm >.o /home/evt/wrk/vbx/vbox/src/VBox/Runtime/testcase/tstInlineAsm.cpp -- Dr.-Ing. Frank Mehnert Sun Microsystems http://www.sun.com/
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
