Hi, I see that ENABLE_WERROR is being set to off (the default value) in the config.log in the llvm build. However on grepping for WERROR in the compiler-rt folder I get the following output: pranav at pranav:~/smack-project/llvm-3.4/src/projects/compiler-rt$ grep -Rin WERROR * lib/asan/tests/CMakeLists.txt:38: -Werror lib/asan/asan_malloc_mac.cc:253:// This function is currently unused, and we build with -Werror. lib/tsan/check_cmake.sh:8:CC=clang CXX=clang++ cmake -DLLVM_ENABLE_WERROR=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON $ROOT/../../../.. lib/tsan/Makefile.old:3:CXXFLAGS = -fPIE -fno-rtti -g -Wall -Werror \ lib/tsan/rtl/Makefile.old:1:CXXFLAGS = -fPIE -g -Wall -Werror -fno-builtin -DTSAN_DEBUG=$(DEBUG) -DSANITIZER_DEBUG=$(DEBUG) lib/tsan/go/buildgo.sh:68:FLAGS=" -I../rtl -I../.. -I../../sanitizer_common -I../../../include -m64 -Wall -Werror -Wno-maybe-uninitialized -fno-exceptions -fno-rtti -DTSAN_GO -DSANITIZER_GO -DTSAN_SHADOW_COUNT=4 $OSCFLAGS" lib/sanitizer_common/sanitizer_platform_limits_posix.cc:410: unsigned IOCTL_FDWERRORCLR = FDWERRORCLR; lib/sanitizer_common/sanitizer_platform_limits_posix.cc:411: unsigned IOCTL_FDWERRORGET = FDWERRORGET; lib/sanitizer_common/sanitizer_platform_limits_posix.h:442: extern unsigned IOCTL_FDWERRORCLR; lib/sanitizer_common/sanitizer_platform_limits_posix.h:443: extern unsigned IOCTL_FDWERRORGET; lib/sanitizer_common/tests/CMakeLists.txt:36: -Wall -Werror -Werror=sign-compare) lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:177: _(FDWERRORCLR, NONE, 0); lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:178: _(FDWERRORGET, WRITE, struct_floppy_write_errors_sz); make/options.mk:10:CFLAGS := -Wall -Werror make/platform/clang_linux.mk:85:CFLAGS := -Wall -Werror -O3 -fomit-frame-pointer make/platform/clang_darwin.mk:109:CFLAGS := -Wall -Werror -O3 -fomit-frame-pointer make/platform/multi_arch.mk:10:CFLAGS := -Wall -Werror make/platform/darwin_fat.mk:42:CFLAGS := -Wall -Werror I see that -DLLVM_ENABLE_WERROR is being set in the script "lib/tsan/check_cmake.sh". Should I disable -DLLVM_ENABLE_WERROR at this point? Thanks Pranav On Wed, Jul 31, 2013 at 3:24 PM, Matt Arsenault <arsenm2 at gmail.com> wrote:> You can disable -Werror by adding the cmake flag -DLLVM_ENABLE_WERROR=OFF, > which should let it just ignore that (that's also the default, so you must > have turned it on somewhere) > > On Jul 31, 2013, at 13:09 , Pranav Garg <pranav.garg2107 at gmail.com> wrote: > > > Hi, > > > > I am trying to build llvm along with clang and compiler-rt. When I run > make, I am getting the following compilation error (I tried compiling > llvm-3.2, which is what I need for my project, but also tried llvm-3.3 and > the current llvm source from the git repository). > > > > ... > > COMPILE: clang_linux/full-x86_64/x86_64: > /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c > > > /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:53:29: > error: cast to 'unsigned char *' from smaller integer type 'unsigned int' > > [-Werror,-Wint-to-pointer-cast] > > unsigned char* startPage = (unsigned char*)(p & pageAlignMask); > > ^ > > > /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:54:27: > error: cast to 'unsigned char *' from smaller integer type 'unsigned int' > > [-Werror,-Wint-to-pointer-cast] > > unsigned char* endPage = (unsigned > char*)((p+TRAMPOLINE_SIZE+pageSize) & pageAlignMask); > > ^ > > 2 errors generated. > > ... > > > > On gcc --version I get the following output: > > gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 > > My operating system is a Ubuntu 12.04.1 LTS. On typing uname -a I get: > > Linux pranav 3.2.0-33-generic-pae #52-Ubuntu SMP Thu Oct 18 > 16:39:21 UTC 2012 i686 i686 i386 GNU/Linux > > > > Any ideas as to how to resolve this compilation error? > > > > Thanks > > Pranav > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130731/db93f7d2/attachment.html>
Hi Pranav, On Thu, Aug 1, 2013 at 1:54 AM, Pranav Garg <pranav.garg2107 at gmail.com>wrote:> Hi, > > I see that ENABLE_WERROR is being set to off (the default value) in the > config.log in the llvm build. However on grepping for WERROR in the > compiler-rt folder I get the following output: > > pranav at pranav:~/smack-project/llvm-3.4/src/projects/compiler-rt$ grep > -Rin WERROR * > lib/asan/tests/CMakeLists.txt:38: -Werror > lib/asan/asan_malloc_mac.cc:253:// This function is currently unused, and > we build with -Werror. > lib/tsan/check_cmake.sh:8:CC=clang CXX=clang++ cmake > -DLLVM_ENABLE_WERROR=ON -DCMAKE_BUILD_TYPE=Release > -DLLVM_ENABLE_ASSERTIONS=ON $ROOT/../../../.. > lib/tsan/Makefile.old:3:CXXFLAGS = -fPIE -fno-rtti -g -Wall -Werror \ > lib/tsan/rtl/Makefile.old:1:CXXFLAGS = -fPIE -g -Wall -Werror -fno-builtin > -DTSAN_DEBUG=$(DEBUG) -DSANITIZER_DEBUG=$(DEBUG) > lib/tsan/go/buildgo.sh:68:FLAGS=" -I../rtl -I../.. > -I../../sanitizer_common -I../../../include -m64 -Wall -Werror > -Wno-maybe-uninitialized -fno-exceptions -fno-rtti -DTSAN_GO -DSANITIZER_GO > -DTSAN_SHADOW_COUNT=4 $OSCFLAGS" > lib/sanitizer_common/sanitizer_platform_limits_posix.cc:410: unsigned > IOCTL_FDWERRORCLR = FDWERRORCLR; > lib/sanitizer_common/sanitizer_platform_limits_posix.cc:411: unsigned > IOCTL_FDWERRORGET = FDWERRORGET; > lib/sanitizer_common/sanitizer_platform_limits_posix.h:442: extern > unsigned IOCTL_FDWERRORCLR; > lib/sanitizer_common/sanitizer_platform_limits_posix.h:443: extern > unsigned IOCTL_FDWERRORGET; > lib/sanitizer_common/tests/CMakeLists.txt:36: -Wall -Werror > -Werror=sign-compare) > lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:177: > _(FDWERRORCLR, NONE, 0); > lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:178: > _(FDWERRORGET, WRITE, struct_floppy_write_errors_sz); > make/options.mk:10:CFLAGS := -Wall -Werror > make/platform/clang_linux.mk:85:CFLAGS := -Wall -Werror -O3 > -fomit-frame-pointer > make/platform/clang_darwin.mk:109:CFLAGS := -Wall -Werror -O3 > -fomit-frame-pointer > make/platform/multi_arch.mk:10:CFLAGS := -Wall -Werror > make/platform/darwin_fat.mk:42:CFLAGS := -Wall -Werror > > I see that -DLLVM_ENABLE_WERROR is being set in the script > "lib/tsan/check_cmake.sh". Should I disable -DLLVM_ENABLE_WERROR at this > point? > > Thanks > Pranav > > > On Wed, Jul 31, 2013 at 3:24 PM, Matt Arsenault <arsenm2 at gmail.com> wrote: > >> You can disable -Werror by adding the cmake flag >> -DLLVM_ENABLE_WERROR=OFF, which should let it just ignore that (that's also >> the default, so you must have turned it on somewhere) >> >> On Jul 31, 2013, at 13:09 , Pranav Garg <pranav.garg2107 at gmail.com> >> wrote: >> >> > Hi, >> > >> > I am trying to build llvm along with clang and compiler-rt. When I run >> make, I am getting the following compilation error (I tried compiling >> llvm-3.2, which is what I need for my project, but also tried llvm-3.3 and >> the current llvm source from the git repository). >> > >> > ... >> > COMPILE: clang_linux/full-x86_64/x86_64: >> /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c >> > >> /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:53:29: >> error: cast to 'unsigned char *' from smaller integer type 'unsigned int' >> > [-Werror,-Wint-to-pointer-cast] >> > unsigned char* startPage = (unsigned char*)(p & pageAlignMask); >> > ^ >> > >> /home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:54:27: >> error: cast to 'unsigned char *' from smaller integer type 'unsigned int' >> > [-Werror,-Wint-to-pointer-cast] >> > unsigned char* endPage = (unsigned >> char*)((p+TRAMPOLINE_SIZE+pageSize) & pageAlignMask); >> > ^ >> > 2 errors generated. >> >This is weird. In configure+make build all sources from projects/compiler-rt are compiled with just-built Clang, so -Werror should work fine for you, no matter which host compiler you have. Are you sure llvm, clang and compiler-rt checkouts are synced to the same revision? As a workaround, you may try to remove compiler-rt checkout if you don't need it for now.> > ... >> > >> > On gcc --version I get the following output: >> > gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 >> > My operating system is a Ubuntu 12.04.1 LTS. On typing uname -a I get: >> > Linux pranav 3.2.0-33-generic-pae #52-Ubuntu SMP Thu Oct 18 >> 16:39:21 UTC 2012 i686 i686 i386 GNU/Linux >> > >> > Any ideas as to how to resolve this compilation error? >> > >> > Thanks >> > Pranav >> > _______________________________________________ >> > LLVM Developers mailing list >> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- Alexey Samsonov, MSK -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130801/9100b3f6/attachment.html>
Dear Alexey,
Yes I am sure that the llvm, clang and compiler-rt are synced to the same
version. I downloaded them all from git
http://llvm.org/docs/GettingStarted.html#git-mirror
I think I need compiler-rt for my project but I'll verify it again to see
if I can proceed without it.
You are correct that compiler-rt is compiled with the just built clang. The
complete command that gives an error while compiler-rt compilation is:
/home/pranav/smack-project/llvm/build/Release+Asserts/bin/clang -fPIC -Wall
-Werror -O3 -fomit-frame-pointer -m64
--sysroot=/home/pranav/smack-project/llvm/src/projects/compiler-rt/SDKs/linux
-c -o
/home/pranav/smack-project/llvm/build/tools/clang/runtime/compiler-rt/clang_linux/full-x86_64/x86_64/SubDir.lib/enable_execute_stack.o
/home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c
/home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:53:29:
error: cast to 'unsigned char *' from smaller integer type 'unsigned
int'
[-Werror,-Wint-to-pointer-cast]
unsigned char* startPage = (unsigned char*)(p & pageAlignMask);
Thanks
Pranav
On Thu, Aug 1, 2013 at 7:27 AM, Alexey Samsonov <samsonov at google.com>
wrote:
> Hi Pranav,
>
> On Thu, Aug 1, 2013 at 1:54 AM, Pranav Garg <pranav.garg2107 at
gmail.com>wrote:
>
>> Hi,
>>
>> I see that ENABLE_WERROR is being set to off (the default value) in the
>> config.log in the llvm build. However on grepping for WERROR in the
>> compiler-rt folder I get the following output:
>>
>> pranav at pranav:~/smack-project/llvm-3.4/src/projects/compiler-rt$
grep
>> -Rin WERROR *
>> lib/asan/tests/CMakeLists.txt:38: -Werror
>> lib/asan/asan_malloc_mac.cc:253:// This function is currently unused,
and
>> we build with -Werror.
>> lib/tsan/check_cmake.sh:8:CC=clang CXX=clang++ cmake
>> -DLLVM_ENABLE_WERROR=ON -DCMAKE_BUILD_TYPE=Release
>> -DLLVM_ENABLE_ASSERTIONS=ON $ROOT/../../../..
>> lib/tsan/Makefile.old:3:CXXFLAGS = -fPIE -fno-rtti -g -Wall -Werror \
>> lib/tsan/rtl/Makefile.old:1:CXXFLAGS = -fPIE -g -Wall -Werror
>> -fno-builtin -DTSAN_DEBUG=$(DEBUG) -DSANITIZER_DEBUG=$(DEBUG)
>> lib/tsan/go/buildgo.sh:68:FLAGS=" -I../rtl -I../..
>> -I../../sanitizer_common -I../../../include -m64 -Wall -Werror
>> -Wno-maybe-uninitialized -fno-exceptions -fno-rtti -DTSAN_GO
-DSANITIZER_GO
>> -DTSAN_SHADOW_COUNT=4 $OSCFLAGS"
>> lib/sanitizer_common/sanitizer_platform_limits_posix.cc:410: unsigned
>> IOCTL_FDWERRORCLR = FDWERRORCLR;
>> lib/sanitizer_common/sanitizer_platform_limits_posix.cc:411: unsigned
>> IOCTL_FDWERRORGET = FDWERRORGET;
>> lib/sanitizer_common/sanitizer_platform_limits_posix.h:442: extern
>> unsigned IOCTL_FDWERRORCLR;
>> lib/sanitizer_common/sanitizer_platform_limits_posix.h:443: extern
>> unsigned IOCTL_FDWERRORGET;
>> lib/sanitizer_common/tests/CMakeLists.txt:36: -Wall -Werror
>> -Werror=sign-compare)
>> lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:177:
>> _(FDWERRORCLR, NONE, 0);
>> lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc:178:
>> _(FDWERRORGET, WRITE, struct_floppy_write_errors_sz);
>> make/options.mk:10:CFLAGS := -Wall -Werror
>> make/platform/clang_linux.mk:85:CFLAGS := -Wall -Werror -O3
>> -fomit-frame-pointer
>> make/platform/clang_darwin.mk:109:CFLAGS := -Wall -Werror -O3
>> -fomit-frame-pointer
>> make/platform/multi_arch.mk:10:CFLAGS := -Wall -Werror
>> make/platform/darwin_fat.mk:42:CFLAGS := -Wall -Werror
>>
>> I see that -DLLVM_ENABLE_WERROR is being set in the script
>> "lib/tsan/check_cmake.sh". Should I disable
-DLLVM_ENABLE_WERROR at this
>> point?
>>
>> Thanks
>> Pranav
>>
>>
>> On Wed, Jul 31, 2013 at 3:24 PM, Matt Arsenault <arsenm2 at
gmail.com>wrote:
>>
>>> You can disable -Werror by adding the cmake flag
>>> -DLLVM_ENABLE_WERROR=OFF, which should let it just ignore that
(that's also
>>> the default, so you must have turned it on somewhere)
>>>
>>> On Jul 31, 2013, at 13:09 , Pranav Garg <pranav.garg2107 at
gmail.com>
>>> wrote:
>>>
>>> > Hi,
>>> >
>>> > I am trying to build llvm along with clang and compiler-rt.
When I run
>>> make, I am getting the following compilation error (I tried
compiling
>>> llvm-3.2, which is what I need for my project, but also tried
llvm-3.3 and
>>> the current llvm source from the git repository).
>>> >
>>> > ...
>>> > COMPILE: clang_linux/full-x86_64/x86_64:
>>>
/home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c
>>> >
>>>
/home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:53:29:
>>> error: cast to 'unsigned char *' from smaller integer type
'unsigned int'
>>> > [-Werror,-Wint-to-pointer-cast]
>>> > unsigned char* startPage = (unsigned char*)(p &
pageAlignMask);
>>> > ^
>>> >
>>>
/home/pranav/smack-project/llvm/src/projects/compiler-rt/lib/enable_execute_stack.c:54:27:
>>> error: cast to 'unsigned char *' from smaller integer type
'unsigned int'
>>> > [-Werror,-Wint-to-pointer-cast]
>>> > unsigned char* endPage = (unsigned
>>> char*)((p+TRAMPOLINE_SIZE+pageSize) & pageAlignMask);
>>> > ^
>>> > 2 errors generated.
>>>
>>
> This is weird. In configure+make build all sources from
> projects/compiler-rt are compiled with just-built Clang, so -Werror should
> work fine for you,
> no matter which host compiler you have. Are you sure llvm, clang and
> compiler-rt checkouts are synced to the same revision?
> As a workaround, you may try to remove compiler-rt checkout if you
don't
> need it for now.
>
>
>
>> > ...
>>> >
>>> > On gcc --version I get the following output:
>>> > gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
>>> > My operating system is a Ubuntu 12.04.1 LTS. On typing uname
-a I get:
>>> > Linux pranav 3.2.0-33-generic-pae #52-Ubuntu SMP Thu
Oct 18
>>> 16:39:21 UTC 2012 i686 i686 i386 GNU/Linux
>>> >
>>> > Any ideas as to how to resolve this compilation error?
>>> >
>>> > Thanks
>>> > Pranav
>>> > _______________________________________________
>>> > LLVM Developers mailing list
>>> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
>
> --
> Alexey Samsonov, MSK
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20130801/1afc21c1/attachment.html>