mirror of
https://github.com/ziglang/zig.git
synced 2026-01-04 20:43:19 +00:00
std.debug.cpu_context: consider arm and aarch64 reserved register ranges unsupported
If these ever get allocated, it's most likely going to be for things that don't matter to us anyway, so completely abandoning DWARF unwinding just because we see these doesn't seem justified. We will still do so if we're actually asked to read from such a register, which is the only actually problematic case; see c23a5ccd19 for more details.
This commit is contained in:
parent
9b4f2b40e3
commit
ea694bfdb7
@ -322,6 +322,7 @@ const Arm = struct {
|
||||
131 => return error.UnsupportedRegister, // SPSR_ABT
|
||||
132 => return error.UnsupportedRegister, // SPSR_UND
|
||||
133 => return error.UnsupportedRegister, // SPSR_SVC
|
||||
134...142 => return error.UnsupportedRegister, // Reserved
|
||||
143 => return error.UnsupportedRegister, // RA_AUTH_CODE
|
||||
144...150 => return error.UnsupportedRegister, // R8_USR - R14_USR
|
||||
151...157 => return error.UnsupportedRegister, // R8_FIQ - R14_FIQ
|
||||
@ -329,12 +330,16 @@ const Arm = struct {
|
||||
160...161 => return error.UnsupportedRegister, // R13_ABT - R14_ABT
|
||||
162...163 => return error.UnsupportedRegister, // R13_UND - R14_UND
|
||||
164...165 => return error.UnsupportedRegister, // R13_SVC - R14_SVC
|
||||
166...191 => return error.UnsupportedRegister, // Reserved
|
||||
192...199 => return error.UnsupportedRegister, // wC0 - wC7
|
||||
200...255 => return error.UnsupportedRegister, // Reserved
|
||||
256...287 => return error.UnsupportedRegister, // D0 - D31
|
||||
288...319 => return error.UnsupportedRegister, // Reserved for FP/NEON
|
||||
320 => return error.UnsupportedRegister, // TPIDRURO
|
||||
321 => return error.UnsupportedRegister, // TPIDRURW
|
||||
322 => return error.UnsupportedRegister, // TPIDPR
|
||||
323 => return error.UnsupportedRegister, // HTPIDPR
|
||||
324...8191 => return error.UnsupportedRegister, // Reserved
|
||||
8192...16383 => return error.UnsupportedRegister, // Unspecified vendor co-processor register
|
||||
|
||||
else => return error.InvalidRegister,
|
||||
@ -393,6 +398,7 @@ const Aarch64 = extern struct {
|
||||
37 => return error.UnsupportedRegister, // TPIDR_EL1
|
||||
38 => return error.UnsupportedRegister, // TPIDR_EL2
|
||||
39 => return error.UnsupportedRegister, // TPIDR_EL3
|
||||
40...45 => return error.UnsupportedRegister, // Reserved
|
||||
46 => return error.UnsupportedRegister, // VG
|
||||
47 => return error.UnsupportedRegister, // FFR
|
||||
48...63 => return error.UnsupportedRegister, // P0 - P15
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user