diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2011-04-15 13:20:34 -0700 |
---|---|---|
committer | Joshua Haberman <jhaberman@gmail.com> | 2011-04-15 13:20:34 -0700 |
commit | 4d209efd230cb6d015dbadf0ea17264fd9943b71 (patch) | |
tree | e35a9d8f84f1e69a1bde9de46925b3067368baa2 /src/upb_decoder_x86.dasc | |
parent | c110061a7310db65f71c2d716d5ed9d9b2b900e0 (diff) | |
parent | 6b16e74cdcf1203b8c1622b1a77739078dae886a (diff) |
Merge branch 'master' of git@github.com:haberman/upb
Diffstat (limited to 'src/upb_decoder_x86.dasc')
-rw-r--r-- | src/upb_decoder_x86.dasc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/upb_decoder_x86.dasc b/src/upb_decoder_x86.dasc index fac0dcf..f56b9f8 100644 --- a/src/upb_decoder_x86.dasc +++ b/src/upb_decoder_x86.dasc @@ -67,15 +67,15 @@ gdb_jit_descriptor __jit_debug_descriptor = {1, GDB_JIT_NOACTION, NULL, NULL}; void __attribute__((noinline)) __jit_debug_register_code() { __asm__ __volatile__(""); } -void upb_reg_jit_gdb(upb_decoder *d, void *addr, size_t size) { +void upb_reg_jit_gdb(upb_decoder *d) { // Create debug info. size_t elf_len = src_jit_debug_elf_file_o_len; d->debug_info = malloc(elf_len); memcpy(d->debug_info, src_jit_debug_elf_file_o, elf_len); uint64_t *p = (void*)d->debug_info; for (; (void*)(p+1) <= (void*)d->debug_info + elf_len; ++p) { - if (*p == 0x12345678) { *p = (uintptr_t)addr; } - if (*p == 0x321) { *p = size; } + if (*p == 0x12345678) { *p = (uintptr_t)d->jit_code; } + if (*p == 0x321) { *p = d->jit_size; } } // Register the JIT-ted code with GDB. @@ -93,9 +93,8 @@ void upb_reg_jit_gdb(upb_decoder *d, void *addr, size_t size) { #else -void upb_reg_jit_gdb(void *addr, size_t size) { - (void)addr; - (void)size; +void upb_reg_jit_gdb(upb_decoder *d) { + (void)d } #endif @@ -664,7 +663,7 @@ void upb_decoder_makejit(upb_decoder *d) { d->jit_code = mmap(NULL, d->jit_size, PROT_READ | PROT_WRITE, MAP_32BIT | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); - upb_reg_jit_gdb(d->jit_code, d->jit_size); + upb_reg_jit_gdb(d); dasm_encode(d, d->jit_code); |