We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#include <stdio.h> #include "sljit/sljitLir.h" typedef void(SLJIT_FUNC* entry)(void); static void SLJIT_FUNC foo(void* p) { (void)(p); } int main(int argc, char* argv[]) { struct sljit_compiler* compiler = sljit_create_compiler(NULL); sljit_emit_enter(compiler, 0, SLJIT_ARGS0V(), 1, 1, 64); // stack[16] = 1i64 sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), 16, SLJIT_IMM, 1); // stack[24] = 2i64 sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), 24, SLJIT_IMM, 2); // stack[0] = 0i64 sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), 0, SLJIT_IMM, 0); // stack[8] = &stack[16] sljit_get_local_base(compiler, SLJIT_MEM1(SLJIT_SP), 8, 16); // foo(&stack[0]) sljit_get_local_base(compiler, SLJIT_R0, 0, 0); sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS1V(P), SLJIT_IMM, SLJIT_FUNC_ADDR(foo)); sljit_emit_return_void(compiler); entry f = (entry)sljit_generate_code(compiler, 0, NULL); f(); sljit_free_code(f, NULL); sljit_free_compiler(compiler); }
The above code works fine on X86_64 but causes a segfault on ARM64
The text was updated successfully, but these errors were encountered:
Thank you for the report. It looks like sljit_get_local_base was bad on ARM64. #282 fixed it.
Sorry, something went wrong.
No branches or pull requests
The above code works fine on X86_64 but causes a segfault on ARM64
The text was updated successfully, but these errors were encountered: