Skip to contentSkip to conversation

kvm-unit-tests: Fix x86_64 to use host compiler

PATCH New Cyril Bur 2 participants 4 messages Oct 26, 2016

lore
Share & tools
lore

Cyril Bur

author
#0 lore raw

PATCH v2 1/2 kvm-unit-tests: Fix x86_64 to use host compiler

kvm-unit-tests requires a multilib compiler for x86_64 as it compiles 32bit boot code.

This patch uses the BR2_HOSTARCH_NEEDS_IA32_COMPILER option to enforce this and avoids using TARGET_CROSS for x86_64 targets and uses the host 32bit (and 64bit) capable compiler.

---
V2: Addressed review comments from Thomas
- Don't change the KVM_UNIT_TESTS_ARCH block
- Add space after comment
- Split version fixes version bump to separate patch

 package/kvm-unit-tests/Config.in         | 1 +
 package/kvm-unit-tests/kvm-unit-tests.mk | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
package/kvm-unit-tests/Config.in +1 -0
index f771896..d72c734 100644
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_KVM_UNIT_TESTS
 	bool "kvm-unit-tests"
+	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y
 	depends on BR2_arm || BR2_i386 || BR2_powerpc64 || \
 		BR2_powerpc64le || BR2_x86_64
 	help
package/kvm-unit-tests/kvm-unit-tests.mk +7 -1
index 7fd03ad..97c8eb8 100644
@@ -28,9 +28,15 @@ endif
 
 KVM_UNIT_TESTS_CONF_OPTS =\
 	--arch="$(KERNEL_ARCH)" \
-	--cross-prefix="$(TARGET_CROSS)" \
 	--endian="$(KVM_UNIT_TESTS_ENDIAN)"
 
+#Use HOSTCC for x86_64 as we'll need to compile 32bit code
+#which buildroot cross compilers often can't do
+
+ifneq ($(BR2_x86_64),y)
+KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)"
+endif
+
 define KVM_UNIT_TESTS_CONFIGURE_CMDS
 	cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS)
 endef
Signature · 1 line
2.10.1
author
#1 lore raw

PATCH v2 2/2 kvm-unit-tests: Bump version

This version bump includes several fixes for x86 and a significant fix to powerpc transactional memory tests.

---
 package/kvm-unit-tests/kvm-unit-tests.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/kvm-unit-tests/kvm-unit-tests.mk +1 -1
index 97c8eb8..5028e38 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-KVM_UNIT_TESTS_VERSION = 0b04ed0610035792514fd8499eb4dacc185520d9
+KVM_UNIT_TESTS_VERSION = 5731572b2ac23eb410732110b93425b5bb7f27dd
 KVM_UNIT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/scm/virt/kvm/kvm-unit-tests.git
 KVM_UNIT_TESTS_SITE_METHOD = git
 KVM_UNIT_TESTS_LICENSE = LGPLv2
Signature · 1 line
2.10.1
#2 lore raw

PATCH v2 2/2 kvm-unit-tests: Bump version

Hello,

Quoted 7 lines · Cyril Bur

This version bump includes several fixes for x86 and a significant fix to powerpc transactional memory tests.

---
 package/kvm-unit-tests/kvm-unit-tests.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v2 1/2 kvm-unit-tests: Fix x86_64 to use host compiler

In reply to Cyril Bur

Hello,

package/kvm-unit-tests/kvm-unit-tests.mk endif · line 34

Quoted 2 lines · Cyril Bur
package/kvm-unit-tests/kvm-unit-tests.mk +2 -0
+#Use HOSTCC for x86_64 as we'll need to compile 32bit code
+#which buildroot cross compilers often can't do

I've reworked this comment a bit, and applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com