[LLVMdev] [PATCH] compiler-rt patch for clean build on Solaris 10 / x86

Nick Kledzik kledzik at apple.com
Fri Jan 7 11:13:17 PST 2011


Applied r123006, thanks!

-Nick

On Jan 7, 2011, at 2:05 AM, Joakim Johansson wrote:
> Hi,
> 
> Attached is small patch (based of r122998 of compiler-rt), required for clean builds on Solaris 10 / x86 using clang 2.8.
> 
> Please consider it for inclusion.
> 
> Cheers,
> 
> Joakim
> 
> <solaris_stdint.patch>
> 
> ------------
> -bash-3.00$ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
> ...
> -bash-3.00$ mkdir build
> -bash-3.00$ cd build
> -bash-3.00$ cmake -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 ../compiler-rt/
> -- The C compiler identification is Clang
> -- Check for working C compiler: /home/jocke/llvm/build/Release/bin/clang
> -- Check for working C compiler: /home/jocke/llvm/build/Release/bin/clang -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Looking for sys/byteorder.h
> -- Looking for sys/byteorder.h - not found
> -- Looking for AvailabilityMacros.h
> -- Looking for AvailabilityMacros.h - not found
> -- Looking for TargetConditionals.h
> -- Looking for TargetConditionals.h - not found
> -- Looking for libkern/OSAtomic.h
> -- Looking for libkern/OSAtomic.h - not found
> -- Looking for sysconf
> -- Looking for sysconf - found
> -- Looking for OSAtomicCompareAndSwapInt
> -- Looking for OSAtomicCompareAndSwapInt - not found.
> -- Looking for OSAtomicCompareAndSwapLong
> -- Looking for OSAtomicCompareAndSwapLong - not found.
> -- Performing Test HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT
> -- Performing Test HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT - Success
> -- Performing Test HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG
> -- Performing Test HAVE_SYNC_BOOL_COMPARE_AND_SWAP_LONG - Success
> CMake Warning (dev) at test/CMakeLists.txt:8 (TARGET_LINK_LIBRARIES):
>  Cannot specify link libraries for target "CompilerRT" which is not built by
>  this project.
> 
>  CMake does not support this but it used to work accidentally and is being
>  allowed for compatibility.
> 
>  Policy CMP0016 is not set: target_link_libraries() reports error if only
>  argument is not a target.  Run "cmake --help-policy CMP0016" for policy
>  details.  Use the cmake_policy command to set the policy and suppress this
>  warning.
> This warning is for project developers.  Use -Wno-dev to suppress it.
> 
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/jocke/llvm/clean/build
> -bash-3.00$ 
> -bash-3.00$ gmake
> Scanning dependencies of target BlocksRuntime
> [  0%] Building C object BlocksRuntime/CMakeFiles/BlocksRuntime.dir/runtime.c.o
> [  1%] Building C object BlocksRuntime/CMakeFiles/BlocksRuntime.dir/data.c.o
> Linking C shared library libBlocksRuntime.so
> [  1%] Built target BlocksRuntime
> Scanning dependencies of target CompilerRT-Generic
> [  2%] Building C object lib/CMakeFiles/CompilerRT-Generic.dir/absvdi2.c.o
> In file included from /home/jocke/llvm/clean/compiler-rt/lib/absvdi2.c:15:
> In file included from /home/jocke/llvm/clean/compiler-rt/lib/int_lib.h:23:
> In file included from /home/jocke/llvm/clean/compiler-rt/lib/endianness.h:25:
> /usr/include/sys/byteorder.h:60:9: error: unknown type name 'uint16_t'
> typedef uint16_t in_port_t;
>        ^
> /usr/include/sys/byteorder.h:65:9: error: unknown type name 'uint32_t'
> typedef uint32_t in_addr_t;
>        ^
> /usr/include/sys/byteorder.h:69:8: error: unknown type name 'uint32_t'
> extern  uint32_t htonl(uint32_t);
>        ^
> /usr/include/sys/byteorder.h:69:23: error: a parameter list without types is only allowed in a function definition
> extern  uint32_t htonl(uint32_t);
>                       ^
> /usr/include/sys/byteorder.h:70:8: error: unknown type name 'uint16_t'
> extern  uint16_t htons(uint16_t);
>        ^
> /usr/include/sys/byteorder.h:70:23: error: a parameter list without types is only allowed in a function definition
> extern  uint16_t htons(uint16_t);
>                       ^
> /usr/include/sys/byteorder.h:71:9: error: unknown type name 'uint32_t'
> extern  uint32_t ntohl(uint32_t);
>        ^
> /usr/include/sys/byteorder.h:71:24: error: a parameter list without types is only allowed in a function definition
> extern  uint32_t ntohl(uint32_t);
>                       ^
> /usr/include/sys/byteorder.h:72:8: error: unknown type name 'uint16_t'
> extern  uint16_t ntohs(uint16_t);
>        ^
> /usr/include/sys/byteorder.h:72:23: error: a parameter list without types is only allowed in a function definition
> extern  uint16_t ntohs(uint16_t);
>                       ^
> 10 errors generated.
> gmake[2]: *** [lib/CMakeFiles/CompilerRT-Generic.dir/absvdi2.c.o] Error 1
> gmake[1]: *** [lib/CMakeFiles/CompilerRT-Generic.dir/all] Error 2
> gmake: *** [all] Error 2
> -bash-3.00$ 
> octo.tbricks.com:llvm/clean/compiler-rt> patch -p0 < ../solaris_stdint.patch
> patching file lib/int_lib.h
> octo.tbricks.com:llvm/clean/compiler-rt> 
> -bash-3.00$ gmake
> [  1%] Built target BlocksRuntime
> [  2%] Building C object lib/CMakeFiles/CompilerRT-Generic.dir/absvdi2.c.o
> [  2%] Building C object lib/CMakeFiles/CompilerRT-Generic.dir/absvsi2.c.o
> .
> .
> .
> [100%] Building C object test/CMakeFiles/umodti3_test.dir/Unit/umodti3_test.c.o
> Linking C executable umodti3_test
> [100%] Built target umodti3_test
> -bash-3.00$ file BlocksRuntime/libBlocksRuntime.so 
> BlocksRuntime/libBlocksRuntime.so:      ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically linked, not stripped, no debugging information available
> -bash-3.00$ 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list