Skip to content

Commit 5b09bc5

Browse files
committed
Add all the required reg_t and link_reg_t decls, and unify location
1 parent 3d79bd4 commit 5b09bc5

File tree

1 file changed

+48
-15
lines changed

1 file changed

+48
-15
lines changed

libunwind/src/Registers.hpp

Lines changed: 48 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ class _LIBUNWIND_HIDDEN Registers_x86 {
6565
Registers_x86();
6666
Registers_x86(const void *registers);
6767

68+
typedef uint32_t reg_t;
69+
typedef uint32_t link_reg_t;
70+
6871
bool validRegister(int num) const;
6972
uint32_t getRegister(int num) const;
7073
void setRegister(int num, uint32_t value);
@@ -98,9 +101,6 @@ class _LIBUNWIND_HIDDEN Registers_x86 {
98101
uint32_t getEDI() const { return _registers.__edi; }
99102
void setEDI(uint32_t value) { _registers.__edi = value; }
100103

101-
typedef uint32_t reg_t;
102-
typedef uint32_t link_reg_t;
103-
104104
private:
105105
struct GPRs {
106106
unsigned int __eax;
@@ -286,6 +286,9 @@ class _LIBUNWIND_HIDDEN Registers_x86_64 {
286286
Registers_x86_64();
287287
Registers_x86_64(const void *registers);
288288

289+
typedef uint64_t reg_t;
290+
typedef uint64_t link_reg_t;
291+
289292
bool validRegister(int num) const;
290293
uint64_t getRegister(int num) const;
291294
void setRegister(int num, uint64_t value);
@@ -319,9 +322,6 @@ class _LIBUNWIND_HIDDEN Registers_x86_64 {
319322
uint64_t getR15() const { return _registers.__r15; }
320323
void setR15(uint64_t value) { _registers.__r15 = value; }
321324

322-
typedef uint64_t reg_t;
323-
typedef uint64_t link_reg_t;
324-
325325
private:
326326
struct GPRs {
327327
uint64_t __rax;
@@ -608,6 +608,9 @@ class _LIBUNWIND_HIDDEN Registers_ppc {
608608
Registers_ppc();
609609
Registers_ppc(const void *registers);
610610

611+
typedef uint32_t reg_t;
612+
typedef uint32_t link_reg_t;
613+
611614
bool validRegister(int num) const;
612615
uint32_t getRegister(int num) const;
613616
void setRegister(int num, uint32_t value);
@@ -633,9 +636,6 @@ class _LIBUNWIND_HIDDEN Registers_ppc {
633636
uint64_t getLR() const { return _registers.__lr; }
634637
void setLR(uint32_t value) { _registers.__lr = value; }
635638

636-
typedef uint32_t reg_t;
637-
typedef uint32_t link_reg_t;
638-
639639
private:
640640
struct ppc_thread_state_t {
641641
unsigned int __srr0; /* Instruction address register (PC) */
@@ -1183,6 +1183,9 @@ class _LIBUNWIND_HIDDEN Registers_ppc64 {
11831183
Registers_ppc64();
11841184
Registers_ppc64(const void *registers);
11851185

1186+
typedef uint64_t reg_t;
1187+
typedef uint64_t link_reg_t;
1188+
11861189
bool validRegister(int num) const;
11871190
uint64_t getRegister(int num) const;
11881191
void setRegister(int num, uint64_t value);
@@ -1843,6 +1846,9 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
18431846
Registers_arm64(const Registers_arm64&);
18441847
Registers_arm64& operator=(const Registers_arm64&);
18451848

1849+
typedef uint64_t reg_t;
1850+
typedef uint64_t __ptrauth_unwind_registers_arm64_link_reg link_reg_t;
1851+
18461852
bool validRegister(int num) const;
18471853
uint64_t getRegister(int num) const;
18481854
void setRegister(int num, uint64_t value);
@@ -1890,9 +1896,6 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
18901896
uint64_t getFP() const { return _registers.__fp; }
18911897
void setFP(uint64_t value) { _registers.__fp = value; }
18921898

1893-
typedef uint64_t reg_t;
1894-
typedef uint64_t __ptrauth_unwind_registers_arm64_link_reg link_reg_t;
1895-
18961899
#if __has_feature(ptrauth_calls)
18971900
void
18981901
loadAndAuthenticateLinkRegister(reg_t inplaceAuthedLinkRegister,
@@ -2230,6 +2233,9 @@ class _LIBUNWIND_HIDDEN Registers_arm {
22302233
Registers_arm();
22312234
Registers_arm(const void *registers);
22322235

2236+
typedef uint32_t reg_t;
2237+
typedef uint32_t link_reg_t;
2238+
22332239
bool validRegister(int num) const;
22342240
uint32_t getRegister(int num) const;
22352241
void setRegister(int num, uint32_t value);
@@ -2254,9 +2260,6 @@ class _LIBUNWIND_HIDDEN Registers_arm {
22542260
uint32_t getIP() const { return _registers.__pc; }
22552261
void setIP(uint32_t value) { _registers.__pc = value; }
22562262

2257-
typedef uint32_t reg_t;
2258-
typedef uint32_t link_reg_t;
2259-
22602263
void saveVFPAsX() {
22612264
assert(_use_X_for_vfp_save || !_saved_vfp_d0_d15);
22622265
_use_X_for_vfp_save = true;
@@ -2738,6 +2741,9 @@ class _LIBUNWIND_HIDDEN Registers_or1k {
27382741
Registers_or1k();
27392742
Registers_or1k(const void *registers);
27402743

2744+
typedef uint32_t reg_t;
2745+
typedef uint32_t link_reg_t;
2746+
27412747
bool validRegister(int num) const;
27422748
uint32_t getRegister(int num) const;
27432749
void setRegister(int num, uint32_t value);
@@ -2937,6 +2943,9 @@ class _LIBUNWIND_HIDDEN Registers_mips_o32 {
29372943
Registers_mips_o32();
29382944
Registers_mips_o32(const void *registers);
29392945

2946+
typedef uint32_t reg_t;
2947+
typedef uint32_t link_reg_t;
2948+
29402949
bool validRegister(int num) const;
29412950
uint32_t getRegister(int num) const;
29422951
void setRegister(int num, uint32_t value);
@@ -3272,6 +3281,9 @@ class _LIBUNWIND_HIDDEN Registers_mips_newabi {
32723281
Registers_mips_newabi();
32733282
Registers_mips_newabi(const void *registers);
32743283

3284+
typedef uint64_t reg_t;
3285+
typedef uint64_t link_reg_t;
3286+
32753287
bool validRegister(int num) const;
32763288
uint64_t getRegister(int num) const;
32773289
void setRegister(int num, uint64_t value);
@@ -3575,6 +3587,9 @@ class _LIBUNWIND_HIDDEN Registers_sparc {
35753587
Registers_sparc();
35763588
Registers_sparc(const void *registers);
35773589

3590+
typedef uint32_t reg_t;
3591+
typedef uint32_t link_reg_t;
3592+
35783593
bool validRegister(int num) const;
35793594
uint32_t getRegister(int num) const;
35803595
void setRegister(int num, uint32_t value);
@@ -3761,6 +3776,9 @@ class _LIBUNWIND_HIDDEN Registers_sparc64 {
37613776
Registers_sparc64() = default;
37623777
Registers_sparc64(const void *registers);
37633778

3779+
typedef uint64_t reg_t;
3780+
typedef uint64_t link_reg_t;
3781+
37643782
bool validRegister(int num) const;
37653783
uint64_t getRegister(int num) const;
37663784
void setRegister(int num, uint64_t value);
@@ -3946,6 +3964,9 @@ class _LIBUNWIND_HIDDEN Registers_hexagon {
39463964
Registers_hexagon();
39473965
Registers_hexagon(const void *registers);
39483966

3967+
typedef uint32_t reg_t;
3968+
typedef uint32_t link_reg_t;
3969+
39493970
bool validRegister(int num) const;
39503971
uint32_t getRegister(int num) const;
39513972
void setRegister(int num, uint32_t value);
@@ -4161,6 +4182,9 @@ class _LIBUNWIND_HIDDEN Registers_riscv {
41614182
Registers_riscv();
41624183
Registers_riscv(const void *registers);
41634184

4185+
typedef ::libunwind::reg_t reg_t;
4186+
typedef ::libunwind::reg_t link_reg_t;
4187+
41644188
bool validRegister(int num) const;
41654189
reg_t getRegister(int num) const;
41664190
void setRegister(int num, reg_t value);
@@ -4458,6 +4482,9 @@ class _LIBUNWIND_HIDDEN Registers_ve {
44584482
Registers_ve();
44594483
Registers_ve(const void *registers);
44604484

4485+
typedef uint64_t reg_t;
4486+
typedef uint64_t link_reg_t;
4487+
44614488
bool validRegister(int num) const;
44624489
uint64_t getRegister(int num) const;
44634490
void setRegister(int num, uint64_t value);
@@ -4901,6 +4928,9 @@ class _LIBUNWIND_HIDDEN Registers_s390x {
49014928
Registers_s390x();
49024929
Registers_s390x(const void *registers);
49034930

4931+
typedef uint64_t reg_t;
4932+
typedef uint64_t link_reg_t;
4933+
49044934
bool validRegister(int num) const;
49054935
uint64_t getRegister(int num) const;
49064936
void setRegister(int num, uint64_t value);
@@ -5189,6 +5219,9 @@ class _LIBUNWIND_HIDDEN Registers_loongarch {
51895219
Registers_loongarch();
51905220
Registers_loongarch(const void *registers);
51915221

5222+
typedef uint64_t reg_t;
5223+
typedef uint64_t link_reg_t;
5224+
51925225
bool validRegister(int num) const;
51935226
uint64_t getRegister(int num) const;
51945227
void setRegister(int num, uint64_t value);

0 commit comments

Comments
 (0)