| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
I’m still working to fix unit tests on non-amd64 platforms, but this
package needs to migrate. Disable unit tests everywhere they don’t
work.
|
| |
| |
| |
| |
| | |
Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98251 by
preventing NaN narrowing in unit tests.
|
| |
| |
| |
| |
| |
| | |
Skip unit tests requiring a CPU frequency on MIPS, PA-RISC, POWER,
RISC-V, and s390x; those platforms do not reliably expose CPU frequency
through /sys.
|
| |
| |
| |
| |
| |
| | |
Disable unit tests that require a working std::hash on s390x, since
s390x’s std::hash hashes large classes of data equivalently (see
https://bugs.debian.org/977638).
|
| | |
|
| | |
|
| |
| |
| | |
* Adds missing <limits> include to fix GCC 11 (prerelease) build
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that https://bugs.debian.org/970943 has been resolved and a new Git
snapshot of googletest has made it to testing, reenable Abseil unit
tests and run them as part of the build process. This does not change
the package as viewed by dependents; it only provides greater assurance
of correctness when an upload occurs. (It probably would have caught
http://bugs.debian.org/973492, for instance.)
Run the tests against the shared libraries, not the static ones, to
more accurately simulate the conditions under which dependents are
likely to use Abseil.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Turns out these shouldn’t have been silenced – they actually indicated
an upstream bug. Upstream fixed everything in the .2 point release,
though, so we don’t need them anymore.
|
| |
| |
| |
| | |
Closes: https://bugs.debian.org/973492
|
| |
| |
| |
| | |
Closes: https://bugs.debian.org/971768
|
| |
| |
| |
| |
| | |
Remove the version suffix from Lintian overrides for shared libraries
so they don’t need to be updated on every release.
|
| |
| |
| |
| |
| | |
Bump shared library micro level to indicate an API- and ABI-compatible
release.
|
|\|
| |
| |
| | |
This update preserves both API and ABI compatibility.
|
| |
| |
| |
| |
| |
| |
| | |
* Fixes preprocessor condition for symbols __tsan_mutex_read_lock and
__tsan_mutex_try_lock
* Fixes race in AddressIsReadable file descriptors using stronger memory ordering
* Fixes CMake dependency issues and adds `-Wl,--no-undefined` to avoid
these issues in the future.
|
| | |
|
|\|
| |
| |
| |
| | |
This update only affects headers; it preserves both API and ABI
compatibility.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The APIs for the two-range `absl::c_mismatch`, `absl::c_swap_ranges`,
and `absl::c_transform` are misleading as they do not check the bounds
of the second range against the first one.
This commit cleans up ensures that buggy calls are not exploitable;
non-buggy calls are unaffected.
This is consistent with both C++14's two-range `std::` equivalents and
C++20's `std::ranges::` equivalents.
http://wg21.link/mismatch
http://wg21.link/alg.swap
http://wg21.link/alg.transform
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Abseil now includes an option to insert extra runtime checks to detect
invariant violations. While not free, these checks are relatively
lightweight and detect serious problems including undefined behavior.
Enable them.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Bump package versions and names to reflect the new Abseil LTS. Remove
patches that have been incorporated upstream, and refresh the
configuration patch.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
What's New:
* `absl::StatusOr<T>` has been released. See our [blog
post](https://abseil.io/blog/2020-091021-status) for more
information.
* Abseil Flags reflection interfaces have been released.
* Abseil Flags memory usage has been significantly optimized.
* Abseil now supports a "hardened" build mode. This build mode enables
runtime checks that guard against programming errors that may lead
to security vulnerabilities.
Notable Fixes:
* Sanitizer dynamic annotations like `AnnotateRWLockCreate` that are
also defined by the compiler sanitizer implementation are no longer
also defined by Abseil.
* Sanitizer macros are now prefixed with `ABSL_` to avoid naming collisions.
* Sanitizer usage is now automatically detected and no longer requires
macros like `ADDRESS_SANITIZER` to be defined on the command line.
Breaking Changes:
* Abseil no longer contains a `dynamic_annotations` library. Users
using a supported build system (Bazel or CMake) are unaffected by
this, but users manually specifying link libraries may get an error
about a missing linker input.
Baseline: 7680a5f8efe32de4753baadbd63e74e59d95bac1
Cherry picks: None
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
CMake now warns if you include a module directly rather than using
find_dependency. Apply a patch from upstream to fix the problem.
Closes: https://bugs.debian.org/970333
|
| | |
|
| |
| |
| |
| |
| | |
Make Lintian overrides robust against new shared libraries appearing by
adding an additional wildcard.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the symbols file and replace it with an shlibs file. Since Abseil
is almost certain to break ABI with every release, maintaining
fine-grained symbol histories is not terribly useful anyway;
furthermore, since Abseil is a C++ library, maintaining a symbols file
is a lot of work.
Bug: https://bugs.debian.org/966183
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Intel and compatibles, SwissTable can benefit from SSE2 and SSSE3 if
available. Currently, though, it determines availability through a
compile-time check, which pins binary packages to the CPU of the
builder. Correct this:
- Disable SSE2 and SSSE3 on i386. SSSE3 has never been available on
i386 CPUs, and Debian supports some i386 CPUs that lack the
extension (e.g., the Athlon XP).
- Disable SSSE3 on amd64. SSSE3 did not appear until the mid-'00s,
and Debian supports all amd64 CPUs, even going back to the original
Opteron. Keep SSE2 enabled, since all amd64 CPUs support SSE2.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Rebuild abseil against GCC 9, the version currently in unstable, and
update the symbols file. Additionally, rework the symbols file using
pkg-kde-tools, which offers some automation for building large symbols
files. This does mean that the symbols file now contains mangled names,
but it’s still easily inspected through c++filt.
|
| |
| |
| |
| |
| |
| |
| |
| | |
ftpmaster has voiced concern about having dozens of tiny packages with
ABI identifiers in their names, so combine all of them into a single
binary package. Abseil now builds only two packages--libabsl20200225,
which contains shared libraries, and libabsl-dev, which contains
headers and archives.
|
| |
| |
| |
| |
| | |
Upload the initial Abseil packaging for experimental. Once accepted by
ftp-master, I’ll do a source-only upload to unstable.
|
| |
| |
| |
| |
| | |
Abseil uses __FILE__ in error messages. Ensure that that macro expands
to the same value on every builder by passing -ffile-prefix-map to GCC.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Build archives in addition to shared objects for Abseil code. Build the
shared objects after the archives so that files autogenerated during
the build (like CMake support files) reference the shared objects, not
the archives. This ensures that users get shared objects by default;
this is the common case in Debian, and it also helps prevent ODR
violations caused by double-linking an archive.
This patch is heavily based on one provided in
<CAKjSHr2qpxgDcnRVoYCptVytTy-QjXy38AM4ppSKv1noXOGjwg@mail.gmail.com>
by László Böszörményi (GCS) <gcs@debian.org>; it’s available on the web
at https://bugs.debian.org/888705#150.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Install Abseil’s CMake support files. Some of these files are
autogenerated, and the generator produces files with a googletest
dependency if Abseil is built with unit tests enabled; to prevent this,
turn off unit tests.
|