Thread: GNU/Hurd portability patches

GNU/Hurd portability patches

From
Michael Banck
Date:
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

Re: GNU/Hurd portability patches

From
Tom Lane
Date:
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



Re: GNU/Hurd portability patches

From
Michael Banck
Date:
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



Re: GNU/Hurd portability patches

From
Tom Lane
Date:
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