Problem with int types persists on nettle 2.4 and gnutls 3.0.19 on Solaris 9 Sparc

Paul Eggert eggert at cs.ucla.edu
Sun May 6 23:31:13 CEST 2012


On 05/06/2012 12:38 PM, Niels Möller wrote:

> But in the particular case of SunOS, the types are defined by system
> headers in release 5.10 (and presumably nailed down by the ABI spec),

Hmm, well, the latter point is dubious.  SunOS 5.10 standard headers do not
mention int_fast*_t, except in stdint.h where C requires their definition.
Presumably this is for the same reason that Gnulib avoids these types.
Arguably these types are not part of the SunOS 5.10 ABI, since nothing
in the SunOS library binary interface use them.

> Do you see any good reason for gnulib to not
> define the types in the same way as on 5.10, if building on 5.9?

The main reason is to keep gnulib simple and maintainable.
I'd rather not have to hand-maintain details about an
operating system that hasn't shipped since 2009.

How does the nettle stuff work?  Does it #define int_fast8_t etc
in config.h?  If so, there's a simple workaround in gnulib:
don't futz with int_fast8_t if it's already #defined.
That would be both simple and maintainable.  That is, in
lib/stdint.in.h, we could replace this:

#undef int_fast8_t
#define int_fast8_t gl_int_fast8_t

with this:

#ifndef int_fast8_t
# define int_fast8_t gl_int_fast8_t
#endif




More information about the Gnutls-devel mailing list