diff --git a/br-ext-chip-anyka/board/ak3918ev300/kernel/patches/20_fix_gcc8.patch b/br-ext-chip-anyka/board/ak3918ev300/kernel/patches/20_fix_gcc8.patch index 66ce4243..32a424bc 120000 --- a/br-ext-chip-anyka/board/ak3918ev300/kernel/patches/20_fix_gcc8.patch +++ b/br-ext-chip-anyka/board/ak3918ev300/kernel/patches/20_fix_gcc8.patch @@ -1 +1 @@ -../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch \ No newline at end of file +../../../../../patches/linux/3.4.x/gcc8_err_encountered.patch \ No newline at end of file diff --git a/patches/linux/3.4.x/gcc8_err_encountered.patch b/patches/linux/3.4.x/gcc8_err_encountered.patch new file mode 100644 index 00000000..7e13e93c --- /dev/null +++ b/patches/linux/3.4.x/gcc8_err_encountered.patch @@ -0,0 +1,26 @@ +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))) { \