This is the mail archive of the
mailing list for the GCC project.
Re: PING: Re: patch: libiberty adjustments for _WIN64
> This code all seems like a complex workaround for the fact that
> pex-common.h uses "long" as the return type for the exec_child hook.
> But pex-common.c really doesn't care what the value is. It just
> takes the value from the exec_child hook and passes it to the wait
> hook. So rather than introducing a new array in the heap, let's
> just change the interface.
We've had this discussion before; the problem is that some platforms
have sizeof(long) > sizeof(void*) and others have sizeof(long) <
sizeof(void*). So you can't just pass "anything" through that API
unless you have configure pick a suitable type and build libiberty
with it as well as your application.
It would be nice to have a way for libiberty's configure to provide a
.h for other applications to use; this would solve a couple of other
problems also. I'm not sure how easy that would be to implement.
Alternative is to provide a *.m4 file for clients to include, so that
at least the tests are consistent. Otherwise we risk having a client
use a different ABI than libiberty.