Skip to content

Commit d8f5574

Browse files
committed
Add all the required reg_t and link_reg_t decls, and unify location
1 parent 2468194 commit d8f5574

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,
@@ -2198,6 +2201,9 @@ class _LIBUNWIND_HIDDEN Registers_arm {
21982201
Registers_arm();
21992202
Registers_arm(const void *registers);
22002203

2204+
typedef uint32_t reg_t;
2205+
typedef uint32_t link_reg_t;
2206+
22012207
bool validRegister(int num) const;
22022208
uint32_t getRegister(int num) const;
22032209
void setRegister(int num, uint32_t value);
@@ -2222,9 +2228,6 @@ class _LIBUNWIND_HIDDEN Registers_arm {
22222228
uint32_t getIP() const { return _registers.__pc; }
22232229
void setIP(uint32_t value) { _registers.__pc = value; }
22242230

2225-
typedef uint32_t reg_t;
2226-
typedef uint32_t link_reg_t;
2227-
22282231
void saveVFPAsX() {
22292232
assert(_use_X_for_vfp_save || !_saved_vfp_d0_d15);
22302233
_use_X_for_vfp_save = true;
@@ -2706,6 +2709,9 @@ class _LIBUNWIND_HIDDEN Registers_or1k {
27062709
Registers_or1k();
27072710
Registers_or1k(const void *registers);
27082711

2712+
typedef uint32_t reg_t;
2713+
typedef uint32_t link_reg_t;
2714+
27092715
bool validRegister(int num) const;
27102716
uint32_t getRegister(int num) const;
27112717
void setRegister(int num, uint32_t value);
@@ -2905,6 +2911,9 @@ class _LIBUNWIND_HIDDEN Registers_mips_o32 {
29052911
Registers_mips_o32();
29062912
Registers_mips_o32(const void *registers);
29072913

2914+
typedef uint32_t reg_t;
2915+
typedef uint32_t link_reg_t;
2916+
29082917
bool validRegister(int num) const;
29092918
uint32_t getRegister(int num) const;
29102919
void setRegister(int num, uint32_t value);
@@ -3240,6 +3249,9 @@ class _LIBUNWIND_HIDDEN Registers_mips_newabi {
32403249
Registers_mips_newabi();
32413250
Registers_mips_newabi(const void *registers);
32423251

3252+
typedef uint64_t reg_t;
3253+
typedef uint64_t link_reg_t;
3254+
32433255
bool validRegister(int num) const;
32443256
uint64_t getRegister(int num) const;
32453257
void setRegister(int num, uint64_t value);
@@ -3543,6 +3555,9 @@ class _LIBUNWIND_HIDDEN Registers_sparc {
35433555
Registers_sparc();
35443556
Registers_sparc(const void *registers);
35453557

3558+
typedef uint32_t reg_t;
3559+
typedef uint32_t link_reg_t;
3560+
35463561
bool validRegister(int num) const;
35473562
uint32_t getRegister(int num) const;
35483563
void setRegister(int num, uint32_t value);
@@ -3729,6 +3744,9 @@ class _LIBUNWIND_HIDDEN Registers_sparc64 {
37293744
Registers_sparc64() = default;
37303745
Registers_sparc64(const void *registers);
37313746

3747+
typedef uint64_t reg_t;
3748+
typedef uint64_t link_reg_t;
3749+
37323750
bool validRegister(int num) const;
37333751
uint64_t getRegister(int num) const;
37343752
void setRegister(int num, uint64_t value);
@@ -3914,6 +3932,9 @@ class _LIBUNWIND_HIDDEN Registers_hexagon {
39143932
Registers_hexagon();
39153933
Registers_hexagon(const void *registers);
39163934

3935+
typedef uint32_t reg_t;
3936+
typedef uint32_t link_reg_t;
3937+
39173938
bool validRegister(int num) const;
39183939
uint32_t getRegister(int num) const;
39193940
void setRegister(int num, uint32_t value);
@@ -4129,6 +4150,9 @@ class _LIBUNWIND_HIDDEN Registers_riscv {
41294150
Registers_riscv();
41304151
Registers_riscv(const void *registers);
41314152

4153+
typedef ::libunwind::reg_t reg_t;
4154+
typedef ::libunwind::reg_t link_reg_t;
4155+
41324156
bool validRegister(int num) const;
41334157
reg_t getRegister(int num) const;
41344158
void setRegister(int num, reg_t value);
@@ -4426,6 +4450,9 @@ class _LIBUNWIND_HIDDEN Registers_ve {
44264450
Registers_ve();
44274451
Registers_ve(const void *registers);
44284452

4453+
typedef uint64_t reg_t;
4454+
typedef uint64_t link_reg_t;
4455+
44294456
bool validRegister(int num) const;
44304457
uint64_t getRegister(int num) const;
44314458
void setRegister(int num, uint64_t value);
@@ -4869,6 +4896,9 @@ class _LIBUNWIND_HIDDEN Registers_s390x {
48694896
Registers_s390x();
48704897
Registers_s390x(const void *registers);
48714898

4899+
typedef uint64_t reg_t;
4900+
typedef uint64_t link_reg_t;
4901+
48724902
bool validRegister(int num) const;
48734903
uint64_t getRegister(int num) const;
48744904
void setRegister(int num, uint64_t value);
@@ -5157,6 +5187,9 @@ class _LIBUNWIND_HIDDEN Registers_loongarch {
51575187
Registers_loongarch();
51585188
Registers_loongarch(const void *registers);
51595189

5190+
typedef uint64_t reg_t;
5191+
typedef uint64_t link_reg_t;
5192+
51605193
bool validRegister(int num) const;
51615194
uint64_t getRegister(int num) const;
51625195
void setRegister(int num, uint64_t value);

0 commit comments

Comments
 (0)