Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot link code compiled with -fxray-instrument. #368

Open
serhiihuralniksc opened this issue Apr 21, 2017 · 8 comments
Open

Cannot link code compiled with -fxray-instrument. #368

serhiihuralniksc opened this issue Apr 21, 2017 · 8 comments

Comments

@serhiihuralniksc
Copy link

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
@pirama-arumuga-nainar
Copy link
Collaborator

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.

@DanAlbert
Copy link
Member

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
Copy link
Member

@stephenhines: here's another clang feature request

@DanAlbert DanAlbert added this to the r18 milestone Mar 16, 2018
@DanAlbert
Copy link
Member

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

@pirama-arumuga-nainar
Copy link
Collaborator

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.

@DanAlbert
Copy link
Member

Great, thanks.

@pirama-arumuga-nainar
Copy link
Collaborator

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.

@DanAlbert DanAlbert modified the milestones: r18, r19 Mar 27, 2018
@DanAlbert
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants