Skip to content

Commit

Permalink
deps: openssl - add x32 support
Browse files Browse the repository at this point in the history
This commit adds preliminary x32 support.  Configure with:

    $ ./configure --dest-cpu=x32

PR-URL: node-forward/node#24
Reviewed-By: Fedor Indutny <fedor@indutny.com>
  • Loading branch information
bnoordhuis authored and indutny committed Nov 29, 2014
1 parent ab71223 commit e05dff1
Showing 1 changed file with 8 additions and 17 deletions.
25 changes: 8 additions & 17 deletions deps/openssl/config/opensslconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,8 @@
* boundary. See crypto/rc4/rc4_enc.c for further details.
*/
# undef RC4_CHUNK
# if (defined(_M_X64) || defined(__x86_64__)) && defined(_WIN32)
# if defined(_M_X64) || defined(__x86_64__)
# define RC4_CHUNK unsigned long long
# elif (defined(_M_X64) || defined(__x86_64__)) && !defined(_WIN32)
# define RC4_CHUNK unsigned long
# elif defined(__arm__)
# define RC4_CHUNK unsigned long
# else
Expand All @@ -205,21 +203,12 @@
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
* %20 speed up (longs are 8 bytes, int's are 4). */
# undef DES_LONG
# if defined(_M_X64) || defined(__x86_64__) || defined(__arm__) || defined(__mips__)
# define DES_LONG unsigned int
# elif defined(_M_IX86) || defined(__i386__)
# define DES_LONG unsigned long
# endif
# define DES_LONG unsigned int
#endif

#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
# define CONFIG_HEADER_BN_H
# undef BL_LLONG
# if defined(_M_IX86) || defined(__i386__) || defined(__arm__)
# define BL_LLONG
# endif

/* Should we define BN_DIV2W here? */
/* Only one for the following should be defined */
Expand All @@ -231,10 +220,12 @@
# undef THIRTY_TWO_BIT
# undef SIXTEEN_BIT
# undef EIGHT_BIT
# if (defined(_M_X64) || defined(__x86_64__)) && defined(_WIN32)
# define SIXTY_FOUR_BIT
# elif (defined(_M_X64) || defined(__x86_64__)) && !defined(_WIN32)
# define SIXTY_FOUR_BIT_LONG
# if defined(_M_X64) || defined(__x86_64__)
# if defined(_WIN64) || defined(_LP64)
# define SIXTY_FOUR_BIT_LONG

This comment has been minimized.

Copy link
@piscisaureus

piscisaureus Dec 9, 2014

Contributor

I think you got SIXTY_FOUR_BIT_LONG and SIXTY_FOUR_BIT reversed.
In any case this commit causes consistent heap corruption and crashes on x64 windows.
Am I right?

This comment has been minimized.

Copy link
@piscisaureus

piscisaureus Dec 9, 2014

Contributor

This comment has been minimized.

Copy link
@bnoordhuis

bnoordhuis Dec 9, 2014

Author Member

I thought that sizeof(long) == sizeof(void*) when defined(_WIN64)? If that is not the case, then SIXTY_FOUR_BIT_LONG should only be defined when defined(_LP64).

# else
# define SIXTY_FOUR_BIT
# endif
# elif defined(_M_IX86) || defined(__i386__) || defined(__arm__) || defined(__mips__)
# define THIRTY_TWO_BIT
# endif
Expand Down

0 comments on commit e05dff1

Please sign in to comment.