aboutsummaryrefslogtreecommitdiff
path: root/absl/base/internal/strerror_test.cc
Commit message (Collapse)AuthorAgeFilesLines
* Port abseil to GNU/Hurd.hurdYuqian Yang2025-02-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | abseil has failed to build on GNU/Hurd for a long time. Now let's make it work! :) Note that `__GNU__` is the macro for detecting GNU/Hurd. And `__MACH__` is also defined there besides on Apple platform. They are both "mach" but with different implementation and platform details. Here are the works, * Mark platform features (not) supported by GNU/Hurd. * Supports `mmap` and `write`. * Not supports `vdso`. It's specific to Linux. * Not supports `ELF_SYMBOLIZE` for now. GNU/Hurd uses ELF as the binary format. But symbolizing in abseil relies on reading object file path from `/proc/self/task/<pid>/maps` (Linux specific) or `/proc/self/maps`. GNU/Hurd does have the latter. However, due to its micro-kernel design, it's currently unable to get the file path info there. * Disable stack consumption measurement. The problem behind it is that GNU/Hurd uses a very different way to implement signal handling. Due to compiler behavior, it is impossible to get a stable, valid and reliable statictic data. In my test environment, it's 96 bytes (< 100) for current codes. * GNU/Hurd uses different errno and messages than Linux. So related things are adjusted accordingly. * Fix a misuse of `__MACH__`, which should actually be `__APPLE__`. * Fix a missing including of `signal.h` for using `SIGABRT`. Otherwise compilation will fail with undefined symbol error on GNU/Hurd. Signed-off-by: Yuqian Yang <crupest@crupest.life>
* Export of internal Abseil changesAbseil Team2020-12-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 0b13723ab1ca5231950c3ef76e57c415ce36d9d2 by Abseil Team <absl-team@google.com>: Fix documentation typo PiperOrigin-RevId: 348003868 -- 2ad4875258ffd604b19f57d7cfbb9f9a093ff880 by Derek Mauro <dmauro@google.com>: Add missing #include <assert.h> Note: This file is sometimes used from C so we can't use <cassert> PiperOrigin-RevId: 347931562 -- 4d0c777a3645bddea9d0d6c49ec8ef3afea8c0b7 by Chris Kennelly <ckennelly@google.com>: Use unsigned types for BitMask helper functions. Additionally, explicitly perform narrowing cast. T will always have fewer than 2^32 bits. PiperOrigin-RevId: 347913413 -- 80c44b0b066485a25baff56d475b67be2ad027e7 by Abseil Team <absl-team@google.com>: Stash errno for a larger scope. Also adjust the test to account for EXPECT_* possibly modifying errno as well. PiperOrigin-RevId: 347899763 GitOrigin-RevId: 0b13723ab1ca5231950c3ef76e57c415ce36d9d2 Change-Id: I9e7c0e5d45ac778644f3ad72d215378a8cf8a7d4
* Export of internal Abseil changesAbseil Team2020-03-181-0/+86
-- a85860e450815776c8753f34348f41ab0e918d36 by Gennadiy Rozental <rogeeff@google.com>: Rename ComamndLineFlag's interface SetFromString as ParseFrom. This is the name approved by C++ API review. PiperOrigin-RevId: 301543521 -- 28f31bae2a136854fd89f0a32f281d12a40f702c by Abseil Team <absl-team@google.com>: Internal change PiperOrigin-RevId: 301524919 -- a68da3d6fbbca4c5f41a20e99ed72bb1c5dd1165 by Abseil Team <absl-team@google.com>: Introduce absl::base_internal::StrError, a portability wrapper around the various thread-safe alternatives to C89's strerror. PiperOrigin-RevId: 301513962 -- 92ccac3b6eb18cb41cddedbfdab53b9ad481505d by Andy Getzendanner <durandal@google.com>: Introduce absl::base_internal::StrError, a portability wrapper around the various thread-safe alternatives to C89's strerror. PiperOrigin-RevId: 301493389 -- 8e196def47c250941202840d6a1de686d681cd3e by Abseil Team <absl-team@google.com>: Internal change PiperOrigin-RevId: 301363394 -- dd1dcffa6c47675ba4d198730a301bd408142298 by Gennadiy Rozental <rogeeff@google.com>: Add validation for size of void* to match the size of free function pointer. PiperOrigin-RevId: 301341331 GitOrigin-RevId: a85860e450815776c8753f34348f41ab0e918d36 Change-Id: I27c9d1365d3c9b4328d1587ab3ac38e2d09a6ec2