mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
core/linux-odroid-c1 to 3.10.107-3
This commit is contained in:
parent
8c62063e2c
commit
adbaceb60d
2 changed files with 54 additions and 3 deletions
48
core/linux-odroid-c1/ARM-fix-put_user-for-gcc-8.patch
Normal file
48
core/linux-odroid-c1/ARM-fix-put_user-for-gcc-8.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From 0ca85fc310e8c24cba10ed241a0188795e177683 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Thu, 26 Jul 2018 10:13:23 +0200
|
||||
Subject: ARM: fix put_user() for gcc-8
|
||||
|
||||
Building kernels before linux-4.7 with gcc-8 results in many build failures
|
||||
when gcc triggers a check that was meant to catch broken compilers:
|
||||
|
||||
/tmp/ccCGMQmS.s:648: Error: .err encountered
|
||||
|
||||
According to the discussion in the gcc bugzilla, a local "register
|
||||
asm()" variable is still supposed to be the correct way to force an
|
||||
inline assembly to use a particular register, but marking it 'const'
|
||||
lets the compiler do optimizations that break that, i.e the compiler is
|
||||
free to treat the variable as either 'const' or 'register' in that case.
|
||||
|
||||
Upstream commit 9f73bd8bb445 ("ARM: uaccess: remove put_user() code
|
||||
duplication") fixed this problem in linux-4.8 as part of a larger change,
|
||||
but seems a little too big to be backported to 4.4.
|
||||
|
||||
Let's take the simplest fix and change only the one broken line in the
|
||||
same way as newer kernels.
|
||||
|
||||
Suggested-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||||
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
|
||||
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86673
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
arch/arm/include/asm/uaccess.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
|
||||
index 35c9db857ebe..cd8b589111ba 100644
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -251,7 +251,7 @@ extern int __put_user_8(void *, unsigned long long);
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
const typeof(*(p)) __user *__tmp_p = (p); \
|
||||
- register const typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
+ register typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
|
|
@ -4,12 +4,12 @@
|
|||
buildarch=4
|
||||
|
||||
pkgbase=linux-odroid-c1
|
||||
_commit=daf15c96939bae35227c78a0f6d78fce4cafe885
|
||||
_commit=bb2990d78682431ea704e389a0a24a95a57a1d0c
|
||||
_srcname=linux-${_commit}
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="ODROID-C1"
|
||||
pkgver=3.10.107
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
arch=('armv7h')
|
||||
url="https://github.com/hardkernel/linux"
|
||||
license=('GPL2')
|
||||
|
@ -18,11 +18,13 @@ options=('!strip')
|
|||
source=("https://github.com/hardkernel/linux/archive/${_commit}.tar.gz"
|
||||
"git+https://github.com/mdrjr/c1_bootini.git"
|
||||
'0001-disable-pie.patch'
|
||||
'ARM-fix-put_user-for-gcc-8.patch'
|
||||
'config'
|
||||
'amlogic.service')
|
||||
md5sums=('fbdd73c858eae0d4c8b314077a0a16a2'
|
||||
md5sums=('d82b336d78a24bb8e1ade4ed6971d22c'
|
||||
'SKIP'
|
||||
'a2329e6dcdc856559fbd8b0847b3b55d'
|
||||
'964321c95e6efde0f702414d661aaf63'
|
||||
'c27274182cbe6e22dcf5b12ad84f4585'
|
||||
'b8956789318f49cec5b8bb0b41654a9b')
|
||||
|
||||
|
@ -38,6 +40,7 @@ prepare() {
|
|||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
|
||||
git apply ../0001-disable-pie.patch
|
||||
git apply ../ARM-fix-put_user-for-gcc-8.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
Loading…
Reference in a new issue