[PATCH 0/2] Add C-SKY support

Mark Wielaard mark@klomp.org
Wed Apr 3 20:54:00 GMT 2019


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



More information about the Elfutils-devel mailing list