[patch, libfortran] Restore bootstrap on FreeBSD (hopefully)
Steve Kargl
sgk@troutmask.apl.washington.edu
Fri Jan 9 20:55:01 GMT 2026
On Fri, Jan 09, 2026 at 08:57:25PM +0100, Thomas König wrote:
> As analyzed by Steve, on freebsd __gthread_t is a pointer type.
> I thought it the cleanest solution to remove the #ifdef in gfc_unit,
> make the "self" member a intptr_t and cast the return value of
> __gthread_t to that type.
>
> Sorry for breaking bootstrap... the ubiquity of Linux is really
> striking here. There are a couple of
>
> Regression-tested on Linux. FreeBSD should also work, but I'd
> like confirmation, if possible. Steve, could you be so kind?
>
> OK for trunk?
>
Fixes bootstrap and regression tests cleanly. Ok to commit.
Nothing to be sorry about! Things can break
at the top-of-tree. Plus, I learned something,
from the linux pthread_self() man page:
POSIX.1 allows an implementation wide freedom in choosing the type
used to represent a thread ID; for example, representation using
either an arithmetic type or a structure is permitted. Therefore,
variables of type pthread_t can't portably be compared using the C
equality operator (==); use pthread_equal(3) instead.
Thread identifiers should be considered opaque: any attempt to use
a thread ID other than in pthreads calls is nonportable and can
lead to unspecified results.
--
Steve
More information about the Fortran
mailing list