summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-rcar-gen3/recipes-bsp
diff options
context:
space:
mode:
authorRonan <ronan.lemartret@iot.bzh>2017-01-06 10:04:22 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2017-01-10 19:37:33 +0000
commit2155e13210a8a6dc533f49993e069db71a9e6bfa (patch)
tree0adf41b50c0a53b30cbbe68d6e774bbd36d69fbc /meta-agl-bsp/meta-rcar-gen3/recipes-bsp
parentaa430f8d7743bba88f2a5e55832951d99c19022d (diff)
fix gcc 6 build
Change-Id: I5ca505da0837c28acc4cb133e9d6acd87d1c7bcc Signed-off-by: Ronan <ronan.lemartret@iot.bzh>
Diffstat (limited to 'meta-agl-bsp/meta-rcar-gen3/recipes-bsp')
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot/0001-fixup-build-with-gcc6.patch86
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bbappend9
2 files changed, 95 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot/0001-fixup-build-with-gcc6.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot/0001-fixup-build-with-gcc6.patch
new file mode 100644
index 000000000..df1f786c6
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot/0001-fixup-build-with-gcc6.patch
@@ -0,0 +1,86 @@
+From ba619c7ec7820e80d1b5b520440fdb81c31c0baf Mon Sep 17 00:00:00 2001
+From: Ronan Le Martret <ronan.lemartret@iot.bzh>
+Date: Fri, 14 Oct 2016 09:03:11 +0200
+Subject: [PATCH] fix gcc6 build
+
+Signed-off-by: ronan <ronan@linux-pgnz.suse>
+---
+ include/linux/compiler-gcc6.h | 66 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+ create mode 100644 include/linux/compiler-gcc6.h
+
+diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
+new file mode 100644
+index 0000000..a3d00d8
+--- /dev/null
++++ b/include/linux/compiler-gcc6.h
+@@ -0,0 +1,66 @@
++#ifndef __LINUX_COMPILER_H
++#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
++#endif
++
++#define __used __attribute__((__used__))
++#define __must_check __attribute__((warn_unused_result))
++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
++
++/* Mark functions as cold. gcc will assume any path leading to a call
++ to them will be unlikely. This means a lot of manual unlikely()s
++ are unnecessary now for any paths leading to the usual suspects
++ like BUG(), printk(), panic() etc. [but let's keep them for now for
++ older compilers]
++
++ Early snapshots of gcc 4.3 don't support this and we can't detect this
++ in the preprocessor, but we can live with this because they're unreleased.
++ Maketime probing would be overkill here.
++
++ gcc also has a __attribute__((__hot__)) to move hot functions into
++ a special section, but I don't see any sense in this right now in
++ the kernel context */
++#define __cold __attribute__((__cold__))
++
++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
++
++#ifndef __CHECKER__
++# define __compiletime_warning(message) __attribute__((warning(message)))
++# define __compiletime_error(message) __attribute__((error(message)))
++#endif /* __CHECKER__ */
++
++/*
++ * Mark a position in code as unreachable. This can be used to
++ * suppress control flow warnings after asm blocks that transfer
++ * control elsewhere.
++ *
++ * Early snapshots of gcc 4.5 don't support this and we can't detect
++ * this in the preprocessor, but we can live with this because they're
++ * unreleased. Really, we need to have autoconf for the kernel.
++ */
++#define unreachable() __builtin_unreachable()
++
++/* Mark a function definition as prohibited from being cloned. */
++#define __noclone __attribute__((__noclone__))
++
++/*
++ * Tell the optimizer that something else uses this function or variable.
++ */
++#define __visible __attribute__((externally_visible))
++
++/*
++ * GCC 'asm goto' miscompiles certain code sequences:
++ *
++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
++ *
++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
++ * Fixed in GCC 4.8.2 and later versions.
++ *
++ * (asm goto is automatically volatile - the naming reflects this.)
++ */
++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
++
++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
++#define __HAVE_BUILTIN_BSWAP32__
++#define __HAVE_BUILTIN_BSWAP64__
++#define __HAVE_BUILTIN_BSWAP16__
++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
+--
+2.6.6
+
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bbappend
new file mode 100644
index 000000000..36d8c24b8
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bbappend
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
+
+SRC_URI_append = " \
+ file://0001-fixup-build-with-gcc6.patch \
+"
+
+do_deploy_prepend() {
+ ln -s ${B}/${UBOOT_SREC} ${S}/${UBOOT_SREC}
+}
NSE;md5=6ee7f7ed2001e4cde4679fdb8926f820 \ file://3rd-party-libs/turtle/LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ file://3rd-party-libs/jwt-cpp/LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff" DEPENDS = "boost openssl mosquitto protobuf-native grpc-native grpc" require kuksa-val.inc SRC_URI += "file://kuksa-val.service \ file://0001-Make-Boost-requirements-more-liberal.patch;patchdir=.. \ file://0002-Fix-gRPC-configuration-for-OE-cross-compiling.patch;patchdir=.. \ file://0003-Make-install-locations-configurable.patch;patchdir=.. \ file://0004-Disable-default-fetch-and-build-of-googletest.patch;patchdir=.. \ file://0005-kuksa-val-server-Add-missing-check_git-dependency.patch;patchdir=.. \ " S = "${WORKDIR}/git/kuksa-val-server" inherit cmake pkgconfig systemd useradd SYSTEMD_SERVICE:${PN} = "kuksa-val.service" USERADD_PACKAGES = "${PN} ${PN}-server-certificates" USERADDEXTENSION = "useradd-staticids" GROUPADD_PARAM:${PN} = "-g 900 kuksa ;" USERADD_PARAM:${PN} = "--system -g 900 -u 900 -o -d / --shell /bin/nologin kuksa ;" GROUPADD_PARAM:${PN}-server-certificates = "-g 900 kuksa ;" # Configure file locations more along the lines of FHS instead of kuksa.val's # default locations. EXTRA_OECMAKE = " \ -DKUKSA_INSTALL_BINDIR=${bindir} \ -DKUKSA_INSTALL_CERTDIR=${sysconfdir}/kuksa-val \ -DKUKSA_INSTALL_DATADIR=${datadir}/kuksa-val \ -DKUKSA_INSTALL_CONFIGDIR=${sysconfdir}/kuksa-val \ " do_install:append() { # Lower the logging level used in the installed config.ini from the upstream # default of "ALL", which spams the logs. sed -i 's/^log-level = .*/log-level = WARNING/' ${D}/${sysconfdir}/kuksa-val/config.ini if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/kuksa-val.service ${D}${systemd_system_unitdir} fi } # Put certificates into their own packages so we can avoid duplicates # of them for e.g. cluster clients, and so downstream users can # replace them with their own certificates. # # NOTE: # Downstream users can replace these packages with alternates by # having their packages set their RPROVIDES to include the desired # kuksa-val-certificates-* and explicitly adding their package(s) # to an image, they will end up getting priority during rootfs # construction and installed instead of the default ones here. PACKAGE_BEFORE_PN += "${PN}-certificates-ca ${PN}-certificates-server ${PN}-certificates-client" FILES:${PN}-certificates-ca = " \ ${sysconfdir}/kuksa-val/CA.pem \ " FILES:${PN}-certificates-server = " \ ${sysconfdir}/kuksa-val/Server.key \ ${sysconfdir}/kuksa-val/Server.pem \ ${sysconfdir}/kuksa-val/jwt.key.pub \ " RDEPENDS:${PN}-certificates-server += "${PN}-certificates-ca" FILES:${PN}-certificates-client = " \ ${sysconfdir}/kuksa-val/Client.key \ ${sysconfdir}/kuksa-val/Client.pem \ " RDEPENDS:${PN}-certificate-clients += "${PN}-certificates-ca" FILES:${PN} += "${systemd_system_unitdir} ${datadir}" RDEPENDS:${PN} += "${PN}-certificates-server ${PN}-certificates-client"