VirtualBox

Ticket #1262 (closed defect: wontfix)

Opened 6 years ago

Last modified 5 years ago

Missing register in BREG while reloading asm using hardened GCC-3.4.6

Reported by: covracer Owned by:
Priority: major Component: host support
Version: VirtualBox 1.5.6 Keywords:
Cc: Guest type: other
Host type: other

Description

The error is:

...
kBuild: Compiling RuntimeR3 - timesup.cpp
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h: In function `int RTTimerStart(RTTIMER*, uint64_t)':
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:2025: error: can't find a register in class `BREG' while reloading `asm'
kmk[3]: *** [/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/r3/posix/timer-posix.o] Error 1
The failing command:
	@g++ -c -O2 -g -Wall -pedantic -Wno-long-long -Wno-trigraphs  -pipe -O2  -fno-omit-frame-pointer -fno-strict-aliasing   -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/libs/liblzf-1.51 -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release -Iinclude -DVBOX -DVBOX_WITHOUT_IDT_PATCHING -DVBOX_OSE -DRT_OS_LINUX -D__LINUX__ -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DIN_RING3 -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=32 -DIN_RT_R3 -DIN_SUP_R3 -DLDR_WITH_NATIVE -DLDR_WITH_ELF32 -DLDR_WITH_PE -DRT_WITH_VBOX -Wp,-MD,/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/r3/posix/timer-posix.o.dep -Wp,-MT,/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/r3/posix/timer-posix.o -Wp,-MP -o /var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/r3/posix/timer-posix.o /var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/VBox/Runtime/r3/posix/timer-posix.cpp
kmk[3]: *** Waiting for unfinished jobs....
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h: In function `uint64_t RTTimeNanoTS()':
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:871: error: can't find a register in class `BREG' while reloading `asm'
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:871: error: can't find a register in class `BREG' while reloading `asm'
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:2168: error: can't find a register in class `BREG' while reloading `asm'
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:2382: error: can't find a register in class `BREG' while reloading `asm'
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:2168: error: can't find a register in class `BREG' while reloading `asm'
/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include/iprt/asm.h:2382: error: can't find a register in class `BREG' while reloading `asm'
kmk[3]: *** [/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/timesup.o] Error 1
The failing command:
	@g++ -c -O2 -g -Wall -pedantic -Wno-long-long -Wno-trigraphs  -pipe -O2  -fno-omit-frame-pointer -fno-strict-aliasing   -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/libs/liblzf-1.51 -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/include -I/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release -Iinclude -DVBOX -DVBOX_WITHOUT_IDT_PATCHING -DVBOX_OSE -DRT_OS_LINUX -D__LINUX__ -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DIN_RING3 -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=32 -DIN_RT_R3 -DIN_SUP_R3 -DLDR_WITH_NATIVE -DLDR_WITH_ELF32 -DLDR_WITH_PE -DRT_WITH_VBOX -Wp,-MD,/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/timesup.o.dep -Wp,-MT,/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/timesup.o -Wp,-MP -o /var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/out/linux.x86/release/obj/src/VBox/Runtime/RuntimeR3/timesup.o /var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/VBox/Runtime/timesup.cpp
kmk[3]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/VBox/Runtime'
kmk[2]: *** [pass_libraries_before] Error 2
kmk[2]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src/VBox'
kmk[1]: *** [pass_libraries_before] Error 2
kmk[1]: Leaving directory `/var/tmp/portage/app-emulation/virtualbox-1.5.6/work/VirtualBox-1.5.6_OSE/src'
kmk: *** [pass_libraries_before] Error 2

My GCC is:

# gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/specs
Configured with: /var/tmp/portage/sys-devel/gcc-3.4.6-r2/work/gcc-3.4.6/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.6 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include/g++-v3 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-java-awt=gtk --with-arch=i686 --enable-languages=c,c++,java,treelang,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.5, ssp-3.4.6-1.0, pie-8.7.10)

Change History

comment:1 Changed 6 years ago by frank

  • Component changed from other to host support

comment:2 Changed 5 years ago by hurikhan77

Gentoo's bug tracker points here because it seems to be a general problem when compiling with a hardened toolchain.

For me it happens with the following version:

  • VirtualBox 1.6.4
  • GCC profile: gcc version 3.4.6 (Gentoo Hardened 3.4.6-r2 p1.5, ssp-3.4.6-1.0, pie-8.7.10)
  • CHOST = x86_64-pc-linux-gnu
  • Linux 2.6.25-hardened-r8 SMP x86_64 Intel(R) Xeon(R) CPU E3110 @ 3.00GHz GenuineIntel GNU/Linux

BGO Reference:  http://bugs.gentoo.org/show_bug.cgi?id=234356

Any news on this issue?

comment:3 Changed 5 years ago by frank

No news. Actually we don't have any problems on any other Linux distribution (Debian, Ubuntu, Fedora, openSUSE, rhel, ...) I would suggest you to switch to a newer compiler, for example gcc-4.2.

comment:4 Changed 5 years ago by frank

  • Status changed from new to closed
  • Resolution set to wontfix
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use