Hi,<br><br>We found `llvm-config --cxxflags' does not have -fno-exceptions -fno-rtti when using cmake to build LLVM.<br>Does anyone know how to fix it?<br><br>Best regards,<br>Luba<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>
From: <b class="gmail_sendername">Luba Tang</b> <span dir="ltr"><<a href="mailto:lubatang@gmail.com">lubatang@gmail.com</a>></span><br>Date: 2012/11/21<br>Subject: Re: [MCLinker] Re: Major release - MCLinker 2.0.0 - RockBull<br>
To: <a href="mailto:mclinker@googlegroups.com">mclinker@googlegroups.com</a><br><br><br>Hi,<br><br>We make sure the fault source is from llvm-config.<br>When you build LLVM by cmake, cmake will add -fno-rtti to build LLVM for you.<br>
But there is something wrong on llvm-config.<br>cmake does not add correct options in llvm-config.<br>
<br>Best regards,<br>Luba<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">2012/11/21 Luba Tang <span dir="ltr"><<a href="mailto:lubatang@gmail.com" target="_blank">lubatang@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, Kito,<br><br>Did you ever use --enable-expensive-checks when you configure LLVM?<br><br>${LLVM_BUILD}/configure --enable-expensive-checks<br><br>or<br><br>_GLIBCXX_DEBUG<br><br>is in your environment?<br><br>This will enable RTTI for LLVM<div>

<div><br>
<br><div class="gmail_quote">2012/11/21 Kito Cheng <span dir="ltr"><<a href="mailto:kito@0xlab.org" target="_blank">kito@0xlab.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>> Hi, Kito,<br>
><br>
> I check the trunk r168413, `llvm-config --cxxflags' shows<br>
> -I/Users/lubatang/SysRoot/include  -D_DEBUG -D_GNU_SOURCE<br>
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g<br>
> -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fno-common<br>
> -Woverloaded-virtual -Wcast-qual<br>
><br>
> And -fno-rtti really in our compilation flags.<br>
><br>
> The other possibility is llvm::MachineFunctionPass declares  a virtual<br>
> function but without implementation.<br>
> I check the newest LLVM, and I'm sure all member functions are implemented.<br>
<br>
</div>Wow, it's not in my llvm-config --cxxflags...XD<br>
<br>
[kito@iCare ~]$ llvm-config --cxxflags<br>
-I/home/kito/include  -fPIC -fvisibility-inlines-hidden -O3 -DNDEBUG<br>
-D_GNU_SOURCE -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic<br>
-Wno-long-long -Wcovered-switch-default -D__STDC_CONSTANT_MACROS<br>
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS<br>
<br>
fedora 16 x86_64 + clang/llvm trunk(r168418), and compile clang/llvm by it self.<br>
</blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></div><br>