aboutsummaryrefslogtreecommitdiff
path: root/android
Commit message (Collapse)AuthorAgeFilesLines
* Misc Android-related fixes.digit@chromium.org2013-12-132-2/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - src/common/android/testing/mkdtemp.h: Fixes a compilation error when using the (recent) NDK r9b, see comments in the source file for details. - android/test-driver, Makefile.am, Makefile.in: Autotools 1.12 changed the way tests are run during "make check" so add a new "custom test driver" to run tests on Android, and modify Makefile.am / Makefile.in accordingly. Otherwise, 'make check' tried to run the tests on the host. - android/test-shell.sh: Allow several tests to run in parallel on the device, by creating a custom test directory for each test process. This allows running "make check -j8" reliably. - src/common/linux/file_id_unittest.cc: Disable the SelfStrip test on Android, since it assumes a 'strip' executable is available on the target system where the test runs. BUG=NONE R=mark@chromium.org, ted.mielczarek@gmail.com TEST=android/run-checks.sh --ndk-dir=/path/to/android-ndk-r9b Review URL: https://breakpad.appspot.com/904003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1259 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the Android/MIPS build.digit@chromium.org2013-09-253-7/+6
| | | | | | | | | | | | | | | | | | | | | | | This patch fixes the build for Android on MIPS when using the latest official Android NDK (r9): - Update src/common/android/include/elf.h to add a missing definition for SHT_MIPS_DWARF. - Add src/common/android/include/sgidefs.h required by LSS when compiling for MIPS. - Update android/run-checks.sh to work properly with the --abi=mips option. All tests were passed succesfully with an emulator system image running Android 4.2. - Update other Android-specific files. R=Petar.Jovanovic@imgtec.com, mark@chromium.org Review URL: https://breakpad.appspot.com/633002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1216 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the Android unit tests.digit@chromium.org2012-10-091-16/+21
| | | | | | | | | | | | | | | | | | | - One of the unit test binaries refused to link due to missing linker flags. - The WriteDSODebug() function now works on Android, so do not special-case it anymore. - Ensure android/run-checks.sh will complain properly if the client unit test suite fails on Android. It used to consider that such failures were acceptable. Note that it still considers failures when running the tools and processor test suite on the device normal (fixing this is a lot harder, and these parts of Breakpad typically never run on a device, but on the host). Review URL: https://breakpad.appspot.com/482002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1066 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minidumps never contain MD_LINUX_DSO_DEBUG info when breakpad is in a shared ↵ted.mielczarek@gmail.com2012-09-191-1/+4
| | | | | | | | | library A=Mike Hommey <mh@glandium.org> R=ted at http://breakpad.appspot.com/422002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1044 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add custom getcontext() implementation for Android.digit@chromium.org2012-08-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This adds a minimalistic implementation of getcontext() for Android/ARM and Android/x86. The provided code is in assembly and only implements the bare minimum required by Breakpad to get the current processor state. Note that: - The FPU state is not saved to the ucontext_t on ARM. (that's actually the main difference with a normal getcontext() implementation). This is normal. On Linux/ARM, such state must be obtained with PTRACE_GETVFPREGS instead. This will be implemented in a future patch. - On x86, only the 'regular' FPU state is saved, to mimic the GLibc/i386 implementation. The state of SSE/SSE2/etc registers is not part of the upstream getcontext() implementation. Review URL: https://breakpad.appspot.com/444002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1024 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix 'make check' for Androiddigit@chromium.org2012-08-313-201/+594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows 'make check' to work when performing an Automake-based build of Breakpad for Android. This requires to have an Android device connected, and the 'adb' tool in your path. You can test that with something like: configure --host=arm-linux-androideabi make check This is achieved by adding a new small shell script under android/test-shell.sh, which is invoked by the Makefile (see TESTS_ENVIRONMENT definition in Makefile.am). By default, this runs all unit tests, including those for the processor and tools (which normally never run on an Android device). Note that the test suites fails (e.g. 11 failing tests for the client library). This will be addressed in later patches. + Modify android/run-checks.sh to run the client library test suite on the device by default. + Add a new option (--all-tests) to android/run-checks.sh which forces it to run the unit test suite for the host binaries, and the full suite on the Android device. + Update README.ANDROID appropriately. Review URL: https://breakpad.appspot.com/441002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1023 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the tools and processor build for Androiddigit@chromium.org2012-08-211-10/+15
| | | | | | | | | | | | | | | | | | This small patch allows the build of the tools and processor when targetting Android with the Automake/Autconf build. Not that these necessarily work correctly at the moment, but there is no need for --disable-tools --disable-processor now when using --host=arm-linux-androideabi or --host=i686-linux-android. + Modify android/run-checks.sh to build all binaries with the Automake build. + Tiny fix for --abi=x86 in android/run-checks.sh Review URL: https://breakpad.appspot.com/438002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1018 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Improve Android supportdigit@chromium.org2012-08-211-1/+3
| | | | | | | | | | | | | | | | | | This patch remove many Android-specific #ifdefs from the Breakpad source code. This is achieved by providing "fixed-up" platform headers (e.g. <signal.h> or <sys/user,h>), in the new directory src/common/android/include/, which masks differences between the NDK and GLibc headers. The old "android_link.h" and "android_ucontext.h" are moved and renamed. This also requires putting this directory as the first include path during Android-hosted builds, hence the modification of Makefile.am and configure.ac Review URL: https://breakpad.appspot.com/434002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1017 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix Android build.digit@chromium.org2012-08-202-4/+7
| | | | | | | | | | This patch fixes the Android build, and updates the NDK test application to use the new Linux ExceptionHandler API. + Use string insted of std::string in minidump_descriptor.h Review URL: https://breakpad.appspot.com/433002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1016 4c0a9323-5329-0410-9bdc-e9ce6186880e
* android: Add --abi option to android/run-checks.shdigit@chromium.org2012-08-032-13/+67
| | | | | | | | | | | | | | | | | This patch adds an option to android/run-checks.sh to specify the target ABI. For example, by using the following line: android/run-checks.sh --abi=x86 --no-device One can check the Android/x86 build of Google Breakpad (which still fails for reasons that will be fixed in later patches). Another use is to force the 'armeabi' ABI even when an ARMv7-A device is connected (which uses the 'armeabi-v7a' by default, but supports 'armeabi' as well). Review URL: https://breakpad.appspot.com/424002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1003 4c0a9323-5329-0410-9bdc-e9ce6186880e
* SORRY. It seems I've screwed up my commit for ↵digit@chromium.org2012-08-031-2/+5
| | | | | | | | | | http://breakpad.appspot.com/411002/, since revision 1001 only contains the new src/client/linux/linux_libc_support.cc and none of the other required files. I'm not sure what happened, but I'm re-uploading the patch has another issue. Review URL: https://breakpad.appspot.com/426002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1002 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Move some ELF-handling bits from file_id.cc to elfutils.{h,cc}ted.mielczarek2012-07-181-0/+1
| | | | | | R=mark at https://breakpad.appspot.com/392002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@986 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add Android NDK module definition + sample applicationdigit@chromium.org2012-07-096-0/+852
This patch adds a new directory named "android/" which contains the following: - A NDK build system module definition for the Google Breakpad client library. This can be used by developers using the ndk-build build system to more easily build and use the client library in their own programs. - A sample application demonstrating how to use the module, as well as test that the library works properly during a crash. - A shell script (run-checks.sh) that will check everything for you automatically, including: - Rebuilding the host Google Breakpad host package with configure/make - Rebuilding the Android client library with configure/make - Rebuilding the Android client library and test program with ndk-build - Running the crashing test program, extract minidump, dump symbols, generate a stack trace and check that it has correct source file locations. For more details, run android/run-checks.sh --help-all + Updates to the README.ANDROID documentation. Review URL: https://breakpad.appspot.com/407002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@983 4c0a9323-5329-0410-9bdc-e9ce6186880e