1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-08 14:02:17 +03:00

CONC-764: Build error in ma_context.c on android

X18 is a platform-reserved register on Android, not a callee-save
register. So it will not be touched by the spawned/resumed co-routine
and must not be included in the GCC asm clobber list on this platform.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
This commit is contained in:
Kristian Nielsen
2025-04-01 19:25:48 +02:00
parent a7ad25b01b
commit 8e371bbe8e

View File

@@ -725,7 +725,11 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d)
[stack] "+r" (stack) [stack] "+r" (stack)
: [save] "r" (save) : [save] "r" (save)
: "x3", "x4", "x5", "x6", "x7", : "x3", "x4", "x5", "x6", "x7",
"x9", "x10", "x11", "x14", "x15", "x18", "x30", "x9", "x10", "x11", "x14", "x15",
#ifndef __ANDROID__
"x18",
#endif
"x30",
"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
"v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
"v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
@@ -828,7 +832,11 @@ my_context_continue(struct my_context *c)
: [ret] "=r" (ret) : [ret] "=r" (ret)
: [save] "r" (save) : [save] "r" (save)
: "x1", "x2", "x3", "x4", "x5", "x6", "x7", : "x1", "x2", "x3", "x4", "x5", "x6", "x7",
"x9", "x10", "x11", "x12", "x13", "x14", "x15", "x18", "x30", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
#ifndef __ANDROID__
"x18",
#endif
"x30",
"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
"v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
"v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
@@ -905,7 +913,11 @@ my_context_yield(struct my_context *c)
: :
: [save] "r" (save) : [save] "r" (save)
: "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", : "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
"x9", "x10", "x11", "x12", "x13", "x14", "x15", "x18", "x30", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
#ifndef __ANDROID__
"x18",
#endif
"x30",
"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
"v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
"v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",