aboutsummaryrefslogtreecommitdiff
path: root/src/processor
diff options
context:
space:
mode:
authorTobias Sargeant <tobiasjs@google.com>2017-02-06 17:57:54 +0000
committerMike Frysinger <vapier@chromium.org>2017-02-17 03:18:05 +0000
commitfd28a5bbe9a3fde97c90f0928b62894d597f2f6a (patch)
treeda5e78aa12adf4b303206dc6deace636dc16be7b /src/processor
parentautotools: move -W flags to configure detection (diff)
downloadbreakpad-fd28a5bbe9a3fde97c90f0928b62894d597f2f6a.tar.xz
Fix compile errors arising from compiling breakpad with clang.
These compile errors occur when building the check target with: CXX=clang++-3.8 CXXFLAGS="-Werror -Wconstant-conversion -g -O2 -std=c++11" src/processor/stackwalker_mips.cc:60:9: error: comparison of constant 18446744073709551615 with expression of type 'bool' is always false [Werror,-Wtautological-constant-out-of-range-compare] > 0xffffffffffffffff) { ^ ~~~~~~~~~~~~~~~~~~ src/processor/stackwalker_mips.cc:68:66: error: comparison of constant 4294967295 with expression of type 'bool' is always false [-Werror,-Wtautological-constant-out-of-range-compare] if ((memory_ && memory_->GetBase() + memory_->GetSize() - 1) > 0xffffffff) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~ Change-Id: I29eed8f4a67b9feeb274aa1fc6c79a019135e8d6 Reviewed-on: https://chromium-review.googlesource.com/438445 Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'src/processor')
-rw-r--r--src/processor/stackwalker_mips.cc33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/processor/stackwalker_mips.cc b/src/processor/stackwalker_mips.cc
index f6368509..a3df84c4 100644
--- a/src/processor/stackwalker_mips.cc
+++ b/src/processor/stackwalker_mips.cc
@@ -55,22 +55,23 @@ StackwalkerMIPS::StackwalkerMIPS(const SystemInfo* system_info,
StackFrameSymbolizer* resolver_helper)
: Stackwalker(system_info, memory, modules, resolver_helper),
context_(context) {
- if (context_->context_flags & MD_CONTEXT_MIPS64 ) {
- if ((memory_ && memory_->GetBase() + memory_->GetSize() - 1)
- > 0xffffffffffffffff) {
- BPLOG(ERROR) << "Memory out of range for stackwalking mips64: "
- << HexString(memory_->GetBase())
- << "+"
- << HexString(memory_->GetSize());
- memory_ = NULL;
- }
- } else {
- if ((memory_ && memory_->GetBase() + memory_->GetSize() - 1) > 0xffffffff) {
- BPLOG(ERROR) << "Memory out of range for stackwalking mips32: "
- << HexString(memory_->GetBase())
- << "+"
- << HexString(memory_->GetSize());
- memory_ = NULL;
+ if (memory_) {
+ if (context_->context_flags & MD_CONTEXT_MIPS64 ) {
+ if (0xffffffffffffffff - memory_->GetBase() < memory_->GetSize() - 1) {
+ BPLOG(ERROR) << "Memory out of range for stackwalking mips64: "
+ << HexString(memory_->GetBase())
+ << "+"
+ << HexString(memory_->GetSize());
+ memory_ = NULL;
+ }
+ } else {
+ if (0xffffffff - memory_->GetBase() < memory_->GetSize() - 1) {
+ BPLOG(ERROR) << "Memory out of range for stackwalking mips32: "
+ << HexString(memory_->GetBase())
+ << "+"
+ << HexString(memory_->GetSize());
+ memory_ = NULL;
+ }
}
}
}