diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-16 23:40:32 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-17 15:11:22 +0200 |
commit | 20ea6adbf199097c4f5f591ffee088340630dae4 (patch) | |
tree | d6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch | |
parent | bca05bd072180dc38ef740b37ded9572a6db1981 (diff) | |
download | upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.gz upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.bz2 upstream-20ea6adbf199097c4f5f591ffee088340630dae4.zip |
bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B
Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch b/target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch new file mode 100644 index 0000000000..4a90eafc08 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.15/950-0653-arm-Fix-annoying-.eh_frame-section-warnings.patch @@ -0,0 +1,123 @@ +From 8dabc6eab444607a68d710f0b09942277095e219 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.com> +Date: Wed, 12 Jan 2022 17:27:03 +0000 +Subject: [PATCH] arm: Fix annoying .eh_frame section warnings + +Replace the cfi directives with the UNWIND equivalents. This prevents +the .eh_frame section from being created, eliminating the warnings. + +Signed-off-by: Phil Elwell <phil@raspberrypi.com> +--- + arch/arm/lib/memcpy_rpi.S | 2 ++ + arch/arm/lib/memcpymove.h | 45 ++++++++++++-------------------------- + arch/arm/lib/memmove_rpi.S | 2 ++ + 3 files changed, 18 insertions(+), 31 deletions(-) + +--- a/arch/arm/lib/memcpy_rpi.S ++++ b/arch/arm/lib/memcpy_rpi.S +@@ -27,6 +27,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + */ + + #include <linux/linkage.h> ++#include <asm/assembler.h> ++#include <asm/unwind.h> + #include "arm-mem.h" + #include "memcpymove.h" + +--- a/arch/arm/lib/memcpymove.h ++++ b/arch/arm/lib/memcpymove.h +@@ -280,6 +280,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + 199: + pop {DAT3, DAT4, DAT5, DAT6, DAT7} + pop {D, DAT1, DAT2, pc} ++ UNWIND( .fnend ) + .endm + + .macro memcpy_medium_inner_loop backwards, align +@@ -358,19 +359,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + LAST .req ip + OFF .req lr + +- .cfi_startproc ++ UNWIND( .fnstart ) + + push {D, DAT1, DAT2, lr} ++ UNWIND( .fnend ) + +- .cfi_def_cfa_offset 16 +- .cfi_rel_offset D, 0 +- .cfi_undefined S +- .cfi_undefined N +- .cfi_undefined DAT0 +- .cfi_rel_offset DAT1, 4 +- .cfi_rel_offset DAT2, 8 +- .cfi_undefined LAST +- .cfi_rel_offset lr, 12 ++ UNWIND( .fnstart ) ++ UNWIND( .save {D, DAT1, DAT2, lr} ) + + .if backwards + add D, D, N +@@ -386,17 +381,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + + /* Long case */ + push {DAT3, DAT4, DAT5, DAT6, DAT7} ++ UNWIND( .fnend ) + +- .cfi_def_cfa_offset 36 +- .cfi_rel_offset D, 20 +- .cfi_rel_offset DAT1, 24 +- .cfi_rel_offset DAT2, 28 +- .cfi_rel_offset DAT3, 0 +- .cfi_rel_offset DAT4, 4 +- .cfi_rel_offset DAT5, 8 +- .cfi_rel_offset DAT6, 12 +- .cfi_rel_offset DAT7, 16 +- .cfi_rel_offset lr, 32 ++ UNWIND( .fnstart ) ++ UNWIND( .save {D, DAT1, DAT2, lr} ) ++ UNWIND( .save {DAT3, DAT4, DAT5, DAT6, DAT7} ) + + /* Adjust N so that the decrement instruction can also test for + * inner loop termination. We want it to stop when there are +@@ -436,16 +425,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + 156: memcpy_long_inner_loop backwards, 2 + 157: memcpy_long_inner_loop backwards, 3 + +- .cfi_def_cfa_offset 16 +- .cfi_rel_offset D, 0 +- .cfi_rel_offset DAT1, 4 +- .cfi_rel_offset DAT2, 8 +- .cfi_same_value DAT3 +- .cfi_same_value DAT4 +- .cfi_same_value DAT5 +- .cfi_same_value DAT6 +- .cfi_same_value DAT7 +- .cfi_rel_offset lr, 12 ++ UNWIND( .fnend ) ++ ++ UNWIND( .fnstart ) ++ UNWIND( .save {D, DAT1, DAT2, lr} ) + + 160: /* Medium case */ + preload_all backwards, 0, 0, S, N, DAT2, OFF +@@ -488,7 +471,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + memcpy_short_inner_loop backwards, 0 + 140: memcpy_short_inner_loop backwards, 1 + +- .cfi_endproc ++ UNWIND( .fnend ) + + .unreq D + .unreq S +--- a/arch/arm/lib/memmove_rpi.S ++++ b/arch/arm/lib/memmove_rpi.S +@@ -27,6 +27,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + */ + + #include <linux/linkage.h> ++#include <asm/assembler.h> ++#include <asm/unwind.h> + #include "arm-mem.h" + #include "memcpymove.h" + |