A quick investigation shows it's because some raw registers are not in
the
save reggroup. So csky should probably be added to that big if in the
test:
if (bfd_arch == bfd_arch_frv || bfd_arch == bfd_arch_h8300
|| bfd_arch == bfd_arch_m32c || bfd_arch == bfd_arch_sh
|| bfd_arch == bfd_arch_alpha || bfd_arch == bfd_arch_v850
|| bfd_arch == bfd_arch_msp430 || bfd_arch == bfd_arch_mep
|| bfd_arch == bfd_arch_mips || bfd_arch == bfd_arch_v850_rh850
|| bfd_arch == bfd_arch_tic6x || bfd_arch == bfd_arch_mn10300
|| bfd_arch == bfd_arch_rl78 || bfd_arch == bfd_arch_score
|| bfd_arch == bfd_arch_riscv)
{
/* Raw registers. If raw registers are not in save_reggroup,
their status are unknown. */
if (gdbarch_register_reggroup_p (gdbarch, regnum,
save_reggroup))
SELF_CHECK (status == REG_VALID);
else
SELF_CHECK (status == REG_UNKNOWN);
}
else
SELF_CHECK (status == REG_VALID);
When I was reviewing the test results for csky, I saw this fail in
unittest.exp and fixed it by adding csky to the big if list as you
mentioned above. Somehow I missed that patch when upstreaming the port.
So if you are happy with that change then I will push it.