mirror of
https://git.yoctoproject.org/poky
synced 2026-02-10 02:33:02 +01:00
Remove 0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch as issue fixed upstream. Rebase other patches. Adjust ptests, pass rate is now 100% again: ====================== All 206 tests passed (6 tests were not run) ====================== (From OE-Core rev: dce25738c82335f2a92b32bd52f0c63e2dbd336e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
130 lines
4.4 KiB
Diff
130 lines
4.4 KiB
Diff
From 5bf6117a6eaf9007ce80adbb8b66a95ca98047a4 Mon Sep 17 00:00:00 2001
|
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
|
Date: Wed, 21 Aug 2019 17:00:30 +0800
|
|
Subject: [PATCH] mips_cfi
|
|
|
|
Upstream-Status: Pending [from debian]
|
|
|
|
Rebase to 0.177
|
|
|
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|
|
|
---
|
|
backends/Makefile.am | 2 +-
|
|
backends/mips_cfi.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
|
|
backends/mips_init.c | 1 +
|
|
3 files changed, 82 insertions(+), 1 deletion(-)
|
|
create mode 100644 backends/mips_cfi.c
|
|
|
|
diff --git a/backends/Makefile.am b/backends/Makefile.am
|
|
index 07d45d7..dec3080 100644
|
|
--- a/backends/Makefile.am
|
|
+++ b/backends/Makefile.am
|
|
@@ -100,7 +100,7 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
|
|
csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
|
|
csky_regs.c csky_initreg.c csky_corenote.c
|
|
|
|
-mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
|
|
+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c
|
|
|
|
libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
|
|
$(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
|
|
diff --git a/backends/mips_cfi.c b/backends/mips_cfi.c
|
|
new file mode 100644
|
|
index 0000000..9ffdab5
|
|
--- /dev/null
|
|
+++ b/backends/mips_cfi.c
|
|
@@ -0,0 +1,80 @@
|
|
+/* MIPS ABI-specified defaults for DWARF CFI.
|
|
+ Copyright (C) 2018 Kurt Roeckx, Inc.
|
|
+ This file is part of elfutils.
|
|
+
|
|
+ This file is free software; you can redistribute it and/or modify
|
|
+ it under the terms of either
|
|
+
|
|
+ * the GNU Lesser General Public License as published by the Free
|
|
+ Software Foundation; either version 3 of the License, or (at
|
|
+ your option) any later version
|
|
+
|
|
+ or
|
|
+
|
|
+ * the GNU General Public License as published by the Free
|
|
+ Software Foundation; either version 2 of the License, or (at
|
|
+ your option) any later version
|
|
+
|
|
+ or both in parallel, as here.
|
|
+
|
|
+ elfutils is distributed in the hope that it will be useful, but
|
|
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
+ General Public License for more details.
|
|
+
|
|
+ You should have received copies of the GNU General Public License and
|
|
+ the GNU Lesser General Public License along with this program. If
|
|
+ not, see <http://www.gnu.org/licenses/>. */
|
|
+
|
|
+#ifdef HAVE_CONFIG_H
|
|
+# include <config.h>
|
|
+#endif
|
|
+
|
|
+#include <dwarf.h>
|
|
+
|
|
+#define BACKEND mips_
|
|
+#include "libebl_CPU.h"
|
|
+
|
|
+int
|
|
+mips_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
|
|
+{
|
|
+ static const uint8_t abi_cfi[] =
|
|
+ {
|
|
+ /* Call-saved regs. */
|
|
+ DW_CFA_same_value, ULEB128_7 (16), /* $16 */
|
|
+ DW_CFA_same_value, ULEB128_7 (17), /* $17 */
|
|
+ DW_CFA_same_value, ULEB128_7 (18), /* $18 */
|
|
+ DW_CFA_same_value, ULEB128_7 (19), /* $19 */
|
|
+ DW_CFA_same_value, ULEB128_7 (20), /* $20 */
|
|
+ DW_CFA_same_value, ULEB128_7 (21), /* $21 */
|
|
+ DW_CFA_same_value, ULEB128_7 (22), /* $22 */
|
|
+ DW_CFA_same_value, ULEB128_7 (23), /* $23 */
|
|
+ DW_CFA_same_value, ULEB128_7 (28), /* $28 */
|
|
+ DW_CFA_same_value, ULEB128_7 (29), /* $29 */
|
|
+ DW_CFA_same_value, ULEB128_7 (30), /* $30 */
|
|
+
|
|
+ DW_CFA_same_value, ULEB128_7 (52), /* $f20 */
|
|
+ DW_CFA_same_value, ULEB128_7 (53), /* $f21 */
|
|
+ DW_CFA_same_value, ULEB128_7 (54), /* $f22 */
|
|
+ DW_CFA_same_value, ULEB128_7 (55), /* $f23 */
|
|
+ DW_CFA_same_value, ULEB128_7 (56), /* $f24 */
|
|
+ DW_CFA_same_value, ULEB128_7 (57), /* $f25 */
|
|
+ DW_CFA_same_value, ULEB128_7 (58), /* $f26 */
|
|
+ DW_CFA_same_value, ULEB128_7 (59), /* $f27 */
|
|
+ DW_CFA_same_value, ULEB128_7 (60), /* $f28 */
|
|
+ DW_CFA_same_value, ULEB128_7 (61), /* $f29 */
|
|
+ DW_CFA_same_value, ULEB128_7 (62), /* $f30 */
|
|
+ DW_CFA_same_value, ULEB128_7 (63), /* $f31 */
|
|
+
|
|
+ /* The CFA is the SP. */
|
|
+ DW_CFA_def_cfa, ULEB128_7 (29), ULEB128_7 (0),
|
|
+ };
|
|
+
|
|
+ abi_info->initial_instructions = abi_cfi;
|
|
+ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
|
|
+ abi_info->data_alignment_factor = 4;
|
|
+
|
|
+ abi_info->return_address_register = 31; /* $31 */
|
|
+
|
|
+ return 0;
|
|
+}
|
|
diff --git a/backends/mips_init.c b/backends/mips_init.c
|
|
index 8482e7f..bce5abe 100644
|
|
--- a/backends/mips_init.c
|
|
+++ b/backends/mips_init.c
|
|
@@ -50,6 +50,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
|
|
HOOK (eh, reloc_simple_type);
|
|
HOOK (eh, return_value_location);
|
|
HOOK (eh, register_info);
|
|
+ HOOK (eh, abi_cfi);
|
|
|
|
return MODVERSION;
|
|
}
|