Just one more issue to mention (particularly for those who have been writing 
ICI plugins).
ICI sometime has been using environment variables inside GCC with its own 
invocation flags
(-fici) and dynamic library loading.

Naturally, Joern will remove duplicate dynamic library handling and invocation 
flags from ICI to
use the plugin functionality from GCC 4.5.

As for environment variables inside GCC - we needed it for transparent program 
analysis
and optimizations but I remember that there were several concerns about that (I 
think 
Richard mentioned several times that it complicated debugging if there are 
problems),
so we will remove them too. We will use current plugin flags to pass parameters 
to
the plugins (we can pass a configuration file I guess that will be parsed by 
our plugins
if there is lots of information to pass) and if we need to do transparent 
program
analysis and optimization we will use a script and a wrapper around GCC that 
translated
our environment variables into flags. I already did that recently for MILEPOST 
GCC so it 
should be easy. 

But for now we assume that it's fine to use environment variables (such as to 
control
verbose output or pass some parameters) in plugins themselves ... However, 
eventually
we should also use some configuration files for plugins that can be easily 
shared with the community
if there is a bug in plugins ...

Cheers,
Grigori


Reply via email to