binutils-gdb/gdb/arch
Feiyang Chen ea3352172e gdb/gdbserver: LoongArch: Improve implementation of fcc registers
The current implementation of the fcc register is referenced to the
user_fp_state structure of the kernel uapi [1].

struct user_fp_state {
	uint64_t    fpr[32];
	uint64_t    fcc;
	uint32_t    fcsr;
};

But it is mistakenly defined as a 64-bit fputype register, resulting
in a confusing output of "info register".

(gdb) info register
...
fcc            {f = 0x0, d = 0x0}  {f = 0, d = 0}
...

According to "Condition Flag Register" in "LoongArch Reference Manual"
[2], there are 8 condition flag registers of size 1. Use 8 registers of
uint8 to make it easier for users to view the fcc register groups.

(gdb) info register
...
fcc0           0x1                 1
fcc1           0x0                 0
fcc2           0x0                 0
fcc3           0x0                 0
fcc4           0x0                 0
fcc5           0x0                 0
fcc6           0x0                 0
fcc7           0x0                 0
...

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/loongarch/include/uapi/asm/ptrace.h
[2] https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#_condition_flag_register

Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
2022-08-09 22:22:23 +08:00
..
aarch32.c Add an arm-tls feature which includes the tpidruro register from CP15. 2022-05-03 16:05:10 -07:00
aarch32.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
aarch64-insn.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
aarch64-insn.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
aarch64-mte-linux.c [AArch64] MTE corefile support 2022-07-19 15:24:31 +01:00
aarch64-mte-linux.h [AArch64] MTE corefile support 2022-07-19 15:24:31 +01:00
aarch64.c Use aarch64_features to describe register features in target descriptions. 2022-05-18 13:32:04 -07:00
aarch64.h Tweak the std::hash<> specialization for aarch64_features. 2022-05-23 11:02:55 -07:00
amd64.c gdb: Consolidate 32bit-pkeys.xml and 64bit-pkeys.xml 2022-03-31 10:25:26 -07:00
amd64.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arc.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arc.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm-get-next-pcs.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm-get-next-pcs.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm-linux.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm-linux.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
arm.c Add an arm-tls feature which includes the tpidruro register from CP15. 2022-05-03 16:05:10 -07:00
arm.h gdb/arm: Only stack S16..S31 when FPU registers are secure 2022-06-29 14:03:26 +02:00
i386.c gdb: Consolidate 32bit-pkeys.xml and 64bit-pkeys.xml 2022-03-31 10:25:26 -07:00
i386.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
loongarch.c gdb: LoongArch: Add floating-point support 2022-07-12 20:14:48 +08:00
loongarch.h gdb/gdbserver: LoongArch: Improve implementation of fcc registers 2022-08-09 22:22:23 +08:00
ppc-linux-common.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
ppc-linux-common.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
ppc-linux-tdesc.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
riscv.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
riscv.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
tic6x.c Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
tic6x.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00
xtensa.h Automatic Copyright Year update after running gdb/copyright.py 2022-01-01 19:13:23 +04:00