step D+1: add third trivial C static lib (hello2.c)
Step D (hello.c + getauxval_fix.c) launches cleanly. E.minus-1 (hello.c + getauxval_fix.c + cpp_smoke.c) crashes. All three are plain-C trivial single-function files. Theory: the regression is triggered by having 3 or more cc::Build static libs in a Tauri Android cdylib, regardless of what the libs contain. Test: clone hello.c as hello2.c (same content, different symbol) and add a third cc::Build step compiling it. If this crashes, the trigger is just the number of static libs. If it launches, there's something magical about cpp_smoke.c specifically (unlikely — it was near-identical content). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,15 @@ fn main() {
|
||||
cc::Build::new()
|
||||
.file("cpp/getauxval_fix.c")
|
||||
.compile("getauxval_fix");
|
||||
|
||||
// Step D+1: identical-content clone of hello.c as a third cc::Build
|
||||
// static library. Tests the "any 3rd static lib triggers the crash"
|
||||
// theory in isolation — no C++, no external deps, same C content as
|
||||
// the known-working hello.c.
|
||||
println!("cargo:rerun-if-changed=cpp/hello2.c");
|
||||
cc::Build::new()
|
||||
.file("cpp/hello2.c")
|
||||
.compile("wzp_hello2");
|
||||
}
|
||||
|
||||
tauri_build::build()
|
||||
|
||||
8
desktop/src-tauri/cpp/hello2.c
Normal file
8
desktop/src-tauri/cpp/hello2.c
Normal file
@@ -0,0 +1,8 @@
|
||||
/* hello2.c — identical content to hello.c, different file name + symbol.
|
||||
* Purpose: test if adding a THIRD trivial C static lib via cc::Build
|
||||
* regresses Step D regardless of what's in the file. Never called from Rust. */
|
||||
#include <stdint.h>
|
||||
|
||||
int32_t wzp_hello2_stub(void) {
|
||||
return 43;
|
||||
}
|
||||
Reference in New Issue
Block a user