Plugins and D programs

Martin Nowak code at dawg.eu
Sat Mar 15 15:56:19 PDT 2014


On 03/15/2014 11:04 PM, Martin Nowak wrote:
> On 03/15/2014 09:50 PM, Martin Nowak wrote:
>> I'm still investigating why it crashes when using --export-dynamic
>> though.
>
> Looks like a revenant of
> https://d.puremagic.com/issues/show_bug.cgi?id=9729.
> The problem is that nobody sets ebx before calling the interface thunk,
> therefor resolving the @PLT entry fails.
>
> _TMP5   LABEL NEAR
>          sub     eax, 8                                  ; 0078 _ 83.
> E8, 08
>          jmp     _D6plugin6Plugin12saySomethingMFZAya    ; 007B _ E9,
> FFFFFFFC(PLT r)
>

I prepared a fix here (https://github.com/MartinNowak/dmd/tree/thunkEBX)
but it needs more work. Currently it violates the platform ABI because 
the interface thunk destroys EBX.



More information about the Digitalmars-d mailing list