diff options
29 files changed, 2803 insertions, 181 deletions
diff --git a/b2qt-init-build-env b/b2qt-init-build-env index d72d28c..703c110 100755 --- a/b2qt-init-build-env +++ b/b2qt-init-build-env | |||
@@ -133,6 +133,9 @@ get_groups() { | |||
133 | jetson-tx1|jetson-tk1) | 133 | jetson-tx1|jetson-tk1) |
134 | PROJECT_GROUPS="jetson" | 134 | PROJECT_GROUPS="jetson" |
135 | ;; | 135 | ;; |
136 | salvator-x|h3ulcb|m3ulcb) | ||
137 | PROJECT_GROUPS="renesas-gen3" | ||
138 | ;; | ||
136 | *) | 139 | *) |
137 | echo "Unknown device configuration, including all meta layers" | 140 | echo "Unknown device configuration, including all meta layers" |
138 | PROJECT_GROUPS="external" | 141 | PROJECT_GROUPS="external" |
diff --git a/conf/bblayers.conf.rcar-gen3.sample b/conf/bblayers.conf.rcar-gen3.sample new file mode 100644 index 0000000..8f7a3c4 --- /dev/null +++ b/conf/bblayers.conf.rcar-gen3.sample | |||
@@ -0,0 +1,54 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf | ||
31 | # changes incompatibly | ||
32 | POKY_BBLAYERS_CONF_VERSION = "2" | ||
33 | |||
34 | BBPATH = "${TOPDIR}" | ||
35 | BBFILES ?= "" | ||
36 | BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}" | ||
37 | |||
38 | BBLAYERS ?= " \ | ||
39 | ${BSPDIR}/sources/poky/meta \ | ||
40 | ${BSPDIR}/sources/poky/meta-poky \ | ||
41 | ${BSPDIR}/sources/meta-renesas/meta-rcar-gen3 \ | ||
42 | ${BSPDIR}/sources/meta-freescale \ | ||
43 | ${BSPDIR}/sources/meta-linaro/meta-optee \ | ||
44 | ${BSPDIR}/sources/meta-openembedded/meta-oe \ | ||
45 | ${BSPDIR}/sources/meta-openembedded/meta-python \ | ||
46 | ${BSPDIR}/sources/meta-openembedded/meta-networking \ | ||
47 | ${BSPDIR}/sources/meta-openembedded/meta-initramfs \ | ||
48 | ${BSPDIR}/sources/meta-openembedded/meta-multimedia \ | ||
49 | ${BSPDIR}/sources/meta-boot2qt \ | ||
50 | ${BSPDIR}/sources/meta-boot2qt/meta-renesas-extras \ | ||
51 | ${BSPDIR}/sources/meta-mingw \ | ||
52 | ${BSPDIR}/sources/meta-qt5 \ | ||
53 | " | ||
54 | |||
diff --git a/conf/distro/include/h3ulcb.conf b/conf/distro/include/h3ulcb.conf new file mode 100644 index 0000000..ddb40e0 --- /dev/null +++ b/conf/distro/include/h3ulcb.conf | |||
@@ -0,0 +1,32 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | include conf/distro/include/rcar-gen3.inc | ||
31 | |||
32 | DEPLOY_CONF_NAME = "Renesas R-Car-H3 Starter Kit Premier" | ||
diff --git a/conf/distro/include/m3ulcb.conf b/conf/distro/include/m3ulcb.conf new file mode 100644 index 0000000..cff7893 --- /dev/null +++ b/conf/distro/include/m3ulcb.conf | |||
@@ -0,0 +1,32 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | include conf/distro/include/rcar-gen3.inc | ||
31 | |||
32 | DEPLOY_CONF_NAME = "Renesas R-Car-M3 Starter Kit Pro" | ||
diff --git a/conf/distro/include/rcar-gen3.inc b/conf/distro/include/rcar-gen3.inc new file mode 100644 index 0000000..231dd27 --- /dev/null +++ b/conf/distro/include/rcar-gen3.inc | |||
@@ -0,0 +1,66 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | include conf/distro/include/fsl.inc | ||
31 | |||
32 | QBSP_IMAGE_CONTENT = "\ | ||
33 | ${IMAGE_LINK_NAME}.img \ | ||
34 | ${IMAGE_LINK_NAME}.conf \ | ||
35 | " | ||
36 | |||
37 | BOOT_SPACE = "16384" | ||
38 | |||
39 | # uncomment following if using the evaluation drivers | ||
40 | #DISTRO_FEATURES_append = " use_eva_pkg" | ||
41 | |||
42 | MACHINE_FEATURES_append = " gsx multimedia" | ||
43 | |||
44 | MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm" | ||
45 | |||
46 | #DISTRO_FEATURES_append = " pam" | ||
47 | PREFERRED_PROVIDER_virtual/libgles1 = "" | ||
48 | PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module" | ||
49 | PREFERRED_PROVIDER_virtual/egl = "gles-user-module" | ||
50 | PREFERRED_PROVIDER_virtual/libgl = "" | ||
51 | PREFERRED_PROVIDER_virtual/mesa = "" | ||
52 | PREFERRED_PROVIDER_libgbm = "libgbm" | ||
53 | PREFERRED_PROVIDER_libgbm-dev = "libgbm" | ||
54 | PREFERRED_PROVIDER_virtual/libgbm = "libgbm" | ||
55 | BBMASK += "mesa-gl" | ||
56 | |||
57 | # internal copy of R-Car_Series_Evaluation_Software_Packages used for CI | ||
58 | FILESEXTRAPATHS_append = "${BSPDIR}/sources/renesas-rcar-gen3/${PN}:" | ||
59 | |||
60 | BBMASK += "\ | ||
61 | meta-linaro/meta-optee/recipes-security/optee \ | ||
62 | meta-rcar-gen3/recipes-connectivity/ppp \ | ||
63 | meta-rcar-gen3/recipes-graphics/mesa \ | ||
64 | meta-rcar-gen3/recipes-multimedia/gstreamer \ | ||
65 | meta-rcar-gen3/recipes-multimedia/webp \ | ||
66 | " | ||
diff --git a/conf/distro/include/salvator-x.conf b/conf/distro/include/salvator-x.conf new file mode 100644 index 0000000..c44dbe1 --- /dev/null +++ b/conf/distro/include/salvator-x.conf | |||
@@ -0,0 +1,32 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | include conf/distro/include/rcar-gen3.inc | ||
31 | |||
32 | DEPLOY_CONF_NAME = "Renesas R-Car H3/M3 Salvator-X" | ||
diff --git a/conf/distro/include/tegra-t18x.conf b/conf/distro/include/tegra-t18x.conf index 85b0b6c..bde2d16 100644 --- a/conf/distro/include/tegra-t18x.conf +++ b/conf/distro/include/tegra-t18x.conf | |||
@@ -1,6 +1,6 @@ | |||
1 | ############################################################################ | 1 | ############################################################################ |
2 | ## | 2 | ## |
3 | ## Copyright (C) 2016 The Qt Company Ltd. | 3 | ## Copyright (C) 2017 The Qt Company Ltd. |
4 | ## Contact: https://www.qt.io/licensing/ | 4 | ## Contact: https://www.qt.io/licensing/ |
5 | ## | 5 | ## |
6 | ## This file is part of the Boot to Qt meta layer. | 6 | ## This file is part of the Boot to Qt meta layer. |
@@ -27,18 +27,12 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | OLDEST_KERNEL_aarch64 = "3.18" | ||
31 | |||
32 | TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM" | ||
33 | |||
34 | IMAGE_FSTYPES += "tar.gz" | 30 | IMAGE_FSTYPES += "tar.gz" |
35 | 31 | ||
36 | QBSP_IMAGE_CONTENT = "\ | 32 | QBSP_IMAGE_CONTENT = "\ |
37 | ${IMAGE_LINK_NAME}.tar.gz \ | 33 | ${IMAGE_LINK_NAME}.tar.gz \ |
38 | Image \ | ||
39 | " | 34 | " |
40 | 35 | ||
41 | KERN_DIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186/kernel")}' | ||
42 | PLATFORM_TOPDIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186")}' | 36 | PLATFORM_TOPDIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186")}' |
43 | NVLAYER_DIR ?= "${TOPDIR}/../sources/nvidia-layer" | 37 | NVLAYER_DIR ?= "${TOPDIR}/../sources/nvidia-layer" |
44 | 38 | ||
@@ -61,27 +55,42 @@ MACHINE_EXTRA_INSTALL += "\ | |||
61 | libdrm-nv \ | 55 | libdrm-nv \ |
62 | " | 56 | " |
63 | 57 | ||
64 | PREFERRED_PROVIDER_virtual/libgles2 ?= "tegra-drivers" | 58 | PREFERRED_PROVIDER_virtual/libgles2 = "tegra-drivers" |
65 | PREFERRED_PROVIDER_virtual/libgles2-dev ?= "tegra-drivers" | 59 | PREFERRED_PROVIDER_virtual/libgles2-dev = "tegra-drivers" |
66 | PREFERRED_PROVIDER_virtual/libegl ?= "tegra-drivers" | 60 | PREFERRED_PROVIDER_virtual/libegl = "tegra-drivers" |
67 | PREFERRED_PROVIDER_virtual/libegl-dev ?= "tegra-drivers" | 61 | PREFERRED_PROVIDER_virtual/libegl-dev = "tegra-drivers" |
68 | PREFERRED_PROVIDER_virtual/egl ?= "tegra-drivers" | 62 | PREFERRED_PROVIDER_virtual/egl = "tegra-drivers" |
69 | PREFERRED_PROVIDER_virtual/libgl ?= "tegra-drivers" | 63 | PREFERRED_PROVIDER_virtual/libgl = "tegra-drivers" |
70 | PREFERRED_PROVIDER_virtual/libgles1 ?= "tegra-drivers" | 64 | PREFERRED_PROVIDER_virtual/libgles1 = "tegra-drivers" |
71 | PREFERRED_PROVIDER_virtual/mesa ?= "tegra-drivers" | 65 | PREFERRED_PROVIDER_virtual/mesa = "tegra-drivers" |
66 | PREFERRED_PROVIDER_drm = "libdrm-nv" | ||
67 | PREFERRED_PROVIDER_libdrm = "libdrm-nv" | ||
68 | PREFERRED_PROVIDER_virtual/kernel = "linux-nvidia" | ||
69 | PREFERRED_VERSION_linux-libc-headers = "4.4" | ||
70 | PREFERRED_VERSION_nativesdk-linux-libc-headers = "4.4" | ||
72 | 71 | ||
73 | BBMASK += "\ | 72 | BBMASK += "\ |
74 | meta-vib4/recipes-connectivity/connman \ | 73 | meta-tegra/recipes-bsp/flashing \ |
75 | meta-vib4/recipes-core/toybox \ | 74 | meta-vib4/recipes-core/busybox \ |
75 | meta-vib4/recipes-core/glibc \ | ||
76 | meta-vib4/recipes-core/images \ | 76 | meta-vib4/recipes-core/images \ |
77 | meta-vib4/recipes-core/kbd \ | ||
77 | meta-vib4/recipes-core/packagegroups \ | 78 | meta-vib4/recipes-core/packagegroups \ |
78 | meta-vib4/recipes-extended \ | 79 | meta-vib4/recipes-core/toybox \ |
79 | meta-vib4/recipes-multimedia/audiomanager \ | ||
80 | meta-vib4/recipes-core/glibc \ | ||
81 | meta-vib4/recipes-support/lvm2 \ | ||
82 | meta-vib4/recipes-kernel/linux-libc-headers \ | ||
83 | meta-vib4/recipes-devtools/binutils \ | 80 | meta-vib4/recipes-devtools/binutils \ |
84 | meta-vib4/recipes-yocto-ivi/packagegroups \ | 81 | meta-vib4/recipes-devtools/gcc \ |
85 | meta-vib4/recipes-graphics/wayland/wayland-ivi-extension_%.bbappend \ | 82 | meta-vib4/recipes-dummy/files \ |
83 | meta-vib4/recipes-extended/common-api \ | ||
84 | meta-vib4/recipes-extended/persistence-common-object \ | ||
85 | meta-vib4/recipes-extended/quota \ | ||
86 | meta-vib4/recipes-extended/xz \ | ||
86 | meta-vib4/recipes-graphics/wayland/libinput_%.bbappend \ | 87 | meta-vib4/recipes-graphics/wayland/libinput_%.bbappend \ |
88 | meta-vib4/recipes-graphics/wayland/wayland-ivi-extension_%.bbappend \ | ||
89 | meta-vib4/recipes-graphics/weston \ | ||
90 | meta-vib4/recipes-kernel/linux-libc-headers \ | ||
91 | meta-vib4/recipes-multimedia/audiomanager \ | ||
92 | meta-vib4/recipes-navigation/gpsd \ | ||
93 | meta-vib4/recipes-support/keyutils \ | ||
94 | meta-vib4/recipes-support/lvm2 \ | ||
95 | meta-vib4/recipes-yocto-ivi \ | ||
87 | " | 96 | " |
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch b/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch new file mode 100644 index 0000000..6c2b553 --- /dev/null +++ b/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch | |||
@@ -0,0 +1,1360 @@ | |||
1 | From dc53324060f324e8af6867f57bf4891c13c6ef18 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Beulich <JBeulich@suse.com> | ||
3 | Date: Thu, 3 Apr 2014 14:46:37 -0700 | ||
4 | Subject: [PATCH] genksyms: fix typeof() handling | ||
5 | |||
6 | Recent increased use of typeof() throughout the tree resulted in a | ||
7 | number of symbols (25 in a typical distro config of ours) not getting a | ||
8 | proper CRC calculated for them anymore, due to the parser in genksyms | ||
9 | not coping with several of these uses (interestingly in the majority of | ||
10 | [if not all] cases the problem is due to the use of typeof() in code | ||
11 | preceding a certain export, not in the declaration/definition of the | ||
12 | exported function/object itself; I wasn't able to find a way to address | ||
13 | this more general parser shortcoming). | ||
14 | |||
15 | The use of parameter_declaration is a little more relaxed than would be | ||
16 | ideal (permitting not just a bare type specification, but also one with | ||
17 | identifier), but since the same code is being passed through an actual | ||
18 | compiler, there's no apparent risk of allowing through any broken code. | ||
19 | |||
20 | Otoh using parameter_declaration instead of the ad hoc | ||
21 | "decl_specifier_seq '*'" / "decl_specifier_seq" pair allows all types to | ||
22 | be handled rather than just plain ones and pointers to plain ones. | ||
23 | |||
24 | Signed-off-by: Jan Beulich <jbeulich@suse.com> | ||
25 | Cc: Michal Marek <mmarek@suse.cz> | ||
26 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
27 | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | ||
28 | --- | ||
29 | scripts/genksyms/keywords.gperf | 5 +- | ||
30 | scripts/genksyms/keywords.hash.c_shipped | 133 +++---- | ||
31 | scripts/genksyms/lex.l | 51 ++- | ||
32 | scripts/genksyms/lex.lex.c_shipped | 51 ++- | ||
33 | scripts/genksyms/parse.tab.c_shipped | 608 ++++++++++++++++--------------- | ||
34 | scripts/genksyms/parse.tab.h_shipped | 29 +- | ||
35 | scripts/genksyms/parse.y | 5 +- | ||
36 | 7 files changed, 498 insertions(+), 384 deletions(-) | ||
37 | |||
38 | diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf | ||
39 | index 3e77a943e7b7..a9096d993172 100644 | ||
40 | --- a/scripts/genksyms/keywords.gperf | ||
41 | +++ b/scripts/genksyms/keywords.gperf | ||
42 | @@ -23,6 +23,8 @@ __inline, INLINE_KEYW | ||
43 | __inline__, INLINE_KEYW | ||
44 | __signed, SIGNED_KEYW | ||
45 | __signed__, SIGNED_KEYW | ||
46 | +__typeof, TYPEOF_KEYW | ||
47 | +__typeof__, TYPEOF_KEYW | ||
48 | __volatile, VOLATILE_KEYW | ||
49 | __volatile__, VOLATILE_KEYW | ||
50 | # According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO | ||
51 | @@ -51,9 +53,8 @@ signed, SIGNED_KEYW | ||
52 | static, STATIC_KEYW | ||
53 | struct, STRUCT_KEYW | ||
54 | typedef, TYPEDEF_KEYW | ||
55 | +typeof, TYPEOF_KEYW | ||
56 | union, UNION_KEYW | ||
57 | unsigned, UNSIGNED_KEYW | ||
58 | void, VOID_KEYW | ||
59 | volatile, VOLATILE_KEYW | ||
60 | -typeof, TYPEOF_KEYW | ||
61 | -__typeof__, TYPEOF_KEYW | ||
62 | diff --git a/scripts/genksyms/keywords.hash.c_shipped b/scripts/genksyms/keywords.hash.c_shipped | ||
63 | index 82062607e8c0..e9452482e198 100644 | ||
64 | --- a/scripts/genksyms/keywords.hash.c_shipped | ||
65 | +++ b/scripts/genksyms/keywords.hash.c_shipped | ||
66 | @@ -34,7 +34,7 @@ struct resword; | ||
67 | static const struct resword *is_reserved_word(register const char *str, register unsigned int len); | ||
68 | #line 8 "scripts/genksyms/keywords.gperf" | ||
69 | struct resword { const char *name; int token; }; | ||
70 | -/* maximum key range = 64, duplicates = 0 */ | ||
71 | +/* maximum key range = 98, duplicates = 0 */ | ||
72 | |||
73 | #ifdef __GNUC__ | ||
74 | __inline | ||
75 | @@ -48,32 +48,32 @@ is_reserved_hash (register const char *str, register unsigned int len) | ||
76 | { | ||
77 | static const unsigned char asso_values[] = | ||
78 | { | ||
79 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
80 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
81 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
82 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
83 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
84 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
85 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, | ||
86 | - 67, 67, 67, 67, 67, 67, 15, 67, 67, 67, | ||
87 | - 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
88 | - 67, 67, 67, 67, 67, 0, 67, 0, 67, 5, | ||
89 | - 25, 20, 15, 30, 67, 15, 67, 67, 10, 0, | ||
90 | - 10, 40, 20, 67, 10, 5, 0, 10, 15, 67, | ||
91 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
92 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
93 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
94 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
95 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
96 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
97 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
98 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
99 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
100 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
101 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
102 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
103 | - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, | ||
104 | - 67, 67, 67, 67, 67, 67 | ||
105 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
106 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
107 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
108 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
109 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
110 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
111 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 0, | ||
112 | + 101, 101, 101, 101, 101, 101, 15, 101, 101, 101, | ||
113 | + 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
114 | + 101, 101, 101, 101, 101, 0, 101, 0, 101, 5, | ||
115 | + 25, 20, 55, 30, 101, 15, 101, 101, 10, 0, | ||
116 | + 10, 40, 10, 101, 10, 5, 0, 10, 15, 101, | ||
117 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
118 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
119 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
120 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
121 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
122 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
123 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
124 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
125 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
126 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
127 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
128 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
129 | + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, | ||
130 | + 101, 101, 101, 101, 101, 101 | ||
131 | }; | ||
132 | return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; | ||
133 | } | ||
134 | @@ -89,17 +89,17 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
135 | { | ||
136 | enum | ||
137 | { | ||
138 | - TOTAL_KEYWORDS = 45, | ||
139 | + TOTAL_KEYWORDS = 46, | ||
140 | MIN_WORD_LENGTH = 3, | ||
141 | MAX_WORD_LENGTH = 24, | ||
142 | MIN_HASH_VALUE = 3, | ||
143 | - MAX_HASH_VALUE = 66 | ||
144 | + MAX_HASH_VALUE = 100 | ||
145 | }; | ||
146 | |||
147 | static const struct resword wordlist[] = | ||
148 | { | ||
149 | {""}, {""}, {""}, | ||
150 | -#line 33 "scripts/genksyms/keywords.gperf" | ||
151 | +#line 35 "scripts/genksyms/keywords.gperf" | ||
152 | {"asm", ASM_KEYW}, | ||
153 | {""}, | ||
154 | #line 15 "scripts/genksyms/keywords.gperf" | ||
155 | @@ -108,7 +108,7 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
156 | #line 16 "scripts/genksyms/keywords.gperf" | ||
157 | {"__asm__", ASM_KEYW}, | ||
158 | {""}, {""}, | ||
159 | -#line 59 "scripts/genksyms/keywords.gperf" | ||
160 | +#line 27 "scripts/genksyms/keywords.gperf" | ||
161 | {"__typeof__", TYPEOF_KEYW}, | ||
162 | {""}, | ||
163 | #line 19 "scripts/genksyms/keywords.gperf" | ||
164 | @@ -119,31 +119,31 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
165 | {"__const__", CONST_KEYW}, | ||
166 | #line 25 "scripts/genksyms/keywords.gperf" | ||
167 | {"__signed__", SIGNED_KEYW}, | ||
168 | -#line 51 "scripts/genksyms/keywords.gperf" | ||
169 | +#line 53 "scripts/genksyms/keywords.gperf" | ||
170 | {"static", STATIC_KEYW}, | ||
171 | {""}, | ||
172 | -#line 46 "scripts/genksyms/keywords.gperf" | ||
173 | +#line 48 "scripts/genksyms/keywords.gperf" | ||
174 | {"int", INT_KEYW}, | ||
175 | -#line 39 "scripts/genksyms/keywords.gperf" | ||
176 | +#line 41 "scripts/genksyms/keywords.gperf" | ||
177 | {"char", CHAR_KEYW}, | ||
178 | -#line 40 "scripts/genksyms/keywords.gperf" | ||
179 | +#line 42 "scripts/genksyms/keywords.gperf" | ||
180 | {"const", CONST_KEYW}, | ||
181 | -#line 52 "scripts/genksyms/keywords.gperf" | ||
182 | +#line 54 "scripts/genksyms/keywords.gperf" | ||
183 | {"struct", STRUCT_KEYW}, | ||
184 | -#line 31 "scripts/genksyms/keywords.gperf" | ||
185 | +#line 33 "scripts/genksyms/keywords.gperf" | ||
186 | {"__restrict__", RESTRICT_KEYW}, | ||
187 | -#line 32 "scripts/genksyms/keywords.gperf" | ||
188 | +#line 34 "scripts/genksyms/keywords.gperf" | ||
189 | {"restrict", RESTRICT_KEYW}, | ||
190 | #line 12 "scripts/genksyms/keywords.gperf" | ||
191 | {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, | ||
192 | #line 23 "scripts/genksyms/keywords.gperf" | ||
193 | {"__inline__", INLINE_KEYW}, | ||
194 | {""}, | ||
195 | -#line 27 "scripts/genksyms/keywords.gperf" | ||
196 | +#line 29 "scripts/genksyms/keywords.gperf" | ||
197 | {"__volatile__", VOLATILE_KEYW}, | ||
198 | #line 10 "scripts/genksyms/keywords.gperf" | ||
199 | {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, | ||
200 | -#line 30 "scripts/genksyms/keywords.gperf" | ||
201 | +#line 32 "scripts/genksyms/keywords.gperf" | ||
202 | {"_restrict", RESTRICT_KEYW}, | ||
203 | {""}, | ||
204 | #line 17 "scripts/genksyms/keywords.gperf" | ||
205 | @@ -152,56 +152,65 @@ is_reserved_word (register const char *str, register unsigned int len) | ||
206 | {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | ||
207 | #line 21 "scripts/genksyms/keywords.gperf" | ||
208 | {"__extension__", EXTENSION_KEYW}, | ||
209 | -#line 42 "scripts/genksyms/keywords.gperf" | ||
210 | +#line 44 "scripts/genksyms/keywords.gperf" | ||
211 | {"enum", ENUM_KEYW}, | ||
212 | #line 13 "scripts/genksyms/keywords.gperf" | ||
213 | {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW}, | ||
214 | -#line 43 "scripts/genksyms/keywords.gperf" | ||
215 | +#line 45 "scripts/genksyms/keywords.gperf" | ||
216 | {"extern", EXTERN_KEYW}, | ||
217 | {""}, | ||
218 | #line 24 "scripts/genksyms/keywords.gperf" | ||
219 | {"__signed", SIGNED_KEYW}, | ||
220 | #line 14 "scripts/genksyms/keywords.gperf" | ||
221 | {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, | ||
222 | -#line 54 "scripts/genksyms/keywords.gperf" | ||
223 | +#line 57 "scripts/genksyms/keywords.gperf" | ||
224 | {"union", UNION_KEYW}, | ||
225 | -#line 58 "scripts/genksyms/keywords.gperf" | ||
226 | - {"typeof", TYPEOF_KEYW}, | ||
227 | -#line 53 "scripts/genksyms/keywords.gperf" | ||
228 | - {"typedef", TYPEDEF_KEYW}, | ||
229 | + {""}, {""}, | ||
230 | #line 22 "scripts/genksyms/keywords.gperf" | ||
231 | {"__inline", INLINE_KEYW}, | ||
232 | -#line 38 "scripts/genksyms/keywords.gperf" | ||
233 | +#line 40 "scripts/genksyms/keywords.gperf" | ||
234 | {"auto", AUTO_KEYW}, | ||
235 | -#line 26 "scripts/genksyms/keywords.gperf" | ||
236 | +#line 28 "scripts/genksyms/keywords.gperf" | ||
237 | {"__volatile", VOLATILE_KEYW}, | ||
238 | {""}, {""}, | ||
239 | -#line 55 "scripts/genksyms/keywords.gperf" | ||
240 | +#line 58 "scripts/genksyms/keywords.gperf" | ||
241 | {"unsigned", UNSIGNED_KEYW}, | ||
242 | {""}, | ||
243 | -#line 49 "scripts/genksyms/keywords.gperf" | ||
244 | +#line 51 "scripts/genksyms/keywords.gperf" | ||
245 | {"short", SHORT_KEYW}, | ||
246 | -#line 45 "scripts/genksyms/keywords.gperf" | ||
247 | +#line 47 "scripts/genksyms/keywords.gperf" | ||
248 | {"inline", INLINE_KEYW}, | ||
249 | {""}, | ||
250 | -#line 57 "scripts/genksyms/keywords.gperf" | ||
251 | +#line 60 "scripts/genksyms/keywords.gperf" | ||
252 | {"volatile", VOLATILE_KEYW}, | ||
253 | -#line 47 "scripts/genksyms/keywords.gperf" | ||
254 | +#line 49 "scripts/genksyms/keywords.gperf" | ||
255 | {"long", LONG_KEYW}, | ||
256 | -#line 29 "scripts/genksyms/keywords.gperf" | ||
257 | +#line 31 "scripts/genksyms/keywords.gperf" | ||
258 | {"_Bool", BOOL_KEYW}, | ||
259 | {""}, {""}, | ||
260 | -#line 48 "scripts/genksyms/keywords.gperf" | ||
261 | +#line 50 "scripts/genksyms/keywords.gperf" | ||
262 | {"register", REGISTER_KEYW}, | ||
263 | -#line 56 "scripts/genksyms/keywords.gperf" | ||
264 | +#line 59 "scripts/genksyms/keywords.gperf" | ||
265 | {"void", VOID_KEYW}, | ||
266 | -#line 44 "scripts/genksyms/keywords.gperf" | ||
267 | - {"float", FLOAT_KEYW}, | ||
268 | -#line 41 "scripts/genksyms/keywords.gperf" | ||
269 | + {""}, | ||
270 | +#line 43 "scripts/genksyms/keywords.gperf" | ||
271 | {"double", DOUBLE_KEYW}, | ||
272 | + {""}, | ||
273 | +#line 26 "scripts/genksyms/keywords.gperf" | ||
274 | + {"__typeof", TYPEOF_KEYW}, | ||
275 | + {""}, {""}, | ||
276 | +#line 52 "scripts/genksyms/keywords.gperf" | ||
277 | + {"signed", SIGNED_KEYW}, | ||
278 | {""}, {""}, {""}, {""}, | ||
279 | -#line 50 "scripts/genksyms/keywords.gperf" | ||
280 | - {"signed", SIGNED_KEYW} | ||
281 | +#line 56 "scripts/genksyms/keywords.gperf" | ||
282 | + {"typeof", TYPEOF_KEYW}, | ||
283 | +#line 55 "scripts/genksyms/keywords.gperf" | ||
284 | + {"typedef", TYPEDEF_KEYW}, | ||
285 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
286 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
287 | + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, | ||
288 | +#line 46 "scripts/genksyms/keywords.gperf" | ||
289 | + {"float", FLOAT_KEYW} | ||
290 | }; | ||
291 | |||
292 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) | ||
293 | diff --git a/scripts/genksyms/lex.l b/scripts/genksyms/lex.l | ||
294 | index f770071719cb..e583565f2011 100644 | ||
295 | --- a/scripts/genksyms/lex.l | ||
296 | +++ b/scripts/genksyms/lex.l | ||
297 | @@ -129,8 +129,9 @@ int | ||
298 | yylex(void) | ||
299 | { | ||
300 | static enum { | ||
301 | - ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE, | ||
302 | - ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
303 | + ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1, | ||
304 | + ST_BRACKET, ST_BRACE, ST_EXPRESSION, | ||
305 | + ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
306 | ST_TABLE_5, ST_TABLE_6 | ||
307 | } lexstate = ST_NOTSTARTED; | ||
308 | |||
309 | @@ -198,6 +199,10 @@ repeat: | ||
310 | lexstate = ST_ASM; | ||
311 | count = 0; | ||
312 | goto repeat; | ||
313 | + case TYPEOF_KEYW: | ||
314 | + lexstate = ST_TYPEOF; | ||
315 | + count = 0; | ||
316 | + goto repeat; | ||
317 | |||
318 | case STRUCT_KEYW: | ||
319 | case UNION_KEYW: | ||
320 | @@ -284,6 +289,48 @@ repeat: | ||
321 | } | ||
322 | break; | ||
323 | |||
324 | + case ST_TYPEOF: | ||
325 | + switch (token) | ||
326 | + { | ||
327 | + case '(': | ||
328 | + if ( ++count == 1 ) | ||
329 | + lexstate = ST_TYPEOF_1; | ||
330 | + else | ||
331 | + APP; | ||
332 | + goto repeat; | ||
333 | + case ')': | ||
334 | + APP; | ||
335 | + if (--count == 0) | ||
336 | + { | ||
337 | + lexstate = ST_NORMAL; | ||
338 | + token = TYPEOF_PHRASE; | ||
339 | + break; | ||
340 | + } | ||
341 | + goto repeat; | ||
342 | + default: | ||
343 | + APP; | ||
344 | + goto repeat; | ||
345 | + } | ||
346 | + break; | ||
347 | + | ||
348 | + case ST_TYPEOF_1: | ||
349 | + if (token == IDENT) | ||
350 | + { | ||
351 | + if (is_reserved_word(yytext, yyleng) | ||
352 | + || find_symbol(yytext, SYM_TYPEDEF, 1)) | ||
353 | + { | ||
354 | + yyless(0); | ||
355 | + unput('('); | ||
356 | + lexstate = ST_NORMAL; | ||
357 | + token = TYPEOF_KEYW; | ||
358 | + break; | ||
359 | + } | ||
360 | + _APP("(", 1); | ||
361 | + } | ||
362 | + APP; | ||
363 | + lexstate = ST_TYPEOF; | ||
364 | + goto repeat; | ||
365 | + | ||
366 | case ST_BRACKET: | ||
367 | APP; | ||
368 | switch (token) | ||
369 | diff --git a/scripts/genksyms/lex.lex.c_shipped b/scripts/genksyms/lex.lex.c_shipped | ||
370 | index 0bf4157e6161..f82740a69b85 100644 | ||
371 | --- a/scripts/genksyms/lex.lex.c_shipped | ||
372 | +++ b/scripts/genksyms/lex.lex.c_shipped | ||
373 | @@ -1938,8 +1938,9 @@ int | ||
374 | yylex(void) | ||
375 | { | ||
376 | static enum { | ||
377 | - ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE, | ||
378 | - ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
379 | + ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1, | ||
380 | + ST_BRACKET, ST_BRACE, ST_EXPRESSION, | ||
381 | + ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4, | ||
382 | ST_TABLE_5, ST_TABLE_6 | ||
383 | } lexstate = ST_NOTSTARTED; | ||
384 | |||
385 | @@ -2007,6 +2008,10 @@ repeat: | ||
386 | lexstate = ST_ASM; | ||
387 | count = 0; | ||
388 | goto repeat; | ||
389 | + case TYPEOF_KEYW: | ||
390 | + lexstate = ST_TYPEOF; | ||
391 | + count = 0; | ||
392 | + goto repeat; | ||
393 | |||
394 | case STRUCT_KEYW: | ||
395 | case UNION_KEYW: | ||
396 | @@ -2093,6 +2098,48 @@ repeat: | ||
397 | } | ||
398 | break; | ||
399 | |||
400 | + case ST_TYPEOF: | ||
401 | + switch (token) | ||
402 | + { | ||
403 | + case '(': | ||
404 | + if ( ++count == 1 ) | ||
405 | + lexstate = ST_TYPEOF_1; | ||
406 | + else | ||
407 | + APP; | ||
408 | + goto repeat; | ||
409 | + case ')': | ||
410 | + APP; | ||
411 | + if (--count == 0) | ||
412 | + { | ||
413 | + lexstate = ST_NORMAL; | ||
414 | + token = TYPEOF_PHRASE; | ||
415 | + break; | ||
416 | + } | ||
417 | + goto repeat; | ||
418 | + default: | ||
419 | + APP; | ||
420 | + goto repeat; | ||
421 | + } | ||
422 | + break; | ||
423 | + | ||
424 | + case ST_TYPEOF_1: | ||
425 | + if (token == IDENT) | ||
426 | + { | ||
427 | + if (is_reserved_word(yytext, yyleng) | ||
428 | + || find_symbol(yytext, SYM_TYPEDEF, 1)) | ||
429 | + { | ||
430 | + yyless(0); | ||
431 | + unput('('); | ||
432 | + lexstate = ST_NORMAL; | ||
433 | + token = TYPEOF_KEYW; | ||
434 | + break; | ||
435 | + } | ||
436 | + _APP("(", 1); | ||
437 | + } | ||
438 | + APP; | ||
439 | + lexstate = ST_TYPEOF; | ||
440 | + goto repeat; | ||
441 | + | ||
442 | case ST_BRACKET: | ||
443 | APP; | ||
444 | switch (token) | ||
445 | diff --git a/scripts/genksyms/parse.tab.c_shipped b/scripts/genksyms/parse.tab.c_shipped | ||
446 | index ece53c79bb59..c9f0f0ce82ff 100644 | ||
447 | --- a/scripts/genksyms/parse.tab.c_shipped | ||
448 | +++ b/scripts/genksyms/parse.tab.c_shipped | ||
449 | @@ -1,8 +1,8 @@ | ||
450 | -/* A Bison parser, made by GNU Bison 2.5. */ | ||
451 | +/* A Bison parser, made by GNU Bison 2.5.1. */ | ||
452 | |||
453 | /* Bison implementation for Yacc-like parsers in C | ||
454 | |||
455 | - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. | ||
456 | + Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. | ||
457 | |||
458 | This program is free software: you can redistribute it and/or modify | ||
459 | it under the terms of the GNU General Public License as published by | ||
460 | @@ -44,7 +44,7 @@ | ||
461 | #define YYBISON 1 | ||
462 | |||
463 | /* Bison version. */ | ||
464 | -#define YYBISON_VERSION "2.5" | ||
465 | +#define YYBISON_VERSION "2.5.1" | ||
466 | |||
467 | /* Skeleton name. */ | ||
468 | #define YYSKELETON_NAME "yacc.c" | ||
469 | @@ -117,6 +117,14 @@ static void record_compound(struct string_list **keyw, | ||
470 | |||
471 | |||
472 | |||
473 | +# ifndef YY_NULL | ||
474 | +# if defined __cplusplus && 201103L <= __cplusplus | ||
475 | +# define YY_NULL nullptr | ||
476 | +# else | ||
477 | +# define YY_NULL 0 | ||
478 | +# endif | ||
479 | +# endif | ||
480 | + | ||
481 | /* Enabling traces. */ | ||
482 | #ifndef YYDEBUG | ||
483 | # define YYDEBUG 1 | ||
484 | @@ -171,18 +179,19 @@ static void record_compound(struct string_list **keyw, | ||
485 | EXPORT_SYMBOL_KEYW = 284, | ||
486 | ASM_PHRASE = 285, | ||
487 | ATTRIBUTE_PHRASE = 286, | ||
488 | - BRACE_PHRASE = 287, | ||
489 | - BRACKET_PHRASE = 288, | ||
490 | - EXPRESSION_PHRASE = 289, | ||
491 | - CHAR = 290, | ||
492 | - DOTS = 291, | ||
493 | - IDENT = 292, | ||
494 | - INT = 293, | ||
495 | - REAL = 294, | ||
496 | - STRING = 295, | ||
497 | - TYPE = 296, | ||
498 | - OTHER = 297, | ||
499 | - FILENAME = 298 | ||
500 | + TYPEOF_PHRASE = 287, | ||
501 | + BRACE_PHRASE = 288, | ||
502 | + BRACKET_PHRASE = 289, | ||
503 | + EXPRESSION_PHRASE = 290, | ||
504 | + CHAR = 291, | ||
505 | + DOTS = 292, | ||
506 | + IDENT = 293, | ||
507 | + INT = 294, | ||
508 | + REAL = 295, | ||
509 | + STRING = 296, | ||
510 | + TYPE = 297, | ||
511 | + OTHER = 298, | ||
512 | + FILENAME = 299 | ||
513 | }; | ||
514 | #endif | ||
515 | |||
516 | @@ -304,6 +313,7 @@ YYID (yyi) | ||
517 | # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ | ||
518 | || defined __cplusplus || defined _MSC_VER) | ||
519 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | ||
520 | + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ | ||
521 | # ifndef EXIT_SUCCESS | ||
522 | # define EXIT_SUCCESS 0 | ||
523 | # endif | ||
524 | @@ -395,20 +405,20 @@ union yyalloc | ||
525 | #endif | ||
526 | |||
527 | #if defined YYCOPY_NEEDED && YYCOPY_NEEDED | ||
528 | -/* Copy COUNT objects from FROM to TO. The source and destination do | ||
529 | +/* Copy COUNT objects from SRC to DST. The source and destination do | ||
530 | not overlap. */ | ||
531 | # ifndef YYCOPY | ||
532 | # if defined __GNUC__ && 1 < __GNUC__ | ||
533 | -# define YYCOPY(To, From, Count) \ | ||
534 | - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) | ||
535 | +# define YYCOPY(Dst, Src, Count) \ | ||
536 | + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) | ||
537 | # else | ||
538 | -# define YYCOPY(To, From, Count) \ | ||
539 | - do \ | ||
540 | - { \ | ||
541 | - YYSIZE_T yyi; \ | ||
542 | - for (yyi = 0; yyi < (Count); yyi++) \ | ||
543 | - (To)[yyi] = (From)[yyi]; \ | ||
544 | - } \ | ||
545 | +# define YYCOPY(Dst, Src, Count) \ | ||
546 | + do \ | ||
547 | + { \ | ||
548 | + YYSIZE_T yyi; \ | ||
549 | + for (yyi = 0; yyi < (Count); yyi++) \ | ||
550 | + (Dst)[yyi] = (Src)[yyi]; \ | ||
551 | + } \ | ||
552 | while (YYID (0)) | ||
553 | # endif | ||
554 | # endif | ||
555 | @@ -417,20 +427,20 @@ union yyalloc | ||
556 | /* YYFINAL -- State number of the termination state. */ | ||
557 | #define YYFINAL 4 | ||
558 | /* YYLAST -- Last index in YYTABLE. */ | ||
559 | -#define YYLAST 532 | ||
560 | +#define YYLAST 514 | ||
561 | |||
562 | /* YYNTOKENS -- Number of terminals. */ | ||
563 | -#define YYNTOKENS 53 | ||
564 | +#define YYNTOKENS 54 | ||
565 | /* YYNNTS -- Number of nonterminals. */ | ||
566 | #define YYNNTS 49 | ||
567 | /* YYNRULES -- Number of rules. */ | ||
568 | #define YYNRULES 132 | ||
569 | /* YYNRULES -- Number of states. */ | ||
570 | -#define YYNSTATES 188 | ||
571 | +#define YYNSTATES 187 | ||
572 | |||
573 | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | ||
574 | #define YYUNDEFTOK 2 | ||
575 | -#define YYMAXUTOK 298 | ||
576 | +#define YYMAXUTOK 299 | ||
577 | |||
578 | #define YYTRANSLATE(YYX) \ | ||
579 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | ||
580 | @@ -442,15 +452,15 @@ static const yytype_uint8 yytranslate[] = | ||
581 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
582 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
583 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
584 | - 47, 49, 48, 2, 46, 2, 2, 2, 2, 2, | ||
585 | - 2, 2, 2, 2, 2, 2, 2, 2, 52, 44, | ||
586 | - 2, 50, 2, 2, 2, 2, 2, 2, 2, 2, | ||
587 | + 48, 49, 50, 2, 47, 2, 2, 2, 2, 2, | ||
588 | + 2, 2, 2, 2, 2, 2, 2, 2, 53, 45, | ||
589 | + 2, 51, 2, 2, 2, 2, 2, 2, 2, 2, | ||
590 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
591 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
592 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
593 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
594 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
595 | - 2, 2, 2, 51, 2, 45, 2, 2, 2, 2, | ||
596 | + 2, 2, 2, 52, 2, 46, 2, 2, 2, 2, | ||
597 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
598 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
599 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | ||
600 | @@ -467,7 +477,7 @@ static const yytype_uint8 yytranslate[] = | ||
601 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | ||
602 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
603 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | ||
604 | - 35, 36, 37, 38, 39, 40, 41, 42, 43 | ||
605 | + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 | ||
606 | }; | ||
607 | |||
608 | #if YYDEBUG | ||
609 | @@ -478,78 +488,77 @@ static const yytype_uint16 yyprhs[] = | ||
610 | 0, 0, 3, 5, 8, 9, 12, 13, 18, 19, | ||
611 | 23, 25, 27, 29, 31, 34, 37, 41, 42, 44, | ||
612 | 46, 50, 55, 56, 58, 60, 63, 65, 67, 69, | ||
613 | - 71, 73, 75, 77, 79, 81, 87, 92, 95, 98, | ||
614 | - 101, 105, 109, 113, 116, 119, 122, 124, 126, 128, | ||
615 | - 130, 132, 134, 136, 138, 140, 142, 144, 147, 148, | ||
616 | - 150, 152, 155, 157, 159, 161, 163, 166, 168, 170, | ||
617 | - 175, 180, 183, 187, 191, 194, 196, 198, 200, 205, | ||
618 | - 210, 213, 217, 221, 224, 226, 230, 231, 233, 235, | ||
619 | - 239, 242, 245, 247, 248, 250, 252, 257, 262, 265, | ||
620 | - 269, 273, 277, 278, 280, 283, 287, 291, 292, 294, | ||
621 | - 296, 299, 303, 306, 307, 309, 311, 315, 318, 321, | ||
622 | - 323, 326, 327, 330, 334, 339, 341, 345, 347, 351, | ||
623 | - 354, 355, 357 | ||
624 | + 71, 73, 75, 77, 79, 81, 86, 88, 91, 94, | ||
625 | + 97, 101, 105, 109, 112, 115, 118, 120, 122, 124, | ||
626 | + 126, 128, 130, 132, 134, 136, 138, 140, 143, 144, | ||
627 | + 146, 148, 151, 153, 155, 157, 159, 162, 164, 166, | ||
628 | + 171, 176, 179, 183, 187, 190, 192, 194, 196, 201, | ||
629 | + 206, 209, 213, 217, 220, 222, 226, 227, 229, 231, | ||
630 | + 235, 238, 241, 243, 244, 246, 248, 253, 258, 261, | ||
631 | + 265, 269, 273, 274, 276, 279, 283, 287, 288, 290, | ||
632 | + 292, 295, 299, 302, 303, 305, 307, 311, 314, 317, | ||
633 | + 319, 322, 323, 326, 330, 335, 337, 341, 343, 347, | ||
634 | + 350, 351, 353 | ||
635 | }; | ||
636 | |||
637 | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | ||
638 | static const yytype_int8 yyrhs[] = | ||
639 | { | ||
640 | - 54, 0, -1, 55, -1, 54, 55, -1, -1, 56, | ||
641 | - 57, -1, -1, 12, 23, 58, 60, -1, -1, 23, | ||
642 | - 59, 60, -1, 60, -1, 84, -1, 99, -1, 101, | ||
643 | - -1, 1, 44, -1, 1, 45, -1, 64, 61, 44, | ||
644 | - -1, -1, 62, -1, 63, -1, 62, 46, 63, -1, | ||
645 | - 74, 100, 95, 85, -1, -1, 65, -1, 66, -1, | ||
646 | - 65, 66, -1, 67, -1, 68, -1, 5, -1, 17, | ||
647 | - -1, 21, -1, 11, -1, 14, -1, 69, -1, 73, | ||
648 | - -1, 28, 47, 65, 48, 49, -1, 28, 47, 65, | ||
649 | - 49, -1, 22, 37, -1, 24, 37, -1, 10, 37, | ||
650 | - -1, 22, 37, 87, -1, 24, 37, 87, -1, 10, | ||
651 | - 37, 96, -1, 10, 96, -1, 22, 87, -1, 24, | ||
652 | - 87, -1, 7, -1, 19, -1, 15, -1, 16, -1, | ||
653 | - 20, -1, 25, -1, 13, -1, 9, -1, 26, -1, | ||
654 | - 6, -1, 41, -1, 48, 71, -1, -1, 72, -1, | ||
655 | - 73, -1, 72, 73, -1, 8, -1, 27, -1, 31, | ||
656 | - -1, 18, -1, 70, 74, -1, 75, -1, 37, -1, | ||
657 | - 75, 47, 78, 49, -1, 75, 47, 1, 49, -1, | ||
658 | - 75, 33, -1, 47, 74, 49, -1, 47, 1, 49, | ||
659 | - -1, 70, 76, -1, 77, -1, 37, -1, 41, -1, | ||
660 | - 77, 47, 78, 49, -1, 77, 47, 1, 49, -1, | ||
661 | - 77, 33, -1, 47, 76, 49, -1, 47, 1, 49, | ||
662 | - -1, 79, 36, -1, 79, -1, 80, 46, 36, -1, | ||
663 | - -1, 80, -1, 81, -1, 80, 46, 81, -1, 65, | ||
664 | - 82, -1, 70, 82, -1, 83, -1, -1, 37, -1, | ||
665 | - 41, -1, 83, 47, 78, 49, -1, 83, 47, 1, | ||
666 | - 49, -1, 83, 33, -1, 47, 82, 49, -1, 47, | ||
667 | - 1, 49, -1, 64, 74, 32, -1, -1, 86, -1, | ||
668 | - 50, 34, -1, 51, 88, 45, -1, 51, 1, 45, | ||
669 | - -1, -1, 89, -1, 90, -1, 89, 90, -1, 64, | ||
670 | - 91, 44, -1, 1, 44, -1, -1, 92, -1, 93, | ||
671 | - -1, 92, 46, 93, -1, 76, 95, -1, 37, 94, | ||
672 | - -1, 94, -1, 52, 34, -1, -1, 95, 31, -1, | ||
673 | - 51, 97, 45, -1, 51, 97, 46, 45, -1, 98, | ||
674 | - -1, 97, 46, 98, -1, 37, -1, 37, 50, 34, | ||
675 | - -1, 30, 44, -1, -1, 30, -1, 29, 47, 37, | ||
676 | - 49, 44, -1 | ||
677 | + 55, 0, -1, 56, -1, 55, 56, -1, -1, 57, | ||
678 | + 58, -1, -1, 12, 23, 59, 61, -1, -1, 23, | ||
679 | + 60, 61, -1, 61, -1, 85, -1, 100, -1, 102, | ||
680 | + -1, 1, 45, -1, 1, 46, -1, 65, 62, 45, | ||
681 | + -1, -1, 63, -1, 64, -1, 63, 47, 64, -1, | ||
682 | + 75, 101, 96, 86, -1, -1, 66, -1, 67, -1, | ||
683 | + 66, 67, -1, 68, -1, 69, -1, 5, -1, 17, | ||
684 | + -1, 21, -1, 11, -1, 14, -1, 70, -1, 74, | ||
685 | + -1, 28, 48, 82, 49, -1, 32, -1, 22, 38, | ||
686 | + -1, 24, 38, -1, 10, 38, -1, 22, 38, 88, | ||
687 | + -1, 24, 38, 88, -1, 10, 38, 97, -1, 10, | ||
688 | + 97, -1, 22, 88, -1, 24, 88, -1, 7, -1, | ||
689 | + 19, -1, 15, -1, 16, -1, 20, -1, 25, -1, | ||
690 | + 13, -1, 9, -1, 26, -1, 6, -1, 42, -1, | ||
691 | + 50, 72, -1, -1, 73, -1, 74, -1, 73, 74, | ||
692 | + -1, 8, -1, 27, -1, 31, -1, 18, -1, 71, | ||
693 | + 75, -1, 76, -1, 38, -1, 76, 48, 79, 49, | ||
694 | + -1, 76, 48, 1, 49, -1, 76, 34, -1, 48, | ||
695 | + 75, 49, -1, 48, 1, 49, -1, 71, 77, -1, | ||
696 | + 78, -1, 38, -1, 42, -1, 78, 48, 79, 49, | ||
697 | + -1, 78, 48, 1, 49, -1, 78, 34, -1, 48, | ||
698 | + 77, 49, -1, 48, 1, 49, -1, 80, 37, -1, | ||
699 | + 80, -1, 81, 47, 37, -1, -1, 81, -1, 82, | ||
700 | + -1, 81, 47, 82, -1, 66, 83, -1, 71, 83, | ||
701 | + -1, 84, -1, -1, 38, -1, 42, -1, 84, 48, | ||
702 | + 79, 49, -1, 84, 48, 1, 49, -1, 84, 34, | ||
703 | + -1, 48, 83, 49, -1, 48, 1, 49, -1, 65, | ||
704 | + 75, 33, -1, -1, 87, -1, 51, 35, -1, 52, | ||
705 | + 89, 46, -1, 52, 1, 46, -1, -1, 90, -1, | ||
706 | + 91, -1, 90, 91, -1, 65, 92, 45, -1, 1, | ||
707 | + 45, -1, -1, 93, -1, 94, -1, 93, 47, 94, | ||
708 | + -1, 77, 96, -1, 38, 95, -1, 95, -1, 53, | ||
709 | + 35, -1, -1, 96, 31, -1, 52, 98, 46, -1, | ||
710 | + 52, 98, 47, 46, -1, 99, -1, 98, 47, 99, | ||
711 | + -1, 38, -1, 38, 51, 35, -1, 30, 45, -1, | ||
712 | + -1, 30, -1, 29, 48, 38, 49, 45, -1 | ||
713 | }; | ||
714 | |||
715 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ | ||
716 | static const yytype_uint16 yyrline[] = | ||
717 | { | ||
718 | - 0, 123, 123, 124, 128, 128, 134, 134, 136, 136, | ||
719 | - 138, 139, 140, 141, 142, 143, 147, 161, 162, 166, | ||
720 | - 174, 187, 193, 194, 198, 199, 203, 209, 213, 214, | ||
721 | - 215, 216, 217, 221, 222, 223, 224, 228, 230, 232, | ||
722 | - 236, 238, 240, 245, 248, 249, 253, 254, 255, 256, | ||
723 | - 257, 258, 259, 260, 261, 262, 263, 267, 272, 273, | ||
724 | - 277, 278, 282, 282, 282, 283, 291, 292, 296, 305, | ||
725 | - 307, 309, 311, 313, 320, 321, 325, 326, 327, 329, | ||
726 | - 331, 333, 335, 340, 341, 342, 346, 347, 351, 352, | ||
727 | - 357, 362, 364, 368, 369, 377, 381, 383, 385, 387, | ||
728 | - 389, 394, 403, 404, 409, 414, 415, 419, 420, 424, | ||
729 | - 425, 429, 431, 436, 437, 441, 442, 446, 447, 448, | ||
730 | - 452, 456, 457, 461, 462, 466, 467, 470, 475, 483, | ||
731 | - 487, 488, 492 | ||
732 | + 0, 124, 124, 125, 129, 129, 135, 135, 137, 137, | ||
733 | + 139, 140, 141, 142, 143, 144, 148, 162, 163, 167, | ||
734 | + 175, 188, 194, 195, 199, 200, 204, 210, 214, 215, | ||
735 | + 216, 217, 218, 222, 223, 224, 225, 229, 231, 233, | ||
736 | + 237, 239, 241, 246, 249, 250, 254, 255, 256, 257, | ||
737 | + 258, 259, 260, 261, 262, 263, 264, 268, 273, 274, | ||
738 | + 278, 279, 283, 283, 283, 284, 292, 293, 297, 306, | ||
739 | + 308, 310, 312, 314, 321, 322, 326, 327, 328, 330, | ||
740 | + 332, 334, 336, 341, 342, 343, 347, 348, 352, 353, | ||
741 | + 358, 363, 365, 369, 370, 378, 382, 384, 386, 388, | ||
742 | + 390, 395, 404, 405, 410, 415, 416, 420, 421, 425, | ||
743 | + 426, 430, 432, 437, 438, 442, 443, 447, 448, 449, | ||
744 | + 453, 457, 458, 462, 463, 467, 468, 471, 476, 484, | ||
745 | + 488, 489, 493 | ||
746 | }; | ||
747 | #endif | ||
748 | |||
749 | @@ -565,9 +574,9 @@ static const char *const yytname[] = | ||
750 | "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW", | ||
751 | "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW", | ||
752 | "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE", | ||
753 | - "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", | ||
754 | + "ATTRIBUTE_PHRASE", "TYPEOF_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE", | ||
755 | "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING", | ||
756 | - "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'", | ||
757 | + "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "')'", "'*'", | ||
758 | "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1", | ||
759 | "declaration1", "$@2", "$@3", "simple_declaration", | ||
760 | "init_declarator_list_opt", "init_declarator_list", "init_declarator", | ||
761 | @@ -584,7 +593,7 @@ static const char *const yytname[] = | ||
762 | "member_declarator_list_opt", "member_declarator_list", | ||
763 | "member_declarator", "member_bitfield_declarator", "attribute_opt", | ||
764 | "enum_body", "enumerator_list", "enumerator", "asm_definition", | ||
765 | - "asm_phrase_opt", "export_definition", 0 | ||
766 | + "asm_phrase_opt", "export_definition", YY_NULL | ||
767 | }; | ||
768 | #endif | ||
769 | |||
770 | @@ -597,28 +606,28 @@ static const yytype_uint16 yytoknum[] = | ||
771 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | ||
772 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, | ||
773 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, | ||
774 | - 295, 296, 297, 298, 59, 125, 44, 40, 42, 41, | ||
775 | - 61, 123, 58 | ||
776 | + 295, 296, 297, 298, 299, 59, 125, 44, 40, 41, | ||
777 | + 42, 61, 123, 58 | ||
778 | }; | ||
779 | # endif | ||
780 | |||
781 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | ||
782 | static const yytype_uint8 yyr1[] = | ||
783 | { | ||
784 | - 0, 53, 54, 54, 56, 55, 58, 57, 59, 57, | ||
785 | - 57, 57, 57, 57, 57, 57, 60, 61, 61, 62, | ||
786 | - 62, 63, 64, 64, 65, 65, 66, 66, 67, 67, | ||
787 | - 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, | ||
788 | - 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, | ||
789 | - 69, 69, 69, 69, 69, 69, 69, 70, 71, 71, | ||
790 | - 72, 72, 73, 73, 73, 73, 74, 74, 75, 75, | ||
791 | - 75, 75, 75, 75, 76, 76, 77, 77, 77, 77, | ||
792 | - 77, 77, 77, 78, 78, 78, 79, 79, 80, 80, | ||
793 | - 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, | ||
794 | - 83, 84, 85, 85, 86, 87, 87, 88, 88, 89, | ||
795 | - 89, 90, 90, 91, 91, 92, 92, 93, 93, 93, | ||
796 | - 94, 95, 95, 96, 96, 97, 97, 98, 98, 99, | ||
797 | - 100, 100, 101 | ||
798 | + 0, 54, 55, 55, 57, 56, 59, 58, 60, 58, | ||
799 | + 58, 58, 58, 58, 58, 58, 61, 62, 62, 63, | ||
800 | + 63, 64, 65, 65, 66, 66, 67, 67, 68, 68, | ||
801 | + 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, | ||
802 | + 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, | ||
803 | + 70, 70, 70, 70, 70, 70, 70, 71, 72, 72, | ||
804 | + 73, 73, 74, 74, 74, 74, 75, 75, 76, 76, | ||
805 | + 76, 76, 76, 76, 77, 77, 78, 78, 78, 78, | ||
806 | + 78, 78, 78, 79, 79, 79, 80, 80, 81, 81, | ||
807 | + 82, 83, 83, 84, 84, 84, 84, 84, 84, 84, | ||
808 | + 84, 85, 86, 86, 87, 88, 88, 89, 89, 90, | ||
809 | + 90, 91, 91, 92, 92, 93, 93, 94, 94, 94, | ||
810 | + 95, 96, 96, 97, 97, 98, 98, 99, 99, 100, | ||
811 | + 101, 101, 102 | ||
812 | }; | ||
813 | |||
814 | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ | ||
815 | @@ -627,7 +636,7 @@ static const yytype_uint8 yyr2[] = | ||
816 | 0, 2, 1, 2, 0, 2, 0, 4, 0, 3, | ||
817 | 1, 1, 1, 1, 2, 2, 3, 0, 1, 1, | ||
818 | 3, 4, 0, 1, 1, 2, 1, 1, 1, 1, | ||
819 | - 1, 1, 1, 1, 1, 5, 4, 2, 2, 2, | ||
820 | + 1, 1, 1, 1, 1, 4, 1, 2, 2, 2, | ||
821 | 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, | ||
822 | 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, | ||
823 | 1, 2, 1, 1, 1, 1, 2, 1, 1, 4, | ||
824 | @@ -648,68 +657,68 @@ static const yytype_uint8 yydefact[] = | ||
825 | 4, 4, 2, 0, 1, 3, 0, 28, 55, 46, | ||
826 | 62, 53, 0, 31, 0, 52, 32, 48, 49, 29, | ||
827 | 65, 47, 50, 30, 0, 8, 0, 51, 54, 63, | ||
828 | - 0, 0, 0, 64, 56, 5, 10, 17, 23, 24, | ||
829 | - 26, 27, 33, 34, 11, 12, 13, 14, 15, 39, | ||
830 | - 0, 43, 6, 37, 0, 44, 22, 38, 45, 0, | ||
831 | - 0, 129, 68, 0, 58, 0, 18, 19, 0, 130, | ||
832 | - 67, 25, 42, 127, 0, 125, 22, 40, 0, 113, | ||
833 | - 0, 0, 109, 9, 17, 41, 0, 0, 0, 0, | ||
834 | - 57, 59, 60, 16, 0, 66, 131, 101, 121, 71, | ||
835 | - 0, 0, 123, 0, 7, 112, 106, 76, 77, 0, | ||
836 | - 0, 0, 121, 75, 0, 114, 115, 119, 105, 0, | ||
837 | - 110, 130, 0, 36, 0, 73, 72, 61, 20, 102, | ||
838 | - 0, 93, 0, 84, 87, 88, 128, 124, 126, 118, | ||
839 | - 0, 76, 0, 120, 74, 117, 80, 0, 111, 0, | ||
840 | - 35, 132, 122, 0, 21, 103, 70, 94, 56, 0, | ||
841 | - 93, 90, 92, 69, 83, 0, 82, 81, 0, 0, | ||
842 | - 116, 104, 0, 95, 0, 91, 98, 0, 85, 89, | ||
843 | - 79, 78, 100, 99, 0, 0, 97, 96 | ||
844 | + 0, 0, 0, 64, 36, 56, 5, 10, 17, 23, | ||
845 | + 24, 26, 27, 33, 34, 11, 12, 13, 14, 15, | ||
846 | + 39, 0, 43, 6, 37, 0, 44, 22, 38, 45, | ||
847 | + 0, 0, 129, 68, 0, 58, 0, 18, 19, 0, | ||
848 | + 130, 67, 25, 42, 127, 0, 125, 22, 40, 0, | ||
849 | + 113, 0, 0, 109, 9, 17, 41, 93, 0, 0, | ||
850 | + 0, 0, 57, 59, 60, 16, 0, 66, 131, 101, | ||
851 | + 121, 71, 0, 0, 123, 0, 7, 112, 106, 76, | ||
852 | + 77, 0, 0, 0, 121, 75, 0, 114, 115, 119, | ||
853 | + 105, 0, 110, 130, 94, 56, 0, 93, 90, 92, | ||
854 | + 35, 0, 73, 72, 61, 20, 102, 0, 0, 84, | ||
855 | + 87, 88, 128, 124, 126, 118, 0, 76, 0, 120, | ||
856 | + 74, 117, 80, 0, 111, 0, 0, 95, 0, 91, | ||
857 | + 98, 0, 132, 122, 0, 21, 103, 70, 69, 83, | ||
858 | + 0, 82, 81, 0, 0, 116, 100, 99, 0, 0, | ||
859 | + 104, 85, 89, 79, 78, 97, 96 | ||
860 | }; | ||
861 | |||
862 | /* YYDEFGOTO[NTERM-NUM]. */ | ||
863 | static const yytype_int16 yydefgoto[] = | ||
864 | { | ||
865 | - -1, 1, 2, 3, 35, 76, 56, 36, 65, 66, | ||
866 | - 67, 79, 38, 39, 40, 41, 42, 68, 90, 91, | ||
867 | - 43, 121, 70, 112, 113, 132, 133, 134, 135, 161, | ||
868 | - 162, 44, 154, 155, 55, 80, 81, 82, 114, 115, | ||
869 | - 116, 117, 129, 51, 74, 75, 45, 98, 46 | ||
870 | + -1, 1, 2, 3, 36, 77, 57, 37, 66, 67, | ||
871 | + 68, 80, 39, 40, 41, 42, 43, 69, 92, 93, | ||
872 | + 44, 123, 71, 114, 115, 138, 139, 140, 141, 128, | ||
873 | + 129, 45, 165, 166, 56, 81, 82, 83, 116, 117, | ||
874 | + 118, 119, 136, 52, 75, 76, 46, 100, 47 | ||
875 | }; | ||
876 | |||
877 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | ||
878 | STATE-NUM. */ | ||
879 | -#define YYPACT_NINF -135 | ||
880 | +#define YYPACT_NINF -140 | ||
881 | static const yytype_int16 yypact[] = | ||
882 | { | ||
883 | - -135, 20, -135, 321, -135, -135, 30, -135, -135, -135, | ||
884 | - -135, -135, -28, -135, 2, -135, -135, -135, -135, -135, | ||
885 | - -135, -135, -135, -135, -6, -135, 9, -135, -135, -135, | ||
886 | - -5, 15, -17, -135, -135, -135, -135, 18, 491, -135, | ||
887 | - -135, -135, -135, -135, -135, -135, -135, -135, -135, -22, | ||
888 | - 31, -135, -135, 19, 106, -135, 491, 19, -135, 491, | ||
889 | - 50, -135, -135, 11, -3, 51, 57, -135, 18, -14, | ||
890 | - 14, -135, -135, 48, 46, -135, 491, -135, 33, 32, | ||
891 | - 59, 154, -135, -135, 18, -135, 365, 56, 60, 61, | ||
892 | - -135, -3, -135, -135, 18, -135, -135, -135, -135, -135, | ||
893 | - 202, 74, -135, -23, -135, -135, -135, 77, -135, 16, | ||
894 | - 101, 49, -135, 34, 92, 93, -135, -135, -135, 94, | ||
895 | - -135, 110, 95, -135, 97, -135, -135, -135, -135, -20, | ||
896 | - 96, 410, 99, 113, 100, -135, -135, -135, -135, -135, | ||
897 | - 103, -135, 107, -135, -135, 111, -135, 239, -135, 32, | ||
898 | - -135, -135, -135, 123, -135, -135, -135, -135, -135, 3, | ||
899 | - 52, -135, 38, -135, -135, 454, -135, -135, 117, 128, | ||
900 | - -135, -135, 134, -135, 135, -135, -135, 276, -135, -135, | ||
901 | - -135, -135, -135, -135, 137, 138, -135, -135 | ||
902 | + -140, 29, -140, 207, -140, -140, 40, -140, -140, -140, | ||
903 | + -140, -140, -27, -140, 44, -140, -140, -140, -140, -140, | ||
904 | + -140, -140, -140, -140, -22, -140, -18, -140, -140, -140, | ||
905 | + -9, 22, 28, -140, -140, -140, -140, -140, 42, 472, | ||
906 | + -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, | ||
907 | + 46, 43, -140, -140, 47, 107, -140, 472, 47, -140, | ||
908 | + 472, 62, -140, -140, 16, -3, 57, 56, -140, 42, | ||
909 | + 35, -11, -140, -140, 53, 48, -140, 472, -140, 51, | ||
910 | + 21, 59, 157, -140, -140, 42, -140, 388, 58, 60, | ||
911 | + 70, 81, -140, -3, -140, -140, 42, -140, -140, -140, | ||
912 | + -140, -140, 253, 71, -140, -20, -140, -140, -140, 83, | ||
913 | + -140, 5, 102, 34, -140, 12, 95, 94, -140, -140, | ||
914 | + -140, 97, -140, 113, -140, -140, 2, 41, -140, 27, | ||
915 | + -140, 99, -140, -140, -140, -140, -24, 98, 101, 109, | ||
916 | + 104, -140, -140, -140, -140, -140, 105, -140, 110, -140, | ||
917 | + -140, 117, -140, 298, -140, 21, 112, -140, 120, -140, | ||
918 | + -140, 343, -140, -140, 121, -140, -140, -140, -140, -140, | ||
919 | + 434, -140, -140, 131, 137, -140, -140, -140, 138, 141, | ||
920 | + -140, -140, -140, -140, -140, -140, -140 | ||
921 | }; | ||
922 | |||
923 | /* YYPGOTO[NTERM-NUM]. */ | ||
924 | static const yytype_int16 yypgoto[] = | ||
925 | { | ||
926 | - -135, -135, 187, -135, -135, -135, -135, -50, -135, -135, | ||
927 | - 98, 0, -59, -37, -135, -135, -135, -77, -135, -135, | ||
928 | - -54, -30, -135, -90, -135, -134, -135, -135, 24, -58, | ||
929 | - -135, -135, -135, -135, -18, -135, -135, 109, -135, -135, | ||
930 | - 44, 87, 84, 148, -135, 102, -135, -135, -135 | ||
931 | + -140, -140, 190, -140, -140, -140, -140, -45, -140, -140, | ||
932 | + 96, 1, -60, -31, -140, -140, -140, -78, -140, -140, | ||
933 | + -55, -7, -140, -92, -140, -139, -140, -140, -59, -39, | ||
934 | + -140, -140, -140, -140, -13, -140, -140, 111, -140, -140, | ||
935 | + 39, 87, 84, 147, -140, 106, -140, -140, -140 | ||
936 | }; | ||
937 | |||
938 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If | ||
939 | @@ -718,149 +727,145 @@ static const yytype_int16 yypgoto[] = | ||
940 | #define YYTABLE_NINF -109 | ||
941 | static const yytype_int16 yytable[] = | ||
942 | { | ||
943 | - 86, 71, 111, 37, 172, 10, 83, 69, 58, 49, | ||
944 | - 92, 152, 88, 169, 73, 20, 96, 140, 97, 142, | ||
945 | - 4, 144, 137, 50, 29, 52, 104, 61, 33, 50, | ||
946 | - 153, 53, 111, 89, 111, 77, -93, 127, 95, 85, | ||
947 | - 157, 131, 59, 185, 173, 54, 57, 99, 62, 71, | ||
948 | - 159, 64, -93, 141, 160, 62, 84, 108, 63, 64, | ||
949 | - 54, 100, 60, 109, 64, 63, 64, 146, 73, 107, | ||
950 | - 54, 176, 111, 108, 47, 48, 84, 105, 106, 109, | ||
951 | - 64, 147, 160, 160, 110, 177, 141, 87, 131, 157, | ||
952 | - 108, 102, 103, 173, 71, 93, 109, 64, 101, 159, | ||
953 | - 64, 174, 175, 94, 118, 124, 131, 78, 136, 125, | ||
954 | - 126, 7, 8, 9, 10, 11, 12, 13, 131, 15, | ||
955 | - 16, 17, 18, 19, 20, 21, 22, 23, 24, 110, | ||
956 | - 26, 27, 28, 29, 30, 143, 148, 33, 105, 149, | ||
957 | - 96, 151, 152, -22, 150, 156, 165, 34, 163, 164, | ||
958 | - -22, -107, 166, -22, -22, 119, 167, 171, -22, 7, | ||
959 | - 8, 9, 10, 11, 12, 13, 180, 15, 16, 17, | ||
960 | - 18, 19, 20, 21, 22, 23, 24, 181, 26, 27, | ||
961 | - 28, 29, 30, 182, 183, 33, 186, 187, 5, 179, | ||
962 | - 120, -22, 128, 170, 139, 34, 145, 72, -22, -108, | ||
963 | - 0, -22, -22, 130, 0, 138, -22, 7, 8, 9, | ||
964 | - 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, | ||
965 | - 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, | ||
966 | - 30, 0, 0, 33, 0, 0, 0, 0, -86, 0, | ||
967 | - 168, 0, 0, 34, 7, 8, 9, 10, 11, 12, | ||
968 | - 13, -86, 15, 16, 17, 18, 19, 20, 21, 22, | ||
969 | - 23, 24, 0, 26, 27, 28, 29, 30, 0, 0, | ||
970 | - 33, 0, 0, 0, 0, -86, 0, 184, 0, 0, | ||
971 | - 34, 7, 8, 9, 10, 11, 12, 13, -86, 15, | ||
972 | - 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, | ||
973 | - 26, 27, 28, 29, 30, 0, 0, 33, 0, 0, | ||
974 | - 0, 0, -86, 0, 0, 0, 0, 34, 0, 0, | ||
975 | - 0, 0, 6, 0, 0, -86, 7, 8, 9, 10, | ||
976 | - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, | ||
977 | - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, | ||
978 | - 31, 32, 33, 0, 0, 0, 0, 0, -22, 0, | ||
979 | - 0, 0, 34, 0, 0, -22, 0, 0, -22, -22, | ||
980 | - 7, 8, 9, 10, 11, 12, 13, 0, 15, 16, | ||
981 | - 17, 18, 19, 20, 21, 22, 23, 24, 0, 26, | ||
982 | - 27, 28, 29, 30, 0, 0, 33, 0, 0, 0, | ||
983 | - 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, | ||
984 | - 0, 0, 0, 122, 123, 7, 8, 9, 10, 11, | ||
985 | - 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, | ||
986 | - 22, 23, 24, 0, 26, 27, 28, 29, 30, 0, | ||
987 | - 0, 33, 0, 0, 0, 0, 0, 157, 0, 0, | ||
988 | - 0, 158, 0, 0, 0, 0, 0, 159, 64, 7, | ||
989 | + 87, 88, 113, 156, 38, 10, 146, 163, 72, 127, | ||
990 | + 94, 50, 84, 59, 174, 20, 54, 90, 74, 148, | ||
991 | + 58, 150, 179, 101, 29, 51, 143, 164, 33, 4, | ||
992 | + 55, 70, 106, 113, 55, 113, -93, 102, 134, 60, | ||
993 | + 124, 78, 87, 147, 157, 86, 152, 110, 127, 127, | ||
994 | + 126, -93, 65, 111, 63, 65, 72, 91, 85, 109, | ||
995 | + 153, 160, 97, 110, 64, 98, 65, 53, 99, 111, | ||
996 | + 61, 65, 147, 62, 112, 161, 110, 113, 85, 124, | ||
997 | + 63, 74, 111, 157, 65, 48, 49, 158, 159, 126, | ||
998 | + 64, 65, 65, 87, 104, 105, 107, 108, 51, 55, | ||
999 | + 89, 87, 95, 96, 103, 120, 142, 130, 79, 131, | ||
1000 | + 87, 182, 7, 8, 9, 10, 11, 12, 13, 132, | ||
1001 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1002 | + 133, 26, 27, 28, 29, 30, 112, 149, 33, 34, | ||
1003 | + 154, 155, 107, 98, 162, -22, 169, 167, 163, 35, | ||
1004 | + 168, 170, -22, -107, 171, -22, 180, -22, 121, 172, | ||
1005 | + -22, 176, 7, 8, 9, 10, 11, 12, 13, 177, | ||
1006 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1007 | + 183, 26, 27, 28, 29, 30, 184, 185, 33, 34, | ||
1008 | + 186, 5, 135, 122, 175, -22, 145, 73, 151, 35, | ||
1009 | + 0, 0, -22, -108, 0, -22, 0, -22, 6, 0, | ||
1010 | + -22, 144, 7, 8, 9, 10, 11, 12, 13, 14, | ||
1011 | + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | ||
1012 | + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | ||
1013 | + 0, 0, 0, 0, 0, -22, 0, 0, 0, 35, | ||
1014 | + 0, 0, -22, 0, 137, -22, 0, -22, 7, 8, | ||
1015 | + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, | ||
1016 | + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, | ||
1017 | + 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, | ||
1018 | + -86, 0, 0, 0, 0, 35, 0, 0, 0, 173, | ||
1019 | + 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, | ||
1020 | + 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, | ||
1021 | + 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, | ||
1022 | + 34, 0, 0, 0, 0, -86, 0, 0, 0, 0, | ||
1023 | + 35, 0, 0, 0, 178, 0, 0, -86, 7, 8, | ||
1024 | + 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, | ||
1025 | + 19, 20, 21, 22, 23, 24, 0, 26, 27, 28, | ||
1026 | + 29, 30, 0, 0, 33, 34, 0, 0, 0, 0, | ||
1027 | + -86, 0, 0, 0, 0, 35, 0, 0, 0, 0, | ||
1028 | + 0, 0, -86, 7, 8, 9, 10, 11, 12, 13, | ||
1029 | + 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, | ||
1030 | + 24, 0, 26, 27, 28, 29, 30, 0, 0, 33, | ||
1031 | + 34, 0, 0, 0, 0, 0, 124, 0, 0, 0, | ||
1032 | + 125, 0, 0, 0, 0, 0, 126, 0, 65, 7, | ||
1033 | 8, 9, 10, 11, 12, 13, 0, 15, 16, 17, | ||
1034 | 18, 19, 20, 21, 22, 23, 24, 0, 26, 27, | ||
1035 | - 28, 29, 30, 0, 0, 33, 0, 0, 0, 0, | ||
1036 | - 178, 0, 0, 0, 0, 34, 7, 8, 9, 10, | ||
1037 | - 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, | ||
1038 | - 21, 22, 23, 24, 0, 26, 27, 28, 29, 30, | ||
1039 | - 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, | ||
1040 | - 0, 0, 34 | ||
1041 | + 28, 29, 30, 0, 0, 33, 34, 0, 0, 0, | ||
1042 | + 0, 181, 0, 0, 0, 0, 35, 7, 8, 9, | ||
1043 | + 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, | ||
1044 | + 20, 21, 22, 23, 24, 0, 26, 27, 28, 29, | ||
1045 | + 30, 0, 0, 33, 34, 0, 0, 0, 0, 0, | ||
1046 | + 0, 0, 0, 0, 35 | ||
1047 | }; | ||
1048 | |||
1049 | #define yypact_value_is_default(yystate) \ | ||
1050 | - ((yystate) == (-135)) | ||
1051 | + ((yystate) == (-140)) | ||
1052 | |||
1053 | #define yytable_value_is_error(yytable_value) \ | ||
1054 | YYID (0) | ||
1055 | |||
1056 | static const yytype_int16 yycheck[] = | ||
1057 | { | ||
1058 | - 59, 38, 79, 3, 1, 8, 56, 37, 26, 37, | ||
1059 | - 64, 31, 1, 147, 37, 18, 30, 1, 32, 109, | ||
1060 | - 0, 111, 45, 51, 27, 23, 76, 44, 31, 51, | ||
1061 | - 50, 37, 109, 63, 111, 53, 33, 91, 68, 57, | ||
1062 | - 37, 100, 47, 177, 41, 51, 37, 33, 37, 86, | ||
1063 | - 47, 48, 49, 37, 131, 37, 56, 41, 47, 48, | ||
1064 | - 51, 47, 47, 47, 48, 47, 48, 33, 37, 37, | ||
1065 | - 51, 33, 149, 41, 44, 45, 76, 44, 45, 47, | ||
1066 | - 48, 47, 159, 160, 52, 47, 37, 37, 147, 37, | ||
1067 | - 41, 45, 46, 41, 131, 44, 47, 48, 50, 47, | ||
1068 | - 48, 159, 160, 46, 45, 49, 165, 1, 34, 49, | ||
1069 | - 49, 5, 6, 7, 8, 9, 10, 11, 177, 13, | ||
1070 | - 14, 15, 16, 17, 18, 19, 20, 21, 22, 52, | ||
1071 | - 24, 25, 26, 27, 28, 34, 44, 31, 44, 46, | ||
1072 | - 30, 44, 31, 37, 49, 49, 46, 41, 49, 36, | ||
1073 | - 44, 45, 49, 47, 48, 1, 49, 34, 52, 5, | ||
1074 | - 6, 7, 8, 9, 10, 11, 49, 13, 14, 15, | ||
1075 | - 16, 17, 18, 19, 20, 21, 22, 49, 24, 25, | ||
1076 | - 26, 27, 28, 49, 49, 31, 49, 49, 1, 165, | ||
1077 | - 81, 37, 94, 149, 107, 41, 112, 49, 44, 45, | ||
1078 | - -1, 47, 48, 1, -1, 103, 52, 5, 6, 7, | ||
1079 | - 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, | ||
1080 | - 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, | ||
1081 | - 28, -1, -1, 31, -1, -1, -1, -1, 36, -1, | ||
1082 | - 1, -1, -1, 41, 5, 6, 7, 8, 9, 10, | ||
1083 | - 11, 49, 13, 14, 15, 16, 17, 18, 19, 20, | ||
1084 | - 21, 22, -1, 24, 25, 26, 27, 28, -1, -1, | ||
1085 | - 31, -1, -1, -1, -1, 36, -1, 1, -1, -1, | ||
1086 | - 41, 5, 6, 7, 8, 9, 10, 11, 49, 13, | ||
1087 | - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, | ||
1088 | - 24, 25, 26, 27, 28, -1, -1, 31, -1, -1, | ||
1089 | - -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, | ||
1090 | - -1, -1, 1, -1, -1, 49, 5, 6, 7, 8, | ||
1091 | - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, | ||
1092 | - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, | ||
1093 | - 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, | ||
1094 | - -1, -1, 41, -1, -1, 44, -1, -1, 47, 48, | ||
1095 | - 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, | ||
1096 | - 15, 16, 17, 18, 19, 20, 21, 22, -1, 24, | ||
1097 | - 25, 26, 27, 28, -1, -1, 31, -1, -1, -1, | ||
1098 | - -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, | ||
1099 | - -1, -1, -1, 48, 49, 5, 6, 7, 8, 9, | ||
1100 | - 10, 11, -1, 13, 14, 15, 16, 17, 18, 19, | ||
1101 | - 20, 21, 22, -1, 24, 25, 26, 27, 28, -1, | ||
1102 | - -1, 31, -1, -1, -1, -1, -1, 37, -1, -1, | ||
1103 | - -1, 41, -1, -1, -1, -1, -1, 47, 48, 5, | ||
1104 | + 60, 60, 80, 1, 3, 8, 1, 31, 39, 87, | ||
1105 | + 65, 38, 57, 26, 153, 18, 38, 1, 38, 111, | ||
1106 | + 38, 113, 161, 34, 27, 52, 46, 51, 31, 0, | ||
1107 | + 52, 38, 77, 111, 52, 113, 34, 48, 93, 48, | ||
1108 | + 38, 54, 102, 38, 42, 58, 34, 42, 126, 127, | ||
1109 | + 48, 49, 50, 48, 38, 50, 87, 64, 57, 38, | ||
1110 | + 48, 34, 69, 42, 48, 30, 50, 23, 33, 48, | ||
1111 | + 48, 50, 38, 45, 53, 48, 42, 155, 77, 38, | ||
1112 | + 38, 38, 48, 42, 50, 45, 46, 126, 127, 48, | ||
1113 | + 48, 50, 50, 153, 46, 47, 45, 46, 52, 52, | ||
1114 | + 38, 161, 45, 47, 51, 46, 35, 49, 1, 49, | ||
1115 | + 170, 170, 5, 6, 7, 8, 9, 10, 11, 49, | ||
1116 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1117 | + 49, 24, 25, 26, 27, 28, 53, 35, 31, 32, | ||
1118 | + 45, 47, 45, 30, 45, 38, 37, 49, 31, 42, | ||
1119 | + 49, 47, 45, 46, 49, 48, 35, 50, 1, 49, | ||
1120 | + 53, 49, 5, 6, 7, 8, 9, 10, 11, 49, | ||
1121 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1122 | + 49, 24, 25, 26, 27, 28, 49, 49, 31, 32, | ||
1123 | + 49, 1, 96, 82, 155, 38, 109, 50, 114, 42, | ||
1124 | + -1, -1, 45, 46, -1, 48, -1, 50, 1, -1, | ||
1125 | + 53, 105, 5, 6, 7, 8, 9, 10, 11, 12, | ||
1126 | + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, | ||
1127 | + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, | ||
1128 | + -1, -1, -1, -1, -1, 38, -1, -1, -1, 42, | ||
1129 | + -1, -1, 45, -1, 1, 48, -1, 50, 5, 6, | ||
1130 | + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, | ||
1131 | + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, | ||
1132 | + 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, | ||
1133 | + 37, -1, -1, -1, -1, 42, -1, -1, -1, 1, | ||
1134 | + -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, | ||
1135 | + -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, | ||
1136 | + 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, | ||
1137 | + 32, -1, -1, -1, -1, 37, -1, -1, -1, -1, | ||
1138 | + 42, -1, -1, -1, 1, -1, -1, 49, 5, 6, | ||
1139 | + 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, | ||
1140 | + 17, 18, 19, 20, 21, 22, -1, 24, 25, 26, | ||
1141 | + 27, 28, -1, -1, 31, 32, -1, -1, -1, -1, | ||
1142 | + 37, -1, -1, -1, -1, 42, -1, -1, -1, -1, | ||
1143 | + -1, -1, 49, 5, 6, 7, 8, 9, 10, 11, | ||
1144 | + -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, | ||
1145 | + 22, -1, 24, 25, 26, 27, 28, -1, -1, 31, | ||
1146 | + 32, -1, -1, -1, -1, -1, 38, -1, -1, -1, | ||
1147 | + 42, -1, -1, -1, -1, -1, 48, -1, 50, 5, | ||
1148 | 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, | ||
1149 | 16, 17, 18, 19, 20, 21, 22, -1, 24, 25, | ||
1150 | - 26, 27, 28, -1, -1, 31, -1, -1, -1, -1, | ||
1151 | - 36, -1, -1, -1, -1, 41, 5, 6, 7, 8, | ||
1152 | - 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, | ||
1153 | - 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, | ||
1154 | - -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, | ||
1155 | - -1, -1, 41 | ||
1156 | + 26, 27, 28, -1, -1, 31, 32, -1, -1, -1, | ||
1157 | + -1, 37, -1, -1, -1, -1, 42, 5, 6, 7, | ||
1158 | + 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, | ||
1159 | + 18, 19, 20, 21, 22, -1, 24, 25, 26, 27, | ||
1160 | + 28, -1, -1, 31, 32, -1, -1, -1, -1, -1, | ||
1161 | + -1, -1, -1, -1, 42 | ||
1162 | }; | ||
1163 | |||
1164 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | ||
1165 | symbol of state STATE-NUM. */ | ||
1166 | static const yytype_uint8 yystos[] = | ||
1167 | { | ||
1168 | - 0, 54, 55, 56, 0, 55, 1, 5, 6, 7, | ||
1169 | + 0, 55, 56, 57, 0, 56, 1, 5, 6, 7, | ||
1170 | 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, | ||
1171 | 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, | ||
1172 | - 28, 29, 30, 31, 41, 57, 60, 64, 65, 66, | ||
1173 | - 67, 68, 69, 73, 84, 99, 101, 44, 45, 37, | ||
1174 | - 51, 96, 23, 37, 51, 87, 59, 37, 87, 47, | ||
1175 | - 47, 44, 37, 47, 48, 61, 62, 63, 70, 74, | ||
1176 | - 75, 66, 96, 37, 97, 98, 58, 87, 1, 64, | ||
1177 | - 88, 89, 90, 60, 64, 87, 65, 37, 1, 74, | ||
1178 | - 71, 72, 73, 44, 46, 74, 30, 32, 100, 33, | ||
1179 | - 47, 50, 45, 46, 60, 44, 45, 37, 41, 47, | ||
1180 | - 52, 70, 76, 77, 91, 92, 93, 94, 45, 1, | ||
1181 | - 90, 74, 48, 49, 49, 49, 49, 73, 63, 95, | ||
1182 | - 1, 65, 78, 79, 80, 81, 34, 45, 98, 94, | ||
1183 | - 1, 37, 76, 34, 76, 95, 33, 47, 44, 46, | ||
1184 | - 49, 44, 31, 50, 85, 86, 49, 37, 41, 47, | ||
1185 | - 70, 82, 83, 49, 36, 46, 49, 49, 1, 78, | ||
1186 | - 93, 34, 1, 41, 82, 82, 33, 47, 36, 81, | ||
1187 | - 49, 49, 49, 49, 1, 78, 49, 49 | ||
1188 | + 28, 29, 30, 31, 32, 42, 58, 61, 65, 66, | ||
1189 | + 67, 68, 69, 70, 74, 85, 100, 102, 45, 46, | ||
1190 | + 38, 52, 97, 23, 38, 52, 88, 60, 38, 88, | ||
1191 | + 48, 48, 45, 38, 48, 50, 62, 63, 64, 71, | ||
1192 | + 75, 76, 67, 97, 38, 98, 99, 59, 88, 1, | ||
1193 | + 65, 89, 90, 91, 61, 65, 88, 66, 82, 38, | ||
1194 | + 1, 75, 72, 73, 74, 45, 47, 75, 30, 33, | ||
1195 | + 101, 34, 48, 51, 46, 47, 61, 45, 46, 38, | ||
1196 | + 42, 48, 53, 71, 77, 78, 92, 93, 94, 95, | ||
1197 | + 46, 1, 91, 75, 38, 42, 48, 71, 83, 84, | ||
1198 | + 49, 49, 49, 49, 74, 64, 96, 1, 79, 80, | ||
1199 | + 81, 82, 35, 46, 99, 95, 1, 38, 77, 35, | ||
1200 | + 77, 96, 34, 48, 45, 47, 1, 42, 83, 83, | ||
1201 | + 34, 48, 45, 31, 51, 86, 87, 49, 49, 37, | ||
1202 | + 47, 49, 49, 1, 79, 94, 49, 49, 1, 79, | ||
1203 | + 35, 37, 82, 49, 49, 49, 49 | ||
1204 | }; | ||
1205 | |||
1206 | #define yyerrok (yyerrstatus = 0) | ||
1207 | @@ -890,17 +895,18 @@ static const yytype_uint8 yystos[] = | ||
1208 | |||
1209 | #define YYRECOVERING() (!!yyerrstatus) | ||
1210 | |||
1211 | -#define YYBACKUP(Token, Value) \ | ||
1212 | -do \ | ||
1213 | - if (yychar == YYEMPTY && yylen == 1) \ | ||
1214 | - { \ | ||
1215 | - yychar = (Token); \ | ||
1216 | - yylval = (Value); \ | ||
1217 | - YYPOPSTACK (1); \ | ||
1218 | - goto yybackup; \ | ||
1219 | - } \ | ||
1220 | - else \ | ||
1221 | - { \ | ||
1222 | +#define YYBACKUP(Token, Value) \ | ||
1223 | +do \ | ||
1224 | + if (yychar == YYEMPTY) \ | ||
1225 | + { \ | ||
1226 | + yychar = (Token); \ | ||
1227 | + yylval = (Value); \ | ||
1228 | + YYPOPSTACK (yylen); \ | ||
1229 | + yystate = *yyssp; \ | ||
1230 | + goto yybackup; \ | ||
1231 | + } \ | ||
1232 | + else \ | ||
1233 | + { \ | ||
1234 | yyerror (YY_("syntax error: cannot back up")); \ | ||
1235 | YYERROR; \ | ||
1236 | } \ | ||
1237 | @@ -995,6 +1001,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) | ||
1238 | YYSTYPE const * const yyvaluep; | ||
1239 | #endif | ||
1240 | { | ||
1241 | + FILE *yyo = yyoutput; | ||
1242 | + YYUSE (yyo); | ||
1243 | if (!yyvaluep) | ||
1244 | return; | ||
1245 | # ifdef YYPRINT | ||
1246 | @@ -1246,12 +1254,12 @@ static int | ||
1247 | yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | ||
1248 | yytype_int16 *yyssp, int yytoken) | ||
1249 | { | ||
1250 | - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); | ||
1251 | + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); | ||
1252 | YYSIZE_T yysize = yysize0; | ||
1253 | YYSIZE_T yysize1; | ||
1254 | enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; | ||
1255 | /* Internationalized format string. */ | ||
1256 | - const char *yyformat = 0; | ||
1257 | + const char *yyformat = YY_NULL; | ||
1258 | /* Arguments of yyformat. */ | ||
1259 | char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; | ||
1260 | /* Number of reported tokens (one for the "unexpected", one per | ||
1261 | @@ -1311,7 +1319,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | ||
1262 | break; | ||
1263 | } | ||
1264 | yyarg[yycount++] = yytname[yyx]; | ||
1265 | - yysize1 = yysize + yytnamerr (0, yytname[yyx]); | ||
1266 | + yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); | ||
1267 | if (! (yysize <= yysize1 | ||
1268 | && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) | ||
1269 | return 2; | ||
1270 | @@ -1463,7 +1471,7 @@ yyparse () | ||
1271 | `yyss': related to states. | ||
1272 | `yyvs': related to semantic values. | ||
1273 | |||
1274 | - Refer to the stacks thru separate pointers, to allow yyoverflow | ||
1275 | + Refer to the stacks through separate pointers, to allow yyoverflow | ||
1276 | to reallocate them elsewhere. */ | ||
1277 | |||
1278 | /* The state stack. */ | ||
1279 | @@ -2346,7 +2354,7 @@ yyabortlab: | ||
1280 | yyresult = 1; | ||
1281 | goto yyreturn; | ||
1282 | |||
1283 | -#if !defined(yyoverflow) || YYERROR_VERBOSE | ||
1284 | +#if !defined yyoverflow || YYERROR_VERBOSE | ||
1285 | /*-------------------------------------------------. | ||
1286 | | yyexhaustedlab -- memory exhaustion comes here. | | ||
1287 | `-------------------------------------------------*/ | ||
1288 | diff --git a/scripts/genksyms/parse.tab.h_shipped b/scripts/genksyms/parse.tab.h_shipped | ||
1289 | index 93240a3cdecc..a4737dec4532 100644 | ||
1290 | --- a/scripts/genksyms/parse.tab.h_shipped | ||
1291 | +++ b/scripts/genksyms/parse.tab.h_shipped | ||
1292 | @@ -1,8 +1,8 @@ | ||
1293 | -/* A Bison parser, made by GNU Bison 2.5. */ | ||
1294 | +/* A Bison parser, made by GNU Bison 2.5.1. */ | ||
1295 | |||
1296 | /* Bison interface for Yacc-like parsers in C | ||
1297 | |||
1298 | - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. | ||
1299 | + Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. | ||
1300 | |||
1301 | This program is free software: you can redistribute it and/or modify | ||
1302 | it under the terms of the GNU General Public License as published by | ||
1303 | @@ -66,18 +66,19 @@ | ||
1304 | EXPORT_SYMBOL_KEYW = 284, | ||
1305 | ASM_PHRASE = 285, | ||
1306 | ATTRIBUTE_PHRASE = 286, | ||
1307 | - BRACE_PHRASE = 287, | ||
1308 | - BRACKET_PHRASE = 288, | ||
1309 | - EXPRESSION_PHRASE = 289, | ||
1310 | - CHAR = 290, | ||
1311 | - DOTS = 291, | ||
1312 | - IDENT = 292, | ||
1313 | - INT = 293, | ||
1314 | - REAL = 294, | ||
1315 | - STRING = 295, | ||
1316 | - TYPE = 296, | ||
1317 | - OTHER = 297, | ||
1318 | - FILENAME = 298 | ||
1319 | + TYPEOF_PHRASE = 287, | ||
1320 | + BRACE_PHRASE = 288, | ||
1321 | + BRACKET_PHRASE = 289, | ||
1322 | + EXPRESSION_PHRASE = 290, | ||
1323 | + CHAR = 291, | ||
1324 | + DOTS = 292, | ||
1325 | + IDENT = 293, | ||
1326 | + INT = 294, | ||
1327 | + REAL = 295, | ||
1328 | + STRING = 296, | ||
1329 | + TYPE = 297, | ||
1330 | + OTHER = 298, | ||
1331 | + FILENAME = 299 | ||
1332 | }; | ||
1333 | #endif | ||
1334 | |||
1335 | diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y | ||
1336 | index 23c39998ad86..b9f4cf202302 100644 | ||
1337 | --- a/scripts/genksyms/parse.y | ||
1338 | +++ b/scripts/genksyms/parse.y | ||
1339 | @@ -103,6 +103,7 @@ static void record_compound(struct string_list **keyw, | ||
1340 | |||
1341 | %token ASM_PHRASE | ||
1342 | %token ATTRIBUTE_PHRASE | ||
1343 | +%token TYPEOF_PHRASE | ||
1344 | %token BRACE_PHRASE | ||
1345 | %token BRACKET_PHRASE | ||
1346 | %token EXPRESSION_PHRASE | ||
1347 | @@ -220,8 +221,8 @@ storage_class_specifier: | ||
1348 | type_specifier: | ||
1349 | simple_type_specifier | ||
1350 | | cvar_qualifier | ||
1351 | - | TYPEOF_KEYW '(' decl_specifier_seq '*' ')' | ||
1352 | - | TYPEOF_KEYW '(' decl_specifier_seq ')' | ||
1353 | + | TYPEOF_KEYW '(' parameter_declaration ')' | ||
1354 | + | TYPEOF_PHRASE | ||
1355 | |||
1356 | /* References to s/u/e's defined elsewhere. Rearrange things | ||
1357 | so that it is easier to expand the definition fully later. */ | ||
1358 | -- | ||
1359 | 2.11.0 | ||
1360 | |||
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend b/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend index 492bea8..86fa105 100644 --- a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend +++ b/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend | |||
@@ -27,6 +27,11 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" | ||
31 | SRC_URI += " \ | ||
32 | file://0001-genksyms-fix-typeof-handling.patch \ | ||
33 | " | ||
34 | |||
30 | # kernel image files are not needed in the image | 35 | # kernel image files are not needed in the image |
31 | RDEPENDS_kernel-base = "" | 36 | RDEPENDS_kernel-base = "" |
32 | 37 | ||
diff --git a/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend b/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend index f2bdba1..c7730c6 100644 --- a/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend +++ b/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend | |||
@@ -1,7 +1,29 @@ | |||
1 | # Use our kernel instead of yocto which defaults to mainline 3.18 | 1 | # Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. |
2 | # | ||
3 | # This program is free software; you can redistribute it and/or modify it | ||
4 | # under the terms and conditions of the GNU General Public License, | ||
5 | # version 2, as published by the Free Software Foundation. | ||
6 | # | ||
7 | # This program is distributed in the hope it will be useful, but WITHOUT | ||
8 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
9 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
10 | # more details. | ||
11 | # | ||
12 | # You should have received a copy of the GNU General Public License | ||
13 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
14 | |||
15 | # KERN_DIR holds linux.tar.bz2 | ||
16 | KERN_DIR := "${LNX_TOPDIR}_src/kernel" | ||
17 | # Kernel source is the kernel tarball in PDK | ||
2 | SRC_URI = "file://${KERN_DIR}/linux.tar.bz2" | 18 | SRC_URI = "file://${KERN_DIR}/linux.tar.bz2" |
3 | PV = "3.18" | 19 | PV = "4.4" |
4 | 20 | ||
5 | # Extracting linux.tar.bz2 creates directories | 21 | # Extracting linux.tar.bz2 creates directories |
6 | # <top>/vibrante-oss-src/kernel | 22 | # <top>/vibrante-oss-src/kernel |
7 | S = "${WORKDIR}/vibrante-oss-src/kernel" | 23 | S = "${WORKDIR}/vibrante-oss-src/kernel" |
24 | |||
25 | # Need to pass this to for oe_runmake explicitly for building outside kerneldir | ||
26 | EXTRA_OEMAKE += " -C ${S} O=${B}" | ||
27 | |||
28 | # Apply RT patches | ||
29 | require recipes-kernel/linux/apply-rt-patches.inc | ||
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend index 70ee515..835dfe8 100644 --- a/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend +++ b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend | |||
@@ -1,6 +1,6 @@ | |||
1 | ############################################################################ | 1 | ############################################################################ |
2 | ## | 2 | ## |
3 | ## Copyright (C) 2016 The Qt Company Ltd. | 3 | ## Copyright (C) 2017 The Qt Company Ltd. |
4 | ## Contact: https://www.qt.io/licensing/ | 4 | ## Contact: https://www.qt.io/licensing/ |
5 | ## | 5 | ## |
6 | ## This file is part of the Boot to Qt meta layer. | 6 | ## This file is part of the Boot to Qt meta layer. |
@@ -27,43 +27,31 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | do_unpack_append() { | 30 | FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" |
31 | rm -rf ${STAGING_KERNEL_DIR} | 31 | SRC_URI += "file://0001-Fix-misleading-indentation-error.patch;patchdir=.." |
32 | ln -s ${S} ${STAGING_KERNEL_DIR} | ||
33 | } | ||
34 | 32 | ||
35 | do_kernel_defconfig_prepend () { | 33 | CROSS_COMPILE_PREFIX = "${CROSS_COMPILE}" |
36 | } | ||
37 | 34 | ||
38 | do_compile_prepend () { | 35 | PACKAGES += "kernel-devicetree" |
39 | # cross_compile_exports | 36 | FILES_kernel-devicetree = "/boot/*.dtb" |
40 | export ARCH=${KERNEL_ARCH} | ||
41 | export CROSS_COMPILE=${CROSS_COMPILE} | ||
42 | 37 | ||
43 | echo "CONFIG_USB_FUNCTIONFS=m" >> ${B}/.config | 38 | RDEPENDS_kernel-base = "kernel-image kernel-devicetree" |
44 | echo "CONFIG_USB_ACM=m" >> ${B}/.config | ||
45 | 39 | ||
46 | make olddefconfig | 40 | python do_patch () { |
41 | bb.build.exec_func('patch_do_patch', d) | ||
47 | } | 42 | } |
48 | 43 | ||
49 | do_install () { | 44 | do_unpack_append() { |
50 | kernel_do_install | 45 | mkdir -p ${STAGING_KERNEL_DIR} |
51 | 46 | rm -rf ${STAGING_KERNEL_DIR} | |
52 | s=$(readlink -m "${S}") | 47 | ln -s ${S} ${STAGING_KERNEL_DIR} |
53 | kernsrc="${STAGING_KERNEL_DIR}" | ||
54 | |||
55 | if [ "${s}" != "${kernsrc}" ]; then | ||
56 | mkdir -p "${kernsrc}" | ||
57 | rm -rf "${kernsrc}" | ||
58 | mv "${S}" "${STAGING_KERNEL_DIR}" | ||
59 | ln -sf "${kernsrc}" "${s}" | ||
60 | fi | ||
61 | } | 48 | } |
62 | 49 | ||
63 | do_deploy() { | 50 | do_install_append() { |
64 | kernel_do_deploy | 51 | kernel_do_install |
52 | install -m 0664 -t ${D}/boot/ ${B}/arch/arm64/boot/dts/*.dtb | ||
65 | } | 53 | } |
66 | 54 | ||
67 | do_compile () { | 55 | dtbs_deploy() { |
68 | kernel_do_compile | 56 | install -m 0664 -t ${DEPLOY_DIR_IMAGE} ${B}/arch/arm64/boot/dts/*.dtb |
69 | } | 57 | } |
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch b/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch new file mode 100644 index 0000000..a344adc --- /dev/null +++ b/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 33d112e943590020f2cda2a403a755531833b016 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Fri, 31 Mar 2017 09:42:18 +0300 | ||
4 | Subject: [PATCH] Fix misleading-indentation error | ||
5 | |||
6 | error: this 'if' clause does not guard... [-Werror=misleading-indentation] | ||
7 | if (!runlist->active_channels) | ||
8 | --- | ||
9 | nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 16 ++++++++-------- | ||
10 | 1 file changed, 8 insertions(+), 8 deletions(-) | ||
11 | |||
12 | diff --git a/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | ||
13 | index 3e57c67..e2fe4db 100644 | ||
14 | --- a/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | ||
15 | +++ b/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | ||
16 | @@ -209,15 +209,15 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f) | ||
17 | if (!runlist->active_channels) | ||
18 | goto clean_up_runlist; | ||
19 | |||
20 | - runlist_size = sizeof(u16) * f->num_channels; | ||
21 | - for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) { | ||
22 | - int err = gk20a_gmmu_alloc_sys(g, runlist_size, | ||
23 | - &runlist->mem[i]); | ||
24 | - if (err) { | ||
25 | - dev_err(d, "memory allocation failed\n"); | ||
26 | - goto clean_up_runlist; | ||
27 | - } | ||
28 | + runlist_size = sizeof(u16) * f->num_channels; | ||
29 | + for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) { | ||
30 | + int err = gk20a_gmmu_alloc_sys(g, runlist_size, | ||
31 | + &runlist->mem[i]); | ||
32 | + if (err) { | ||
33 | + dev_err(d, "memory allocation failed\n"); | ||
34 | + goto clean_up_runlist; | ||
35 | } | ||
36 | + } | ||
37 | mutex_init(&runlist->mutex); | ||
38 | |||
39 | /* None of buffers is pinned if this value doesn't change. | ||
40 | -- | ||
41 | 2.7.4 | ||
42 | |||
diff --git a/meta-nvidia-extras/recipes/wayland/wayland/always-build-scanner.patch b/meta-nvidia-extras/recipes/wayland/wayland/always-build-scanner.patch deleted file mode 100644 index 5e0e6bf..0000000 --- a/meta-nvidia-extras/recipes/wayland/wayland/always-build-scanner.patch +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | build: always build wayland-scanner | ||
2 | |||
3 | The previous idiom for building a cross-compiled Wayland is to build once for | ||
4 | the build host (with --enable-scanner --disable-libraries) to get a | ||
5 | wayland-scanner binary that can then be used in a cross-compile (with | ||
6 | --disable-scanner). The problem with this is that the cross wayland is missing | ||
7 | a wayland-scanner binary, which means you then can't do any Wayland development | ||
8 | on the target. | ||
9 | |||
10 | Instead, always build wayland-scanner for the target and change | ||
11 | --enable/disable-scanner to --with/without-host-scanner. Normal builds use the | ||
12 | default of --without-host-scanner and run the wayland-scanner it just built, and | ||
13 | cross-compiled builds pass --with-host-scanner to use a previously built host | ||
14 | scanner but still get a wayland-scanner to install. | ||
15 | |||
16 | (a theoretically neater solution would be to build two scanners if required (one | ||
17 | to run and one to install), but automake makes this overly complicated) | ||
18 | |||
19 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
20 | Upstream-Status: Submitted | ||
21 | |||
22 | diff --git a/Makefile.am b/Makefile.am | ||
23 | index c19494f..c2d929b 100644 | ||
24 | --- a/Makefile.am | ||
25 | +++ b/Makefile.am | ||
26 | @@ -64,16 +64,17 @@ nodist_libwayland_client_la_SOURCES = \ | ||
27 | |||
28 | pkgconfig_DATA += src/wayland-client.pc src/wayland-server.pc | ||
29 | |||
30 | -if ENABLE_SCANNER | ||
31 | -wayland_scanner = $(top_builddir)/wayland-scanner | ||
32 | bin_PROGRAMS = wayland-scanner | ||
33 | wayland_scanner_SOURCES = src/scanner.c | ||
34 | wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(AM_CFLAGS) | ||
35 | wayland_scanner_LDADD = $(EXPAT_LIBS) libwayland-util.la | ||
36 | -$(BUILT_SOURCES) : wayland-scanner | ||
37 | pkgconfig_DATA += src/wayland-scanner.pc | ||
38 | -else | ||
39 | + | ||
40 | +if HOST_SCANNER | ||
41 | wayland_scanner = wayland-scanner | ||
42 | +else | ||
43 | +$(BUILT_SOURCES) : wayland-scanner | ||
44 | +wayland_scanner = $(top_builddir)/wayland-scanner | ||
45 | endif | ||
46 | |||
47 | protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml | ||
48 | diff --git a/configure.ac b/configure.ac | ||
49 | index c2a804e..de0b02f 100644 | ||
50 | --- a/configure.ac | ||
51 | +++ b/configure.ac | ||
52 | @@ -65,11 +65,11 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], | ||
53 | [[#include <time.h>]]) | ||
54 | AC_CHECK_HEADERS([execinfo.h]) | ||
55 | |||
56 | -AC_ARG_ENABLE([scanner], | ||
57 | - [AC_HELP_STRING([--disable-scanner], | ||
58 | - [Disable compilation of wayland-scanner])], | ||
59 | - [], | ||
60 | - [enable_scanner=yes]) | ||
61 | +AC_ARG_WITH([host-scanner], | ||
62 | + [AC_HELP_STRING([--with-host-scanner], | ||
63 | + [Use a host wayland-scanner])], | ||
64 | + [], | ||
65 | + [with_host_scanner=no]) | ||
66 | |||
67 | AC_ARG_ENABLE([documentation], | ||
68 | [AC_HELP_STRING([--disable-documentation], | ||
69 | @@ -77,25 +77,23 @@ AC_ARG_ENABLE([documentation], | ||
70 | [], | ||
71 | [enable_documentation=yes]) | ||
72 | |||
73 | -AM_CONDITIONAL(ENABLE_SCANNER, test "x$enable_scanner" = xyes) | ||
74 | +AM_CONDITIONAL(HOST_SCANNER, test "x$with_host_scanner" = xyes) | ||
75 | |||
76 | AC_ARG_WITH(icondir, [ --with-icondir=<dir> Look for cursor icons here], | ||
77 | [ ICONDIR=$withval], | ||
78 | [ ICONDIR=${datadir}/icons]) | ||
79 | AC_SUBST([ICONDIR]) | ||
80 | |||
81 | -if test "x$enable_scanner" = "xyes"; then | ||
82 | - PKG_CHECK_MODULES(EXPAT, [expat], [], | ||
83 | - [AC_CHECK_HEADERS(expat.h, [], | ||
84 | - [AC_MSG_ERROR([Can't find expat.h. Please install expat.])]) | ||
85 | - SAVE_LIBS="$LIBS" | ||
86 | - AC_SEARCH_LIBS(XML_ParserCreate, expat, [], | ||
87 | - [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) | ||
88 | - EXPAT_LIBS="$LIBS" | ||
89 | - LIBS="$SAVE_LIBS" | ||
90 | - AC_SUBST(EXPAT_LIBS) | ||
91 | - ]) | ||
92 | -fi | ||
93 | +PKG_CHECK_MODULES(EXPAT, [expat], [], | ||
94 | + [AC_CHECK_HEADERS(expat.h, [], | ||
95 | + [AC_MSG_ERROR([Can't find expat.h. Please install expat.])]) | ||
96 | + SAVE_LIBS="$LIBS" | ||
97 | + AC_SEARCH_LIBS(XML_ParserCreate, expat, [], | ||
98 | + [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) | ||
99 | + EXPAT_LIBS="$LIBS" | ||
100 | + LIBS="$SAVE_LIBS" | ||
101 | + AC_SUBST(EXPAT_LIBS) | ||
102 | + ]) | ||
103 | |||
104 | AC_PATH_PROG(XSLTPROC, xsltproc) | ||
105 | AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"]) | ||
diff --git a/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend b/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend index 463d5a1..5ab7634 100644 --- a/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend +++ b/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend | |||
@@ -1,6 +1,6 @@ | |||
1 | ############################################################################ | 1 | ############################################################################ |
2 | ## | 2 | ## |
3 | ## Copyright (C) 2016 The Qt Company Ltd. | 3 | ## Copyright (C) 2017 The Qt Company Ltd. |
4 | ## Contact: https://www.qt.io/licensing/ | 4 | ## Contact: https://www.qt.io/licensing/ |
5 | ## | 5 | ## |
6 | ## This file is part of the Boot to Qt meta layer. | 6 | ## This file is part of the Boot to Qt meta layer. |
@@ -27,10 +27,8 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | FILESEXTRAPATHS_append := ":${NVLAYER_DIR}/packages:${LNX_TOPDIR}/${PN}:${THISDIR}/${PN}" | 30 | FILESEXTRAPATHS_append := ":${LNX_TOPDIR}_src/wayland" |
31 | 31 | ||
32 | SRC_URI_remove = "file://${NVLAYER_DIR}/packages/wayland-1.8.1-src.tar.gz" | 32 | SRC_URI = "file://wayland-1.11.0-src.tar.gz" |
33 | SRC_URI = "\ | 33 | |
34 | file://wayland-1.8.1-src.tar.gz \ | 34 | DEPENDS_class-target += "wayland-egl" |
35 | file://always-build-scanner.patch \ | ||
36 | " | ||
diff --git a/meta-nvidia-extras/recipes/weston/weston_%.bbappend b/meta-nvidia-extras/recipes/weston/weston_%.bbappend index cfc286f..22f0f11 100644 --- a/meta-nvidia-extras/recipes/weston/weston_%.bbappend +++ b/meta-nvidia-extras/recipes/weston/weston_%.bbappend | |||
@@ -1,6 +1,6 @@ | |||
1 | ############################################################################ | 1 | ############################################################################ |
2 | ## | 2 | ## |
3 | ## Copyright (C) 2016 The Qt Company Ltd. | 3 | ## Copyright (C) 2017 The Qt Company Ltd. |
4 | ## Contact: https://www.qt.io/licensing/ | 4 | ## Contact: https://www.qt.io/licensing/ |
5 | ## | 5 | ## |
6 | ## This file is part of the Boot to Qt meta layer. | 6 | ## This file is part of the Boot to Qt meta layer. |
@@ -27,10 +27,6 @@ | |||
27 | ## | 27 | ## |
28 | ############################################################################ | 28 | ############################################################################ |
29 | 29 | ||
30 | FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" | 30 | PACKAGECONFIG_remove = "kms" |
31 | S = "${WORKDIR}/${LNX_TOPDIR}/samples/wayland/weston" | ||
32 | 31 | ||
33 | do_install_prepend() { | 32 | TARGET_CFLAGS += "-DWIN_INTERFACE_CUSTOM" |
34 | mkdir -p ${WORKDIR}/${LNX_TOPDIR}/samples/weston/tools | ||
35 | cp ${WORKDIR}/${LNX_TOPDIR}/samples/wayland/weston/tools/weston.ini ${WORKDIR}/${LNX_TOPDIR}/samples/weston/tools/weston.ini | ||
36 | } | ||
diff --git a/meta-renesas-extras/conf/layer.conf b/meta-renesas-extras/conf/layer.conf new file mode 100644 index 0000000..36091df --- /dev/null +++ b/meta-renesas-extras/conf/layer.conf | |||
@@ -0,0 +1,40 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | # We have a conf and classes directory, append to BBPATH | ||
31 | BBPATH .= ":${LAYERDIR}" | ||
32 | |||
33 | # We have a recipes directory, add to BBFILES | ||
34 | BBFILES += "${LAYERDIR}/recipes*/*/*.bb \ | ||
35 | ${LAYERDIR}/recipes*/*/*.bbappend \ | ||
36 | " | ||
37 | |||
38 | BBFILE_COLLECTIONS += "b2qt_renesas" | ||
39 | BBFILE_PATTERN_b2qt_renesas := "^${LAYERDIR}/" | ||
40 | BBFILE_PRIORITY_b2qt_renesas = "20" | ||
diff --git a/meta-renesas-extras/recipes/arm-trusted-firmware/arm-trusted-firmware_git.bbappend b/meta-renesas-extras/recipes/arm-trusted-firmware/arm-trusted-firmware_git.bbappend new file mode 100644 index 0000000..801a073 --- /dev/null +++ b/meta-renesas-extras/recipes/arm-trusted-firmware/arm-trusted-firmware_git.bbappend | |||
@@ -0,0 +1,31 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | CFLAGS[unexport] = "" | ||
31 | CFLAGS = "-Wno-error=pedantic" | ||
diff --git a/meta-renesas-extras/recipes/mesa/mesa_12.%.bbappend b/meta-renesas-extras/recipes/mesa/mesa_12.%.bbappend new file mode 100644 index 0000000..0542b65 --- /dev/null +++ b/meta-renesas-extras/recipes/mesa/mesa_12.%.bbappend | |||
@@ -0,0 +1,10 @@ | |||
1 | require include/gles-control.inc | ||
2 | |||
3 | def map_libs(d): | ||
4 | if base_conditional('USE_GLES_WAYLAND', "1", "1", "0", d) == "1": | ||
5 | return "wayland" | ||
6 | |||
7 | return "dummy" | ||
8 | |||
9 | MESATARGET := "${@map_libs(d)}" | ||
10 | include recipes-graphics/mesa/mesa-${MESATARGET}.inc | ||
diff --git a/meta-renesas-extras/recipes/optee-os/optee-os_git.bbappend b/meta-renesas-extras/recipes/optee-os/optee-os_git.bbappend new file mode 100644 index 0000000..03862c5 --- /dev/null +++ b/meta-renesas-extras/recipes/optee-os/optee-os_git.bbappend | |||
@@ -0,0 +1,30 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | CFLAGS = "-Wno-error=unused-const-variable= -Wno-error=strict-aliasing -Wno-error=shift-negative-value" | ||
diff --git a/meta-renesas-extras/recipes/qt5/b2qt-appcontroller.bbappend b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller.bbappend new file mode 100644 index 0000000..708ed85 --- /dev/null +++ b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller.bbappend | |||
@@ -0,0 +1,38 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
31 | |||
32 | SRC_URI += "file://kms.conf" | ||
33 | |||
34 | FILES_${PN} += "${sysconfdir}/kms.conf" | ||
35 | |||
36 | do_install_append() { | ||
37 | install -m 0644 ${WORKDIR}/kms.conf ${D}${sysconfdir}/ | ||
38 | } | ||
diff --git a/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/appcontroller.conf b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/appcontroller.conf new file mode 100644 index 0000000..97aaa5e --- /dev/null +++ b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/appcontroller.conf | |||
@@ -0,0 +1,8 @@ | |||
1 | env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins | ||
2 | env=QT_QPA_EGLFS_KMS_CONFIG=/etc/kms.conf | ||
3 | env=QT_IM_MODULE=qtvirtualkeyboard | ||
4 | env=QT_QPA_EGLFS_FORCE888=0 | ||
5 | env=QT_QUICK_CONTROLS_STYLE=Flat | ||
6 | env=XDG_RUNTIME_DIR=/tmp | ||
7 | env=QSG_RENDER_LOOP=basic | ||
8 | base=linux | ||
diff --git a/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/kms.conf b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/kms.conf new file mode 100644 index 0000000..db7a503 --- /dev/null +++ b/meta-renesas-extras/recipes/qt5/b2qt-appcontroller/kms.conf | |||
@@ -0,0 +1,4 @@ | |||
1 | { | ||
2 | "device": "/dev/dri/card0", | ||
3 | "hwcursor": false | ||
4 | } | ||
diff --git a/meta-renesas-extras/recipes/qt5/qtbase/oe-device-extra.pri b/meta-renesas-extras/recipes/qt5/qtbase/oe-device-extra.pri new file mode 100644 index 0000000..c6f88ad --- /dev/null +++ b/meta-renesas-extras/recipes/qt5/qtbase/oe-device-extra.pri | |||
@@ -0,0 +1,4 @@ | |||
1 | QMAKE_PLATFORM += boot2qt | ||
2 | |||
3 | QT_QPA_DEFAULT_PLATFORM = eglfs | ||
4 | EGLFS_DEVICE_INTEGRATION = eglfs_kms | ||
diff --git a/meta-renesas-extras/recipes/qt5/qtbase_git.bbappend b/meta-renesas-extras/recipes/qt5/qtbase_git.bbappend new file mode 100644 index 0000000..ecba1f1 --- /dev/null +++ b/meta-renesas-extras/recipes/qt5/qtbase_git.bbappend | |||
@@ -0,0 +1,32 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
31 | |||
32 | PACKAGECONFIG += "gbm kms" | ||
diff --git a/meta-renesas-extras/recipes/u-boot/u-boot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch b/meta-renesas-extras/recipes/u-boot/u-boot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch new file mode 100644 index 0000000..639f67d --- /dev/null +++ b/meta-renesas-extras/recipes/u-boot/u-boot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch | |||
@@ -0,0 +1,808 @@ | |||
1 | From 9b2c282b348dfe966bbba967dc7a45ce817cce50 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tom Rini <trini@konsulko.com> | ||
3 | Date: Mon, 29 Feb 2016 11:34:15 -0500 | ||
4 | Subject: [PATCH] compiler*.h: sync include/linux/compiler*.h with Linux | ||
5 | 4.5-rc6 | ||
6 | |||
7 | Copy these from Linux v4.5-rc6 tag. | ||
8 | |||
9 | This is needed so that we can keep up with newer gcc versions. Note | ||
10 | that we don't have the uapi/ hierarchy from the kernel so continue to | ||
11 | use <linux/types.h> | ||
12 | |||
13 | Signed-off-by: Tom Rini <trini@konsulko.com> | ||
14 | --- | ||
15 | include/linux/compiler-gcc.h | 259 ++++++++++++++++++++++++++++++++--------- | ||
16 | include/linux/compiler-gcc3.h | 23 ---- | ||
17 | include/linux/compiler-gcc4.h | 88 -------------- | ||
18 | include/linux/compiler-gcc5.h | 65 ----------- | ||
19 | include/linux/compiler-intel.h | 5 + | ||
20 | include/linux/compiler.h | 178 ++++++++++++++++++++++++++-- | ||
21 | 6 files changed, 383 insertions(+), 235 deletions(-) | ||
22 | delete mode 100644 include/linux/compiler-gcc3.h | ||
23 | delete mode 100644 include/linux/compiler-gcc4.h | ||
24 | delete mode 100644 include/linux/compiler-gcc5.h | ||
25 | |||
26 | diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h | ||
27 | index e057bd2..22ab246 100644 | ||
28 | --- a/include/linux/compiler-gcc.h | ||
29 | +++ b/include/linux/compiler-gcc.h | ||
30 | @@ -5,14 +5,28 @@ | ||
31 | /* | ||
32 | * Common definitions for all gcc versions go here. | ||
33 | */ | ||
34 | -#define GCC_VERSION (__GNUC__ * 10000 \ | ||
35 | - + __GNUC_MINOR__ * 100 \ | ||
36 | - + __GNUC_PATCHLEVEL__) | ||
37 | - | ||
38 | +#define GCC_VERSION (__GNUC__ * 10000 \ | ||
39 | + + __GNUC_MINOR__ * 100 \ | ||
40 | + + __GNUC_PATCHLEVEL__) | ||
41 | |||
42 | /* Optimization barrier */ | ||
43 | + | ||
44 | /* The "volatile" is due to gcc bugs */ | ||
45 | #define barrier() __asm__ __volatile__("": : :"memory") | ||
46 | +/* | ||
47 | + * This version is i.e. to prevent dead stores elimination on @ptr | ||
48 | + * where gcc and llvm may behave differently when otherwise using | ||
49 | + * normal barrier(): while gcc behavior gets along with a normal | ||
50 | + * barrier(), llvm needs an explicit input variable to be assumed | ||
51 | + * clobbered. The issue is as follows: while the inline asm might | ||
52 | + * access any memory it wants, the compiler could have fit all of | ||
53 | + * @ptr into memory registers instead, and since @ptr never escaped | ||
54 | + * from that, it proofed that the inline asm wasn't touching any of | ||
55 | + * it. This version works well with both compilers, i.e. we're telling | ||
56 | + * the compiler that the inline asm absolutely may see the contents | ||
57 | + * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 | ||
58 | + */ | ||
59 | +#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") | ||
60 | |||
61 | /* | ||
62 | * This macro obfuscates arithmetic on a variable address so that gcc | ||
63 | @@ -32,58 +46,63 @@ | ||
64 | * the inline assembly constraint from =g to =r, in this particular | ||
65 | * case either is valid. | ||
66 | */ | ||
67 | -#define RELOC_HIDE(ptr, off) \ | ||
68 | - ({ unsigned long __ptr; \ | ||
69 | - __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ||
70 | - (typeof(ptr)) (__ptr + (off)); }) | ||
71 | +#define RELOC_HIDE(ptr, off) \ | ||
72 | +({ \ | ||
73 | + unsigned long __ptr; \ | ||
74 | + __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ | ||
75 | + (typeof(ptr)) (__ptr + (off)); \ | ||
76 | +}) | ||
77 | |||
78 | /* Make the optimizer believe the variable can be manipulated arbitrarily. */ | ||
79 | -#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var)) | ||
80 | +#define OPTIMIZER_HIDE_VAR(var) \ | ||
81 | + __asm__ ("" : "=r" (var) : "0" (var)) | ||
82 | |||
83 | #ifdef __CHECKER__ | ||
84 | -#define __must_be_array(arr) 0 | ||
85 | +#define __must_be_array(a) 0 | ||
86 | #else | ||
87 | /* &a[0] degrades to a pointer: a different type from an array */ | ||
88 | -#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) | ||
89 | +#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) | ||
90 | #endif | ||
91 | |||
92 | /* | ||
93 | * Force always-inline if the user requests it so via the .config, | ||
94 | * or if gcc is too old: | ||
95 | */ | ||
96 | -#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ | ||
97 | +#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ | ||
98 | !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) | ||
99 | -# define inline inline __attribute__((always_inline)) notrace | ||
100 | -# define __inline__ __inline__ __attribute__((always_inline)) notrace | ||
101 | -# define __inline __inline __attribute__((always_inline)) notrace | ||
102 | +#define inline inline __attribute__((always_inline)) notrace | ||
103 | +#define __inline__ __inline__ __attribute__((always_inline)) notrace | ||
104 | +#define __inline __inline __attribute__((always_inline)) notrace | ||
105 | #else | ||
106 | /* A lot of inline functions can cause havoc with function tracing */ | ||
107 | -# define inline inline notrace | ||
108 | -# define __inline__ __inline__ notrace | ||
109 | -# define __inline __inline notrace | ||
110 | +#define inline inline notrace | ||
111 | +#define __inline__ __inline__ notrace | ||
112 | +#define __inline __inline notrace | ||
113 | #endif | ||
114 | |||
115 | -#define __deprecated __attribute__((deprecated)) | ||
116 | -#ifndef __packed | ||
117 | -#define __packed __attribute__((packed)) | ||
118 | -#endif | ||
119 | -#ifndef __weak | ||
120 | -#define __weak __attribute__((weak)) | ||
121 | -#endif | ||
122 | +#define __always_inline inline __attribute__((always_inline)) | ||
123 | +#define noinline __attribute__((noinline)) | ||
124 | + | ||
125 | +#define __deprecated __attribute__((deprecated)) | ||
126 | +#define __packed __attribute__((packed)) | ||
127 | +#define __weak __attribute__((weak)) | ||
128 | +#define __alias(symbol) __attribute__((alias(#symbol))) | ||
129 | |||
130 | /* | ||
131 | - * it doesn't make sense on ARM (currently the only user of __naked) to trace | ||
132 | - * naked functions because then mcount is called without stack and frame pointer | ||
133 | - * being set up and there is no chance to restore the lr register to the value | ||
134 | - * before mcount was called. | ||
135 | + * it doesn't make sense on ARM (currently the only user of __naked) | ||
136 | + * to trace naked functions because then mcount is called without | ||
137 | + * stack and frame pointer being set up and there is no chance to | ||
138 | + * restore the lr register to the value before mcount was called. | ||
139 | + * | ||
140 | + * The asm() bodies of naked functions often depend on standard calling | ||
141 | + * conventions, therefore they must be noinline and noclone. | ||
142 | * | ||
143 | - * The asm() bodies of naked functions often depend on standard calling conventions, | ||
144 | - * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce | ||
145 | - * this, so we must do so ourselves. See GCC PR44290. | ||
146 | + * GCC 4.[56] currently fail to enforce this, so we must do so ourselves. | ||
147 | + * See GCC PR44290. | ||
148 | */ | ||
149 | -#define __naked __attribute__((naked)) noinline __noclone notrace | ||
150 | +#define __naked __attribute__((naked)) noinline __noclone notrace | ||
151 | |||
152 | -#define __noreturn __attribute__((noreturn)) | ||
153 | +#define __noreturn __attribute__((noreturn)) | ||
154 | |||
155 | /* | ||
156 | * From the GCC manual: | ||
157 | @@ -95,34 +114,170 @@ | ||
158 | * would be. | ||
159 | * [...] | ||
160 | */ | ||
161 | -#ifndef __pure | ||
162 | -#define __pure __attribute__((pure)) | ||
163 | +#define __pure __attribute__((pure)) | ||
164 | +#define __aligned(x) __attribute__((aligned(x))) | ||
165 | +#define __printf(a, b) __attribute__((format(printf, a, b))) | ||
166 | +#define __scanf(a, b) __attribute__((format(scanf, a, b))) | ||
167 | +#define __attribute_const__ __attribute__((__const__)) | ||
168 | +#define __maybe_unused __attribute__((unused)) | ||
169 | +#define __always_unused __attribute__((unused)) | ||
170 | + | ||
171 | +/* gcc version specific checks */ | ||
172 | + | ||
173 | +#if GCC_VERSION < 30200 | ||
174 | +# error Sorry, your compiler is too old - please upgrade it. | ||
175 | +#endif | ||
176 | + | ||
177 | +#if GCC_VERSION < 30300 | ||
178 | +# define __used __attribute__((__unused__)) | ||
179 | +#else | ||
180 | +# define __used __attribute__((__used__)) | ||
181 | +#endif | ||
182 | + | ||
183 | +#ifdef CONFIG_GCOV_KERNEL | ||
184 | +# if GCC_VERSION < 30400 | ||
185 | +# error "GCOV profiling support for gcc versions below 3.4 not included" | ||
186 | +# endif /* __GNUC_MINOR__ */ | ||
187 | +#endif /* CONFIG_GCOV_KERNEL */ | ||
188 | + | ||
189 | +#if GCC_VERSION >= 30400 | ||
190 | +#define __must_check __attribute__((warn_unused_result)) | ||
191 | +#endif | ||
192 | + | ||
193 | +#if GCC_VERSION >= 40000 | ||
194 | + | ||
195 | +/* GCC 4.1.[01] miscompiles __weak */ | ||
196 | +#ifdef __KERNEL__ | ||
197 | +# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 | ||
198 | +# error Your version of gcc miscompiles the __weak directive | ||
199 | +# endif | ||
200 | +#endif | ||
201 | + | ||
202 | +#define __used __attribute__((__used__)) | ||
203 | +#define __compiler_offsetof(a, b) \ | ||
204 | + __builtin_offsetof(a, b) | ||
205 | + | ||
206 | +#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 | ||
207 | +# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) | ||
208 | +#endif | ||
209 | + | ||
210 | +#if GCC_VERSION >= 40300 | ||
211 | +/* Mark functions as cold. gcc will assume any path leading to a call | ||
212 | + * to them will be unlikely. This means a lot of manual unlikely()s | ||
213 | + * are unnecessary now for any paths leading to the usual suspects | ||
214 | + * like BUG(), printk(), panic() etc. [but let's keep them for now for | ||
215 | + * older compilers] | ||
216 | + * | ||
217 | + * Early snapshots of gcc 4.3 don't support this and we can't detect this | ||
218 | + * in the preprocessor, but we can live with this because they're unreleased. | ||
219 | + * Maketime probing would be overkill here. | ||
220 | + * | ||
221 | + * gcc also has a __attribute__((__hot__)) to move hot functions into | ||
222 | + * a special section, but I don't see any sense in this right now in | ||
223 | + * the kernel context | ||
224 | + */ | ||
225 | +#define __cold __attribute__((__cold__)) | ||
226 | + | ||
227 | +#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) | ||
228 | + | ||
229 | +#ifndef __CHECKER__ | ||
230 | +# define __compiletime_warning(message) __attribute__((warning(message))) | ||
231 | +# define __compiletime_error(message) __attribute__((error(message))) | ||
232 | +#endif /* __CHECKER__ */ | ||
233 | +#endif /* GCC_VERSION >= 40300 */ | ||
234 | + | ||
235 | +#if GCC_VERSION >= 40500 | ||
236 | +/* | ||
237 | + * Mark a position in code as unreachable. This can be used to | ||
238 | + * suppress control flow warnings after asm blocks that transfer | ||
239 | + * control elsewhere. | ||
240 | + * | ||
241 | + * Early snapshots of gcc 4.5 don't support this and we can't detect | ||
242 | + * this in the preprocessor, but we can live with this because they're | ||
243 | + * unreleased. Really, we need to have autoconf for the kernel. | ||
244 | + */ | ||
245 | +#define unreachable() __builtin_unreachable() | ||
246 | + | ||
247 | +/* Mark a function definition as prohibited from being cloned. */ | ||
248 | +#define __noclone __attribute__((__noclone__)) | ||
249 | + | ||
250 | +#endif /* GCC_VERSION >= 40500 */ | ||
251 | + | ||
252 | +#if GCC_VERSION >= 40600 | ||
253 | +/* | ||
254 | + * When used with Link Time Optimization, gcc can optimize away C functions or | ||
255 | + * variables which are referenced only from assembly code. __visible tells the | ||
256 | + * optimizer that something else uses this function or variable, thus preventing | ||
257 | + * this. | ||
258 | + */ | ||
259 | +#define __visible __attribute__((externally_visible)) | ||
260 | #endif | ||
261 | -#ifndef __aligned | ||
262 | -#define __aligned(x) __attribute__((aligned(x))) | ||
263 | + | ||
264 | + | ||
265 | +#if GCC_VERSION >= 40900 && !defined(__CHECKER__) | ||
266 | +/* | ||
267 | + * __assume_aligned(n, k): Tell the optimizer that the returned | ||
268 | + * pointer can be assumed to be k modulo n. The second argument is | ||
269 | + * optional (default 0), so we use a variadic macro to make the | ||
270 | + * shorthand. | ||
271 | + * | ||
272 | + * Beware: Do not apply this to functions which may return | ||
273 | + * ERR_PTRs. Also, it is probably unwise to apply it to functions | ||
274 | + * returning extra information in the low bits (but in that case the | ||
275 | + * compiler should see some alignment anyway, when the return value is | ||
276 | + * massaged by 'flags = ptr & 3; ptr &= ~3;'). | ||
277 | + */ | ||
278 | +#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__))) | ||
279 | #endif | ||
280 | -#define __printf(a, b) __attribute__((format(printf, a, b))) | ||
281 | -#define __scanf(a, b) __attribute__((format(scanf, a, b))) | ||
282 | -#define noinline __attribute__((noinline)) | ||
283 | -#define __attribute_const__ __attribute__((__const__)) | ||
284 | -#define __maybe_unused __attribute__((unused)) | ||
285 | -#define __always_unused __attribute__((unused)) | ||
286 | |||
287 | -#define __gcc_header(x) #x | ||
288 | -#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) | ||
289 | -#define gcc_header(x) _gcc_header(x) | ||
290 | -#include gcc_header(__GNUC__) | ||
291 | +/* | ||
292 | + * GCC 'asm goto' miscompiles certain code sequences: | ||
293 | + * | ||
294 | + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 | ||
295 | + * | ||
296 | + * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. | ||
297 | + * | ||
298 | + * (asm goto is automatically volatile - the naming reflects this.) | ||
299 | + */ | ||
300 | +#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) | ||
301 | + | ||
302 | +#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP | ||
303 | +#if GCC_VERSION >= 40400 | ||
304 | +#define __HAVE_BUILTIN_BSWAP32__ | ||
305 | +#define __HAVE_BUILTIN_BSWAP64__ | ||
306 | +#endif | ||
307 | +#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) | ||
308 | +#define __HAVE_BUILTIN_BSWAP16__ | ||
309 | +#endif | ||
310 | +#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ | ||
311 | + | ||
312 | +#if GCC_VERSION >= 50000 | ||
313 | +#define KASAN_ABI_VERSION 4 | ||
314 | +#elif GCC_VERSION >= 40902 | ||
315 | +#define KASAN_ABI_VERSION 3 | ||
316 | +#endif | ||
317 | + | ||
318 | +#if GCC_VERSION >= 40902 | ||
319 | +/* | ||
320 | + * Tell the compiler that address safety instrumentation (KASAN) | ||
321 | + * should not be applied to that function. | ||
322 | + * Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 | ||
323 | + */ | ||
324 | +#define __no_sanitize_address __attribute__((no_sanitize_address)) | ||
325 | +#endif | ||
326 | + | ||
327 | +#endif /* gcc version >= 40000 specific checks */ | ||
328 | |||
329 | #if !defined(__noclone) | ||
330 | #define __noclone /* not needed */ | ||
331 | #endif | ||
332 | |||
333 | +#if !defined(__no_sanitize_address) | ||
334 | +#define __no_sanitize_address | ||
335 | +#endif | ||
336 | + | ||
337 | /* | ||
338 | * A trick to suppress uninitialized variable warning without generating any | ||
339 | * code | ||
340 | */ | ||
341 | #define uninitialized_var(x) x = x | ||
342 | - | ||
343 | -#ifndef __always_inline | ||
344 | -#define __always_inline inline __attribute__((always_inline)) | ||
345 | -#endif | ||
346 | diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h | ||
347 | deleted file mode 100644 | ||
348 | index 7d89feb..0000000 | ||
349 | --- a/include/linux/compiler-gcc3.h | ||
350 | +++ /dev/null | ||
351 | @@ -1,23 +0,0 @@ | ||
352 | -#ifndef __LINUX_COMPILER_H | ||
353 | -#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead." | ||
354 | -#endif | ||
355 | - | ||
356 | -#if GCC_VERSION < 30200 | ||
357 | -# error Sorry, your compiler is too old - please upgrade it. | ||
358 | -#endif | ||
359 | - | ||
360 | -#if GCC_VERSION >= 30300 | ||
361 | -# define __used __attribute__((__used__)) | ||
362 | -#else | ||
363 | -# define __used __attribute__((__unused__)) | ||
364 | -#endif | ||
365 | - | ||
366 | -#if GCC_VERSION >= 30400 | ||
367 | -#define __must_check __attribute__((warn_unused_result)) | ||
368 | -#endif | ||
369 | - | ||
370 | -#ifdef CONFIG_GCOV_KERNEL | ||
371 | -# if GCC_VERSION < 30400 | ||
372 | -# error "GCOV profiling support for gcc versions below 3.4 not included" | ||
373 | -# endif /* __GNUC_MINOR__ */ | ||
374 | -#endif /* CONFIG_GCOV_KERNEL */ | ||
375 | diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h | ||
376 | deleted file mode 100644 | ||
377 | index 2507fd2..0000000 | ||
378 | --- a/include/linux/compiler-gcc4.h | ||
379 | +++ /dev/null | ||
380 | @@ -1,88 +0,0 @@ | ||
381 | -#ifndef __LINUX_COMPILER_H | ||
382 | -#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead." | ||
383 | -#endif | ||
384 | - | ||
385 | -/* GCC 4.1.[01] miscompiles __weak */ | ||
386 | -#ifdef __KERNEL__ | ||
387 | -# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 | ||
388 | -# error Your version of gcc miscompiles the __weak directive | ||
389 | -# endif | ||
390 | -#endif | ||
391 | - | ||
392 | -#define __used __attribute__((__used__)) | ||
393 | -#define __must_check __attribute__((warn_unused_result)) | ||
394 | -#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) | ||
395 | - | ||
396 | -#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 | ||
397 | -# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) | ||
398 | -#endif | ||
399 | - | ||
400 | -#if GCC_VERSION >= 40300 | ||
401 | -/* Mark functions as cold. gcc will assume any path leading to a call | ||
402 | - to them will be unlikely. This means a lot of manual unlikely()s | ||
403 | - are unnecessary now for any paths leading to the usual suspects | ||
404 | - like BUG(), printk(), panic() etc. [but let's keep them for now for | ||
405 | - older compilers] | ||
406 | - | ||
407 | - Early snapshots of gcc 4.3 don't support this and we can't detect this | ||
408 | - in the preprocessor, but we can live with this because they're unreleased. | ||
409 | - Maketime probing would be overkill here. | ||
410 | - | ||
411 | - gcc also has a __attribute__((__hot__)) to move hot functions into | ||
412 | - a special section, but I don't see any sense in this right now in | ||
413 | - the kernel context */ | ||
414 | -#define __cold __attribute__((__cold__)) | ||
415 | - | ||
416 | -#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) | ||
417 | - | ||
418 | -#ifndef __CHECKER__ | ||
419 | -# define __compiletime_warning(message) __attribute__((warning(message))) | ||
420 | -# define __compiletime_error(message) __attribute__((error(message))) | ||
421 | -#endif /* __CHECKER__ */ | ||
422 | -#endif /* GCC_VERSION >= 40300 */ | ||
423 | - | ||
424 | -#if GCC_VERSION >= 40500 | ||
425 | -/* | ||
426 | - * Mark a position in code as unreachable. This can be used to | ||
427 | - * suppress control flow warnings after asm blocks that transfer | ||
428 | - * control elsewhere. | ||
429 | - * | ||
430 | - * Early snapshots of gcc 4.5 don't support this and we can't detect | ||
431 | - * this in the preprocessor, but we can live with this because they're | ||
432 | - * unreleased. Really, we need to have autoconf for the kernel. | ||
433 | - */ | ||
434 | -#define unreachable() __builtin_unreachable() | ||
435 | - | ||
436 | -/* Mark a function definition as prohibited from being cloned. */ | ||
437 | -#define __noclone __attribute__((__noclone__)) | ||
438 | - | ||
439 | -#endif /* GCC_VERSION >= 40500 */ | ||
440 | - | ||
441 | -#if GCC_VERSION >= 40600 | ||
442 | -/* | ||
443 | - * Tell the optimizer that something else uses this function or variable. | ||
444 | - */ | ||
445 | -#define __visible __attribute__((externally_visible)) | ||
446 | -#endif | ||
447 | - | ||
448 | -/* | ||
449 | - * GCC 'asm goto' miscompiles certain code sequences: | ||
450 | - * | ||
451 | - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 | ||
452 | - * | ||
453 | - * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. | ||
454 | - * Fixed in GCC 4.8.2 and later versions. | ||
455 | - * | ||
456 | - * (asm goto is automatically volatile - the naming reflects this.) | ||
457 | - */ | ||
458 | -#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) | ||
459 | - | ||
460 | -#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP | ||
461 | -#if GCC_VERSION >= 40400 | ||
462 | -#define __HAVE_BUILTIN_BSWAP32__ | ||
463 | -#define __HAVE_BUILTIN_BSWAP64__ | ||
464 | -#endif | ||
465 | -#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) | ||
466 | -#define __HAVE_BUILTIN_BSWAP16__ | ||
467 | -#endif | ||
468 | -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ | ||
469 | diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h | ||
470 | deleted file mode 100644 | ||
471 | index c8c5659..0000000 | ||
472 | --- a/include/linux/compiler-gcc5.h | ||
473 | +++ /dev/null | ||
474 | @@ -1,65 +0,0 @@ | ||
475 | -#ifndef __LINUX_COMPILER_H | ||
476 | -#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead." | ||
477 | -#endif | ||
478 | - | ||
479 | -#define __used __attribute__((__used__)) | ||
480 | -#define __must_check __attribute__((warn_unused_result)) | ||
481 | -#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ||
482 | - | ||
483 | -/* Mark functions as cold. gcc will assume any path leading to a call | ||
484 | - to them will be unlikely. This means a lot of manual unlikely()s | ||
485 | - are unnecessary now for any paths leading to the usual suspects | ||
486 | - like BUG(), printk(), panic() etc. [but let's keep them for now for | ||
487 | - older compilers] | ||
488 | - | ||
489 | - Early snapshots of gcc 4.3 don't support this and we can't detect this | ||
490 | - in the preprocessor, but we can live with this because they're unreleased. | ||
491 | - Maketime probing would be overkill here. | ||
492 | - | ||
493 | - gcc also has a __attribute__((__hot__)) to move hot functions into | ||
494 | - a special section, but I don't see any sense in this right now in | ||
495 | - the kernel context */ | ||
496 | -#define __cold __attribute__((__cold__)) | ||
497 | - | ||
498 | -#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) | ||
499 | - | ||
500 | -#ifndef __CHECKER__ | ||
501 | -# define __compiletime_warning(message) __attribute__((warning(message))) | ||
502 | -# define __compiletime_error(message) __attribute__((error(message))) | ||
503 | -#endif /* __CHECKER__ */ | ||
504 | - | ||
505 | -/* | ||
506 | - * Mark a position in code as unreachable. This can be used to | ||
507 | - * suppress control flow warnings after asm blocks that transfer | ||
508 | - * control elsewhere. | ||
509 | - * | ||
510 | - * Early snapshots of gcc 4.5 don't support this and we can't detect | ||
511 | - * this in the preprocessor, but we can live with this because they're | ||
512 | - * unreleased. Really, we need to have autoconf for the kernel. | ||
513 | - */ | ||
514 | -#define unreachable() __builtin_unreachable() | ||
515 | - | ||
516 | -/* Mark a function definition as prohibited from being cloned. */ | ||
517 | -#define __noclone __attribute__((__noclone__)) | ||
518 | - | ||
519 | -/* | ||
520 | - * Tell the optimizer that something else uses this function or variable. | ||
521 | - */ | ||
522 | -#define __visible __attribute__((externally_visible)) | ||
523 | - | ||
524 | -/* | ||
525 | - * GCC 'asm goto' miscompiles certain code sequences: | ||
526 | - * | ||
527 | - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 | ||
528 | - * | ||
529 | - * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. | ||
530 | - * | ||
531 | - * (asm goto is automatically volatile - the naming reflects this.) | ||
532 | - */ | ||
533 | -#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) | ||
534 | - | ||
535 | -#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP | ||
536 | -#define __HAVE_BUILTIN_BSWAP32__ | ||
537 | -#define __HAVE_BUILTIN_BSWAP64__ | ||
538 | -#define __HAVE_BUILTIN_BSWAP16__ | ||
539 | -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ | ||
540 | diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h | ||
541 | index ba147a1..d4c7113 100644 | ||
542 | --- a/include/linux/compiler-intel.h | ||
543 | +++ b/include/linux/compiler-intel.h | ||
544 | @@ -13,9 +13,14 @@ | ||
545 | /* Intel ECC compiler doesn't support gcc specific asm stmts. | ||
546 | * It uses intrinsics to do the equivalent things. | ||
547 | */ | ||
548 | +#undef barrier | ||
549 | +#undef barrier_data | ||
550 | #undef RELOC_HIDE | ||
551 | #undef OPTIMIZER_HIDE_VAR | ||
552 | |||
553 | +#define barrier() __memory_barrier() | ||
554 | +#define barrier_data(ptr) barrier() | ||
555 | + | ||
556 | #define RELOC_HIDE(ptr, off) \ | ||
557 | ({ unsigned long __ptr; \ | ||
558 | __ptr = (unsigned long) (ptr); \ | ||
559 | diff --git a/include/linux/compiler.h b/include/linux/compiler.h | ||
560 | index d5ad7b1..020ad16 100644 | ||
561 | --- a/include/linux/compiler.h | ||
562 | +++ b/include/linux/compiler.h | ||
563 | @@ -17,6 +17,7 @@ | ||
564 | # define __release(x) __context__(x,-1) | ||
565 | # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) | ||
566 | # define __percpu __attribute__((noderef, address_space(3))) | ||
567 | +# define __pmem __attribute__((noderef, address_space(5))) | ||
568 | #ifdef CONFIG_SPARSE_RCU_POINTER | ||
569 | # define __rcu __attribute__((noderef, address_space(4))) | ||
570 | #else | ||
571 | @@ -42,6 +43,7 @@ extern void __chk_io_ptr(const volatile void __iomem *); | ||
572 | # define __cond_lock(x,c) (c) | ||
573 | # define __percpu | ||
574 | # define __rcu | ||
575 | +# define __pmem | ||
576 | #endif | ||
577 | |||
578 | /* Indirect macros required for expanded argument pasting, eg. __LINE__. */ | ||
579 | @@ -54,7 +56,11 @@ extern void __chk_io_ptr(const volatile void __iomem *); | ||
580 | #include <linux/compiler-gcc.h> | ||
581 | #endif | ||
582 | |||
583 | +#if defined(CC_USING_HOTPATCH) && !defined(__CHECKER__) | ||
584 | +#define notrace __attribute__((hotpatch(0,0))) | ||
585 | +#else | ||
586 | #define notrace __attribute__((no_instrument_function)) | ||
587 | +#endif | ||
588 | |||
589 | /* Intel compiler defines __GNUC__. So we will overwrite implementations | ||
590 | * coming from above header files here | ||
591 | @@ -138,7 +144,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
592 | */ | ||
593 | #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) | ||
594 | #define __trace_if(cond) \ | ||
595 | - if (__builtin_constant_p((cond)) ? !!(cond) : \ | ||
596 | + if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ | ||
597 | ({ \ | ||
598 | int ______r; \ | ||
599 | static struct ftrace_branch_data \ | ||
600 | @@ -165,6 +171,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
601 | # define barrier() __memory_barrier() | ||
602 | #endif | ||
603 | |||
604 | +#ifndef barrier_data | ||
605 | +# define barrier_data(ptr) barrier() | ||
606 | +#endif | ||
607 | + | ||
608 | /* Unreachable code */ | ||
609 | #ifndef unreachable | ||
610 | # define unreachable() do { } while (1) | ||
611 | @@ -186,6 +196,126 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
612 | # define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__) | ||
613 | #endif | ||
614 | |||
615 | +#include <linux/types.h> | ||
616 | + | ||
617 | +#define __READ_ONCE_SIZE \ | ||
618 | +({ \ | ||
619 | + switch (size) { \ | ||
620 | + case 1: *(__u8 *)res = *(volatile __u8 *)p; break; \ | ||
621 | + case 2: *(__u16 *)res = *(volatile __u16 *)p; break; \ | ||
622 | + case 4: *(__u32 *)res = *(volatile __u32 *)p; break; \ | ||
623 | + case 8: *(__u64 *)res = *(volatile __u64 *)p; break; \ | ||
624 | + default: \ | ||
625 | + barrier(); \ | ||
626 | + __builtin_memcpy((void *)res, (const void *)p, size); \ | ||
627 | + barrier(); \ | ||
628 | + } \ | ||
629 | +}) | ||
630 | + | ||
631 | +static __always_inline | ||
632 | +void __read_once_size(const volatile void *p, void *res, int size) | ||
633 | +{ | ||
634 | + __READ_ONCE_SIZE; | ||
635 | +} | ||
636 | + | ||
637 | +#ifdef CONFIG_KASAN | ||
638 | +/* | ||
639 | + * This function is not 'inline' because __no_sanitize_address confilcts | ||
640 | + * with inlining. Attempt to inline it may cause a build failure. | ||
641 | + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 | ||
642 | + * '__maybe_unused' allows us to avoid defined-but-not-used warnings. | ||
643 | + */ | ||
644 | +static __no_sanitize_address __maybe_unused | ||
645 | +void __read_once_size_nocheck(const volatile void *p, void *res, int size) | ||
646 | +{ | ||
647 | + __READ_ONCE_SIZE; | ||
648 | +} | ||
649 | +#else | ||
650 | +static __always_inline | ||
651 | +void __read_once_size_nocheck(const volatile void *p, void *res, int size) | ||
652 | +{ | ||
653 | + __READ_ONCE_SIZE; | ||
654 | +} | ||
655 | +#endif | ||
656 | + | ||
657 | +static __always_inline void __write_once_size(volatile void *p, void *res, int size) | ||
658 | +{ | ||
659 | + switch (size) { | ||
660 | + case 1: *(volatile __u8 *)p = *(__u8 *)res; break; | ||
661 | + case 2: *(volatile __u16 *)p = *(__u16 *)res; break; | ||
662 | + case 4: *(volatile __u32 *)p = *(__u32 *)res; break; | ||
663 | + case 8: *(volatile __u64 *)p = *(__u64 *)res; break; | ||
664 | + default: | ||
665 | + barrier(); | ||
666 | + __builtin_memcpy((void *)p, (const void *)res, size); | ||
667 | + barrier(); | ||
668 | + } | ||
669 | +} | ||
670 | + | ||
671 | +/* | ||
672 | + * Prevent the compiler from merging or refetching reads or writes. The | ||
673 | + * compiler is also forbidden from reordering successive instances of | ||
674 | + * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the | ||
675 | + * compiler is aware of some particular ordering. One way to make the | ||
676 | + * compiler aware of ordering is to put the two invocations of READ_ONCE, | ||
677 | + * WRITE_ONCE or ACCESS_ONCE() in different C statements. | ||
678 | + * | ||
679 | + * In contrast to ACCESS_ONCE these two macros will also work on aggregate | ||
680 | + * data types like structs or unions. If the size of the accessed data | ||
681 | + * type exceeds the word size of the machine (e.g., 32 bits or 64 bits) | ||
682 | + * READ_ONCE() and WRITE_ONCE() will fall back to memcpy and print a | ||
683 | + * compile-time warning. | ||
684 | + * | ||
685 | + * Their two major use cases are: (1) Mediating communication between | ||
686 | + * process-level code and irq/NMI handlers, all running on the same CPU, | ||
687 | + * and (2) Ensuring that the compiler does not fold, spindle, or otherwise | ||
688 | + * mutilate accesses that either do not require ordering or that interact | ||
689 | + * with an explicit memory barrier or atomic instruction that provides the | ||
690 | + * required ordering. | ||
691 | + */ | ||
692 | + | ||
693 | +#define __READ_ONCE(x, check) \ | ||
694 | +({ \ | ||
695 | + union { typeof(x) __val; char __c[1]; } __u; \ | ||
696 | + if (check) \ | ||
697 | + __read_once_size(&(x), __u.__c, sizeof(x)); \ | ||
698 | + else \ | ||
699 | + __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \ | ||
700 | + __u.__val; \ | ||
701 | +}) | ||
702 | +#define READ_ONCE(x) __READ_ONCE(x, 1) | ||
703 | + | ||
704 | +/* | ||
705 | + * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need | ||
706 | + * to hide memory access from KASAN. | ||
707 | + */ | ||
708 | +#define READ_ONCE_NOCHECK(x) __READ_ONCE(x, 0) | ||
709 | + | ||
710 | +#define WRITE_ONCE(x, val) \ | ||
711 | +({ \ | ||
712 | + union { typeof(x) __val; char __c[1]; } __u = \ | ||
713 | + { .__val = (__force typeof(x)) (val) }; \ | ||
714 | + __write_once_size(&(x), __u.__c, sizeof(x)); \ | ||
715 | + __u.__val; \ | ||
716 | +}) | ||
717 | + | ||
718 | +/** | ||
719 | + * smp_cond_acquire() - Spin wait for cond with ACQUIRE ordering | ||
720 | + * @cond: boolean expression to wait for | ||
721 | + * | ||
722 | + * Equivalent to using smp_load_acquire() on the condition variable but employs | ||
723 | + * the control dependency of the wait to reduce the barrier on many platforms. | ||
724 | + * | ||
725 | + * The control dependency provides a LOAD->STORE order, the additional RMB | ||
726 | + * provides LOAD->LOAD order, together they provide LOAD->{LOAD,STORE} order, | ||
727 | + * aka. ACQUIRE. | ||
728 | + */ | ||
729 | +#define smp_cond_acquire(cond) do { \ | ||
730 | + while (!(cond)) \ | ||
731 | + cpu_relax(); \ | ||
732 | + smp_rmb(); /* ctrl + rmb := acquire */ \ | ||
733 | +} while (0) | ||
734 | + | ||
735 | #endif /* __KERNEL__ */ | ||
736 | |||
737 | #endif /* __ASSEMBLY__ */ | ||
738 | @@ -304,6 +434,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
739 | #define __visible | ||
740 | #endif | ||
741 | |||
742 | +/* | ||
743 | + * Assume alignment of return value. | ||
744 | + */ | ||
745 | +#ifndef __assume_aligned | ||
746 | +#define __assume_aligned(a, ...) | ||
747 | +#endif | ||
748 | + | ||
749 | + | ||
750 | /* Are two types/vars the same type (ignoring qualifiers)? */ | ||
751 | #ifndef __same_type | ||
752 | # define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ||
753 | @@ -311,7 +449,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
754 | |||
755 | /* Is this type a native word size -- useful for atomic operations */ | ||
756 | #ifndef __native_word | ||
757 | -# define __native_word(t) (sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) | ||
758 | +# define __native_word(t) (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) | ||
759 | #endif | ||
760 | |||
761 | /* Compile time object size, -1 for unknown */ | ||
762 | @@ -373,12 +511,38 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | ||
763 | * to make the compiler aware of ordering is to put the two invocations of | ||
764 | * ACCESS_ONCE() in different C statements. | ||
765 | * | ||
766 | - * This macro does absolutely -nothing- to prevent the CPU from reordering, | ||
767 | - * merging, or refetching absolutely anything at any time. Its main intended | ||
768 | - * use is to mediate communication between process-level code and irq/NMI | ||
769 | - * handlers, all running on the same CPU. | ||
770 | + * ACCESS_ONCE will only work on scalar types. For union types, ACCESS_ONCE | ||
771 | + * on a union member will work as long as the size of the member matches the | ||
772 | + * size of the union and the size is smaller than word size. | ||
773 | + * | ||
774 | + * The major use cases of ACCESS_ONCE used to be (1) Mediating communication | ||
775 | + * between process-level code and irq/NMI handlers, all running on the same CPU, | ||
776 | + * and (2) Ensuring that the compiler does not fold, spindle, or otherwise | ||
777 | + * mutilate accesses that either do not require ordering or that interact | ||
778 | + * with an explicit memory barrier or atomic instruction that provides the | ||
779 | + * required ordering. | ||
780 | + * | ||
781 | + * If possible use READ_ONCE()/WRITE_ONCE() instead. | ||
782 | + */ | ||
783 | +#define __ACCESS_ONCE(x) ({ \ | ||
784 | + __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \ | ||
785 | + (volatile typeof(x) *)&(x); }) | ||
786 | +#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x)) | ||
787 | + | ||
788 | +/** | ||
789 | + * lockless_dereference() - safely load a pointer for later dereference | ||
790 | + * @p: The pointer to load | ||
791 | + * | ||
792 | + * Similar to rcu_dereference(), but for situations where the pointed-to | ||
793 | + * object's lifetime is managed by something other than RCU. That | ||
794 | + * "something other" might be reference counting or simple immortality. | ||
795 | */ | ||
796 | -#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x)) | ||
797 | +#define lockless_dereference(p) \ | ||
798 | +({ \ | ||
799 | + typeof(p) _________p1 = READ_ONCE(p); \ | ||
800 | + smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ | ||
801 | + (_________p1); \ | ||
802 | +}) | ||
803 | |||
804 | /* Ignore/forbid kprobes attach on very low level functions marked by this attribute: */ | ||
805 | #ifdef CONFIG_KPROBES | ||
806 | -- | ||
807 | 2.7.4 | ||
808 | |||
diff --git a/meta-renesas-extras/recipes/u-boot/u-boot_%.bbappend b/meta-renesas-extras/recipes/u-boot/u-boot_%.bbappend new file mode 100644 index 0000000..361abbf --- /dev/null +++ b/meta-renesas-extras/recipes/u-boot/u-boot_%.bbappend | |||
@@ -0,0 +1,36 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
31 | |||
32 | SRC_URI += "file://0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch" | ||
33 | |||
34 | do_deploy_prepend() { | ||
35 | cp ${B}/${UBOOT_SREC} ${S}/${UBOOT_SREC} | ||
36 | } | ||
diff --git a/meta-renesas-extras/recipes/wayland/libgbm.bbappend b/meta-renesas-extras/recipes/wayland/libgbm.bbappend new file mode 100644 index 0000000..fd11a50 --- /dev/null +++ b/meta-renesas-extras/recipes/wayland/libgbm.bbappend | |||
@@ -0,0 +1,30 @@ | |||
1 | ############################################################################ | ||
2 | ## | ||
3 | ## Copyright (C) 2017 The Qt Company Ltd. | ||
4 | ## Contact: https://www.qt.io/licensing/ | ||
5 | ## | ||
6 | ## This file is part of the Boot to Qt meta layer. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE:GPL$ | ||
9 | ## Commercial License Usage | ||
10 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
11 | ## accordance with the commercial license agreement provided with the | ||
12 | ## Software or, alternatively, in accordance with the terms contained in | ||
13 | ## a written agreement between you and The Qt Company. For licensing terms | ||
14 | ## and conditions see https://www.qt.io/terms-conditions. For further | ||
15 | ## information use the contact form at https://www.qt.io/contact-us. | ||
16 | ## | ||
17 | ## GNU General Public License Usage | ||
18 | ## Alternatively, this file may be used under the terms of the GNU | ||
19 | ## General Public License version 3 or (at your option) any later version | ||
20 | ## approved by the KDE Free Qt Foundation. The licenses are as published by | ||
21 | ## the Free Software Foundation and appearing in the file LICENSE.GPL3 | ||
22 | ## included in the packaging of this file. Please review the following | ||
23 | ## information to ensure the GNU General Public License requirements will | ||
24 | ## be met: https://www.gnu.org/licenses/gpl-3.0.html. | ||
25 | ## | ||
26 | ## $QT_END_LICENSE$ | ||
27 | ## | ||
28 | ############################################################################ | ||
29 | |||
30 | PROVIDES += "virtual/libgbm" | ||
diff --git a/scripts/manifest.xml b/scripts/manifest.xml index 0a38eb2..a4513f4 100644 --- a/scripts/manifest.xml +++ b/scripts/manifest.xml | |||
@@ -1,8 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <manifest> | 2 | <manifest> |
3 | |||
4 | <default sync-j="4" revision="dizzy"/> | ||
5 | |||
6 | <remote fetch="git://git.yoctoproject.org" name="yocto"/> | 3 | <remote fetch="git://git.yoctoproject.org" name="yocto"/> |
7 | <remote fetch="git://git.openembedded.org" name="oe"/> | 4 | <remote fetch="git://git.openembedded.org" name="oe"/> |
8 | <remote fetch="git://github.com/Freescale" name="freescale"/> | 5 | <remote fetch="git://github.com/Freescale" name="freescale"/> |
@@ -13,6 +10,8 @@ | |||
13 | <remote fetch="git://github.com/openembedded" name="oe-mirror"/> | 10 | <remote fetch="git://github.com/openembedded" name="oe-mirror"/> |
14 | <remote fetch="git://github.com/madisongh" name="madisongh"/> | 11 | <remote fetch="git://github.com/madisongh" name="madisongh"/> |
15 | <remote fetch="ssh://git@git.qt.io/boot2qt" name="playground"/> | 12 | <remote fetch="ssh://git@git.qt.io/boot2qt" name="playground"/> |
13 | <remote fetch="git://github.com/renesas-rcar" name="renesas"/> | ||
14 | <remote fetch="git://git.linaro.org/openembedded" name="linaro"/> | ||
16 | 15 | ||
17 | <project name="poky" | 16 | <project name="poky" |
18 | remote="yocto" | 17 | remote="yocto" |
@@ -35,7 +34,7 @@ | |||
35 | remote="freescale" | 34 | remote="freescale" |
36 | revision="fc804d29ee85d58e9bb66f7319e749b53e192457" | 35 | revision="fc804d29ee85d58e9bb66f7319e749b53e192457" |
37 | path="sources/meta-freescale" | 36 | path="sources/meta-freescale" |
38 | groups="notdefault,external,fsl,ti,smx6"/> | 37 | groups="notdefault,external,fsl,ti,smx6,renesas-gen3"/> |
39 | <project name="meta-ti" | 38 | <project name="meta-ti" |
40 | remote="yocto" | 39 | remote="yocto" |
41 | revision="0862a33b8d642e5fad031a78f90410d497453415" | 40 | revision="0862a33b8d642e5fad031a78f90410d497453415" |
@@ -61,17 +60,32 @@ | |||
61 | revision="fba09b70a8ac36248e5fcea611e3bb661bb089fc" | 60 | revision="fba09b70a8ac36248e5fcea611e3bb661bb089fc" |
62 | path="sources/meta-tegra" | 61 | path="sources/meta-tegra" |
63 | groups="notdefault,external,jetson"/> | 62 | groups="notdefault,external,jetson"/> |
63 | <project name="meta-renesas" | ||
64 | remote="renesas" | ||
65 | revision="95cb48ba09bc7e55fd549817e3e26723409e68d5" | ||
66 | path="sources/meta-renesas" | ||
67 | groups="notdefault,external,renesas-gen3"/> | ||
68 | <project name="meta-linaro" | ||
69 | remote="linaro" | ||
70 | revision="c44bd0ebc8ca2e6201996ef7cba8b71421d3aff7" | ||
71 | path="sources/meta-linaro" | ||
72 | groups="notdefault,external,renesas-gen3"/> | ||
64 | 73 | ||
65 | <project name="nvidia-layer" | 74 | <project name="nvidia-layer" |
66 | remote="playground" | 75 | remote="playground" |
67 | revision="7c95fabf8d71617130f71464207dd55c3079facd" | 76 | revision="1fa971efec70d999ac2a57782c12625fb70e5c76" |
68 | path="sources/nvidia-layer" | 77 | path="sources/nvidia-layer" |
69 | groups="notdefault,internal"/> | 78 | groups="notdefault,internal"/> |
70 | <project name="vibrante-t186" | 79 | <project name="vibrante-t186" |
71 | remote="playground" | 80 | remote="playground" |
72 | revision="e947e8f412b41ef673714e752a4065dc2f4fb04e" | 81 | revision="5e04f79155936ae10bbbea72e012336be6631448" |
73 | path="sources/vibrante-t186" | 82 | path="sources/vibrante-t186" |
74 | groups="notdefault,internal"/> | 83 | groups="notdefault,internal"/> |
84 | <project name="renesas-rcar-gen3" | ||
85 | remote="playground" | ||
86 | revision="41c966df95fad1d8fca5c24676c437a46e997c5f" | ||
87 | path="sources/renesas-rcar-gen3" | ||
88 | groups="notdefault,internal"/> | ||
75 | <project name="meta-smx6" | 89 | <project name="meta-smx6" |
76 | remote="playground" | 90 | remote="playground" |
77 | revision="c2f639ef4b2fd5809ab95fb330d28c2716aa290d" | 91 | revision="c2f639ef4b2fd5809ab95fb330d28c2716aa290d" |
diff --git a/scripts/setup-environment.sh b/scripts/setup-environment.sh index f29832d..85820e3 100755 --- a/scripts/setup-environment.sh +++ b/scripts/setup-environment.sh | |||
@@ -77,6 +77,9 @@ if [ ! -f ${PWD}/${BUILDDIRECTORY}/conf/bblayers.conf ]; then | |||
77 | tegra-x1|tegra-t18x) | 77 | tegra-x1|tegra-t18x) |
78 | LAYERSCONF="bblayers.conf.nvidia-tegra.sample" | 78 | LAYERSCONF="bblayers.conf.nvidia-tegra.sample" |
79 | ;; | 79 | ;; |
80 | salvator-x|h3ulcb|m3ulcb) | ||
81 | LAYERSCONF="bblayers.conf.rcar-gen3.sample" | ||
82 | ;; | ||
80 | emulator) | 83 | emulator) |
81 | LAYERSCONF="bblayers.conf.emulator.sample" | 84 | LAYERSCONF="bblayers.conf.emulator.sample" |
82 | ;; | 85 | ;; |