> One failure is
> 
> /tmp/ccJSP9PV.lto.o: In function `main':^M
> ccWUIi0z.o:(.text.startup+0x1d): undefined reference to `g_ebp_save'^M
> ccWUIi0z.o:(.text.startup+0x23): undefined reference to `g_esp_save'^M
> ccWUIi0z.o:(.text.startup+0x3b): undefined reference to `g_edi'^M
> ccWUIi0z.o:(.text.startup+0x41): undefined reference to `g_esi'^M
> ccWUIi0z.o:(.text.startup+0x47): undefined reference to `g_ebx'^M
> ccWUIi0z.o:(.text.startup+0x4d): undefined reference to `g_ebp'^M
> ccWUIi0z.o:(.text.startup+0x53): undefined reference to `g_esp'^M
> collect2: ld returned 1 exit status^M

Hmm, this does not seem to be dependent on plugin implementation, but it seems 
like
bug in 32bit only testcase.  The testcase seems to use:

int g_edi=INIT_EDI, g_esi=INIT_ESI, g_ebx=INIT_EBX;
int g_ebp, g_ebp_save, g_esp, g_esp_save;
int n_error;

and

        __asm__ __volatile__ (
        "movl %ebp," ASMNAME("g_ebp_save")"\n\t"
        "movl %esp," ASMNAME("g_esp_save")"\n\t"
        );

I guess either g_ebp_save needs externally_visible attribute or the asm
statement needs to be modified to use g_ebp_save as an destination.

I think this testcase is "yours", so perhaps you can fix it?
Was there some reason to use the ASMNAME hack instead of memory output 
constraint?

Thanks,
Honza

Reply via email to