diff --git a/.gitmodules b/.gitmodules
index f17f83b1965..90973196741 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -30,7 +30,8 @@
url = https://github.com/google/bloaty.git
[submodule "third_party/abseil-cpp"]
path = third_party/abseil-cpp
- url = https://github.com/abseil/abseil-cpp
+ url = https://github.com/abseil/abseil-cpp.git
+ branch = lts_2020_02_25
[submodule "third_party/envoy-api"]
path = third_party/envoy-api
url = https://github.com/envoyproxy/data-plane-api.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a01abb00b85..addda4d8c20 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -110,6 +110,7 @@ set(gRPC_ABSL_USED_TARGETS
absl_core_headers
absl_dynamic_annotations
absl_endian
+ absl_errno_saver
absl_inlined_vector
absl_inlined_vector_internal
absl_int128
diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index 55000cb89a1..35a62a4f545 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -197,9 +197,9 @@ def grpc_deps():
if "com_google_absl" not in native.existing_rules():
http_archive(
name = "com_google_absl",
- sha256 = "19391fb4882601a65cb648d638c11aa301ce5f525ef02da1a9eafd22f72d7c59",
- strip_prefix = "abseil-cpp-37dd2562ec830d547a1524bb306be313ac3f2556",
- url = "https://github.com/abseil/abseil-cpp/archive/37dd2562ec830d547a1524bb306be313ac3f2556.tar.gz",
+ sha256 = "c14b840dc57926b8b671805426a82249e5ea0d7fddf709fd4619eb38cbb36fb5",
+ strip_prefix = "abseil-cpp-b832dce8489ef7b6231384909fd9b68d5a5ff2b7",
+ url = "https://github.com/abseil/abseil-cpp/archive/b832dce8489ef7b6231384909fd9b68d5a5ff2b7.tar.gz",
)
if "bazel_toolchains" not in native.existing_rules():
diff --git a/grpc.gemspec b/grpc.gemspec
index 584008f58a2..696ce9781fb 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -904,6 +904,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/base/internal/cycleclock.cc )
s.files += %w( third_party/abseil-cpp/absl/base/internal/cycleclock.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/endian.h )
+ s.files += %w( third_party/abseil-cpp/absl/base/internal/errno_saver.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/hide_ptr.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/identity.h )
s.files += %w( third_party/abseil-cpp/absl/base/internal/inline_variable.h )
diff --git a/package.xml b/package.xml
index d3b65fe366b..85b50d66b03 100644
--- a/package.xml
+++ b/package.xml
@@ -906,6 +906,7 @@
+
diff --git a/src/abseil-cpp/preprocessed_builds.yaml b/src/abseil-cpp/preprocessed_builds.yaml
index d85494902d5..a6a35f2f6d4 100644
--- a/src/abseil-cpp/preprocessed_builds.yaml
+++ b/src/abseil-cpp/preprocessed_builds.yaml
@@ -17,6 +17,7 @@
- cmake_target: absl::atomic_hook
deps:
- absl/base:config
+ - absl/base:core_headers
headers:
- third_party/abseil-cpp/absl/base/internal/atomic_hook.h
name: absl/base:atomic_hook
@@ -107,6 +108,13 @@
- third_party/abseil-cpp/absl/base/internal/unaligned_access.h
name: absl/base:endian
src: []
+- cmake_target: absl::errno_saver
+ deps:
+ - absl/base:config
+ headers:
+ - third_party/abseil-cpp/absl/base/internal/errno_saver.h
+ name: absl/base:errno_saver
+ src: []
- cmake_target: absl::exponential_biased
deps:
- absl/base:config
@@ -169,6 +177,7 @@
deps:
- absl/base:base_internal
- absl/base:core_headers
+ - absl/base:errno_saver
headers:
- third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc
- third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc
@@ -207,7 +216,7 @@
- third_party/abseil-cpp/absl/container/internal/btree_container.h
name: absl/container:btree
src: []
-- cmake_target: ''
+- cmake_target: absl::container_common
deps:
- absl/meta:type_traits
- absl/types:optional
@@ -416,6 +425,7 @@
- absl/base:config
- absl/base:core_headers
- absl/base:dynamic_annotations
+ - absl/base:errno_saver
- absl/base:raw_logging_internal
headers:
- third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h
@@ -453,6 +463,7 @@
- absl/base:base
- absl/base:config
- absl/base:core_headers
+ - absl/base:errno_saver
- absl/base:raw_logging_internal
- absl/debugging:examine_stack
- absl/debugging:stacktrace
@@ -547,6 +558,7 @@
- third_party/abseil-cpp/absl/flags/flag.cc
- cmake_target: absl::flags_internal
deps:
+ - absl/base:base
- absl/base:config
- absl/base:core_headers
- absl/flags:config
@@ -564,6 +576,7 @@
deps:
- absl/base:config
- absl/base:core_headers
+ - absl/flags:config
- absl/flags:marshalling
- absl/strings:strings
- absl/types:optional
@@ -668,7 +681,7 @@
name: absl/flags:usage_internal
src:
- third_party/abseil-cpp/absl/flags/internal/usage.cc
-- cmake_target: ''
+- cmake_target: absl::bind_front
deps:
- absl/base:base_internal
- absl/container:compressed_tuple
@@ -679,7 +692,7 @@
- third_party/abseil-cpp/absl/functional/internal/front_binder.h
name: absl/functional:bind_front
src: []
-- cmake_target: ''
+- cmake_target: absl::function_ref
deps:
- absl/base:base_internal
- absl/meta:type_traits
@@ -1040,6 +1053,53 @@
name: absl/random:seed_sequences
src:
- third_party/abseil-cpp/absl/random/seed_sequences.cc
+- cmake_target: absl::status
+ deps:
+ - absl/base:config
+ - absl/base:core_headers
+ - absl/base:raw_logging_internal
+ - absl/container:inlined_vector
+ - absl/debugging:stacktrace
+ - absl/debugging:symbolize
+ - absl/strings:cord
+ - absl/strings:str_format
+ - absl/strings:strings
+ - absl/types:optional
+ headers:
+ - third_party/abseil-cpp/absl/status/status.h
+ - third_party/abseil-cpp/absl/status/status_payload_printer.h
+ name: absl/status:status
+ src:
+ - third_party/abseil-cpp/absl/status/status.cc
+ - third_party/abseil-cpp/absl/status/status_payload_printer.cc
+- cmake_target: absl::cord
+ deps:
+ - absl/base:base
+ - absl/base:base_internal
+ - absl/base:core_headers
+ - absl/base:endian
+ - absl/base:raw_logging_internal
+ - absl/container:fixed_array
+ - absl/container:inlined_vector
+ - absl/functional:function_ref
+ - absl/meta:type_traits
+ - absl/strings:cord_internal
+ - absl/strings:internal
+ - absl/strings:str_format
+ - absl/strings:strings
+ headers:
+ - third_party/abseil-cpp/absl/strings/cord.h
+ name: absl/strings:cord
+ src:
+ - third_party/abseil-cpp/absl/strings/cord.cc
+- cmake_target: absl::cord
+ deps:
+ - absl/meta:type_traits
+ - absl/strings:strings
+ headers:
+ - third_party/abseil-cpp/absl/strings/internal/cord_internal.h
+ name: absl/strings:cord_internal
+ src: []
- cmake_target: absl::strings_internal
deps:
- absl/base:config
diff --git a/third_party/abseil-cpp b/third_party/abseil-cpp
index 37dd2562ec8..b832dce8489 160000
--- a/third_party/abseil-cpp
+++ b/third_party/abseil-cpp
@@ -1 +1 @@
-Subproject commit 37dd2562ec830d547a1524bb306be313ac3f2556
+Subproject commit b832dce8489ef7b6231384909fd9b68d5a5ff2b7
diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index 4546a0dbdbb..cede2708bdd 100755
--- a/tools/run_tests/sanity/check_submodules.sh
+++ b/tools/run_tests/sanity/check_submodules.sh
@@ -26,7 +26,7 @@ want_submodules=$(mktemp /tmp/submXXXXXX)
git submodule | awk '{ print $1 }' | sort > "$submodules"
cat << EOF | awk '{ print $1 }' | sort > "$want_submodules"
- 37dd2562ec830d547a1524bb306be313ac3f2556 third_party/abseil-cpp (heads/master)
+ b832dce8489ef7b6231384909fd9b68d5a5ff2b7 third_party/abseil-cpp (heads/master)
090faecb454fbd6e6e17a75ef8146acb037118d4 third_party/benchmark (v1.5.0)
73594cde8c9a52a102c4341c244c833aa61b9c06 third_party/bloaty (remotes/origin/wide-14-g73594cd)
1c2769383f027befac5b75b6cedd25daf3bf4dcf third_party/boringssl-with-bazel (remotes/origin/master-with-bazel)