Lines 1-20
Link Here
|
1 |
--- src/ptrace/_UPT_access_fpreg.c.orig 2018-06-15 23:58:03 UTC |
1 |
--- src/ptrace/_UPT_access_fpreg.c.orig 2019-09-04 09:33:38 UTC |
2 |
+++ src/ptrace/_UPT_access_fpreg.c |
2 |
+++ src/ptrace/_UPT_access_fpreg.c |
3 |
@@ -85,6 +85,8 @@ _UPT_access_fpreg (unw_addr_space_t as, unw_regnum_t r |
3 |
@@ -81,6 +81,8 @@ _UPT_access_fpreg (unw_addr_space_t as, |
4 |
memcpy(&fpreg.fpr_xacc[reg], val, sizeof(unw_fpreg_t)); |
|
|
5 |
#elif defined(__i386__) |
4 |
#elif defined(__i386__) |
6 |
memcpy(&fpreg.fpr_acc[reg], val, sizeof(unw_fpreg_t)); |
5 |
if ((unsigned) reg < UNW_X86_ST0 || (unsigned) reg > UNW_X86_ST7) |
|
|
6 |
return -UNW_EBADREG; |
7 |
+#elif defined(__aarch64__) |
7 |
+#elif defined(__aarch64__) |
8 |
+ memcpy(&fpreg.fp_q[reg], val, sizeof(unw_fpreg_t)); |
8 |
+ memcpy(&fpreg.fp_q[reg], val, sizeof(unw_fpreg_t)); |
9 |
#else |
9 |
#elif defined(__arm__) |
10 |
#error Fix me |
10 |
if ((unsigned) reg < UNW_ARM_F0 || (unsigned) reg > UNW_ARM_F7) |
11 |
#endif |
11 |
return -UNW_EBADREG; |
12 |
@@ -95,6 +97,8 @@ _UPT_access_fpreg (unw_addr_space_t as, unw_regnum_t r |
12 |
@@ -97,6 +99,8 @@ _UPT_access_fpreg (unw_addr_space_t as, |
13 |
memcpy(val, &fpreg.fpr_xacc[reg], sizeof(unw_fpreg_t)); |
13 |
memcpy(&fpreg.fpr_xacc[reg], val, sizeof(unw_fpreg_t)); |
14 |
#elif defined(__i386__) |
14 |
#elif defined(__i386__) |
15 |
memcpy(val, &fpreg.fpr_acc[reg], sizeof(unw_fpreg_t)); |
15 |
memcpy(&fpreg.fpr_acc[reg], val, sizeof(unw_fpreg_t)); |
16 |
+#elif defined(__aarch64__) |
16 |
+#elif defined(__aarch64__) |
17 |
+ memcpy(val, &fpreg.fp_q[reg], sizeof(unw_fpreg_t)); |
17 |
+ memcpy(val, &fpreg.fp_q[reg], sizeof(unw_fpreg_t)); |
|
|
18 |
#elif defined(__arm__) |
19 |
memcpy(&fpreg.fpr[reg], val, sizeof(unw_fpreg_t)); |
18 |
#else |
20 |
#else |
19 |
#error Fix me |
|
|
20 |
#endif |