Open
Bug 1399396
Opened 8 years ago
Updated 3 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•8 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•8 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•8 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•7 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•7 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•7 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•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•