diff options
Diffstat (limited to 'poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff')
-rw-r--r-- | poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff | 85 |
1 files changed, 46 insertions, 39 deletions
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff index 1097b0ec6..749faa403 100644 --- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff +++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff @@ -1,4 +1,4 @@ -From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001 +From 7e0b036d087dfff7f5e306f52fc78745f99454c3 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Wed, 21 Aug 2019 15:49:52 +0800 Subject: [PATCH] mips backend @@ -7,15 +7,16 @@ Rebase to 0.177 Upstream-Status: Pending [from debian] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + --- - backends/Makefile.am | 8 +- - backends/mips_init.c | 59 +++++++++ - backends/mips_regs.c | 104 ++++++++++++++++ - backends/mips_reloc.def | 79 ++++++++++++ - backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++++ - backends/mips_symbol.c | 53 ++++++++ - libebl/eblopenbackend.c | 2 + - 7 files changed, 624 insertions(+), 2 deletions(-) + backends/Makefile.am | 6 +- + backends/mips_init.c | 59 ++++++++ + backends/mips_regs.c | 104 +++++++++++++ + backends/mips_reloc.def | 79 ++++++++++ + backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++ + backends/mips_symbol.c | 53 +++++++ + libebl/eblopenbackend.c | 3 + + 7 files changed, 623 insertions(+), 2 deletions(-) create mode 100644 backends/mips_init.c create mode 100644 backends/mips_regs.c create mode 100644 backends/mips_reloc.def @@ -23,36 +24,34 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> create mode 100644 backends/mips_symbol.c diff --git a/backends/Makefile.am b/backends/Makefile.am -index 91a38e2..aba8a4a 100644 +index 4755f61..07d45d7 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am -@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ - +@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ + noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ - tilegx m68k bpf riscv csky parisc + tilegx m68k bpf riscv csky parisc mips - libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ - libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ - libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \ - libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \ - libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \ -- libebl_csky_pic.a libebl_parisc_pic.a -+ libebl_csky_pic.a libebl_parisc_pic.a libebl_mips_pic.a - noinst_LIBRARIES = $(libebl_pic) - noinst_DATA = $(libebl_pic:_pic.a=.so) -@@ -145,6 +145,10 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \ - libebl_csky_pic_a_SOURCES = $(csky_SRCS) - am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os) + parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c + +@@ -100,12 +100,14 @@ 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 -+libebl_mips_pic_a_SOURCES = $(mips_SRCS) -+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) + - libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu) - @rm -f $(@:.so=.map) - $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ + libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \ + $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \ + $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \ + $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \ + $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \ +- $(parisc_SRCS) ++ $(parisc_SRCS) $(mips_SRCS) + + libebl_backends_pic_a_SOURCES = + am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os) diff --git a/backends/mips_init.c b/backends/mips_init.c new file mode 100644 index 0000000..975c04e @@ -700,18 +699,26 @@ index 0000000..261b05d + } +} diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c -index 01711f5..d0c3589 100644 +index 210b47e..1feac13 100644 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c -@@ -71,6 +71,8 @@ static const struct - { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, - { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, - { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, -+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, -+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, +@@ -57,6 +57,7 @@ const char *m68k_init (Elf *, GElf_Half, Ebl *, size_t); + const char *bpf_init (Elf *, GElf_Half, Ebl *, size_t); + const char *riscv_init (Elf *, GElf_Half, Ebl *, size_t); + const char *csky_init (Elf *, GElf_Half, Ebl *, size_t); ++const char *mips_init (Elf *, GElf_Half, Ebl *, size_t); + + /* This table should contain the complete list of architectures as far + as the ELF specification is concerned. */ +@@ -87,6 +88,8 @@ static const struct + { sparc_init, "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, + { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, + { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 }, ++ { mips_init, "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, ++ { mips_init, "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, - { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, - { "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, + { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 }, + { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, -- -2.7.4 +2.17.1 |