Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 6 Jul 2011 06:43:39 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: Error compiling JtR 1.7.8 jumbo 2 on Solaris x86

Robert, Jim, magnum -

On Tue, Jul 05, 2011 at 09:58:23PM -0400, Robert Harris wrote:
> stdint.h:9: error: conflicting types for 'uint64_t'

I expected breakage like that when we introduced an own stdint.h, but I
didn't have time to comment.  Then I just forgot about it when merging
patches.  I think we should add #define's into stdint.h such that our
new type names don't conflict with the system's.  That is, add:

#undef uint8_t
#define uint8_t _john_uint8_t
#undef uint16_t
#define uint16_t _john_uint16_t
#undef uint32_t
#define uint32_t _john_uint32_t
#undef uint64_t
#define uint64_t _john_uint64_t

right before the typedef's.  Then we'll actually define and use those
types under the _john_* names.  math.h already uses a similar trick:

#undef int64
#define int64 _john_int64_t

IIRC, this int64 fixup was originally added for AIX.

The #undef is needed in the unlikely event that a system also #define's
its type.

Thanks,

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ