summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 06:02:42 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 06:02:42 +0000
commit7d899e9ae9a1487fdd0ea95f223d54a4e8cb5a3d (patch)
treea89438828650dc6277d69c5c4f2b8ff4d7ce7841
parent0987731c9c974911d3504122fe3f54261fd36ebd (diff)
downloadchromium_src-7d899e9ae9a1487fdd0ea95f223d54a4e8cb5a3d.zip
chromium_src-7d899e9ae9a1487fdd0ea95f223d54a4e8cb5a3d.tar.gz
chromium_src-7d899e9ae9a1487fdd0ea95f223d54a4e8cb5a3d.tar.bz2
Revert 227219 "Revert 226920 "Roll Clang 188423:191856.""
This relands the clang roll from r226920. The symbol issue (http://crbug.com/304846) should be fixed by now, on the crash server side. > Revert 226920 "Roll Clang 188423:191856." > > Possibly broke crash symbolication on mac. > > > Roll Clang 188423:191856. > > > > Remove libprofile_rt from package.sh, it doesn't exist after LLVM r191835 > > > > BUG=290204,303886 > > R=thakis@chromium.org > > TBR=net owner > > NOTRY=true > > > > Review URL: https://codereview.chromium.org/25875004 > > TBR=thakis@chromium.org > > Review URL: https://codereview.chromium.org/26145004 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/27092002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228318 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--base/debug/stack_trace_android.cc10
-rw-r--r--base/security_unittest.cc9
-rw-r--r--build/common.gypi16
-rw-r--r--net/cert/multi_threaded_cert_verifier_unittest.cc8
-rwxr-xr-xtools/clang/scripts/package.sh1
-rwxr-xr-xtools/clang/scripts/update.sh2
6 files changed, 27 insertions, 19 deletions
diff --git a/base/debug/stack_trace_android.cc b/base/debug/stack_trace_android.cc
index ec0508a..257e823 100644
--- a/base/debug/stack_trace_android.cc
+++ b/base/debug/stack_trace_android.cc
@@ -26,16 +26,6 @@ struct StackCrawlState {
bool have_skipped_self;
};
-// Clang's unwind.h doesn't provide _Unwind_GetIP on ARM, refer to
-// http://llvm.org/bugs/show_bug.cgi?id=16564 for details.
-#if defined(__clang__)
-uintptr_t _Unwind_GetIP(_Unwind_Context* context) {
- uintptr_t ip = 0;
- _Unwind_VRS_Get(context, _UVRSC_CORE, 15, _UVRSD_UINT32, &ip);
- return ip & ~static_cast<uintptr_t>(0x1); // Remove thumb mode bit.
-}
-#endif
-
_Unwind_Reason_Code TraceStackFrame(_Unwind_Context* context, void* arg) {
StackCrawlState* state = static_cast<StackCrawlState*>(arg);
uintptr_t ip = _Unwind_GetIP(context);
diff --git a/base/security_unittest.cc b/base/security_unittest.cc
index d37bbd2..6c36d0d 100644
--- a/base/security_unittest.cc
+++ b/base/security_unittest.cc
@@ -75,14 +75,11 @@ bool IsTcMallocBypassed() {
}
bool CallocDiesOnOOM() {
+// The sanitizers' calloc dies on OOM instead of returning NULL.
// The wrapper function in base/process_util_linux.cc that is used when we
// compile without TCMalloc will just die on OOM instead of returning NULL.
-// This function is explicitly disabled if we compile with AddressSanitizer,
-// MemorySanitizer or ThreadSanitizer.
-#if defined(OS_LINUX) && defined(NO_TCMALLOC) && \
- (!defined(ADDRESS_SANITIZER) && \
- !defined(MEMORY_SANITIZER) && \
- !defined(THREAD_SANITIZER))
+#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
+ defined(THREAD_SANITIZER) || (defined(OS_LINUX) && defined(NO_TCMALLOC))
return true;
#else
return false;
diff --git a/build/common.gypi b/build/common.gypi
index 7873c4c..8e10e70 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3122,6 +3122,10 @@
'-fuse-ld=gold',
'-Wno-psabi',
],
+ 'ldflags!': [
+ # Clang does not support the following options.
+ '-fuse-ld=gold',
+ ],
}],
],
}],
@@ -3206,6 +3210,12 @@
# code generated by flex (used in angle) contains that keyword.
# http://crbug.com/255186
'-Wno-deprecated-register',
+
+ # TODO(hans): Remove once we've cleaned up the warnings.
+ '-Wno-unused-const-variable',
+
+ # This warns about auto_ptr<>, used in third-party code.
+ '-Wno-deprecated-declarations',
],
'cflags!': [
# Clang doesn't seem to know know this flag.
@@ -3909,6 +3919,12 @@
# code generated by flex (used in angle) contains that keyword.
# http://crbug.com/255186
'-Wno-deprecated-register',
+
+ # TODO(hans): Remove once we've cleaned up the warnings.
+ '-Wno-unused-const-variable',
+
+ # This warns about auto_ptr<>, used in third-party code.
+ '-Wno-deprecated-declarations',
],
}],
['clang==1 and clang_use_chrome_plugins==1', {
diff --git a/net/cert/multi_threaded_cert_verifier_unittest.cc b/net/cert/multi_threaded_cert_verifier_unittest.cc
index 17d23d3..3a0c765 100644
--- a/net/cert/multi_threaded_cert_verifier_unittest.cc
+++ b/net/cert/multi_threaded_cert_verifier_unittest.cc
@@ -279,7 +279,13 @@ TEST_F(MultiThreadedCertVerifierTest, CancelRequest) {
}
// Tests that a canceled request is not leaked.
-TEST_F(MultiThreadedCertVerifierTest, CancelRequestThenQuit) {
+#if !defined(LEAK_SANITIZER)
+#define MAYBE_CancelRequestThenQuit CancelRequestThenQuit
+#else
+// See PR303886. LeakSanitizer flags a leak here.
+#define MAYBE_CancelRequestThenQuit DISABLED_CancelRequestThenQuit
+#endif
+TEST_F(MultiThreadedCertVerifierTest, MAYBE_CancelRequestThenQuit) {
base::FilePath certs_dir = GetTestCertsDirectory();
scoped_refptr<X509Certificate> test_cert(
ImportCertFromFile(certs_dir, "ok_cert.pem"));
diff --git a/tools/clang/scripts/package.sh b/tools/clang/scripts/package.sh
index f57a28b..cd3b2b3 100755
--- a/tools/clang/scripts/package.sh
+++ b/tools/clang/scripts/package.sh
@@ -59,7 +59,6 @@ cp "${LLVM_BIN_DIR}/llvm-symbolizer" $PDIR/bin/
# Copy plugins. Some of the dylibs are pretty big, so copy only the ones we
# care about.
cp "${LLVM_LIB_DIR}/libFindBadConstructs.${SO_EXT}" $PDIR/lib
-cp "${LLVM_LIB_DIR}/libprofile_rt.${SO_EXT}" $PDIR/lib
# Copy built-in headers (lib/clang/3.2/include).
# libcompiler-rt puts all kinds of libraries there too, but we want only some.
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
index fae1a72..571eff1 100755
--- a/tools/clang/scripts/update.sh
+++ b/tools/clang/scripts/update.sh
@@ -8,7 +8,7 @@
# Do NOT CHANGE this if you don't know what you're doing -- see
# https://code.google.com/p/chromium/wiki/UpdatingClang
# Reverting problematic clang rolls is safe, though.
-CLANG_REVISION=188423
+CLANG_REVISION=191856
THIS_DIR="$(dirname "${0}")"
LLVM_DIR="${THIS_DIR}/../../../third_party/llvm"