| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Fix and reorder some #includes Some of these direct dependencies were previously indirect/transitive dependencies. They previously worked -- and continue to work -- as they only required header inclusions. They should be mentioned in CMakeLists.txt, which we can handle in a separate commit. PiperOrigin-RevId: 977974961 Change-Id: Iac66449258d7c8c74e6813c72943550e83bff099 | 28 天前 | |
Add WASI platform to Abseil linkopts to avoid linking pthread. WASI targets are single-threaded and do not support -pthread. This change adds `@platforms//os:wasi` to linkopts in absl/base, absl/debugging, absl/random/internal, and absl/synchronization so that -pthread is omitted when compiling for WASI. PiperOrigin-RevId: 989637373 Change-Id: Ia0ceb05c53c4c3f6ced4932a8add703972b389ee | 8 天前 | |
Improve sorting consistency in CMakeLists.txt PiperOrigin-RevId: 972171567 Change-Id: Ifc1fa8dd369644ac28ed1eeac7e107f5d0ac3cfb | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Fix and reorder some #includes Some of these direct dependencies were previously indirect/transitive dependencies. They previously worked -- and continue to work -- as they only required header inclusions. They should be mentioned in CMakeLists.txt, which we can handle in a separate commit. PiperOrigin-RevId: 977974961 Change-Id: Iac66449258d7c8c74e6813c72943550e83bff099 | 28 天前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Fix and reorder some #includes Some of these direct dependencies were previously indirect/transitive dependencies. They previously worked -- and continue to work -- as they only required header inclusions. They should be mentioned in CMakeLists.txt, which we can handle in a separate commit. PiperOrigin-RevId: 977974961 Change-Id: Iac66449258d7c8c74e6813c72943550e83bff099 | 28 天前 | |
Migrate static objects to NoDestructor in tests, testing libraries and benchmarks. PiperOrigin-RevId: 593918110 Change-Id: Ide100c69b10e28011af17c7f82bb10eea072cad4 | 2 年前 | |
Add tracing annotations to absl::BlockingCounter PiperOrigin-RevId: 656010740 Change-Id: I99ef6f18502a0cb2c363c805ae5f9a9a42bd3b41 | 2 年前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
PR #2136: Give externally-provided symbol declarations default visibility Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2136 Abseil forward-declares a few symbols that are provided by something *outside* the object being linked: | Symbol(s) | File | Provided by | |---|---|---| | 14x `Annotate*` race annotations | `absl/base/dynamic_annotations.h` | sanitizer runtime | | `__tsan_read1` | `absl/synchronization/mutex.cc` | sanitizer runtime | | `__mmap2` | `absl/base/internal/direct_mmap.h` | Bionic | None of these has a public header to include — none of the `Annotate*` functions nor `__tsan_read1` appears in any compiler-rt `sanitizer/*.h`, and `__mmap2` is a private Bionic symbol — so declaring them locally is the only option. But a local declaration inherits whatever visibility is in effect at that point. When the translation unit is compiled with `-fvisibility=hidden` and abseil is linked into a shared library, those references become *hidden* undefined symbols. They then cannot be resolved from the sanitizer runtime (which lives in the executable) or from libc, and the link fails: ``` ld.lld: error: undefined hidden symbol: AnnotateIgnoreReadsBegin ld.lld: error: undefined hidden symbol: AnnotateIgnoreWritesBegin ld.lld: error: undefined hidden symbol: AnnotateIgnoreWritesEnd ld.lld: error: undefined hidden symbol: AnnotateIgnoreReadsEnd ld.lld: error: undefined hidden symbol: __tsan_read1 ld.lld: error: undefined hidden symbol: __mmap2 ``` This wraps each declaration in `#pragma GCC visibility push(default)` / `pop`. ### Verification Compiling all ~163 abseil sources with `-fsanitize=thread` and a tree-wide `#pragma GCC visibility push(hidden)`, then scanning every object for hidden undefined symbols: before this change the four `Annotate*` and `__tsan_read1` are `GLOBAL HIDDEN UND`; after, every `__tsan_*` and `Annotate*` reference is `GLOBAL DEFAULT UND`. The only hidden undefined symbols remaining are `AbslInternal*` ones that abseil defines itself, which is correct. For `__mmap2`, on a 32-bit Android shared-library link: ``` without the pragma: ld.lld: error: undefined hidden symbol: __mmap2 with the pragma: 4: FUNC GLOBAL DEFAULT UND __mmap2@LIBC ``` ### Notes - Every affected site is already inside a Bionic or sanitizer guard, so the GCC/Clang-only pragma does not reduce portability. - The `__mmap2` path only compiles on 32-bit architectures, which is why this is rarely hit — Chromium's Android builds are 64-bit. We hit it on 32-bit ARM. - Found while updating the copy of abseil vendored into Firefox, which builds with `-fvisibility=hidden` tree-wide. Merge ab78d3a7f471fdaa44f6b7bc5feece81cd1d2833 into e1cacc79e6a318108eded02261219ceabff38ce0 Merging this change closes #2136 PiperOrigin-RevId: 975244998 Change-Id: I1be645e8658b7a323fdcc34f081d3466cd9eb6ed | 1 个月前 | |
Prepare to migrate ABSL_ATTRIBUTE_HOT and ABSL_ATTRIBUTE_COLD from __attribute__((hot)) and __attribute__((cold)) to [[gnu::hot]] and [[gnu::cold]] This requires correcting the positioning of the attribute at some declarations. PiperOrigin-RevId: 993314379 Change-Id: Ia1dfd5a2a483d7b21cd5739568169b9ebd6f5e27 | 2 天前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Reorder platform-specific #include directives after the others This keeps includes together when they are cleaned up. PiperOrigin-RevId: 968619710 Change-Id: Idbb71fb83308d8792a75fa0e7e86115859534377 | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 | |
Internal cleanup PiperOrigin-RevId: 965514667 Change-Id: I1901575e58aa9545cd91b518ffde6169af523d0f | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 28 天前 | ||
| 8 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 28 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 28 天前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |