Hi, This patch add backend support for C-SKY architecture. Tested on X86 and got no regression. Also tested on C-SKY qemu. I didn't find any easy way to do the cross test, so I modified the test script to run the test suite with ssh, some testcases fail due to the script modification.
PASS: run-arextract.sh PASS: run-arsymtest.sh PASS: run-ar.sh PASS: newfile PASS: test-nlist PASS: update1 PASS: update2 PASS: update3 PASS: update4 PASS: run-show-die-info.sh PASS: run-get-files.sh PASS: run-get-lines.sh PASS: run-next-files.sh PASS: run-next-lines.sh PASS: run-get-pubnames.sh PASS: run-get-aranges.sh PASS: run-allfcts.sh PASS: run-show-abbrev.sh PASS: run-line2addr.sh PASS: hash PASS: newscn PASS: run-strip-test.sh PASS: run-strip-test2.sh PASS: run-strip-test3.sh PASS: run-strip-test4.sh PASS: run-strip-test5.sh PASS: run-strip-test6.sh PASS: run-strip-test7.sh PASS: run-strip-test8.sh PASS: run-strip-test9.sh PASS: run-strip-test10.sh PASS: run-strip-test11.sh PASS: run-strip-test12.sh PASS: run-strip-nothing.sh PASS: run-strip-g.sh PASS: run-annobingroup.sh PASS: run-strip-groups.sh PASS: run-strip-reloc.sh PASS: run-strip-strmerge.sh PASS: run-strip-nobitsalign.sh PASS: run-strip-remove-keep.sh PASS: run-unstrip-test.sh PASS: run-unstrip-test2.sh PASS: run-unstrip-test3.sh PASS: run-unstrip-test4.sh PASS: run-unstrip-M.sh PASS: run-elfstrmerge-test.sh PASS: run-ecp-test.sh PASS: run-ecp-test2.sh PASS: run-alldts.sh PASS: run-elflint-test.sh PASS: run-elflint-self.sh PASS: run-ranlib-test.sh PASS: run-ranlib-test2.sh PASS: run-ranlib-test3.sh PASS: run-ranlib-test4.sh PASS: run-addrscopes.sh PASS: run-strings-test.sh PASS: run-funcscopes.sh PASS: run-find-prologues.sh PASS: run-allregs.sh PASS: run-addrcfi.sh PASS: run-dwarfcfi.sh PASS: run-nm-self.sh PASS: run-readelf-self.sh PASS: run-readelf-info-plus.sh SKIP: run-readelf-compressed.sh PASS: run-readelf-const-values.sh PASS: run-varlocs-self.sh FAIL: run-exprlocs-self.sh PASS: run-readelf-test1.sh PASS: run-readelf-test2.sh PASS: run-readelf-test3.sh PASS: run-readelf-test4.sh PASS: run-readelf-twofiles.sh PASS: run-readelf-macro.sh PASS: run-readelf-loc.sh PASS: run-readelf-ranges.sh PASS: run-readelf-aranges.sh PASS: run-readelf-line.sh PASS: run-readelf-z.sh PASS: run-readelf-n.sh FAIL: run-native-test.sh PASS: run-bug1-test.sh PASS: run-debuglink.sh PASS: run-debugaltlink.sh PASS: run-buildid.sh PASS: dwfl-bug-addr-overflow PASS: run-addrname-test.sh PASS: dwfl-bug-fd-leak PASS: dwfl-bug-report PASS: run-dwfl-bug-offline-rel.sh PASS: run-dwfl-addr-sect.sh PASS: run-disasm-x86.sh PASS: run-disasm-x86-64.sh PASS: run-early-offscn.sh FAIL: run-dwarf-getmacros.sh PASS: run-dwarf-ranges.sh PASS: run-test-flag-nobits.sh PASS: run-prelink-addr-test.sh PASS: run-dwarf-getstring.sh PASS: run-rerequest_tag.sh PASS: run-typeiter.sh PASS: run-readelf-d.sh PASS: run-readelf-gdb_index.sh PASS: run-unstrip-n.sh PASS: run-low_high_pc.sh PASS: run-macro-test.sh PASS: run-elf_cntl_gelf_getshdr.sh PASS: run-test-archive64.sh PASS: run-readelf-vmcoreinfo.sh PASS: run-readelf-mixed-corenote.sh PASS: run-dwfllines.sh PASS: run-readelf-variant.sh PASS: run-dwfl-report-elf-align.sh PASS: run-addr2line-test.sh PASS: run-addr2line-i-test.sh PASS: run-addr2line-i-lex-test.sh PASS: run-addr2line-i-demangle-test.sh PASS: run-addr2line-alt-debugpath.sh PASS: run-varlocs.sh PASS: run-exprlocs.sh PASS: run-funcretval.sh PASS: run-backtrace-native.sh SKIP: run-backtrace-data.sh PASS: run-backtrace-dwarf.sh SKIP: run-backtrace-native-biarch.sh SKIP: run-backtrace-native-core.sh SKIP: run-backtrace-native-core-biarch.sh PASS: run-backtrace-core-x86_64.sh PASS: run-backtrace-fp-core-x86_64.sh PASS: run-backtrace-fp-core-aarch64.sh PASS: run-backtrace-fp-core-ppc64le.sh PASS: run-backtrace-core-x32.sh PASS: run-backtrace-core-i386.sh PASS: run-backtrace-fp-core-i386.sh PASS: run-backtrace-core-ppc.sh PASS: run-backtrace-core-s390x.sh PASS: run-backtrace-core-s390.sh PASS: run-backtrace-core-aarch64.sh PASS: run-backtrace-core-sparc.sh PASS: run-backtrace-demangle.sh PASS: run-stack-d-test.sh PASS: run-stack-i-test.sh PASS: run-stack-demangled-test.sh PASS: run-readelf-zx.sh PASS: run-readelf-zp.sh PASS: run-readelf-addr.sh PASS: run-readelf-str.sh PASS: run-readelf-types.sh PASS: run-readelf-dwz-multi.sh PASS: run-allfcts-multi.sh FAIL: run-deleted.sh PASS: run-linkmap-cut.sh PASS: run-aggregate-size.sh PASS: run-peel-type.sh PASS: vdsosyms PASS: run-readelf-A.sh PASS: run-getsrc-die.sh PASS: run-strptr.sh PASS: newdata PASS: elfstrtab PASS: dwfl-proc-attach PASS: elfshphehdr PASS: run-lfs-symbols.sh PASS: run-dwelfgnucompressed.sh PASS: run-elfgetchdr.sh PASS: run-elfgetzdata.sh PASS: run-elfputzdata.sh PASS: run-zstrptr.sh PASS: run-compress-test.sh PASS: run-readelf-zdebug.sh PASS: run-readelf-zdebug-rel.sh PASS: emptyfile PASS: vendorelf PASS: fillfile PASS: dwarf_default_lower_bound PASS: run-dwarf-die-addr-die.sh PASS: run-get-units-invalid.sh PASS: run-get-units-split.sh PASS: run-attr-integrate-skel.sh PASS: run-all-dwarf-ranges.sh PASS: run-unit-info.sh PASS: run-reloc-bpf.sh PASS: run-next-cfi.sh PASS: run-next-cfi-self.sh PASS: run-copyadd-sections.sh PASS: run-copymany-sections.sh PASS: run-typeiter-many.sh PASS: run-strip-test-many.sh PASS: run-strip-version.sh PASS: msg_tst PASS: system-elf-libelf-test PASS: asm-tst1 PASS: asm-tst2 PASS: asm-tst3 PASS: asm-tst4 PASS: asm-tst5 PASS: asm-tst6 PASS: asm-tst7 PASS: asm-tst8 PASS: asm-tst9 PASS: run-disasm-bpf.sh ============================================================================ Testsuite summary for elfutils 0.176 ============================================================================ # TOTAL: 203 # PASS: 194 # SKIP: 5 # XFAIL: 0 # FAIL: 4 # XPASS: 0 # ERROR: 0 ============================================================================ See tests/test-suite.log Please report to https://sourceware.org/bugzilla ============================================================================ ========================================== elfutils 0.176: tests/test-suite.log ========================================== # TOTAL: 203 # PASS: 194 # SKIP: 5 # XFAIL: 0 # FAIL: 4 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 SKIP: run-readelf-compressed.sh =============================== elfutils built without bzip2 support SKIP run-readelf-compressed.sh (exit status: 77) FAIL: run-exprlocs-self.sh ========================== /home/vmh/elfutilswk/tests/varlocs: dwarf_getlocation_attr for addr: .debug_addr section missing *** failure in /home/vmh/elfutilswk/tests/varlocs --exprlocs -e /home/vmh/elfutilswk/src/readelf FAIL run-exprlocs-self.sh (exit status: 1) FAIL: run-native-test.sh ======================== allregs: 23064: No such file or directory FAIL run-native-test.sh (exit status: 1) FAIL: run-dwarf-getmacros.sh ============================ --- dwarf-getmacros.out 2019-02-19 19:28:29.405840052 +0800 +++ /tmp/123 2019-02-19 19:28:27.789032052 +0800 @@ -1 +1,4 @@ -invalid opcode +opcode 255 with 0 arguments +file /home/petr/proj/elfutils/master/elfutils/x.c + FOO 0 +/file FAIL run-dwarf-getmacros.sh (exit status: 1) SKIP: run-backtrace-data.sh =========================== /home/vmh/elfutilswk/tests/backtrace-data: x86_64 linux only test SKIP run-backtrace-data.sh (exit status: 77) SKIP: run-backtrace-native-biarch.sh ==================================== biarch testing disabled SKIP run-backtrace-native-biarch.sh (exit status: 77) SKIP: run-backtrace-native-core.sh ================================== Aborted No core.12362 file generated SKIP run-backtrace-native-core.sh (exit status: 77) SKIP: run-backtrace-native-core-biarch.sh ========================================= biarch testing disabled SKIP run-backtrace-native-core-biarch.sh (exit status: 77) FAIL: run-deleted.sh ==================== PID 12587 - process TID 12587: #0 0x2ab79648 sleep #1 0x2ab79648 sleep #2 0x2aace6a4 /home/vmh/elfutilswk/src/stack: dwfl_thread_getframes tid 12587 at 0x2aace6a3 in /home/vmh/elfutilswk/tests/test-25076/deleted-lib.so: Callback returned failure ./run-deleted.sh: line 38: kill: (12587) - No such process FAIL run-deleted.sh (exit status: 1) Mao Han (2): libelf: Sync elf.h from glibc Add backend support for C-SKY backends/ChangeLog | 13 +++++ backends/Makefile.am | 9 +++- backends/csky_cfi.c | 59 +++++++++++++++++++++++ backends/csky_corenote.c | 60 +++++++++++++++++++++++ backends/csky_init.c | 64 +++++++++++++++++++++++++ backends/csky_initreg.c | 85 +++++++++++++++++++++++++++++++++ backends/csky_regs.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++ backends/csky_reloc.def | 85 +++++++++++++++++++++++++++++++++ backends/csky_symbol.c | 76 +++++++++++++++++++++++++++++ libebl/eblopenbackend.c | 1 + libelf/ChangeLog | 4 ++ libelf/elf.h | 96 ++++++++++++++++++++++++++++++++++++- src/elflint.c | 2 +- 13 files changed, 670 insertions(+), 5 deletions(-) create mode 100644 backends/csky_cfi.c create mode 100644 backends/csky_corenote.c create mode 100644 backends/csky_init.c create mode 100644 backends/csky_initreg.c create mode 100644 backends/csky_regs.c create mode 100644 backends/csky_reloc.def create mode 100644 backends/csky_symbol.c -- 2.7.4