[LLVMdev] darwin dragon-egg build issues

Jack Howarth howarth at bromo.med.uc.edu
Tue Apr 13 06:26:18 PDT 2010


On Tue, Apr 13, 2010 at 09:01:16AM +0200, Duncan Sands wrote:
> Hi Jack,
>
>> bash-3.2$ gcc-4 hello.c -S -O1 -o - -fplugin=./dragonegg.so
>> cc1: error: Cannot load plugin ./dragonegg.so
>> dlopen(./dragonegg.so, 10): Symbol not found: _classify_argument
>
> looks like you forgot to apply the i386_static.diff patch to gcc.
>
> Ciao,
>
> Duncan.

Duncan,
   Yes. I had dropped that patch since the last time I tried to
build with it my machine had a kernel panic. I was puzzled by
that patch since it seems to be declaring the type_natural_mode(),
classify_argument(), examine_argument() and contains_aligned_value_p()
as extern while leaving the original subroutines declared in
gcc/config/i386/i386.c. Doesn't extern imply that the code resides
outside that source file? From...

http://wiki.answers.com/Q/What_is_the_use_of_extern_in_C

I see "An extern is something that is defined externally to the current module."
so aren't we invoking undefined behavior or something like that? We
seem to both be saying these are defined externally while still
defining them locally.
                    Jack



More information about the llvm-dev mailing list