Hi, On Mon, Apr 01, 2019 at 10:31:55AM +0800, Mao Han wrote: > This patch add backend support for C-SKY architecture.
Thanks. I don't know anything about the C-SKY architecture. Do you have an URL to the ELF/DWARF supplemental spec that describes the ELF structures and DWARF register numbers C-SKY uses? It would be good to have that in the commit message and/or in a comment in the backend. In general please read the CONTRIBUTING file and add a Signed-off-by line if you agree with and can contribute the patch under the appropriate licenses. Please also add a copyright line to the new files. > 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. Does qemu support full system or user-mode only C-SKY? > 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) This is somewhat surprising. Do you build with -gdwarf-5? If you could make the /home/vmh/elfutilswk/src/readelf binary available somewhere we could investigate what goes on. > FAIL: run-native-test.sh > ======================== > > allregs: 23064: No such file or directory > FAIL run-native-test.sh (exit status: 1) This is probably because of the script modifications. The test cannot find the running process. > 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) This is again surprising. I think something went wrong invoking the test. If you look at tests/run-dwarf-getmacros.sh you'll see that it runs the last testcase twice. Once with 2 and once with 3 arguments. The third argument is the empty string (but could really be anything). Maybe the empty string was lost somehow? > 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) I haven't looked at the code yet, so maybe none of the backtrace tests would work even if you could run in "full system mode". If you do have a way to generate a C-SKY core file it would be interesting to see if you can get a backtrace from it using eu-stack. > 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) This is again most likely because of script changes. The test cannot find the running process. Cheers, Mark