forked from OSchip/llvm-project
Fix unw_getcontext() return value on AArch64.
unw_getcontext() should return UNW_ESUCCESS on success. Therefore, the assembly for AArch64 is incorrect because "ldr x0, #0" is a PC-relative load instead of an immediate value load. llvm-svn: 240648
This commit is contained in:
parent
4dd6173bac
commit
549d405877
|
@ -277,7 +277,7 @@ DEFINE_LIBUNWIND_FUNCTION(unw_getcontext)
|
|||
stp d28,d29, [x0, #0x1F0]
|
||||
str d30, [x0, #0x200]
|
||||
str d31, [x0, #0x208]
|
||||
ldr x0, #0 // return UNW_ESUCCESS
|
||||
mov x0, #0 // return UNW_ESUCCESS
|
||||
ret
|
||||
|
||||
#elif defined(__arm__) && !defined(__APPLE__)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#include <assert.h>
|
||||
#include <libunwind.h>
|
||||
|
||||
int main() {
|
||||
unw_context_t context;
|
||||
int ret = unw_getcontext(&context);
|
||||
assert(ret == UNW_ESUCCESS);
|
||||
}
|
Loading…
Reference in New Issue