Opened 14 years ago
Closed 14 years ago
#7576 closed defect (invalid)
vboxdrv does not compile with gcc 4.03
Reported by: | myasar | Owned by: | |
---|---|---|---|
Component: | host support | Version: | VirtualBox 3.2.10 |
Keywords: | gcc4.03 linux | Cc: | |
Guest type: | other | Host type: | Linux |
Description
Kernel: Linux my-desktop 2.6.15-55-386 OS: Ubuntu Dapper 6.06 32bits compiler: gcc 4.03 package: virtualbox-3.2_3.2.10-66523~Debian~etch_i386.deb
The compilation of kernel drivers is failing with the following error:
gcc -m32 -Wp,-MD,/tmp/vbox.0/.SUPDrv.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -fno-delete-null-pointer-checks -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i486 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -I/lib/modules/2.6.15-55-386/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -I/tmp/vbox.0/vboxdrv/ -I/tmp/vbox.0/vboxdrv/include -I/tmp/vbox.0/vboxdrv/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS -DMODULE -DKBUILD_BASENAME=SUPDrv -DKBUILD_MODNAME=vboxdrv -c -o /tmp/vbox.0/.tmp_SUPDrv.o /tmp/vbox.0/SUPDrv.c /tmp/vbox.0/SUPDrv.c: In function 'supdrvIOCtl_LdrOpen': /tmp/vbox.0/SUPDrv.c:109: sorry, unimplemented: inlining failed in call to 'supdrvLdrLock': function body not available /tmp/vbox.0/SUPDrv.c:3621: sorry, unimplemented: called from here /tmp/vbox.0/SUPDrv.c:110: sorry, unimplemented: inlining failed in call to 'supdrvLdrUnlock': function body not available /tmp/vbox.0/SUPDrv.c:3633: sorry, unimplemented: called from here /tmp/vbox.0/SUPDrv.c:110: sorry, unimplemented: inlining failed in call to 'supdrvLdrUnlock': function body not available /tmp/vbox.0/SUPDrv.c:3645: sorry, unimplemented: called from here /tmp/vbox.0/SUPDrv.c:110: sorry, unimplemented: inlining failed in call to 'supdrvLdrUnlock': function body not available /tmp/vbox.0/SUPDrv.c:3684: sorry, unimplemented: called from here /tmp/vbox.0/SUPDrv.c:110: sorry, unimplemented: inlining failed in call to 'supdrvLdrUnlock': function body not available /tmp/vbox.0/SUPDrv.c:3702: sorry, unimplemented: called from here make[2]: *** [/tmp/vbox.0/SUPDrv.o] Error 1 make[1]: *** [_module_/tmp/vbox.0] Error 2
This can be fixed by editing /usr/share/virtualbox/src/vboxhost/vboxdrv/SUPDrv.c and moving the function bodies supdrvLdrLock and supdrvLdrUnlock before the declaration.
Is compiling with gcc 4.03 supported ?
Note:
See TracTickets
for help on using tickets.
No. http://www.virtualbox.org/wiki/Linux%20build%20instructions says that gcc 4.0.x isn't supported at all with VirtualBox. The reason for this is that it is extremely buggy, and is known to generate incorrect code.
Use an earlier or later gcc version.