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

Joakim Johansson jocke at tbricks.com
Fri Jan 7 02:05:08 PST 2011


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: solaris_stdint.patch
Type: application/octet-stream
Size: 457 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110107/f2276c85/attachment.obj>
-------------- next part --------------


------------
-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$ 




More information about the llvm-dev mailing list