mirror of https://github.com/OpenIPC/firmware.git
[Linux] adjust patches for updated vendor patcher
parent
629dd2ef22
commit
3b20e5eed4
|
@ -27,4 +27,4 @@ index 64f9af3..dd49323 100644
|
|||
+ hi_mci_sys_undo_reset(host);
|
||||
+
|
||||
/* clear MMC host intr */
|
||||
himci_writel(ALL_INT_CLR, host->base + MCI_RINTSTS);
|
||||
himci_writel(ALL_INT_CLR, host->base + MCI_RINTSTS);
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
{
|
||||
unsigned long phy_id;
|
||||
unsigned short id1, id2;
|
||||
@@ -860,6 +865,28 @@
|
||||
@@ -860,6 +865,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
@@ -161,7 +161,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register typeof(x) __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,8 +165,8 @@
|
||||
@@ -220,8 +220,8 @@
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
const typeof(*(p)) __user *__tmp_p = (p); \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
@@ -161,7 +161,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register typeof(x) __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,8 +165,8 @@
|
||||
@@ -220,8 +220,8 @@
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
const typeof(*(p)) __user *__tmp_p = (p); \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
@@ -161,7 +161,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register typeof(x) __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,8 +165,8 @@
|
||||
@@ -220,8 +220,8 @@
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
const typeof(*(p)) __user *__tmp_p = (p); \
|
||||
|
|
|
@ -11,6 +11,19 @@
|
|||
|
||||
jz = &jz_gpio_chips[g->port];
|
||||
if (GPIO_AS_FUNC(g->func)) {
|
||||
--- a/arch/mips/xburst/soc-t20/include/mach/platform.h
|
||||
+++ b/arch/mips/xburst/soc-t20/include/mach/platform.h
|
||||
@@ -21,7 +21,9 @@
|
||||
#define MSC0_PORTB_4BIT \
|
||||
{ .name = "msc0-pb-4bit", .port = GPIO_PORT_B, .func = GPIO_FUNC_0, .pins = (0x3<<4|0xf<<0), }
|
||||
#define MSC1_PORTC \
|
||||
- { .name = "msc1-pC", .port = GPIO_PORT_C, .func = GPIO_FUNC_0, .pins = (0x3f<<2), }
|
||||
+ { .name = "msc1-pC", .port = GPIO_PORT_C, .func = GPIO_FUNC_0, .pins = (0x3f<<2), }, \
|
||||
+ { .name = "wyze-mmc-enable", .port = GPIO_PORT_B, .func = GPIO_OUTPUT0, .pins = 0x620<<10, }, \
|
||||
+ { .name = "wyze-mmc-detect", .port = GPIO_PORT_B, .func = GPIO_OUTPUT1, .pins = 0x20<<10, }
|
||||
|
||||
/*******************************************************************************************************************/
|
||||
/*****************************************************************************************************************/
|
||||
--- a/arch/mips/xburst/soc-t31/include/mach/platform.h
|
||||
+++ b/arch/mips/xburst/soc-t31/include/mach/platform.h
|
||||
@@ -23,7 +23,9 @@
|
||||
|
@ -24,16 +37,3 @@
|
|||
#define MSC1_PORTC \
|
||||
{ .name = "msc1-pC", .port = GPIO_PORT_C, .func = GPIO_FUNC_0, .pins = (0x3f<<2), }
|
||||
#define I2S_PORTC \
|
||||
--- a/arch/mips/xburst/soc-t20/include/mach/platform.h
|
||||
+++ b/arch/mips/xburst/soc-t20/include/mach/platform.h
|
||||
@@ -21,8 +21,9 @@
|
||||
#define MSC0_PORTB_4BIT \
|
||||
{ .name = "msc0-pb-4bit", .port = GPIO_PORT_B, .func = GPIO_FUNC_0, .pins = (0x3<<4|0xf<<0), }
|
||||
#define MSC1_PORTC \
|
||||
- { .name = "msc1-pC", .port = GPIO_PORT_C, .func = GPIO_FUNC_0, .pins = (0x3f<<2), }
|
||||
-
|
||||
+ { .name = "msc1-pC", .port = GPIO_PORT_C, .func = GPIO_FUNC_0, .pins = (0x3f<<2), }, \
|
||||
+ { .name = "wyze-mmc-enable", .port = GPIO_PORT_B, .func = GPIO_OUTPUT0, .pins = 0x620<<10, }, \
|
||||
+ { .name = "wyze-mmc-detect", .port = GPIO_PORT_B, .func = GPIO_OUTPUT1, .pins = 0x20<<10, }
|
||||
/*******************************************************************************************************************/
|
||||
/*****************************************************************************************************************/
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
@@ -161,7 +161,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register typeof(x) __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,8 +165,8 @@
|
||||
@@ -220,8 +220,8 @@
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
const typeof(*(p)) __user *__tmp_p = (p); \
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
This fixes kernel compilation errors on GCC >= 8.x on old 3.x kernels
|
||||
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
|
||||
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
#define get_user(x,p) \
|
||||
({ \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register int __e asm("r0"); \
|
||||
switch (sizeof(*(__p))) { \
|
||||
@@ -145,8 +145,8 @@
|
||||
|
||||
#define put_user(x,p) \
|
||||
({ \
|
||||
- register const typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register int __e asm("r0"); \
|
||||
switch (sizeof(*(__p))) { \
|
||||
case 1: \
|
|
@ -1,22 +0,0 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,8 +165,8 @@
|
||||
({ \
|
||||
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 const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \
|
||||
+ register typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = __tmp_p; \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
switch (sizeof(*(__p))) { \
|
|
@ -1,54 +0,0 @@
|
|||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||
index 3b41bfc..5e62bc0 100644
|
||||
--- a/scripts/dtc/dtc-lexer.l
|
||||
+++ b/scripts/dtc/dtc-lexer.l
|
||||
@@ -39,7 +39,7 @@ LINECOMMENT "//".*\n
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
#define YY_USER_ACTION \
|
||||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
index 2d30f41..e073c9b 100644
|
||||
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
@@ -637,7 +637,9 @@ char *yytext;
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+#if (__GNUC__ << 16) + __GNUC_MINOR__ < 0x1000000
|
||||
+extern YYLTYPE yylloc ;
|
||||
+#endif
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
#define YY_USER_ACTION \
|
||||
diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
index c8769d5..f7fbb2e 100644
|
||||
--- a/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
@@ -70,7 +70,7 @@
|
||||
#include "dtc.h"
|
||||
#include "srcpos.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
extern int yylex(void);
|
||||
extern void print_error(char const *fmt, ...);
|
||||
diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y
|
||||
index f412460..e00a3c4 100644
|
||||
--- a/scripts/dtc/dtc-parser.y
|
||||
+++ b/scripts/dtc/dtc-parser.y
|
||||
@@ -24,7 +24,7 @@
|
||||
#include "dtc.h"
|
||||
#include "srcpos.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
extern int yylex(void);
|
||||
extern void print_error(char const *fmt, ...);
|
|
@ -1,149 +0,0 @@
|
|||
From patchwork Thu Sep 17 06:19:48 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Ard Biesheuvel <ardb@kernel.org>
|
||||
X-Patchwork-Id: 11781619
|
||||
Return-Path:
|
||||
<SRS0=6281=C2=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
|
||||
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
|
||||
[172.30.200.123])
|
||||
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7EA96CA
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Thu, 17 Sep 2020 06:20:24 +0000 (UTC)
|
||||
Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPS id 758BF208E4
|
||||
for <patchwork-linux-arm@patchwork.kernel.org>;
|
||||
Thu, 17 Sep 2020 06:20:24 +0000 (UTC)
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dkim=pass (2048-bit key) header.d=lists.infradead.org
|
||||
header.i=@lists.infradead.org header.b="asIIUop8";
|
||||
dkim=fail reason="signature verification failed" (1024-bit key)
|
||||
header.d=kernel.org header.i=@kernel.org header.b="Dfh0zH+Q"
|
||||
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 758BF208E4
|
||||
Authentication-Results: mail.kernel.org;
|
||||
dmarc=fail (p=none dis=none) header.from=kernel.org
|
||||
Authentication-Results: mail.kernel.org;
|
||||
spf=none
|
||||
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
|
||||
d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding:
|
||||
Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive:
|
||||
List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
|
||||
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
|
||||
:Resent-Message-ID:In-Reply-To:References:List-Owner;
|
||||
bh=Lo1QvkycLV/7qa6tRuaKU+043GrCtYRFDvZNpiyIHFs=; b=asIIUop8zx9VLyP8RxH3FSnpIB
|
||||
goa+Fn9zbDfPdm1XBArYJdBUQkptX0eK5ggte4+RtYnD6jtYPnDQ1atbG+LXFXdCGBPPGD7Ec0NCz
|
||||
2rf7GocaLxeNTnfrTrLiyeLitFTbrFsfog6LNatG/wbNnekF7ykhcZ7bzwvfMVNbAYwx0vMjCBUDv
|
||||
yaOUflwQYiTda6AkoJnj1IISdIYLgkCEIzyDVq3rIFW3BA+m5EhmhXKI2gcksipSVuIsbux+px9ZV
|
||||
v42wJcIXgnVA+qJct1MFfxvPN1vQBL9aLZclNOcXNmKZD8Q09LA4yNxvFkRoNLlBOPKYSN6XHmtJn
|
||||
mAF9oPSw==;
|
||||
Received: from localhost ([::1] helo=merlin.infradead.org)
|
||||
by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1kInGx-0003LG-UJ; Thu, 17 Sep 2020 06:20:00 +0000
|
||||
Received: from mail.kernel.org ([198.145.29.99])
|
||||
by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
|
||||
id 1kInGv-0003Kq-Ma
|
||||
for linux-arm-kernel@lists.infradead.org; Thu, 17 Sep 2020 06:19:58 +0000
|
||||
Received: from e123331-lin.nice.arm.com (unknown [91.140.120.15])
|
||||
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
|
||||
(No client certificate requested)
|
||||
by mail.kernel.org (Postfix) with ESMTPSA id 9D4CD20707;
|
||||
Thu, 17 Sep 2020 06:19:54 +0000 (UTC)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
|
||||
s=default; t=1600323596;
|
||||
bh=ziD1S262d4AhvP0HlkLo4WCfu8gkBuZJo+18GfJki9c=;
|
||||
h=From:To:Cc:Subject:Date:From;
|
||||
b=Dfh0zH+QgFdYO0gLoboRtZhySJAl+bjUHgIo8kCQVGjvzCWF7i2BSPEKZiFbSIEGm
|
||||
fFSTDES62ApoJHYwFnIAtXQMpjV7DYbIoeuFScbKPT4lMxCYpo/X7ffl/+OEWMkRAK
|
||||
4Unu4CMR1SVL+8a4DZhSoF74nrvGspRqV5Nh1iTI=
|
||||
From: Ard Biesheuvel <ardb@kernel.org>
|
||||
To: linux-arm-kernel@lists.infradead.org
|
||||
Subject: [PATCH] ARM: vfp: force non-conditional encoding for external Thumb2
|
||||
tail call
|
||||
Date: Thu, 17 Sep 2020 09:19:48 +0300
|
||||
Message-Id: <20200917061948.12403-1-ardb@kernel.org>
|
||||
X-Mailer: git-send-email 2.17.1
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20200917_021957_811961_126E0A54
|
||||
X-CRM114-Status: GOOD ( 13.51 )
|
||||
X-Spam-Score: -8.2 (--------)
|
||||
X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary:
|
||||
Content analysis details: (-8.2 points)
|
||||
pts rule name description
|
||||
---- ----------------------
|
||||
--------------------------------------------------
|
||||
-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/,
|
||||
high trust [198.145.29.99 listed in list.dnswl.org]
|
||||
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
|
||||
-0.0 SPF_PASS SPF: sender matches SPF record
|
||||
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
|
||||
not necessarily
|
||||
valid
|
||||
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
|
||||
envelope-from domain
|
||||
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
|
||||
author's domain
|
||||
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
|
||||
-3.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender
|
||||
X-BeenThere: linux-arm-kernel@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.29
|
||||
Precedence: list
|
||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
||||
List-Unsubscribe:
|
||||
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
|
||||
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
|
||||
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe:
|
||||
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
|
||||
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
|
||||
Cc: ndesaulniers@google.com, linux@armlinux.org.uk, stable@vger.kernel.org,
|
||||
Ard Biesheuvel <ardb@kernel.org>
|
||||
MIME-Version: 1.0
|
||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
|
||||
|
||||
Nick reports that the following error is produced in some cases when
|
||||
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
|
||||
|
||||
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
|
||||
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
|
||||
symbol `vfp_kmode_exception' defined in .text.unlikely section in
|
||||
arch/arm/vfp/vfpmodule.o
|
||||
|
||||
$ arm-linux-gnueabihf-ld --version
|
||||
GNU ld (GNU Binutils for Debian) 2.34
|
||||
|
||||
Generally, the linker should be able to fix up out of range branches by
|
||||
emitting veneers, but apparently, it fails to do so in this particular
|
||||
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
|
||||
is not defined in the same object file.
|
||||
|
||||
So let's force the use of a non-conditional encoding of the B instruction,
|
||||
which has more space for an immediate offset.
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Reported-by: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
---
|
||||
arch/arm/vfp/vfphw.S | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
|
||||
index 4fcff9f59947..f1468702fbc9 100644
|
||||
--- a/arch/arm/vfp/vfphw.S
|
||||
+++ b/arch/arm/vfp/vfphw.S
|
||||
@@ -82,6 +82,7 @@ ENTRY(vfp_support_entry)
|
||||
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
|
||||
and r3, r3, #MODE_MASK @ are supported in kernel mode
|
||||
teq r3, #USR_MODE
|
||||
+THUMB( it ne )
|
||||
bne vfp_kmode_exception @ Returns through lr
|
||||
|
||||
VFPFMRX r1, FPEXC @ Is the VFP enabled?
|
|
@ -1,26 +0,0 @@
|
|||
This fixes kernel compilation errors on GCC >= 8.x on old 3.x kernels
|
||||
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
|
||||
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
#define get_user(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -158,8 +158,8 @@
|
||||
#define put_user(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
switch (sizeof(*(__p))) { \
|
|
@ -1,54 +0,0 @@
|
|||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||
index 3b41bfc..5e62bc0 100644
|
||||
--- a/scripts/dtc/dtc-lexer.l
|
||||
+++ b/scripts/dtc/dtc-lexer.l
|
||||
@@ -39,7 +39,7 @@ LINECOMMENT "//".*\n
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
#define YY_USER_ACTION \
|
||||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
index 2d30f41..e073c9b 100644
|
||||
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
@@ -637,7 +637,9 @@ char *yytext;
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+#if (__GNUC__ << 16) + __GNUC_MINOR__ < 0x1000000
|
||||
+extern YYLTYPE yylloc ;
|
||||
+#endif
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
#define YY_USER_ACTION \
|
||||
diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
index c8769d5..f7fbb2e 100644
|
||||
--- a/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
@@ -70,7 +70,7 @@
|
||||
#include "dtc.h"
|
||||
#include "srcpos.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
extern int yylex(void);
|
||||
extern void print_error(char const *fmt, ...);
|
||||
diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y
|
||||
index f412460..e00a3c4 100644
|
||||
--- a/scripts/dtc/dtc-parser.y
|
||||
+++ b/scripts/dtc/dtc-parser.y
|
||||
@@ -24,7 +24,7 @@
|
||||
#include "dtc.h"
|
||||
#include "srcpos.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
|
||||
extern int yylex(void);
|
||||
extern void print_error(char const *fmt, ...);
|
File diff suppressed because it is too large
Load Diff
|
@ -1,21 +0,0 @@
|
|||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -121,7 +121,7 @@
|
||||
#define __get_user_check(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
register unsigned long __r2 asm("r2"); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
@@ -165,7 +165,7 @@
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
- register const typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
- register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
+ register typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
+ register typeof(*(p)) __user *__p asm("r0") = (p); \
|
||||
register unsigned long __l asm("r1") = __limit; \
|
||||
register int __e asm("r0"); \
|
||||
switch (sizeof(*(__p))) { \
|
|
@ -1,11 +0,0 @@
|
|||
--- a/scripts/dtc/dtc-lexer.l 2019-12-21 12:57:45.000000000 +0300
|
||||
+++ b/scripts/dtc/dtc-lexer.l 2021-10-24 16:01:38.478555927 +0300
|
||||
@@ -38,7 +38,7 @@
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+extern YYLTYPE yylloc ;
|
||||
extern bool treesource_error;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
|
@ -1,41 +0,0 @@
|
|||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||
index 790fbf6..f1f1631 100644
|
||||
--- a/scripts/dtc/dtc-lexer.l
|
||||
+++ b/scripts/dtc/dtc-lexer.l
|
||||
@@ -38,7 +38,7 @@ LINECOMMENT "//".*\n
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+YYLTYPE yylloc ;
|
||||
extern bool treesource_error;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
index ba525c2..766127c 100644
|
||||
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||
@@ -637,7 +637,9 @@ char *yytext;
|
||||
#include "srcpos.h"
|
||||
#include "dtc-parser.tab.h"
|
||||
|
||||
-YYLTYPE yylloc;
|
||||
+#if (__GNUC__ << 16) + __GNUC_MINOR__ < 0x1000000
|
||||
+extern YYLTYPE yylloc ;
|
||||
+#endif
|
||||
extern bool treesource_error;
|
||||
|
||||
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||
diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
index 31cec50..430f5e1 100644
|
||||
--- a/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
|
||||
@@ -185,7 +185,7 @@ struct YYLTYPE
|
||||
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
-extern YYLTYPE yylloc;
|
||||
+extern YYLTYPE yylloc ;
|
||||
int yyparse (void);
|
||||
|
||||
#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
|
Loading…
Reference in New Issue