Changes to get the breakpad client compiling and running on Android using

ndk-7b.

Patch by Carlos Valdivia <carlosvaldivia@google.com>

Review URL: https://breakpad.appspot.com/363001/


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@945 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
mark@chromium.org 2012-04-03 16:38:53 +00:00
parent ae38954f50
commit 4f291f0307
12 changed files with 200 additions and 55 deletions

View file

@ -440,7 +440,11 @@ void DwarfCUToModule::FuncHandler::Finish() {
func->address = low_pc_;
func->size = high_pc_ - low_pc_;
func->parameter_size = 0;
cu_context_->functions.push_back(func);
if (func->address) {
// If the function address is zero this is a sign that this function
// description is just empty debug data and should just be discarded.
cu_context_->functions.push_back(func);
}
} else if (inline_) {
AbstractOrigin origin(name_);
cu_context_->file_context->file_private->origins[offset_] = origin;

View file

@ -36,10 +36,11 @@
#include <arpa/inet.h>
#include <assert.h>
#include <elf.h>
#if defined(__ANDROID__)
#include <linux/elf.h>
#include "client/linux/android_link.h"
#else
#include <elf.h>
#include <link.h>
#endif
#include <string.h>

View file

@ -34,6 +34,9 @@
#include <fcntl.h>
#include <sys/mman.h>
#if defined(__ANDROID__)
#include <sys/stat.h>
#endif
#include <unistd.h>
#include "common/memory_range.h"
@ -59,7 +62,10 @@ bool MemoryMappedFile::Map(const char* path) {
return false;
}
#if defined(__x86_64__)
#if defined(__ANDROID__)
struct stat st;
if (fstat(fd, &st) != 0) {
#elif defined(__x86_64__)
struct kernel_stat st;
if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
#else