Thread overview
[Issue 9729] New: interface thunk doesn't set EBX to GOT
Mar 15, 2013
Martin Nowak
Mar 19, 2013
Martin Nowak
Jun 29, 2013
Walter Bright
March 15, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9729

           Summary: interface thunk doesn't set EBX to GOT
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: code@dawg.eu


--- Comment #0 from Martin Nowak <code@dawg.eu> 2013-03-15 09:56:09 PDT ---
cat > bug.d << CODE
interface ILock
{
    void lock();
}

class Lock : ILock
{
    void lock()
    {
    }
}
CODE

--------------------
dmd -c -m32 -fPIC bug
--------------------
_TMP3   LABEL NEAR
        sub     eax, 8                                  ; 0048 _ 83. E8, 08
        jmp     _D3bug4Lock4lockMFZv                    ; 004B _ E9,
FFFFFFFC(PLT r)

It seems to me that the thunk needs to load the GOT because the class must not be in the same shared library as the caller of the interface.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 15, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9729



--- Comment #2 from github-bugzilla@puremagic.com 2013-03-15 14:01:30 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/ea45f630e18f85b420530bd038e32ab3a3afaee4 fix Issue 9729 - interface thunk doesn't set EBX to GOT

https://github.com/D-Programming-Language/dmd/commit/b53de75a3e2f6855ec4c90a692c80b8ada0bb78b Merge pull request #1750 from WalterBright/fix9729

fix Issue 9729 - interface thunk doesn't set EBX to GOT

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 15, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9729



--- Comment #3 from github-bugzilla@puremagic.com 2013-03-15 14:40:22 PDT ---
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/c1de95340ab06b2f4573c22cbf36c5f1d2611d1e Merge pull request #1750 from WalterBright/fix9729

fix Issue 9729 - interface thunk doesn't set EBX to GOT

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 19, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9729


Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 29, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9729



--- Comment #4 from Walter Bright <bugzilla@digitalmars.com> 2013-06-29 14:26:53 PDT ---
redo as:

https://github.com/D-Programming-Language/dmd/pull/2278

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------