File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -1836,13 +1836,14 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
1836
1836
// Authenticate the given pointer and return with the raw value
1837
1837
// if the authentication is succeeded.
1838
1838
inline uint64_t auth (uint64_t ptr, uint64_t salt) const {
1839
+ uint64_t ret;
1839
1840
register uint64_t x17 __asm (" x17" ) = ptr;
1840
1841
register uint64_t x16 __asm (" x16" ) = salt;
1841
1842
asm volatile (" hint 0xc" // autia1716
1842
1843
: " +r" (x17)
1843
1844
: " r" (x16)
1844
1845
:);
1845
-
1846
+ ret = x17;
1846
1847
uint64_t checkValue = ptr;
1847
1848
// Support for machines without FPAC.
1848
1849
// Strip the upper bits with `XPACLRI` and compare with the
@@ -1855,7 +1856,7 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
1855
1856
: " x30" );
1856
1857
if (x17 != checkValue)
1857
1858
_LIBUNWIND_ABORT (" IP PAC authentication failure" );
1858
- return x17 ;
1859
+ return ret ;
1859
1860
}
1860
1861
1861
1862
// Sign the PC with the A-KEY and the current salt.
You can’t perform that action at this time.
0 commit comments