Alexey Merzlyakov
660e34fd38
[lldb][RISCV] Support optionally disabled FPR for riscv64 ( #104547 )
...
The PR adds the support optionally enabled/disabled FP-registers to LLDB
`RegisterInfoPOSIX_riscv64`. This situation might take place for RISC-V
builds having no FP-registers, like RV64IMAC or RV64IMACV.
To aim this, patch adds `opt_regsets` flags mechanism. It re-works
RegisterInfo class to work with flexibly allocated (depending on
`opt_regsets` flag) `m_register_sets` and `m_register_infos` vectors
instead of statically defined structures. The registration of regsets is
being arranged by `m_per_regset_regnum_range` map.
The patch flows are spread to `NativeRegisterContextLinux_riscv64` and
`RegisterContextCorePOSIX_riscv64` classes, that were tested on:
- x86_64 host working with coredumps
- RV64GC and RV64IMAC targets working with coredumps and natively in
run-time with binaries
`EmulateInstructionRISCV` is out of scope of this patch, and its
behavior did not change, using maximum set of registers.
According testcase built for RV64IMAC (no-FPR) was added to
`TestLinuxCore.py`.
2024-09-04 15:31:59 +01:00
..
2024-07-01 21:35:21 -07:00
2023-03-21 10:42:24 -07:00
2024-08-08 12:55:10 -07:00
2024-02-21 13:02:30 -06:00
2024-04-16 16:00:14 -07:00
2024-05-16 07:44:08 +04:00
2023-05-25 12:54:09 -07:00
2024-08-20 17:25:34 +04:00
2024-05-21 10:56:26 +02:00
2024-08-27 19:15:42 +02:00
2023-05-25 12:54:09 -07:00
2024-09-03 13:22:31 +02:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-04-26 13:18:45 -07:00
2024-06-26 15:55:15 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-05-14 14:00:16 +04:00
2023-09-11 16:44:12 +00:00
2024-02-16 20:58:50 -08:00
2024-05-14 14:02:31 +04:00
2024-02-15 22:54:00 -08:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-04-29 11:41:14 +01:00
2024-08-13 15:28:35 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-15 22:54:00 -08:00
2023-06-16 14:51:14 -07:00
2023-09-11 16:44:12 +00:00
2024-02-13 16:19:41 -06:00
2023-05-25 12:54:09 -07:00
2024-02-14 15:53:19 -06:00
2023-05-25 12:54:09 -07:00
2024-02-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2024-06-28 14:06:39 +01:00
2024-07-16 15:21:06 +02:00
2024-06-28 14:06:39 +01:00
2024-06-28 14:06:39 +01:00
2023-05-25 12:54:09 -07:00
2024-09-04 11:30:58 +02:00
2024-02-16 21:45:08 -08:00
2024-02-21 20:39:02 -06:00
2023-05-25 12:54:09 -07:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-06-05 10:57:46 -07:00
2023-05-25 12:54:09 -07:00
2024-07-02 02:29:16 +05:00
2023-05-25 12:54:09 -07:00
2024-09-04 15:31:59 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-16 20:58:50 -08:00
2024-08-05 09:37:36 +02:00
2024-08-28 21:15:30 -07:00
2024-04-26 13:18:45 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2024-05-09 10:39:05 -07:00
2023-05-25 12:54:09 -07:00
2023-09-08 13:04:48 +00:00
2024-06-28 14:06:39 +01:00
2024-08-05 17:26:39 -07:00
2024-02-16 20:58:50 -08:00
2024-06-06 14:25:53 -07:00
2024-06-28 11:53:19 -07:00
2024-02-21 13:02:30 -06:00
2024-02-21 13:02:30 -06:00
2023-05-25 12:54:09 -07:00
2024-06-26 15:59:07 +01:00
2024-02-16 20:58:50 -08:00
2024-03-20 07:03:24 -07:00
2024-06-10 18:51:47 +04:00
2023-05-25 12:54:09 -07:00
2024-05-23 14:01:10 +04:00
2024-06-27 01:45:30 -07:00
2024-02-21 13:02:30 -06:00
2024-02-13 16:19:41 -06:00
2024-03-31 17:17:32 +01:00
2023-05-25 12:54:09 -07:00
2023-05-25 12:54:09 -07:00
2024-06-11 13:58:26 -07:00
2024-02-16 20:58:50 -08:00
2023-05-25 12:54:09 -07:00
2024-07-08 12:20:45 +02:00
2024-03-11 13:04:56 -07:00
2024-02-16 20:58:50 -08:00
2024-02-16 20:58:50 -08:00
2024-02-16 20:58:50 -08:00
2024-02-05 18:45:01 -08:00
2024-02-16 21:45:08 -08:00