mcst-linux-kernel/patches-2024.06.26/abseil-cpp-20230125.3/0001-undef-ref-atomic-bug15...

48 lines
2.0 KiB
Diff

Subject: fix undefined reference to ~atomic() while grpc build
Bug: 151685
Tags: lcc
diff -rupN a/absl/crc/internal/crc_cord_state.h b/absl/crc/internal/crc_cord_state.h
--- a/absl/crc/internal/crc_cord_state.h 2023-05-04 17:32:38.000000000 +0300
+++ b/absl/crc/internal/crc_cord_state.h 2024-05-27 16:58:00.068681628 +0300
@@ -127,6 +127,9 @@ class CrcCordState {
struct RefcountedRep {
std::atomic<int32_t> count{1};
Rep rep;
+#if defined(__LCC__) && (__LCC__ >= 128)
+ RefcountedRep() : count{1} {}
+#endif
};
// Adds a reference to the shared global empty `RefcountedRep`, and returns a
diff -rupN a/absl/profiling/internal/sample_recorder.h b/absl/profiling/internal/sample_recorder.h
--- a/absl/profiling/internal/sample_recorder.h 2023-05-04 17:32:38.000000000 +0300
+++ b/absl/profiling/internal/sample_recorder.h 2024-05-27 16:57:33.720926077 +0300
@@ -129,7 +129,11 @@ SampleRecorder<T>::SetDisposeCallback(Di
template <typename T>
SampleRecorder<T>::SampleRecorder()
+#if defined(__LCC__) && (__LCC__ >= 128)
+ : dropped_samples_(0), size_estimate_(0), max_samples_{1 << 20}, all_(nullptr), dispose_(nullptr) {
+#else
: dropped_samples_(0), size_estimate_(0), all_(nullptr), dispose_(nullptr) {
+#endif
absl::MutexLock l(&graveyard_.init_mu);
graveyard_.dead = &graveyard_;
}
diff -rupN a/absl/strings/internal/cordz_info.cc b/absl/strings/internal/cordz_info.cc
--- a/absl/strings/internal/cordz_info.cc 2023-05-04 17:32:38.000000000 +0300
+++ b/absl/strings/internal/cordz_info.cc 2024-05-27 16:58:10.860581511 +0300
@@ -305,7 +305,11 @@ size_t CordzInfo::FillParentStack(const
CordzInfo::CordzInfo(CordRep* rep,
const CordzInfo* src,
MethodIdentifier method)
+#if defined(__LCC__) && (__LCC__ >= 128)
+ : ci_prev_{nullptr}, ci_next_{nullptr}, rep_(rep),
+#else
: rep_(rep),
+#endif
stack_depth_(
static_cast<size_t>(absl::GetStackTrace(stack_,
/*max_depth=*/kMaxStackDepth,