Open
Bug 1399396
Opened 7 years ago
Updated 2 years ago
Support code coverage builds on Android
Categories
(Testing :: Code Coverage, enhancement)
Testing
Code Coverage
Tracking
(Not tracked)
NEW
People
(Reporter: marco, Unassigned)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
7.00 KB,
patch
|
Details | Diff | Splinter Review |
This should not be too different from Linux. I don't know much about the way tests work on Android though, I don't know if there are problems accessing the gcda files.
Comment 1•7 years ago
|
||
(In reply to Marco Castelluccio [:marco] from comment #0) > This should not be too different from Linux. Out of curiosity, what about the Android-specific Java code?
Reporter | ||
Comment 2•7 years ago
|
||
(In reply to Jan Henning [:JanH] from comment #1) > (In reply to Marco Castelluccio [:marco] from comment #0) > > This should not be too different from Linux. > > Out of curiosity, what about the Android-specific Java code? It will be different, this is only about the C/C++ code.
Comment 3•7 years ago
|
||
I think given the lack of Mozilla development resources on Android, we should assume Android has a lower priority than desktop and only work on it once we have more coverage on desktop.
Reporter | ||
Comment 4•6 years ago
|
||
We will require r17 in order to build the coverage build because of https://github.com/android-ndk/ndk/issues/411. Here's a WIP patch.
Comment 5•6 years ago
|
||
We've switched from NDK's clang to our own: https://bugzilla.mozilla.org/show_bug.cgi?id=1435409#c4. I've rebased and re-applied your patch with the new clang, here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=66a501ea5a6f3e937977fb8f0673c56fc876205a. Build is failing with: configure:1496:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main(){return(0);} ^ 1 warning generated. /builds/worker/workspace/build/src/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux -androideabi/bin/ld: error: cannot open /builds/worker/workspace/build/src/clang/lib/clang/6.0.1/lib/linux/libclang_rt.profile-arm-android.a: No such file or directory /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_writeout: error: undefined reference to 'llvm_gcda_start_file' /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_writeout: error: undefined reference to 'llvm_gcda_emit_function' /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_writeout: error: undefined reference to 'llvm_gcda_emit_arcs' /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_writeout: error: undefined reference to 'llvm_gcda_summary_info' /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_writeout: error: undefined reference to 'llvm_gcda_end_file' /tmp/conftest-7071d9.o:conftest.c:function __llvm_gcov_init: error: undefined reference to 'llvm_gcov_init' clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation) configure: failed program was: #line 1494 "configure" #include "confdefs.h" main(){return(0);} configure: error: installation or configuration problem: C compiler cannot create executables. It appears we don't have compiler-rt installed in that environment. What are the next steps here?
Flags: needinfo?(mcastelluccio)
Reporter | ||
Comment 6•6 years ago
|
||
We are using the linux64-clang toolchain for this build (cross-compiling), so we only have the linux compiler-rt libraries. We need to find a way to build them for Android too (either in the same toolchain build, or in a new one we define). The script used to build Clang/LLVM/compiler-rt is at build/build-clang/build-clang.py.
Flags: needinfo?(mcastelluccio)
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•