update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,17 @@
Remove -Werror to avoid build failures
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/Makefile
===================================================================
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@
> /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
CFLAGS += -g
-CFLAGS += $(autodepend-flags) -Wall -Werror -Wno-frame-address
+CFLAGS += $(autodepend-flags) -Wall -Wno-frame-address
frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer
fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "")
fnostack_protector := $(call cc-option, -fno-stack-protector, "")

View File

@@ -0,0 +1,35 @@
From 022ae220d6e7b5bd064bc8698c271dca4dac7d8c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Mon, 8 May 2017 22:27:25 +0200
Subject: [PATCH] x86/hyperv_clock: be explicit about mul instruction data size
With gcc 4.7.2, the build fails with:
x86/hyperv_clock.c: Assembler messages:
x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
In order to avoid this, make the mul instruction data size explicit by
adding the appropriate suffix. It operates on 64-bit data, so use
"mulq".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
x86/hyperv_clock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c
index 8b1deba..6c4dd56 100644
--- a/x86/hyperv_clock.c
+++ b/x86/hyperv_clock.c
@@ -19,7 +19,7 @@ static inline u64 scale_delta(u64 delta, u64 mul_frac)
u64 product, unused;
__asm__ (
- "mul %3"
+ "mulq %3"
: "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) );
return product;
--
2.7.4

View File

@@ -0,0 +1,30 @@
config BR2_PACKAGE_KVM_UNIT_TESTS
bool "kvm-unit-tests"
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y
# on i386 and x86-64, __builtin_reachable is used, so we need
# gcc 4.5 at least. on i386, we use the target gcc, while on
# x86-64 we use the host gcc (see .mk file for details)
# On ARM, it uses virtualization extensions
depends on BR2_cortex_a7 || BR2_cortex_a12 || \
BR2_cortex_a15 || BR2_cortex_a17 || \
(BR2_i386 && BR2_TOOLCHAIN_GCC_AT_LEAST_4_5) || \
BR2_powerpc64 || \
BR2_powerpc64le || \
(BR2_x86_64 && BR2_HOST_GCC_AT_LEAST_4_5)
help
kvm-unit-tests is a project as old as KVM. As its name
suggests, it's purpose is to provide unit tests for KVM. The
unit tests are tiny guest operating systems that generally
execute only tens of lines of C and assembler test code in
order to obtain its PASS/FAIL result. Unit tests provide KVM
and virt hardware functional testing by targeting the
features through minimal implementations of their use per
the hardware specification. The simplicity of unit tests
make them easy to verify they are correct, easy to maintain,
and easy to use in timing measurements. Unit tests are also
often used for quick and dirty bug reproducers. The
reproducers may then be kept as regression tests. It's
strongly encouraged that patches implementing new KVM
features are submitted with accompanying unit tests.
http://www.linux-kvm.org/page/KVM-unit-tests

View File

@@ -0,0 +1,57 @@
################################################################################
#
# kvm-unit-tests
#
################################################################################
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
KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT
ifeq ($(BR2_arm),y)
KVM_UNIT_TESTS_ARCH = arm
else ifeq ($(BR2_i386),y)
KVM_UNIT_TESTS_ARCH = i386
else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
KVM_UNIT_TESTS_ARCH = ppc64
else ifeq ($(BR2_x86_64),y)
KVM_UNIT_TESTS_ARCH = x86_64
endif
ifeq ($(BR2_ENDIAN),"LITTLE")
KVM_UNIT_TESTS_ENDIAN = little
else
KVM_UNIT_TESTS_ENDIAN = big
endif
KVM_UNIT_TESTS_CONF_OPTS =\
--arch="$(KVM_UNIT_TESTS_ARCH)" \
--processor="$(call qstrip,$(BR2_GCC_TARGET_CPU))" \
--endian="$(KVM_UNIT_TESTS_ENDIAN)"
# For all architectures but x86-64, we use the target
# compiler. However, for x86-64, we use the host compiler, as
# kvm-unit-tests builds 32 bit code, which Buildroot toolchains for
# x86-64 cannot 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
define KVM_UNIT_TESTS_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) standalone
endef
define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
install
endef
# Does use configure script but not an autotools one
$(eval $(generic-package))