summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/elfutils/files/debian/mips_backend.diff')
-rw-r--r--meta/recipes-devtools/elfutils/files/debian/mips_backend.diff85
1 files changed, 46 insertions, 39 deletions
diff --git a/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
index 1097b0ec6f..749faa403f 100644
--- a/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ b/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
@@ -1,4 +1,4 @@
1From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001 1From 7e0b036d087dfff7f5e306f52fc78745f99454c3 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 21 Aug 2019 15:49:52 +0800 3Date: Wed, 21 Aug 2019 15:49:52 +0800
4Subject: [PATCH] mips backend 4Subject: [PATCH] mips backend
@@ -7,15 +7,16 @@ Rebase to 0.177
7Upstream-Status: Pending [from debian] 7Upstream-Status: Pending [from debian]
8 8
9Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 9Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
10
10--- 11---
11 backends/Makefile.am | 8 +- 12 backends/Makefile.am | 6 +-
12 backends/mips_init.c | 59 +++++++++ 13 backends/mips_init.c | 59 ++++++++
13 backends/mips_regs.c | 104 ++++++++++++++++ 14 backends/mips_regs.c | 104 +++++++++++++
14 backends/mips_reloc.def | 79 ++++++++++++ 15 backends/mips_reloc.def | 79 ++++++++++
15 backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++++ 16 backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++
16 backends/mips_symbol.c | 53 ++++++++ 17 backends/mips_symbol.c | 53 +++++++
17 libebl/eblopenbackend.c | 2 + 18 libebl/eblopenbackend.c | 3 +
18 7 files changed, 624 insertions(+), 2 deletions(-) 19 7 files changed, 623 insertions(+), 2 deletions(-)
19 create mode 100644 backends/mips_init.c 20 create mode 100644 backends/mips_init.c
20 create mode 100644 backends/mips_regs.c 21 create mode 100644 backends/mips_regs.c
21 create mode 100644 backends/mips_reloc.def 22 create mode 100644 backends/mips_reloc.def
@@ -23,36 +24,34 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
23 create mode 100644 backends/mips_symbol.c 24 create mode 100644 backends/mips_symbol.c
24 25
25diff --git a/backends/Makefile.am b/backends/Makefile.am 26diff --git a/backends/Makefile.am b/backends/Makefile.am
26index 91a38e2..aba8a4a 100644 27index 4755f61..07d45d7 100644
27--- a/backends/Makefile.am 28--- a/backends/Makefile.am
28+++ b/backends/Makefile.am 29+++ b/backends/Makefile.am
29@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ 30@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
30 31 noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
31 32
32 modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ 33 modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
33- tilegx m68k bpf riscv csky parisc 34- tilegx m68k bpf riscv csky parisc
34+ tilegx m68k bpf riscv csky parisc mips 35+ tilegx m68k bpf riscv csky parisc mips
35 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
36 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
37 libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
38 libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
39 libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
40- libebl_csky_pic.a libebl_parisc_pic.a
41+ libebl_csky_pic.a libebl_parisc_pic.a libebl_mips_pic.a
42 noinst_LIBRARIES = $(libebl_pic)
43 noinst_DATA = $(libebl_pic:_pic.a=.so)
44 36
45@@ -145,6 +145,10 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \ 37 parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
46 libebl_csky_pic_a_SOURCES = $(csky_SRCS) 38
47 am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os) 39@@ -100,12 +100,14 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
40 csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
41 csky_regs.c csky_initreg.c csky_corenote.c
48 42
49+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c 43+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
50+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
51+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
52+ 44+
53 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu) 45 libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
54 @rm -f $(@:.so=.map) 46 $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
55 $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ 47 $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
48 $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
49 $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \
50- $(parisc_SRCS)
51+ $(parisc_SRCS) $(mips_SRCS)
52
53 libebl_backends_pic_a_SOURCES =
54 am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
56diff --git a/backends/mips_init.c b/backends/mips_init.c 55diff --git a/backends/mips_init.c b/backends/mips_init.c
57new file mode 100644 56new file mode 100644
58index 0000000..975c04e 57index 0000000..975c04e
@@ -700,18 +699,26 @@ index 0000000..261b05d
700+ } 699+ }
701+} 700+}
702diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c 701diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
703index 01711f5..d0c3589 100644 702index 210b47e..1feac13 100644
704--- a/libebl/eblopenbackend.c 703--- a/libebl/eblopenbackend.c
705+++ b/libebl/eblopenbackend.c 704+++ b/libebl/eblopenbackend.c
706@@ -71,6 +71,8 @@ static const struct 705@@ -57,6 +57,7 @@ const char *m68k_init (Elf *, GElf_Half, Ebl *, size_t);
707 { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, 706 const char *bpf_init (Elf *, GElf_Half, Ebl *, size_t);
708 { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, 707 const char *riscv_init (Elf *, GElf_Half, Ebl *, size_t);
709 { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, 708 const char *csky_init (Elf *, GElf_Half, Ebl *, size_t);
710+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, 709+const char *mips_init (Elf *, GElf_Half, Ebl *, size_t);
711+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, 710
711 /* This table should contain the complete list of architectures as far
712 as the ELF specification is concerned. */
713@@ -87,6 +88,8 @@ static const struct
714 { sparc_init, "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
715 { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
716 { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
717+ { mips_init, "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
718+ { mips_init, "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
712 719
713 { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, 720 { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
714 { "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, 721 { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
715-- 722--
7162.7.4 7232.17.1
717 724