diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-10-30 22:38:15 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-10-30 22:38:15 +0100 |
commit | 937ae82a1ba2515e2e3def6250bb0b13a228a08d (patch) | |
tree | a68b9006c678831faebf57ff6b2151d70cd694cf | |
parent | 2d7c39e09627f0071ddb4650b2f0b3f2838e4d99 (diff) | |
download | mariadb-git-937ae82a1ba2515e2e3def6250bb0b13a228a08d.tar.gz |
fix async client code for i386 (assembly)
and when safemalloc is enabled (use ucontext, otherwise backtrace function gets confused and crashes)
-rw-r--r-- | include/my_context.h | 2 | ||||
-rw-r--r-- | mysys/my_context.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/my_context.h b/include/my_context.h index 0abf49efd43..3438ce4c969 100644 --- a/include/my_context.h +++ b/include/my_context.h @@ -29,7 +29,7 @@ #define MY_CONTEXT_USE_WIN32_FIBERS 1 #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__x86_64__) #define MY_CONTEXT_USE_X86_64_GCC_ASM -#elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__) +#elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__) && !defined(SAFEMALLOC) #define MY_CONTEXT_USE_I386_GCC_ASM #else #define MY_CONTEXT_USE_UCONTEXT diff --git a/mysys/my_context.c b/mysys/my_context.c index d2374391a39..1a147437c90 100644 --- a/mysys/my_context.c +++ b/mysys/my_context.c @@ -487,9 +487,9 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) : [stack] "a" (c->stack_top), /* Need this in callee-save register to preserve across function call. */ [save] "D" (&c->save[0]), - [f] "m" (f), - [d] "m" (d) - : "ecx", "edx", "memory", "cc" + [f] "c" (f), + [d] "d" (d) + : "memory", "cc" ); DBUG_SWAP_CODE_STATE(&c->dbug_state); |