Hello! I have fixed abseil[1] on GNU/Hurd Debian and also libgav1[2] for testing it. They both work well. The libgav1 patch will be posted on another thread later.
There are some problems related to kernel in debugging feature. They can be safely disabled like other platforms that do not support it. I have disabled them, since they don't affect the normal functionality. I plan to discuss them with kernel developers soon. After that, I can push the patch to upstream. The fix is fairly simple. Basically, I did, - Mark GNU/Hurd supporting `mmap` and `write` - No `mmap` makes it fail to build. - No `write` makes the log unit test fail. Because some death unit tests suppose the error message to be printed before the program crash and `write` is used to avoid glibc cache. - Fix macro and header including bug. I don't know why I have to add `#include <signal.h>` on GNU/Hurd. Maybe the source relies on indirect including on other platforms. - Errno and message are totally different on GNU/Hurd. I have ported them for GNU/Hurd. - Disable symbolize and signal stack memory consumption test due to the kernel related problems mentioned above. Thanks for people who helped me! Yuqian Yang (6): GNU/Hurd: mark support mmap, write. fix misuse macro. GNU/Hurd: fix missing signal.h including. GNU/Hurd: fix errno and message. GNU/Hurd: disable vdso on GNU/Hurd. GNU/Hurd: disable symbolize. GNU/Hurd: skip signal consumption test. absl/base/config.h | 2 +- absl/base/internal/raw_logging.cc | 2 +- absl/base/internal/strerror_test.cc | 5 +++++ absl/debugging/internal/stack_consumption_test.cc | 3 +++ absl/debugging/internal/symbolize.h | 2 +- absl/debugging/internal/vdso_support.h | 2 ++ absl/log/internal/test_helpers.cc | 4 ++++ absl/log/log_modifier_methods_test.cc | 6 ++++-- absl/log/stripping_test.cc | 4 ++-- 9 files changed, 23 insertions(+), 7 deletions(-) [1] https://salsa.debian.org/debian/abseil [2] https://salsa.debian.org/multimedia-team/libgav1 -- Yuqian Yang <crup...@crupest.life>