Initial support for GNU/Hurd#2088
Conversation
|
How many more changes will be needed for this? This looks fairly minimal, but Hurd is not in our support matrix, and we don't test against it. So it may be accidentally broken again by future changes. To evaluate whether or not this is a good idea, it would be good to see the full scope of the necessary changes. The more you need to touch, the less likely it is to be stable |
Tweak configuration & tests so that most of abseil works on the Hurd:
- enable available TLS ("__thread", in practice)
- enable available mmap
- enable available POSIX semaphores
- enable available POSIX write()
- disable the ELF symbolizer: while the object format is ELF, the
symbolizer uses bits (i.e. "mmap" files in /proc) not currently
available
- use the available /proc/self/exe
- tweak a log test for the different value of EBADF
- tweak the strerror test for the GNU libc Hurd string representation
of -1
It is mostly this; I just rebased this PR with an additional fix for As for things to do:
My plan is to send changes for each separately, so it is easier to review them.
That is fine for me. Once abseil is changed to build/work on the Hurd, I do not expect a constant stream of changes to keep it up-to-date -- followup fixes should be easy to do and to review (IMHO). |
|
I think for something like this it might be easier to review it in totality. My worry is that we accept this PR (which seems pretty minimal) and then the next one seems too invasive. |
Tweak configuration & tests so that most of abseil works on the Hurd:
__thread, in practice)write()mmapfiles in/proc) not currently available/proc/self/exeEBADF-1