ndk icon indicating copy to clipboard operation
ndk copied to clipboard

Cannot link code compiled with -fxray-instrument.

Open shuralnik-sc opened this issue 8 years ago • 8 comments
trafficstars

Description

Clang toolchain is not able to link code compiled with -fxray-instrument, for any ABI. Linker fails with next messages:

/home/serg/tools/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot open /home/serg/tools/android-ndk-r14b/toolchains/llvm/prebuilt/darwin-x86_64/bin/../lib64/clang/3.8.275480/lib/linux/libclang_rt.xray-arm-android.a: No such file or directory
/home/serg/tools/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lpthread
/home/serg/tools/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lrt

Environment Details

  • NDK Version: 14.1.3816874
  • Build system: any
  • Host OS: Mac
  • Compiler: clang
  • ABI: any
  • STL: N/A
  • NDK API level: N/A
  • Device API level: N/A

shuralnik-sc avatar Apr 21 '17 11:04 shuralnik-sc

The xray runtimes are missing from the packaged Clang. It's not even built right now. We may be able to get it in r15 but not a certainity.

pirama-arumuga-nainar avatar Apr 21 '17 17:04 pirama-arumuga-nainar

Looks like we need a driver fix too, though. It's trying to link libpthread and librt, which don't exist on Android (it's all just bundled in libc).

DanAlbert avatar Apr 21 '17 20:04 DanAlbert

@stephenhines: here's another clang feature request

DanAlbert avatar Mar 16 '18 03:03 DanAlbert

Not sure how much work this will be. Feel free to punt.

DanAlbert avatar Mar 16 '18 03:03 DanAlbert

The xray runtimes are now available (clang-4639204). We just need to update the driver to omit lpthread and lrt. I'll prepare an upstream change.

pirama-arumuga-nainar avatar Mar 16 '18 04:03 pirama-arumuga-nainar

Great, thanks.

DanAlbert avatar Mar 16 '18 17:03 DanAlbert

Regarding my previous comment, I don't know what I was testing. Compiler-rt does not build xray runtimes for Android yet (https://github.com/llvm-mirror/compiler-rt/blob/351f235ea4d0bfa17b65dd3a0ac14bbd8a98b90b/cmake/config-ix.cmake#L603). We'll reach out to the xray developers to test for Android and also see what we can do from our side. There's no definitive milestone for this yet.

pirama-arumuga-nainar avatar Mar 21 '18 23:03 pirama-arumuga-nainar

Okay, let us know when you have even a vague idea of what sort of effort this will take and we can re-triage.

DanAlbert avatar Mar 27 '18 18:03 DanAlbert