summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2017-01-31 17:21:13 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-04 10:20:48 +0200
commit6759034dcde9e062c9be12283439149b607f2c8f (patch)
tree2eeee0ec8e153a38f025f233b7b08d088d513590
parent7802cf1751cd55d3d768fb12597990c8be5fb309 (diff)
downloadqtwebengine-chromium-6759034dcde9e062c9be12283439149b607f2c8f.tar.gz
Remove linking with libatomic
Rhel machines on ci do not have it. Change-Id: I4cbb6d9d0826a23f8065a9eebba7ba27856e44d4 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/base/BUILD.gn2
-rw-r--r--chromium/base/memory/madv_free_discardable_memory_posix.cc4
-rw-r--r--chromium/base/metrics/persistent_memory_allocator.cc2
-rw-r--r--chromium/base/profiler/metadata_recorder.cc2
-rw-r--r--chromium/base/task/thread_pool/thread_group.cc2
-rw-r--r--chromium/build/config/linux/BUILD.gn2
-rw-r--r--chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc2
7 files changed, 14 insertions, 2 deletions
diff --git a/chromium/base/BUILD.gn b/chromium/base/BUILD.gn
index 6f993be10f6..8dde7e9caae 100644
--- a/chromium/base/BUILD.gn
+++ b/chromium/base/BUILD.gn
@@ -1394,7 +1394,7 @@ component("base") {
# building inside the cros_sdk environment - use host_toolchain as a
# more robust check for this.
if (!use_sysroot &&
- (is_android || ((is_linux || is_chromeos) && !is_chromecast)) &&
+ (is_android || ((is_linux || is_chromeos) && !is_chromecast && !use_qt)) &&
host_toolchain != "//build/toolchain/cros:host") {
libs += [ "atomic" ]
}
diff --git a/chromium/base/memory/madv_free_discardable_memory_posix.cc b/chromium/base/memory/madv_free_discardable_memory_posix.cc
index 56e51a5f7be..b5d0f772088 100644
--- a/chromium/base/memory/madv_free_discardable_memory_posix.cc
+++ b/chromium/base/memory/madv_free_discardable_memory_posix.cc
@@ -165,7 +165,9 @@ bool MadvFreeDiscardableMemoryPosix::LockPage(size_t page_index) {
// the same byte-level representation.
static_assert(sizeof(intptr_t) == sizeof(std::atomic<intptr_t>),
"Incompatible layout of std::atomic.");
+#ifndef TOOLKIT_QT
DCHECK(std::atomic<intptr_t>{}.is_lock_free());
+#endif
std::atomic<intptr_t>* page_as_atomic =
reinterpret_cast<std::atomic<intptr_t>*>(
static_cast<uint8_t*>(data_) + page_index * base::GetPageSize());
@@ -187,7 +189,9 @@ bool MadvFreeDiscardableMemoryPosix::LockPage(size_t page_index) {
}
void MadvFreeDiscardableMemoryPosix::UnlockPage(size_t page_index) {
+#ifndef TOOLKIT_QT
DCHECK(std::atomic<intptr_t>{}.is_lock_free());
+#endif
std::atomic<intptr_t>* page_as_atomic =
reinterpret_cast<std::atomic<intptr_t>*>(
diff --git a/chromium/base/metrics/persistent_memory_allocator.cc b/chromium/base/metrics/persistent_memory_allocator.cc
index f11d7aa3b3c..7098bd0896b 100644
--- a/chromium/base/metrics/persistent_memory_allocator.cc
+++ b/chromium/base/metrics/persistent_memory_allocator.cc
@@ -350,11 +350,13 @@ PersistentMemoryAllocator::PersistentMemoryAllocator(Memory memory,
// Ensure that memory segment is of acceptable size.
CHECK(IsMemoryAcceptable(memory.base, size, page_size, readonly));
+#ifndef TOOLKIT_QT
// These atomics operate inter-process and so must be lock-free.
DCHECK(SharedMetadata().freeptr.is_lock_free());
DCHECK(SharedMetadata().flags.is_lock_free());
DCHECK(BlockHeader().next.is_lock_free());
CHECK(corrupt_.is_lock_free());
+#endif
if (shared_meta()->cookie != kGlobalCookie) {
if (readonly) {
diff --git a/chromium/base/profiler/metadata_recorder.cc b/chromium/base/profiler/metadata_recorder.cc
index d4c857f2f30..4ff8a4652c1 100644
--- a/chromium/base/profiler/metadata_recorder.cc
+++ b/chromium/base/profiler/metadata_recorder.cc
@@ -29,8 +29,10 @@ MetadataRecorder::ItemInternal::~ItemInternal() = default;
MetadataRecorder::MetadataRecorder() {
// Ensure that we have necessary atomic support.
+#ifndef TOOLKIT_QT
DCHECK(items_[0].is_active.is_lock_free());
DCHECK(items_[0].value.is_lock_free());
+#endif
}
MetadataRecorder::~MetadataRecorder() = default;
diff --git a/chromium/base/task/thread_pool/thread_group.cc b/chromium/base/task/thread_pool/thread_group.cc
index 4832a40b2f6..ab523bf2c69 100644
--- a/chromium/base/task/thread_pool/thread_group.cc
+++ b/chromium/base/task/thread_pool/thread_group.cc
@@ -265,7 +265,9 @@ void ThreadGroup::InvalidateAndHandoffAllTaskSourcesToOtherThreadGroup(
}
bool ThreadGroup::ShouldYield(TaskSourceSortKey sort_key) {
+#ifndef TOOLKIT_QT
DCHECK(TS_UNCHECKED_READ(max_allowed_sort_key_).is_lock_free());
+#endif
if (!task_tracker_->CanRunPriority(sort_key.priority()))
return true;
diff --git a/chromium/build/config/linux/BUILD.gn b/chromium/build/config/linux/BUILD.gn
index 47704248bfa..80b27451d1e 100644
--- a/chromium/build/config/linux/BUILD.gn
+++ b/chromium/build/config/linux/BUILD.gn
@@ -30,7 +30,7 @@ config("runtime_library") {
if ((!(is_chromeos_ash || is_chromeos_lacros) ||
default_toolchain != "//build/toolchain/cros:target") &&
- (!use_custom_libcxx || current_cpu == "mipsel")) {
+ (!use_custom_libcxx || current_cpu == "mipsel") && !use_qt) {
libs = [ "atomic" ]
}
}
diff --git a/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc b/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
index 624da1b0306..1146a23e720 100644
--- a/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
+++ b/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
@@ -537,9 +537,11 @@ TraceEventDataSource::TraceEventDataSource()
// all platforms.
process_creation_time_ticks_ = TRACE_TIME_TICKS_NOW();
+#ifndef TOOLKIT_QT
DCHECK(session_flags_.is_lock_free())
<< "SessionFlags are not atomic! We rely on efficient lock-free look-up "
"of the session flags when emitting a trace event.";
+#endif
g_trace_event_data_source_for_testing = this;
}