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,62 @@
From 2a96c8bbe19a193d9ae6d0780fc274abc4df03e3 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 5 Nov 2016 19:09:00 +0100
Subject: [PATCH] bfin: remove inline keyword
Xenomai user space tools fail to build for bfin target since it's
provide it's own pthread_atfork(), shm_open() and shm_unlink()
definition using the inline keyword and weak attribute.
With gcc 5+ the weak attribute is discarded by the inline keyword,
so each symbol are global and are redefined several time while
linking.
Fixes:
http://autobuild.buildroot.net/results/0c2/0c2e5eb4edd4f9427f61d3c9b67a12a7a0e24140
Patch status: upstream,
https://git.xenomai.org/xenomai-2.6.git/commit/?id=917dcebb26ec492f276cdc3b55867aa90e01fa12
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
include/asm-blackfin/syscall.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/asm-blackfin/syscall.h b/include/asm-blackfin/syscall.h
index 9eda8b9..b5728b5 100644
--- a/include/asm-blackfin/syscall.h
+++ b/include/asm-blackfin/syscall.h
@@ -132,9 +132,9 @@ static inline int __xn_interrupted_p(struct pt_regs *regs)
#define XENOMAI_SKINCALL5(id,op,a1,a2,a3,a4,a5) XENOMAI_DO_SYSCALL(5,id,op,a1,a2,a3,a4,a5)
/* uClibc does not provide pthread_atfork() for this arch; provide it
- here. Note: let the compiler decides whether it wants to actually
- inline this routine, i.e. do not force always_inline. */
-inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void),
+ here.
+*/
+__attribute__((weak)) int pthread_atfork(void (*prepare)(void),
void (*parent)(void),
void (*child)(void))
{
@@ -143,7 +143,7 @@ inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void),
#include <errno.h>
-inline __attribute__((weak)) int shm_open(const char *name,
+__attribute__((weak)) int shm_open(const char *name,
int oflag,
mode_t mode)
{
@@ -151,7 +151,7 @@ inline __attribute__((weak)) int shm_open(const char *name,
return -1;
}
-inline __attribute__((weak)) int shm_unlink(const char *name)
+__attribute__((weak)) int shm_unlink(const char *name)
{
errno = ENOSYS;
return -1;
--
2.5.5

View File

@@ -0,0 +1,107 @@
config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
bool
default y
depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \
BR2_bfin || BR2_powerpc || BR2_sh4
comment "xenomai needs an glibc or uClibc toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
config BR2_PACKAGE_XENOMAI
bool "Xenomai Userspace"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
# uses <error.h>, __WORDSIZE and bits/local_lim.h
depends on !BR2_TOOLCHAIN_USES_MUSL
help
Real-Time Framework for Linux
http://www.xenomai.org
Xenomai is split in two parts: a kernel part and an
userspace part.
This package contains the userspace part, which consists
mainly in libraries to write userspace real-time programs
that interact with the in-kernel Xenomai real-time core.
For those libraries to work, you need a Xenomai-enabled
kernel. This is possible in two ways:
- if you compile your kernel with Buildroot, you need to go
to Linux Kernel -> Linux Kernel Extensions to enable the
Xenomai extension.
- if you compile your kernel outside of Buildroot, you need
to make sure that it is Xenomai-enabled.
Finally, if you are using a static /dev, make sure to
uncomment the Xenomai entries listed in
target/generic/device_table_dev.txt.
if BR2_PACKAGE_XENOMAI
config BR2_PACKAGE_XENOMAI_VERSION
string "Custom Xenomai version"
help
Manually select Xenomai version. If left empty, the default
version will be used.
Make sure that the selected version has a patch for your
selected Linux kernel. If it does not, download and select
a patch manually with
BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux
Kernel -> Linux Kernel Extensions menu.
config BR2_PACKAGE_XENOMAI_TESTSUITE
bool "Install testsuite"
help
This option allows to install the Xenomai test programs.
config BR2_PACKAGE_XENOMAI_RTCAN
bool "RTCan utilities"
help
This option allows to install the Xenomai RT-CAN utilities.
config BR2_PACKAGE_XENOMAI_ANALOGY
bool "Analogy libs and utils"
help
This option allows to install the Xenomai Analogy utilities
and libraries
config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
bool "Native skin library"
default y
help
This option allows to install the Native Xenomai skin
config BR2_PACKAGE_XENOMAI_POSIX_SKIN
bool "POSIX skin library"
default y
help
This option allows to install the POSIX Xenomai skin
config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
bool "VX-Works skin library"
help
This option allows to install the VX-Works Xenomai skin
config BR2_PACKAGE_XENOMAI_PSOS_SKIN
bool "PSOS skin library"
help
This option allows to install the PSOS Xenomai skin
config BR2_PACKAGE_XENOMAI_RTAI_SKIN
bool "RTAI skin library"
help
This option allows to install the RTAI Xenomai skin
config BR2_PACKAGE_XENOMAI_UITRON_SKIN
bool "uiTron skin library"
help
This option allows to install the uiTron Xenomai skin
config BR2_PACKAGE_XENOMAI_VRTX_SKIN
bool "VRTX skin library"
help
This option allows to install the VRTX Xenomai skin
endif

View File

@@ -0,0 +1,2 @@
# Locally computed;
sha256 b6ff723cb0f3b1c2c4e15bccfd114b248dea1b4164a0ac0e612815379ce7caf8 xenomai-2.6.4.tar.bz2

View File

@@ -0,0 +1,112 @@
################################################################################
#
# xenomai
#
################################################################################
XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
ifeq ($(XENOMAI_VERSION),)
XENOMAI_VERSION = 2.6.4
else
BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE)
endif
XENOMAI_SITE = https://xenomai.org/downloads/xenomai/stable
XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2
XENOMAI_LICENSE = GPLv2+ with exception (headers), LGPLv2.1+ (libraries), GPLv2+ (kernel), GFDLv1.2+ (docs), GPLv2 (ipipe patch, can driver)
# GFDL is not included but refers to gnu.org
XENOMAI_LICENSE_FILES = debian/copyright include/COPYING src/skins/native/COPYING ksrc/nucleus/COPYING
XENOMAI_INSTALL_STAGING = YES
XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user
XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user
XENOMAI_CONF_OPTS += --includedir=/usr/include/xenomai/ --disable-doc-install
define XENOMAI_REMOVE_DEVFILES
for i in xeno-config xeno-info wrap-link.sh ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES
ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
define XENOMAI_REMOVE_TESTSUITE
rm -rf $(TARGET_DIR)/usr/share/xenomai/
for i in klatency rtdm xeno xeno-load check-vdso \
irqloop cond-torture-posix switchtest arith \
sigtest clocktest cyclictest latency wakeup-time \
xeno-test cond-torture-native mutex-torture-posix \
mutex-torture-native ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
endif
ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
define XENOMAI_REMOVE_RTCAN_PROGS
for i in rtcanrecv rtcansend ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
endif
ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
define XENOMAI_REMOVE_ANALOGY
for i in cmd_bits cmd_read cmd_write insn_write \
insn_bits insn_read ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
rm -f $(TARGET_DIR)/usr/sbin/analogy_config
rm -f $(TARGET_DIR)/usr/lib/libanalogy.*
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
endif
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
define XENOMAI_REMOVE_SKINS
for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \
if [ $$i == "posix" ] ; then \
rm -f $(TARGET_DIR)/usr/lib/posix.wrappers ; \
fi ; \
done
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
define XENOMAI_DEVICES
/dev/rtheap c 666 0 0 10 254 0 0 -
/dev/rtscope c 666 0 0 10 253 0 0 -
/dev/rtp c 666 0 0 150 0 0 1 32
endef
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XENOMAI_DEPENDENCIES += udev
define XENOMAI_INSTALL_UDEV_RULES
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
for f in $(@D)/ksrc/nucleus/udev/*.rules ; do \
cp $$f $(TARGET_DIR)/etc/udev/rules.d/ || exit 1 ; \
done ; \
fi;
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES
endif # udev
$(eval $(autotools-package))