mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2025-07-17 14:29:46 +02:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
a61116a8dd | |||
88b2d34302 | |||
d1593cf467 | |||
39e6a2e6fa | |||
28aedd32a1 | |||
6e3cc4b886 | |||
be22a388db | |||
a158405aa2 | |||
ad69a52cca | |||
bb1abc02f8 | |||
ee2f6a26c1 |
@ -31,7 +31,13 @@ If you want to switch back to sunxi versions for some reasons (no device tree av
|
||||
|
||||
If you already have built the mainline versions it might be necessary to reset the build directories with:
|
||||
|
||||
bitbake -c clean linux u-boot
|
||||
bitbake -c clean linux
|
||||
bitbake -c clean u-boot
|
||||
|
||||
Also, older kernel versions such as this don't build successfully with any gcc version 5.0 or newer. Since gcc-5.2 is the current
|
||||
default compiler on master, if you wish to build this kernel with master you'll need to add the following to your conf/local.conf:
|
||||
|
||||
GCCVERSION = "4.9%"
|
||||
|
||||
Performance
|
||||
===========
|
||||
|
@ -27,18 +27,22 @@ IMAGE_ROOTFS_ALIGNMENT = "2048"
|
||||
|
||||
# Use an uncompressed ext3 by default as rootfs
|
||||
SDIMG_ROOTFS_TYPE ?= "ext4"
|
||||
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||
|
||||
IMAGE_DEPENDS_sunxi-sdimg += " \
|
||||
parted-native \
|
||||
mtools-native \
|
||||
dosfstools-native \
|
||||
virtual/kernel:do_deploy \
|
||||
virtual/bootloader:do_deploy \
|
||||
virtual/kernel \
|
||||
virtual/bootloader \
|
||||
"
|
||||
|
||||
rootfs[depends] += "virtual/kernel:do_deploy"
|
||||
|
||||
# SD card image name
|
||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||
|
||||
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
|
||||
|
||||
IMAGE_CMD_sunxi-sdimg () {
|
||||
|
||||
@ -70,7 +74,7 @@ IMAGE_CMD_sunxi-sdimg () {
|
||||
if test -n "${KERNEL_DEVICETREE}"; then
|
||||
for DTS_FILE in ${KERNEL_DEVICETREE}; do
|
||||
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/"${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
||||
if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
||||
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
||||
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
|
||||
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
|
||||
@ -91,8 +95,8 @@ IMAGE_CMD_sunxi-sdimg () {
|
||||
|
||||
|
||||
# Add stamp file
|
||||
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
|
||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
|
||||
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
|
||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
|
||||
|
||||
# Burn Partitions
|
||||
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
||||
|
@ -1,5 +0,0 @@
|
||||
require conf/machine/include/sunxi.inc
|
||||
require conf/machine/include/sunxi-mali.inc
|
||||
require conf/machine/include/tune-cortexa7.inc
|
||||
|
||||
SOC_FAMILY = "sun8i"
|
@ -1,13 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: nanopi-neo
|
||||
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo.dtb"
|
||||
UBOOT_MACHINE = "nanopi_neo_defconfig"
|
||||
|
||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
@ -5,5 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun5i.inc
|
||||
|
||||
UBOOT_MACHINE = "OLIMEX-A13-SOM_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a13/olimex_a13_som.fex"
|
||||
KERNEL_DEVICETREE = "sun5i-a13-olinuxino-micro.dtb"
|
||||
UBOOT_MACHINE = "A13-OLinuXinoM_defconfig"
|
||||
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxinom.fex"
|
||||
|
@ -1,13 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: orange-pi-one
|
||||
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
|
||||
UBOOT_MACHINE = "orangepi_one_defconfig"
|
||||
|
||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
@ -4,9 +4,6 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
|
||||
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"
|
||||
|
@ -21,7 +21,6 @@ UBOOT_MACHINE_meleg = "Mele_A1000G_config"
|
||||
SRC_URI = " \
|
||||
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
|
||||
file://0002-gcc5-fixes.patch \
|
||||
file://0003-gcc6-fixes.patch \
|
||||
"
|
||||
|
||||
PE = "1"
|
||||
|
@ -19,23 +19,20 @@ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://Licenses/x11.txt;md5=b46f176c847b8742db02126fb8af92e2 \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
|
||||
DEFAULT_PREFERENCE_sun4i="1"
|
||||
DEFAULT_PREFERENCE_sun5i="1"
|
||||
DEFAULT_PREFERENCE_sun7i="1"
|
||||
DEFAULT_PREFERENCE_sun8i="1"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
|
||||
file://boot.cmd"
|
||||
|
||||
SRCREV = "29e0cfb4f77f7aa369136302cee14a91e22dca71"
|
||||
SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa"
|
||||
|
||||
PV = "v2016.11+git${SRCPV}"
|
||||
PV = "v2016.03${SRCPV}"
|
||||
|
||||
PE = "2"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
PE = "1"
|
||||
|
||||
SPL_BINARY="u-boot-sunxi-with-spl.bin"
|
||||
|
||||
@ -43,5 +40,5 @@ UBOOT_ENV_SUFFIX = "scr"
|
||||
UBOOT_ENV = "boot"
|
||||
|
||||
do_compile_append() {
|
||||
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||
${S}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||
}
|
@ -3,23 +3,13 @@ DESCRIPTION = "libGLES for the A10/A13 Allwinner processor with Mali 400 (X11)"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
|
||||
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
|
||||
# These libraries shouldn't get installed in world builds unless something
|
||||
# explicitly depends upon them.
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
PROVIDES = "virtual/libgles1 virtual/libgles2 virtual/egl"
|
||||
|
||||
# There's only hardfp version available
|
||||
python __anonymous() {
|
||||
tunes = d.getVar("TUNE_FEATURES", True)
|
||||
if not tunes:
|
||||
return
|
||||
if "callconvention-hard" not in tunes:
|
||||
pkgn = d.getVar("PN", True)
|
||||
pkgv = d.getVar("PV", True)
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||
|
||||
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
|
||||
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
|
||||
@ -89,14 +79,8 @@ do_install() {
|
||||
|
||||
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||
RDEPENDS_${PN}-test = "${PN}"
|
||||
|
||||
FILES_${PN} += "${libdir}/lib*.so"
|
||||
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
|
||||
FILES_${PN}-test = "${bindir}/sunximali-test"
|
||||
|
||||
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
|
||||
INSANE_SKIP_${PN} = "dev-so ldflags textrel"
|
||||
INSANE_SKIP_${PN}-test = "dev-so ldflags textrel"
|
||||
|
@ -0,0 +1,79 @@
|
||||
From c525c0b5d8eada982c99442454fcf7b8364e10b3 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Boor <florian@kernelconcepts.de>
|
||||
Date: Fri, 1 Apr 2011 23:30:21 +0200
|
||||
Subject: [PATCH] Support reading coordinates from multitouch devices.
|
||||
|
||||
Signed-off-by: Florian Boor <florian@kernelconcepts.de>
|
||||
Signed-off-by: Christopher Larson <kergoth@gmail.com>
|
||||
---
|
||||
plugins/input-raw.c | 33 +++++++++++++++++++++++----------
|
||||
1 file changed, 23 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/plugins/input-raw.c b/plugins/input-raw.c
|
||||
index 4396eab..1e48505 100644
|
||||
--- a/plugins/input-raw.c
|
||||
+++ b/plugins/input-raw.c
|
||||
@@ -40,6 +40,11 @@
|
||||
# define KEY_CNT (KEY_MAX+1)
|
||||
#endif
|
||||
|
||||
+#ifndef ABS_MT_POSITION_X
|
||||
+# define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
|
||||
+# define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
|
||||
+#endif
|
||||
+
|
||||
#include "tslib-private.h"
|
||||
|
||||
#define GRAB_EVENTS_WANTED 1
|
||||
@@ -160,16 +165,17 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||
}
|
||||
break;
|
||||
case EV_SYN:
|
||||
- /* Fill out a new complete event */
|
||||
- if (pen_up) {
|
||||
- samp->x = 0;
|
||||
- samp->y = 0;
|
||||
- samp->pressure = 0;
|
||||
- pen_up = 0;
|
||||
- } else {
|
||||
- samp->x = i->current_x;
|
||||
- samp->y = i->current_y;
|
||||
- samp->pressure = i->current_p;
|
||||
+ if (ev.code == SYN_REPORT) {
|
||||
+ /* Fill out a new complete event */
|
||||
+ if (pen_up) {
|
||||
+ samp->x = 0;
|
||||
+ samp->y = 0;
|
||||
+ samp->pressure = 0;
|
||||
+ pen_up = 0;
|
||||
+ } else {
|
||||
+ samp->x = i->current_x;
|
||||
+ samp->y = i->current_y;
|
||||
+ samp->pressure = i->current_p;
|
||||
}
|
||||
samp->tv = ev.time;
|
||||
#ifdef DEBUG
|
||||
@@ -179,6 +185,7 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||
#endif /* DEBUG */
|
||||
samp++;
|
||||
total++;
|
||||
+ }
|
||||
break;
|
||||
case EV_ABS:
|
||||
switch (ev.code) {
|
||||
@@ -188,6 +195,12 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||
case ABS_Y:
|
||||
i->current_y = ev.value;
|
||||
break;
|
||||
+ case ABS_MT_POSITION_X:
|
||||
+ i->current_x = ev.value;
|
||||
+ break;
|
||||
+ case ABS_MT_POSITION_Y:
|
||||
+ i->current_y = ev.value;
|
||||
+ break;
|
||||
case ABS_PRESSURE:
|
||||
i->current_p = ev.value;
|
||||
break;
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -1,276 +0,0 @@
|
||||
From a66aaac889f09425ff0f3ddb27aca46ae02d6eea Mon Sep 17 00:00:00 2001
|
||||
From: Joe Perches <joe@perches.com>
|
||||
Date: Thu, 25 Jun 2015 15:01:02 -0700
|
||||
Subject: [PATCH] compiler-gcc: integrate the various compiler-gcc[345].h files
|
||||
|
||||
As gcc major version numbers are going to advance rather rapidly in the
|
||||
future, there's no real value in separate files for each compiler
|
||||
version.
|
||||
|
||||
Deduplicate some of the macros #defined in each file too.
|
||||
|
||||
Neaten comments using normal kernel commenting style.
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Joe Perches <joe@perches.com>
|
||||
Cc: Andi Kleen <andi@firstfloor.org>
|
||||
Cc: Michal Marek <mmarek@suse.cz>
|
||||
Cc: Segher Boessenkool <segher@kernel.crashing.org>
|
||||
Cc: Sasha Levin <levinsasha928@gmail.com>
|
||||
Cc: Anton Blanchard <anton@samba.org>
|
||||
Cc: Alan Modra <amodra@gmail.com>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Signed-off-by: Jonathan Liu <net147@gmail.com>
|
||||
---
|
||||
include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++--
|
||||
include/linux/compiler-gcc3.h | 23 --------
|
||||
include/linux/compiler-gcc4.h | 74 --------------------------
|
||||
3 files changed, 116 insertions(+), 101 deletions(-)
|
||||
delete mode 100644 include/linux/compiler-gcc3.h
|
||||
delete mode 100644 include/linux/compiler-gcc4.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
|
||||
index 7970e31..727add9 100644
|
||||
--- a/include/linux/compiler-gcc.h
|
||||
+++ b/include/linux/compiler-gcc.h
|
||||
@@ -97,10 +97,122 @@
|
||||
#define __maybe_unused __attribute__((unused))
|
||||
#define __always_unused __attribute__((unused))
|
||||
|
||||
-#define __gcc_header(x) #x
|
||||
-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
|
||||
-#define gcc_header(x) _gcc_header(x)
|
||||
-#include gcc_header(__GNUC__)
|
||||
+/* gcc version specific checks */
|
||||
+
|
||||
+#if GCC_VERSION < 30200
|
||||
+# error Sorry, your compiler is too old - please upgrade it.
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION < 30300
|
||||
+# define __used __attribute__((__unused__))
|
||||
+#else
|
||||
+# define __used __attribute__((__used__))
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_GCOV_KERNEL
|
||||
+# if GCC_VERSION < 30400
|
||||
+# error "GCOV profiling support for gcc versions below 3.4 not included"
|
||||
+# endif /* __GNUC_MINOR__ */
|
||||
+#endif /* CONFIG_GCOV_KERNEL */
|
||||
+
|
||||
+#if GCC_VERSION >= 30400
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION >= 40000
|
||||
+
|
||||
+/* GCC 4.1.[01] miscompiles __weak */
|
||||
+#ifdef __KERNEL__
|
||||
+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
|
||||
+# error Your version of gcc miscompiles the __weak directive
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __compiler_offsetof(a, b) \
|
||||
+ __builtin_offsetof(a, b)
|
||||
+
|
||||
+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
|
||||
+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION >= 40300
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ * to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ * are unnecessary now for any paths leading to the usual suspects
|
||||
+ * like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ * older compilers]
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ * in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ * Maketime probing would be overkill here.
|
||||
+ *
|
||||
+ * gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ * a special section, but I don't see any sense in this right now in
|
||||
+ * the kernel context
|
||||
+ */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+#endif /* GCC_VERSION >= 40300 */
|
||||
+
|
||||
+#if GCC_VERSION >= 40500
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+#endif /* GCC_VERSION >= 40500 */
|
||||
+
|
||||
+#if GCC_VERSION >= 40600
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#if GCC_VERSION >= 40400
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#endif
|
||||
+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
+
|
||||
+#if GCC_VERSION >= 50000
|
||||
+#define KASAN_ABI_VERSION 4
|
||||
+#elif GCC_VERSION >= 40902
|
||||
+#define KASAN_ABI_VERSION 3
|
||||
+#endif
|
||||
+
|
||||
+#endif /* gcc version >= 40000 specific checks */
|
||||
|
||||
#if !defined(__noclone)
|
||||
#define __noclone /* not needed */
|
||||
diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h
|
||||
deleted file mode 100644
|
||||
index 37d4124..0000000
|
||||
--- a/include/linux/compiler-gcc3.h
|
||||
+++ /dev/null
|
||||
@@ -1,23 +0,0 @@
|
||||
-#ifndef __LINUX_COMPILER_H
|
||||
-#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
|
||||
-#endif
|
||||
-
|
||||
-#if __GNUC_MINOR__ < 2
|
||||
-# error Sorry, your compiler is too old - please upgrade it.
|
||||
-#endif
|
||||
-
|
||||
-#if __GNUC_MINOR__ >= 3
|
||||
-# define __used __attribute__((__used__))
|
||||
-#else
|
||||
-# define __used __attribute__((__unused__))
|
||||
-#endif
|
||||
-
|
||||
-#if __GNUC_MINOR__ >= 4
|
||||
-#define __must_check __attribute__((warn_unused_result))
|
||||
-#endif
|
||||
-
|
||||
-#ifdef CONFIG_GCOV_KERNEL
|
||||
-# if __GNUC_MINOR__ < 4
|
||||
-# error "GCOV profiling support for gcc versions below 3.4 not included"
|
||||
-# endif /* __GNUC_MINOR__ */
|
||||
-#endif /* CONFIG_GCOV_KERNEL */
|
||||
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
|
||||
deleted file mode 100644
|
||||
index 91b1aa8..0000000
|
||||
--- a/include/linux/compiler-gcc4.h
|
||||
+++ /dev/null
|
||||
@@ -1,74 +0,0 @@
|
||||
-#ifndef __LINUX_COMPILER_H
|
||||
-#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
|
||||
-#endif
|
||||
-
|
||||
-/* GCC 4.1.[01] miscompiles __weak */
|
||||
-#ifdef __KERNEL__
|
||||
-# if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1
|
||||
-# error Your version of gcc miscompiles the __weak directive
|
||||
-# endif
|
||||
-#endif
|
||||
-
|
||||
-#define __used __attribute__((__used__))
|
||||
-#define __must_check __attribute__((warn_unused_result))
|
||||
-#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
|
||||
-
|
||||
-#if __GNUC_MINOR__ >= 3
|
||||
-/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
- to them will be unlikely. This means a lot of manual unlikely()s
|
||||
- are unnecessary now for any paths leading to the usual suspects
|
||||
- like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
- older compilers]
|
||||
-
|
||||
- Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
- in the preprocessor, but we can live with this because they're unreleased.
|
||||
- Maketime probing would be overkill here.
|
||||
-
|
||||
- gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
- a special section, but I don't see any sense in this right now in
|
||||
- the kernel context */
|
||||
-#define __cold __attribute__((__cold__))
|
||||
-
|
||||
-#define __linktime_error(message) __attribute__((__error__(message)))
|
||||
-
|
||||
-/*
|
||||
- * GCC 'asm goto' miscompiles certain code sequences:
|
||||
- *
|
||||
- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
- *
|
||||
- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
- * Fixed in GCC 4.8.2 and later versions.
|
||||
- *
|
||||
- * (asm goto is automatically volatile - the naming reflects this.)
|
||||
- */
|
||||
-#if GCC_VERSION <= 40801
|
||||
-# define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
-#else
|
||||
-# define asm_volatile_goto(x...) do { asm goto(x); } while (0)
|
||||
-#endif
|
||||
-
|
||||
-#if __GNUC_MINOR__ >= 5
|
||||
-/*
|
||||
- * Mark a position in code as unreachable. This can be used to
|
||||
- * suppress control flow warnings after asm blocks that transfer
|
||||
- * control elsewhere.
|
||||
- *
|
||||
- * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
- * this in the preprocessor, but we can live with this because they're
|
||||
- * unreleased. Really, we need to have autoconf for the kernel.
|
||||
- */
|
||||
-#define unreachable() __builtin_unreachable()
|
||||
-
|
||||
-/* Mark a function definition as prohibited from being cloned. */
|
||||
-#define __noclone __attribute__((__noclone__))
|
||||
-
|
||||
-#endif
|
||||
-#endif
|
||||
-
|
||||
-#if __GNUC_MINOR__ > 0
|
||||
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
||||
-#endif
|
||||
-#if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__)
|
||||
-#define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
-#define __compiletime_error(message) __attribute__((error(message)))
|
||||
-#endif
|
||||
--
|
||||
2.10.0
|
||||
|
@ -1,7 +1,8 @@
|
||||
diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6.h
|
||||
--- git-ORIG/include/linux/compiler-gcc6.h 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ git/include/linux/compiler-gcc6.h 2017-04-09 19:50:16.920945874 -0400
|
||||
@@ -0,0 +1,65 @@
|
||||
Index: git/include/linux/compiler-gcc5.h
|
||||
===================================================================
|
||||
--- git/include/linux/compiler-gcc5.h 2015-09-19 20:11:27.999423338 +0200
|
||||
+++ git/include/linux/compiler-gcc5.h 2015-09-23 10:26:05.000000000 +0200
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
@ -57,6 +58,7 @@ diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ * Fixed in GCC 4.8.2 and later versions.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
@ -12,7 +12,7 @@ SRCREV_pn-${PN} = "d47d367036be38c5180632ec8a3ad169a4593a88"
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
|
||||
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
|
||||
file://0001-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch \
|
||||
file://0001-compiler-gcc5.patch \
|
||||
file://0002-use-static-inline-in-ARM-ftrace.patch \
|
||||
file://0001-gcc5-fixes.patch \
|
||||
file://defconfig \
|
||||
|
@ -2,7 +2,7 @@ SECTION = "kernel"
|
||||
DESCRIPTION = "Mainline Linux kernel"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
|
||||
inherit kernel
|
||||
|
||||
@ -18,9 +18,9 @@ DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
||||
|
||||
# 4.9.0
|
||||
PV = "4.9.0+git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "69973b830859bc6529a7a0468ba0d80ee5117826"
|
||||
# 4.5.0
|
||||
PV = "4.4+4.5.0.git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "b562e44f507e863c6792946e4e1b1449fbbac85d"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
|
||||
file://defconfig \
|
||||
|
@ -1,14 +1,16 @@
|
||||
DESCRIPTION = "Tools to help hacking Allwinner A10 and A20"
|
||||
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=97bd67b5d0309e452b637f76e1c9a23c"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
PR = "r0"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
PKGV = "1.0+git${GITPKGV}"
|
||||
PR = "r3"
|
||||
SRCREV = "568c7a0e81fc5d52189710c6d832677aa8770b16"
|
||||
|
||||
DEPENDS += "libusb"
|
||||
|
||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-tools;protocol=git"
|
||||
SRCREV = "9a3d62aa0c820b3dd42ba3409b2043f4143683cd"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@ -21,12 +23,12 @@ CFLAGS_class-native = "-std=c99 -D_POSIX_C_SOURCE=200112L -I./include"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-bootinfo ${D}/${bindir}
|
||||
install -m 755 ${S}/bootinfo ${D}/${bindir}
|
||||
install -m 755 ${S}/bin2fex ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-fel ${D}/${bindir}
|
||||
install -m 755 ${S}/fel ${D}/${bindir}
|
||||
install -m 755 ${S}/fel-gpio ${D}/${bindir}
|
||||
install -m 755 ${S}/fex2bin ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-fexc ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-nand-part ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-pio ${D}/${bindir}
|
||||
install -m 755 ${S}/fexc ${D}/${bindir}
|
||||
install -m 755 ${S}/nand-part ${D}/${bindir}
|
||||
install -m 755 ${S}/pio ${D}/${bindir}
|
||||
}
|
||||
|
Reference in New Issue
Block a user