diff options
Diffstat (limited to 'meta/recipes-devtools/elfutils/files/debian/mips_backend.diff')
-rw-r--r-- | meta/recipes-devtools/elfutils/files/debian/mips_backend.diff | 85 |
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 @@ | |||
1 | From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001 | 1 | From 7e0b036d087dfff7f5e306f52fc78745f99454c3 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Wed, 21 Aug 2019 15:49:52 +0800 | 3 | Date: Wed, 21 Aug 2019 15:49:52 +0800 |
4 | Subject: [PATCH] mips backend | 4 | Subject: [PATCH] mips backend |
@@ -7,15 +7,16 @@ Rebase to 0.177 | |||
7 | Upstream-Status: Pending [from debian] | 7 | Upstream-Status: Pending [from debian] |
8 | 8 | ||
9 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 9 | Signed-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 | ||
25 | diff --git a/backends/Makefile.am b/backends/Makefile.am | 26 | diff --git a/backends/Makefile.am b/backends/Makefile.am |
26 | index 91a38e2..aba8a4a 100644 | 27 | index 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) | ||
56 | diff --git a/backends/mips_init.c b/backends/mips_init.c | 55 | diff --git a/backends/mips_init.c b/backends/mips_init.c |
57 | new file mode 100644 | 56 | new file mode 100644 |
58 | index 0000000..975c04e | 57 | index 0000000..975c04e |
@@ -700,18 +699,26 @@ index 0000000..261b05d | |||
700 | + } | 699 | + } |
701 | +} | 700 | +} |
702 | diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c | 701 | diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c |
703 | index 01711f5..d0c3589 100644 | 702 | index 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 | -- |
716 | 2.7.4 | 723 | 2.17.1 |
717 | 724 | ||