diff options
author | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:44:48 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2021-04-08 10:44:48 -0400 |
commit | 1268f609aafd78796a66f13fa7eac88efe0cb097 (patch) | |
tree | 9fe100d2b38d63c07f5a654129e62c84df220adc /debian/patches/endian-random.diff | |
parent | feac56827dd1f0d159ea0bcf2ce37ef1990ac743 (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.diff | 249 |
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++); - } - } - |