<div dir="ltr"><div>Hi John,<br>Yes I am working with Nikhil.<br>I compiled  Clang 3.2 in Cygwin using gcc ( note- with clang there were lot of errors during compilation). Going ahead, Installation is successful for me.<br><br></div><div>However there new issue with SAFECode clang installed in cygwin.<br><br></div><div>If you check below snippet it looks like clang invoke gcc which in-turn fails to recognize ‘-fmemsafety’ and so sample.exe is not created.<br></div><div>Any clue why clang fallback to gcc ? On my linux machine I do not see gcc invocation. <br></div><div><br>==============<br>$ clang -v -g -fmemsafety -o sample sample.c -L/home/kpawar/SAFECode/LLVM_INSTALL/lib -I/home/kpawar/SAFECode/LLVM_INSTALL/include<br>clang version 3.2 (: <a href="http://llvm.org/svn/llvm-project/safecode/branches/release_32/tools/clang">http://llvm.org/svn/llvm-project/safecode/branches/release_32/tools/clang</a>) (llvm/branches/release_32 ^/llvm/branches/release_32 250143)<br>Target: i386-pc-cygwin<br>Thread model: posix<br> "/home/kpawar/SAFECode/LLVM_INSTALL/bin/clang" -cc1 -triple i386-pc-cygwin -S -disable-free -main-file-name sample.c -mrelocation-model static -mdisable-fp-elim -fmath-errno -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.25.2 -momit-leaf-frame-pointer -v -g -resource-dir /home/kpawar/SAFECode/LLVM_INSTALL/bin/../lib/clang/3.2 -I /home/kpawar/SAFECode/LLVM_INSTALL/include -fmodule-cache-path /var/tmp/clang-module-cache -fno-dwarf-directory-asm -fdebug-compilation-dir /home/kpawar/Documents -ferror-limit 19 -fmessage-length 237 -fmemsafety -mstackrealign -fno-use-cxa-atexit -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/sample-T1WCmN.s -x c sample.c<br>clang -cc1 version 3.2 based upon LLVM 3.2svn default target i386-pc-cygwin<br>ignoring nonexistent directory "/usr/local/include"<br>#include "..." search starts here:<br>#include <...> search starts here:<br> /home/kpawar/SAFECode/LLVM_INSTALL/include<br> /home/kpawar/SAFECode/LLVM_INSTALL/bin/../lib/clang/3.2/include<br> /usr/include/w32api<br> /usr/include<br>End of search list.<br> "<b>/usr/bin/gcc" -v -fmemsafety -L/home/kpawar/SAFECode/LLVM_INSTALL/lib -I /home/kpawar/SAFECode/LLVM_INSTALL/include -c -m32 -o /tmp/sample-5Zz17i.o -x assembler /tmp/sample-T1WCmN.s<br>Using built-in specs.</b><br>COLLECT_GCC=/usr/bin/gcc<br>gcc: error: unrecognized command line option ‘-fmemsafety’<br>Target: i686-pc-cygwin<br>Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.3-1.i686/src/gcc-4.9.3 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id<br>Thread model: posix<br>gcc version 4.9.3 (GCC)<br>clang: error: assembler (via gcc) command failed with exit code 1 (use -v to see invocation)<br><br>============<br></div><div><br></div>~ Kiran<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 14, 2015 at 7:06 PM, John Criswell <span dir="ltr"><<a href="mailto:jtcriswel@gmail.com" target="_blank">jtcriswel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Dear Kiran,<br>
      <br>
      Egads!  It looks like /usr/bin/clang is crashing.  This isn't a
      bug in SAFECode; it's a bug in Clang.<br>
      <br>
      What version of Clang are you using in Cygwin to compile SAFECode?<br>
      <br>
      One thing you should try is compiling Clang 3.2 in Cygwin (either
      using gcc or clang).  SAFECode Clang is standard Clang modified
      with a few new command-line options to run the SAFECode
      transformation passes.  If unmodified Clang 3.2 won't compile on
      Cygwin, then SAFECode Clang for LLVM 3.2 won't compile either.<br>
      <br>
      BTW, are you working with Nikhil?<br>
      <br>
      Regards,<br>
      <br>
      John Criswell<div><div class="h5"><br>
      <br>
      <br>
      On 10/13/15 11:29 PM, kiran pawar wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>Hi John,<br>
          </div>
          That worked for me. I am using llvm 3.2 only and following <a href="http://safecode.cs.illinois.edu/docs/Install.html" target="_blank"></a><a href="http://safecode.cs.illinois.edu/docs/Install.html" target="_blank">http://safecode.cs.illinois.edu/docs/Install.html</a><br>
          <br>
        </div>
        <div>So for I am able to make inside llvm/projects/poolalloc by
          doing such cosmetic changes.<br>
        </div>
        <div>Now, when I tried to make inside llvm/projects/safecode, I
          see another error.<br>
        </div>
        <div><br>
          kpawar@KPAWAR-LT ~/SAFECode/LLVM_SRC/llvm/projects/safecode<br>
          $ /usr/bin/clang -cc1 -triple i386-pc-windows-cygnus -emit-obj
          -disable-free -disable-llvm-verifier -main-file-name
          Parser.cpp -mrelocation-model static -relaxed-aliasing
          -fmath-errno -masm-verbose -mconstructor-aliases -target-cpu
          pentium4 -target-linker-version 2.25 -dwarf-column-info
          -coverage-file
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -resource-dir /usr/bin/../lib/clang/i686-pc-cygwin/3.5.2
          -dependency-file
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.d.tmp
          -MP -MT
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -MT
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.d
          -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D
          __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D SAFECODE -D
          SAFECODE -I /home/kpawar/SAFECode/LLVM_SRC/llvm/include -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -O3 -Woverloaded-virtual -Wcast-qual -Wall -Wno-deprecated
          -Wall -Wno-long-long -Wall -W -Wno-unused-parameter
          -Wwrite-strings -Wcovered-switch-default -pedantic
          -fdebug-compilation-dir
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse
          -ferror-limit 19 -fmessage-length 271
          -fvisibility-inlines-hidden -mstackrealign -fno-rtti
          -fobjc-runtime=gcc -fdiagnostics-show-option
          -fcolor-diagnostics -vectorize-loops -vectorize-slp -o
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -x c++  tools/clang/lib/Parse/Parser.cpp<br>
          <b>Stack dump:</b><br>
          0.      Program arguments: /usr/bin/clang -cc1 -triple
          i386-pc-windows-cygnus -emit-obj -disable-free
          -disable-llvm-verifier -main-file-name Parser.cpp
          -mrelocation-model static -relaxed-aliasing -fmath-errno
          -masm-verbose -mconstructor-aliases -target-cpu pentium4
          -target-linker-version 2.25 -dwarf-column-info -coverage-file
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -resource-dir /usr/bin/../lib/clang/i686-pc-cygwin/3.5.2
          -dependency-file
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.d.tmp
          -MP -MT
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -MT
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.d
          -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D
          __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D SAFECODE -D
          SAFECODE -I /home/kpawar/SAFECode/LLVM_SRC/llvm/include -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -I
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/poolalloc/include
          -O3 -Woverloaded-virtual -Wcast-qual -Wall -Wno-deprecated
          -Wall -Wno-long-long -Wall -W -Wno-unused-parameter
          -Wwrite-strings -Wcovered-switch-default -pedantic
          -fdebug-compilation-dir
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse
          -ferror-limit 19 -fmessage-length 271
          -fvisibility-inlines-hidden -mstackrealign -fno-rtti
          -fobjc-runtime=gcc -fdiagnostics-show-option
          -fcolor-diagnostics -vectorize-loops -vectorize-slp -o
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/Release+Asserts/Parser.o
          -x c++ tools/clang/lib/Parse/Parser.cpp<br>
          1.     
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include/clang/Sema/DeclSpec.h:855:3:
          current parser token 'SourceLocation'<br>
          2.     
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include/clang/Sema/DeclSpec.h:38:1:
          parsing namespace 'clang'<br>
          3.     
          /home/kpawar/SAFECode/LLVM_SRC/llvm/projects/safecode/tools/clang/lib/Parse/../../include/clang/Sema/DeclSpec.h:783:1:
          parsing struct/union/class body 'UnqualifiedId'<br>
          <br>
          <br>
          <br>
        </div>
        ~ Kiran<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Oct 13, 2015 at 11:16 PM, John
          Criswell <span dir="ltr"><<a href="mailto:jtcriswel@gmail.com" target="_blank">jtcriswel@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>Dear Kiran,<br>
                <br>
                Which version of LLVM/SAFECode are you using?  Is it
                LLVM 3.2?<br>
                <br>
                I'm guessing that you're using LLVM 3.2 and trying to
                compile safecode/tools/LTO (that's the only component
                that links in AssistDS.a).  You could try changing the
                following line:<br>
                <br>
                $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/libAssistDS.a:
                $(POOLALLOC_OBJDIR)/$(BuildMode)/lib/AssistDS.a<br>
                <br>
                ... to:<br>
                <br>
                $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/libAssistDS.a:
                $(POOLALLOC_OBJDIR)/$(BuildMode)/lib/libAssistDS.a<br>
                <br>
                You'll need to fix the problem for other libraries for
                which SAFECode creates links in its own object tree
                (such as libpoolalloc.a).<br>
                <br>
                That might fix the problem on Cygwin.<br>
                <br>
                Regards,<br>
                <br>
                John Criswell
                <div>
                  <div><br>
                    <br>
                    On 10/13/15 2:36 AM, kiran pawar via llvm-dev wrote:<br>
                  </div>
                </div>
              </div>
              <blockquote type="cite">
                <div>
                  <div>
                    <div dir="ltr">
                      <div>
                        <div>
                          <div>
                            <div>Hi,<br>
                            </div>
                            On Linux I observed<br>
                            <br>
                            [root@localhost poolalloc]# find . -name *.a<br>
                            ./Release+Asserts/lib/LLVMDataStructure.a<br>
                            ./Release+Asserts/lib/poolalloc.a<br>
                            ./Release+Asserts/lib/AssistDS.a<br>
                            ./Release+Asserts/lib/libpoolalloc_fl_rt.a<br>
                            ./Release+Asserts/lib/libpoolalloc_rt.a<br>
                            ./Release+Asserts/lib/libpa_pre_rt.a<br>
                            ./Release+Asserts/lib/libcount.a<br>
                            <br>
                            <br>
                          </div>
                          On cygwin I observed <br>
                          <br>
                          kpawar@KPAWAR-LT
                          ~/SAFECode/LLVM_SRC/llvm/projects/poolalloc<br>
                          $ find . -name *.a<br>
                          ./Release+Asserts/lib/libAssistDS.a<br>
                          ./Release+Asserts/lib/libcount.a<br>
                          ./Release+Asserts/lib/libLLVMDataStructure.a<br>
                          ./Release+Asserts/lib/libpa_pre_rt.a<br>
                          ./Release+Asserts/lib/libpoolalloc.a<br>
                          ./Release+Asserts/lib/libpoolalloc_fl_rt.a<br>
                          ./Release+Asserts/lib/libpoolalloc_rt.a<br>
                          ./Release+Asserts/lib/libtypechecks_rt.a<br>
                          <br>
                          <br>
                        </div>
                        This creates issue to llvm/safecode since it
                        tries to search libraries named as poolalloc.a,
                        AssistDS.a etc. Any solution for this ?<br>
                        <br>
                      </div>
                      ~ Kiran<br>
                      <div>
                        <div><br>
                          <br>
                        </div>
                      </div>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                  </div>
                </div>
                <pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><span><font color="#888888">
</font></span></pre>
                <span><font color="#888888"> </font></span></blockquote>
              <span><font color="#888888"> <br>
                  <br>
                  <pre cols="72">-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a href="http://www.cs.rochester.edu/u/criswell" target="_blank">http://www.cs.rochester.edu/u/criswell</a></pre>
                </font></span></div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <br>
    <pre cols="72">-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a href="http://www.cs.rochester.edu/u/criswell" target="_blank">http://www.cs.rochester.edu/u/criswell</a></pre>
  </div></div></div>

</blockquote></div><br></div>