abseil.git
3 years agoCorrect Thumb function bound computation in the symbolizer
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Correct Thumb function bound computation in the symbolizer

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1ae9b71c474628d60eb251a3f62967fe64151bb2

On 32-bit ARM, all functions are aligned to multiples of two bytes, and
the lowest-order bit in a function’s address is ignored by the CPU when
computing branch targets. That bit is still present in instructions and
ELF symbol tables, though; it’s repurposed to indicate whether the
function contains ARM or Thumb code. If the symbolizer doesn’t ignore
that bit, it will believe Thumb functions have boundaries that are off
by one byte, so instruct the symbolizer to null out the lowest-order bit
after retrieving it from the symbol table.

The author works at Google. Upstream applied this patch as Piper
revision 369254082 and exported it to GitHub; the Applied-Upstream URL
above points to the exported commit.

Gbp-Pq: Name thumb-function-bounds.diff

3 years agoFix typo in CordRepRing error message
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Fix typo in CordRepRing error message

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/b97a1ecda869ca8754d467a56c50275cebfeb328

The author works at Google. Upstream applied this patch as Piper
revision 367481280 and exported it to GitHub; the Applied-Upstream URL
above points to the exported commit.

Gbp-Pq: Name cordrepring-typo.diff

3 years agoEliminate libabsl_flags.so and libabsl_flags.a
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Eliminate libabsl_flags.so and libabsl_flags.a

Forwarded: not-needed

The libabsl_flags library only contains code when compiling with MSVC, which
Debian doesn't use. Skip compiling absl/flags/flag.cc, and make the Abseil flags
library header-only.

Gbp-Pq: Name empty-flags-library.diff

3 years agoDisable SysinfoTest.NominalCPUFrequency on armel/armhf
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Disable SysinfoTest.NominalCPUFrequency on armel/armhf

NominalCPUFrequency has different behavior on 32-bit and 64-bit ARM
kernels. The Debian arm64 buildds assume they can build 32-bit ARM
packages, but if they do, the NominalCPUFrequency test will fail.
Disable the test when building for 32-bit ARM.

Gbp-Pq: Name arm-multiarch.diff

3 years agoUse libatomic if necessary
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Use libatomic if necessary

Bug-Debian: https://bugs.debian.org/973492

On some architectures, notably armel, Abseil needs symbols defined in
libatomic. Abseil does not currently have a well-developed system to
declare external library dependencies, so just have the linker determine
if anything needs libatomic and add the DT_NEEDED entry where necessary.

Gbp-Pq: Name latomic.diff

3 years agoSet package configuration options
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Set package configuration options

Forwarded: not-needed

Configure Abseil for Debian.

  - Set the SONAME appropriately.

  - To minimize the possibility of future ABI breakage, treat absl::any,
    absl::optional, absl::string_view, and absl::variant as their own types
    (rather than aliases for the std:: versions), and compile everything in an
    inline namespace.

  - Enable upstream's hardened build mode.

  - Disable Intel SSE2 on i386, since Debian supports some i386 processors
    without that extension. Keep it enabled on amd64, since all amd64 processors
    have it.

  - Disable Intel SSSE3 entirely, since no i386 processor supports it and Debian
    supports amd64 processors without it.

Gbp-Pq: Name configure.diff

3 years agoabseil (0~20210324.2-2) unstable; urgency=medium
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
abseil (0~20210324.2-2) unstable; urgency=medium

  * Disable a test that doesn’t play well with multiarch on armel and
    armhf.

[dgit import unpatched abseil 0~20210324.2-2]

3 years agoImport abseil_0~20210324.2-2.debian.tar.xz
Benjamin Barenblat [Mon, 7 Feb 2022 16:54:21 +0000 (16:54 +0000)]
Import abseil_0~20210324.2-2.debian.tar.xz

[dgit import tarball abseil 0~20210324.2-2 abseil_0~20210324.2-2.debian.tar.xz]

3 years agoImport abseil_0~20210324.2.orig.tar.gz
Benjamin Barenblat [Fri, 4 Feb 2022 18:11:32 +0000 (18:11 +0000)]
Import abseil_0~20210324.2.orig.tar.gz

[dgit import orig abseil_0~20210324.2.orig.tar.gz]