summaryrefslogtreecommitdiff
path: root/debian/patches/endian-random.diff
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2021-04-08 10:44:48 -0400
committerGravatar Benjamin Barenblat <bbaren@google.com>2021-04-08 10:44:48 -0400
commit1268f609aafd78796a66f13fa7eac88efe0cb097 (patch)
tree9fe100d2b38d63c07f5a654129e62c84df220adc /debian/patches/endian-random.diff
parentfeac56827dd1f0d159ea0bcf2ce37ef1990ac743 (diff)
Begin updating packaging for Abseil 20210324
Bump package versions and names to reflect the new Abseil LTS. Remove patches that have been incorporated upstream, and refresh other patches.
Diffstat (limited to 'debian/patches/endian-random.diff')
-rw-r--r--debian/patches/endian-random.diff249
1 files changed, 0 insertions, 249 deletions
diff --git a/debian/patches/endian-random.diff b/debian/patches/endian-random.diff
deleted file mode 100644
index 9fe2b166..00000000
--- a/debian/patches/endian-random.diff
+++ /dev/null
@@ -1,249 +0,0 @@
-From: Benjamin Barenblat <bbaren@google.com>
-Subject: Remove endian-sensitivity from Abseil's RNG
-Forwarded: yes
-Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/c36d825d9a5443f81d2656685ae021d6326da90c
-
-Ensure that the Abseil random number generator produces identical output
-on both big- and little-endian platforms by byte-swapping appropriately
-on big-endian systems.
-
-The author works at Google. Upstream applied this patch as Piper
-revision 355635051 and exported it to GitHub; the Applied-Upstream URL
-above points to the exported commit.
-
---- a/absl/base/BUILD.bazel
-+++ b/absl/base/BUILD.bazel
-@@ -479,6 +479,7 @@
- copts = ABSL_DEFAULT_COPTS,
- linkopts = ABSL_DEFAULT_LINKOPTS,
- deps = [
-+ ":base",
- ":config",
- ":core_headers",
- ],
---- a/absl/base/CMakeLists.txt
-+++ b/absl/base/CMakeLists.txt
-@@ -418,6 +418,7 @@
- COPTS
- ${ABSL_DEFAULT_COPTS}
- DEPS
-+ absl::base
- absl::config
- absl::core_headers
- PUBLIC
---- a/absl/base/internal/endian.h
-+++ b/absl/base/internal/endian.h
-@@ -26,6 +26,7 @@
- #endif
-
- #include <cstdint>
-+#include "absl/base/casts.h"
- #include "absl/base/config.h"
- #include "absl/base/internal/unaligned_access.h"
- #include "absl/base/port.h"
-@@ -173,6 +174,36 @@
-
- #endif /* ENDIAN */
-
-+inline uint8_t FromHost(uint8_t x) { return x; }
-+inline uint16_t FromHost(uint16_t x) { return FromHost16(x); }
-+inline uint32_t FromHost(uint32_t x) { return FromHost32(x); }
-+inline uint64_t FromHost(uint64_t x) { return FromHost64(x); }
-+inline uint8_t ToHost(uint8_t x) { return x; }
-+inline uint16_t ToHost(uint16_t x) { return ToHost16(x); }
-+inline uint32_t ToHost(uint32_t x) { return ToHost32(x); }
-+inline uint64_t ToHost(uint64_t x) { return ToHost64(x); }
-+
-+inline int8_t FromHost(int8_t x) { return x; }
-+inline int16_t FromHost(int16_t x) {
-+ return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
-+}
-+inline int32_t FromHost(int32_t x) {
-+ return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
-+}
-+inline int64_t FromHost(int64_t x) {
-+ return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
-+}
-+inline int8_t ToHost(int8_t x) { return x; }
-+inline int16_t ToHost(int16_t x) {
-+ return bit_cast<int16_t>(ToHost16(bit_cast<uint16_t>(x)));
-+}
-+inline int32_t ToHost(int32_t x) {
-+ return bit_cast<int32_t>(ToHost32(bit_cast<uint32_t>(x)));
-+}
-+inline int64_t ToHost(int64_t x) {
-+ return bit_cast<int64_t>(ToHost64(bit_cast<uint64_t>(x)));
-+}
-+
- // Functions to do unaligned loads and stores in little-endian order.
- inline uint16_t Load16(const void *p) {
- return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
-@@ -233,6 +264,36 @@
-
- #endif /* ENDIAN */
-
-+inline uint8_t FromHost(uint8_t x) { return x; }
-+inline uint16_t FromHost(uint16_t x) { return FromHost16(x); }
-+inline uint32_t FromHost(uint32_t x) { return FromHost32(x); }
-+inline uint64_t FromHost(uint64_t x) { return FromHost64(x); }
-+inline uint8_t ToHost(uint8_t x) { return x; }
-+inline uint16_t ToHost(uint16_t x) { return ToHost16(x); }
-+inline uint32_t ToHost(uint32_t x) { return ToHost32(x); }
-+inline uint64_t ToHost(uint64_t x) { return ToHost64(x); }
-+
-+inline int8_t FromHost(int8_t x) { return x; }
-+inline int16_t FromHost(int16_t x) {
-+ return bit_cast<int16_t>(FromHost16(bit_cast<uint16_t>(x)));
-+}
-+inline int32_t FromHost(int32_t x) {
-+ return bit_cast<int32_t>(FromHost32(bit_cast<uint32_t>(x)));
-+}
-+inline int64_t FromHost(int64_t x) {
-+ return bit_cast<int64_t>(FromHost64(bit_cast<uint64_t>(x)));
-+}
-+inline int8_t ToHost(int8_t x) { return x; }
-+inline int16_t ToHost(int16_t x) {
-+ return bit_cast<int16_t>(ToHost16(bit_cast<uint16_t>(x)));
-+}
-+inline int32_t ToHost(int32_t x) {
-+ return bit_cast<int32_t>(ToHost32(bit_cast<uint32_t>(x)));
-+}
-+inline int64_t ToHost(int64_t x) {
-+ return bit_cast<int64_t>(ToHost64(bit_cast<uint64_t>(x)));
-+}
-+
- // Functions to do unaligned loads and stores in big-endian order.
- inline uint16_t Load16(const void *p) {
- return ToHost16(ABSL_INTERNAL_UNALIGNED_LOAD16(p));
---- a/absl/random/CMakeLists.txt
-+++ b/absl/random/CMakeLists.txt
-@@ -611,6 +611,7 @@
- ${ABSL_DEFAULT_LINKOPTS}
- DEPS
- absl::config
-+ absl::endian
- TESTONLY
- )
-
-@@ -758,6 +759,7 @@
- LINKOPTS
- ${ABSL_DEFAULT_LINKOPTS}
- DEPS
-+ absl::endian
- absl::random_internal_iostream_state_saver
- absl::random_internal_randen
- absl::raw_logging_internal
-@@ -1119,6 +1121,7 @@
- LINKOPTS
- ${ABSL_DEFAULT_LINKOPTS}
- DEPS
-+ absl::endian
- absl::random_internal_randen_slow
- gtest_main
- )
---- a/absl/random/internal/BUILD.bazel
-+++ b/absl/random/internal/BUILD.bazel
-@@ -124,7 +124,10 @@
- ],
- copts = ABSL_DEFAULT_COPTS,
- linkopts = ABSL_DEFAULT_LINKOPTS,
-- deps = ["//absl/base:config"],
-+ deps = [
-+ "//absl/base:config",
-+ "//absl/base:endian",
-+ ],
- )
-
- cc_library(
-@@ -241,6 +244,7 @@
- deps = [
- ":iostream_state_saver",
- ":randen",
-+ "//absl/base:endian",
- "//absl/meta:type_traits",
- ],
- )
-@@ -606,6 +610,7 @@
- ":platform",
- ":randen_slow",
- "@com_google_googletest//:gtest_main",
-+ "//absl/base:endian",
- ],
- )
-
---- a/absl/random/internal/explicit_seed_seq.h
-+++ b/absl/random/internal/explicit_seed_seq.h
-@@ -23,6 +23,7 @@
- #include <vector>
-
- #include "absl/base/config.h"
-+#include "absl/base/internal/endian.h"
-
- namespace absl {
- ABSL_NAMESPACE_BEGIN
-@@ -73,7 +74,7 @@
- template <typename OutIterator>
- void generate(OutIterator begin, OutIterator end) {
- for (size_t index = 0; begin != end; begin++) {
-- *begin = state_.empty() ? 0 : state_[index++];
-+ *begin = state_.empty() ? 0 : little_endian::FromHost32(state_[index++]);
- if (index >= state_.size()) {
- index = 0;
- }
---- a/absl/random/internal/randen_engine.h
-+++ b/absl/random/internal/randen_engine.h
-@@ -23,6 +23,7 @@
- #include <limits>
- #include <type_traits>
-
-+#include "absl/base/internal/endian.h"
- #include "absl/meta/type_traits.h"
- #include "absl/random/internal/iostream_state_saver.h"
- #include "absl/random/internal/randen.h"
-@@ -76,7 +77,7 @@
- impl_.Generate(state_);
- }
-
-- return state_[next_++];
-+ return little_endian::ToHost(state_[next_++]);
- }
-
- template <class SeedSequence>
-@@ -181,7 +182,8 @@
- // In the case that `elem` is `uint8_t`, it must be cast to something
- // larger so that it prints as an integer rather than a character. For
- // simplicity, apply the cast all circumstances.
-- os << static_cast<numeric_type>(elem) << os.fill();
-+ os << static_cast<numeric_type>(little_endian::FromHost(elem))
-+ << os.fill();
- }
- os << engine.next_;
- return os;
-@@ -200,7 +202,7 @@
- // necessary to read a wider type and then cast it to uint8_t.
- numeric_type value;
- is >> value;
-- elem = static_cast<result_type>(value);
-+ elem = little_endian::ToHost(static_cast<result_type>(value));
- }
- is >> next;
- if (is.fail()) {
---- a/absl/random/internal/randen_slow_test.cc
-+++ b/absl/random/internal/randen_slow_test.cc
-@@ -17,6 +17,7 @@
- #include <cstring>
-
- #include "gtest/gtest.h"
-+#include "absl/base/internal/endian.h"
- #include "absl/random/internal/randen_traits.h"
-
- namespace {
-@@ -56,7 +57,7 @@
-
- uint64_t* id = d.state;
- for (const auto& elem : kGolden) {
-- EXPECT_EQ(elem, *id++);
-+ EXPECT_EQ(absl::little_endian::FromHost64(elem), *id++);
- }
- }
-