Thread: GNU/Hurd portability patches
Hi, please find attached the current patches required to get master built and the testsuites run on Debian's hurd-i386 port. I have not had the time to test the hurd-amd64 port in the same fashion, but will do so next. As mentioned in this thread[1], one needs a fairly recent kernel for the high-resolution timers in order to avoid regression test failures, and the buildfarm client run does not like debug_parallel_query. Michael [1] https://www.postgresql.org/message-id/685a3ccd.170a0220.2d27e6.2232%40mx.google.com
Attachment
Michael Banck <mbanck@gmx.net> writes: > please find attached the current patches required to get master built > and the testsuites run on Debian's hurd-i386 port. I have not had the > time to test the hurd-amd64 port in the same fashion, but will do so > next. Pushed, after some fooling with the comments and commit messages. Please go ahead and set up a Hurd buildfarm member, so that it stays fixed. regards, tom lane
Hi, On Tue, Jul 01, 2025 at 12:41:50PM -0400, Tom Lane wrote: > Michael Banck <mbanck@gmx.net> writes: > > please find attached the current patches required to get master built > > and the testsuites run on Debian's hurd-i386 port. I have not had the > > time to test the hurd-amd64 port in the same fashion, but will do so > > next. > > Pushed, after some fooling with the comments and commit messages. Thanks! Also for back-patching them. Regarding the comment, | * If <limits.h> didn't define IOV_MAX, define our own. X/Open requires at | * least 16. (GNU Hurd apparently feel that they're not bound by X/Open, | * because they don't define this symbol at all.) I personally don't care much about those missing limits on the Hurd, but Thomas mentioned in CA+hUKG+tqFVY7Fi=WBvZ6-UsATjcPNBDtphDm7YLjevm2kxSvw@mail.gmail.com (and Samuel Thibault cited the same sentence to me now when I discussed the commit with him) that POSIX said "A definition of one of the symbolic constants in the following list shall be omitted from <limits.h> on specific implementations where the corresponding value is equal to or greater than the stated minimum, but is unspecified". So "requires at least 16" might be a bit too strong here, AIUI. > Please go ahead and set up a Hurd buildfarm member, so that it > stays fixed. Right, will look into this next. Michael
Michael Banck <mbanck@gmx.net> writes: > On Tue, Jul 01, 2025 at 12:41:50PM -0400, Tom Lane wrote: > | * If <limits.h> didn't define IOV_MAX, define our own. X/Open requires at > | * least 16. (GNU Hurd apparently feel that they're not bound by X/Open, > | * because they don't define this symbol at all.) > I personally don't care much about those missing limits on the Hurd, but > Thomas mentioned in > CA+hUKG+tqFVY7Fi=WBvZ6-UsATjcPNBDtphDm7YLjevm2kxSvw@mail.gmail.com (and > Samuel Thibault cited the same sentence to me now when I discussed the > commit with him) that POSIX said "A definition of one of the symbolic > constants in the following list shall be omitted from <limits.h> on > specific implementations where the corresponding value is equal to or > greater than the stated minimum, but is unspecified". So "requires at > least 16" might be a bit too strong here, AIUI. Oh, I missed that bit of the spec. I think "requires at least 16" is correct anyway, but the parenthetical remark isn't really right. Not sure if it's worth changing --- the end result is the same in any case. regards, tom lane