diff -Naurp a/backends/Makefile.am b/backends/Makefile.am --- a/backends/Makefile.am 2019-06-13 12:19:49.078487313 +0000 +++ b/backends/Makefile.am 2019-06-13 12:21:44.137496575 +0000 @@ -58,6 +58,8 @@ static_SRCS = i386_init.c i386_symbol.c x86_64_retval.c x86_64_regs.c x86_64_syscall.c \ x86_64_initreg.c x86_64_unwind.c x32_corenote.c \ ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c \ + arm_attrs.c arm_auxv.c arm_cfi.c arm_corenote.c arm_init.c \ + arm_initreg.c arm_regs.c arm_retval.c arm_symbol.c \ aarch64_init.c aarch64_regs.c aarch64_symbol.c \ aarch64_corenote.c aarch64_retval.c aarch64_cfi.c \ aarch64_initreg.c aarch64_unwind.c \ diff -Naurp a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c --- a/libebl/eblopenbackend.c 2019-06-13 12:19:49.083487139 +0000 +++ b/libebl/eblopenbackend.c 2019-06-13 12:24:04.382632274 +0000 @@ -47,6 +47,7 @@ const char *ppc_init (Elf *elf, GElf_Hal const char *ppc64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); const char *ia64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); const char *s390_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *arm_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); const char *aarch64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); const char *bpf_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); @@ -74,7 +75,7 @@ static const struct { NULL, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB }, // XXX class and machine fields need to be filled in for all archs. { NULL, "elf_sh", "sh", 2, EM_SH, 0, 0 }, - { NULL, "ebl_arm", "arm", 3, EM_ARM, 0, 0 }, + { arm_init, "ebl_arm", "arm", 3, EM_ARM, 0, 0 }, { NULL, "elf_sparcv9", "sparc", 5, EM_SPARCV9, 0, 0 }, { NULL, "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, { NULL, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },