[cfe-dev] Loading Static Analyzer plugin fails with CommandLine Errors

Gábor Kozár kozargabor at gmail.com
Wed Sep 4 02:11:26 PDT 2013


Thanks Jordan. My issue is that this error is reported when I try
running clang. So where do I specify these args? When compiling Clang,
or when compiling my plugin...?



Also, it doesn't really explain why everything works fine on the 32-bit
system.



--
Gábor Kozár -- ShdNx
kozargabor at gmail.com





On Tue, Sep 3, 2013, at 18:08, Jordan Rose wrote:

Right. On a Mac there's a heavy-handed way to do this ("-undefined
dyamic_lookup") and a lighter way ("-bundle_loader path/to/clang").
According to  the flag on Linux might
be --allow-shlib-undefined or --unresolved-symbols=ignore-in-object-fil
es; I don't know if there's an equivalent to -bundle_loader.



Jordan





On Sep 3, 2013, at 8:50 , Gábor Kozár <[1]kozargabor at gmail.com> wrote:

Thanks Laszlo, you make good points, I'll investigate.

--
Gábor Kozár
[2]kozargabor at gmail.com



On Tue, Sep 3, 2013, at 16:52, Laszlo Nagy wrote:

Hi Gabor,



#1 you should not link any Clang

library against when you make your plugin



How do I not link against any Clang library when I'm writing a Clang
plugin?

I need to use Clang's classes extensively.



Sound weird, but works just fine. Your plugin will be loaded by the

Clang binary, and it already loaded the needed symbols. That's why you

don't need to explicitly link against them... You can look at

[3]https://github.com/rizsotto/Constantine for cmake example.



In the meanwhile, I realize that I have done it all with the assumption
that

GCC 4.7.2 and Clang 3.3 generate compatible binaries. Could this be the

source of the issue? I'll try self-hosting Clang 3.3 and see what
happens

then.



I do compile my plugin with GCC and Clang is able to load it without

problem.



My two cents are still on the llvm::cl classes. Although you are not

using them, but the libraries that you are link against might. (That's

why I was suggest not to do that.) And not to mention the fact, that

the messages are emitted by the CommandLine.cpp:144. See also:



  [4]http://comments.gmane.org/gmane.comp.compilers.clang.devel/6870

  [5]http://comments.gmane.org/gmane.comp.compilers.clang.scm/63478



Regards,

Laszlo

_______________________________________________

cfe-dev mailing list

[6]cfe-dev at cs.uiuc.edu

http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

References

1. mailto:kozargabor at gmail.com
2. mailto:kozargabor at gmail.com
3. https://github.com/rizsotto/Constantine
4. http://comments.gmane.org/gmane.comp.compilers.clang.devel/6870
5. http://comments.gmane.org/gmane.comp.compilers.clang.scm/63478
6. mailto:cfe-dev at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130904/060204f1/attachment.html>


More information about the cfe-dev mailing list