Skip to content

Commit 419e5b5

Browse files
MattTheBlueMatt
authored andcommitted
Update README with notes about OSX addrsan
1 parent ad3f309 commit 419e5b5

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ bindings should be built with workarounds required for Android. JNI CFLAGS on de
2525
When running a program linking against the library in debug mode, LD_PRELOAD should likely include
2626
the relevant `libclang_rt.asan-platform.so` path.
2727

28+
Note that building with address sanitizer is only supported on MacOS with upstream clang (ie where
29+
the LLVM version in use matches the LLVM version against which rustc was built), not with Apple clang.
30+
Builds with Apple clang will work fine, but largely only be useful in a release context.
31+
To build on Mac with address sanitizer, you will need to run `ldk-c-bindings`' `genbindings.sh`
32+
script with upstream clang in your PATH and likely replace your $JAVA_HOME/bin/java with a simple
33+
wrapper which calls java after an export like:
34+
`export DYLD_INSERT_LIBRARIES=/path/to/upstream/llvm/lib/clang/12.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib`
35+
36+
To build for Apple M1 (ie aarch64-apple-darwin), you probably want something like
37+
`CC="clang --target=aarch64-apple-darwin" LDK_TARGET=aarch64-apple-darwin LDK_TARGET_CPU=generic ./genbindings.sh ...`
38+
2839
Status
2940
======
3041

0 commit comments

Comments
 (0)