[openssl-dev] [openssl.org #4481] PATCH: Re: OS X 10.8 (x86_64): Compile errors when using "no-asm -ansi"

noloader@gmail.com via RT rt at openssl.org
Fri Mar 25 11:45:25 UTC 2016


$ git diff crypto/async/arch/async_posix.h > async_posix.h.patch
$ cat async_posix.h.patch
diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h
index de80f95..968358f 100644
--- a/crypto/async/arch/async_posix.h
+++ b/crypto/async/arch/async_posix.h
@@ -74,7 +74,7 @@ typedef struct async_fibre_st {
     int env_init;
 } async_fibre;

-static inline int async_fibre_swapcontext(async_fibre *o, async_fibre
*n, int r)
+static ossl_inline int async_fibre_swapcontext(async_fibre *o,
async_fibre *n, int r)
 {
     o->env_init = 1;



> -------------------------------------------------------------------------
> It looks like the defines of interest here to use inline are:
>
> $ cc -ansi -dM -E - </dev/null | sort > ansi.txt
> $ cc -dM -E - </dev/null | sort > no-ansi.txt
>
> $ diff ansi.txt no-ansi.txt
> 65d64
> < #define __GNUC_GNU_INLINE__ 1
> 67a67
>> #define __GNUC_STDC_INLINE__ 1
> 140a141
>> #define __STDC_VERSION__ 199901L
> 142d142
> < #define __STRICT_ANSI__ 1
>
> On Fri, Mar 25, 2016 at 6:21 AM, Jeffrey Walton <noloader at gmail.com> wrote:
>> Working from Master at 7793e17440539b71 on OS X 10.8. Also see
>> http://stackoverflow.com/questions/13870489/is-inline-asm-part-of-the-ansi-c-standard.
>>
>> $ KERNEL_BITS=64 ./config shared no-asm -ansi
>> ...
>> $ make -k
>> ...
>>
>> cc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
>> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
>> -DOPENSSLDIR="\"/usr/local/ssl\""
>> -DENGINESDIR="\"/usr/local/lib/engines\"" -O3 -D_REENTRANT -arch
>> x86_64 -DL_ENDIAN -Wall  -ansi -fPIC -Iinclude -I. -Icrypto/include
>> -MMD -MF crypto/async/arch/async_null.d.tmp -MT
>> crypto/async/arch/async_null.o -c -o crypto/async/arch/async_null.o
>> crypto/async/arch/async_null.c
>> In file included from crypto/async/arch/async_null.c:54:
>> In file included from crypto/async/arch/../async_locl.h:69:
>> crypto/async/arch/../arch/async_posix.h:77:8: error: unknown type name 'inline'
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>        ^
>> crypto/async/arch/../arch/async_posix.h:77:15: error: expected identifier or '('
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>               ^
>> 2 errors generated.
>> Makefile:1240: recipe for target 'crypto/async/arch/async_null.o' failed
>>
>>
>>
>> cc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
>> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
>> -DOPENSSLDIR="\"/usr/local/ssl\""
>> -DENGINESDIR="\"/usr/local/lib/engines\"" -O3 -D_REENTRANT -arch
>> x86_64 -DL_ENDIAN -Wall  -ansi -fPIC -Iinclude -I. -Icrypto/include
>> -MMD -MF crypto/async/arch/async_win.d.tmp -MT
>> crypto/async/arch/async_win.o -c -o crypto/async/arch/async_win.o
>> crypto/async/arch/async_win.c
>> In file included from crypto/async/arch/async_win.c:54:
>> In file included from crypto/async/arch/../async_locl.h:69:
>> crypto/async/arch/../arch/async_posix.h:77:8: error: unknown type name 'inline'
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>        ^
>> crypto/async/arch/../arch/async_posix.h:77:15: error: expected identifier or '('
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>               ^
>> 2 errors generated.
>> Makefile:1256: recipe for target 'crypto/async/arch/async_win.o' failed
>> make: *** [crypto/async/arch/async_win.o] Error 1
>>
>>
>>
>> cc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
>> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
>> -DOPENSSLDIR="\"/usr/local/ssl\""
>> -DENGINESDIR="\"/usr/local/lib/engines\"" -O3 -D_REENTRANT -arch
>> x86_64 -DL_ENDIAN -Wall  -ansi -fPIC -Iinclude -I. -Icrypto/include
>> -MMD -MF crypto/async/async.d.tmp -MT crypto/async/async.o -c -o
>> crypto/async/async.o crypto/async/async.c
>> In file included from crypto/async/async.c:62:
>> In file included from crypto/async/async_locl.h:69:
>> crypto/async/arch/async_posix.h:77:8: error: unknown type name 'inline'
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>        ^
>> crypto/async/arch/async_posix.h:77:15: error: expected identifier or '('
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>               ^
>> crypto/async/async.c:202:14: warning: implicit declaration of function
>>       'async_fibre_swapcontext' [-Wimplicit-function-declaration]
>>         if (!async_fibre_swapcontext(&job->fibrectx,
>>              ^
>> 1 warning and 2 errors generated.
>> Makefile:1264: recipe for target 'crypto/async/async.o' failed
>> make: *** [crypto/async/async.o] Error 1
>>
>>
>>
>> cc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
>> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
>> -DOPENSSLDIR="\"/usr/local/ssl\""
>> -DENGINESDIR="\"/usr/local/lib/engines\"" -O3 -D_REENTRANT -arch
>> x86_64 -DL_ENDIAN -Wall  -ansi -fPIC -Iinclude -I. -Icrypto/include
>> -MMD -MF crypto/async/async_err.d.tmp -MT crypto/async/async_err.o -c
>> -o crypto/async/async_err.o crypto/async/async_err.c
>> cc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
>> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
>> -DOPENSSLDIR="\"/usr/local/ssl\""
>> -DENGINESDIR="\"/usr/local/lib/engines\"" -O3 -D_REENTRANT -arch
>> x86_64 -DL_ENDIAN -Wall  -ansi -fPIC -Iinclude -I. -Icrypto/include
>> -MMD -MF crypto/async/async_wait.d.tmp -MT crypto/async/async_wait.o
>> -c -o crypto/async/async_wait.o crypto/async/async_wait.c
>> In file included from crypto/async/async_wait.c:54:
>> In file included from crypto/async/async_locl.h:69:
>> crypto/async/arch/async_posix.h:77:8: error: unknown type name 'inline'
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>        ^
>> crypto/async/arch/async_posix.h:77:15: error: expected identifier or '('
>> static inline int async_fibre_swapcontext(async_fibre *o, async_fibre *n, int r)
>>               ^
>> 2 errors generated.
>> Makefile:1280: recipe for target 'crypto/async/async_wait.o' failed
>> make: *** [crypto/async/async_wait.o] Error 1


-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4481
Please log in as guest with password guest if prompted



More information about the openssl-dev mailing list