www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9729] New: interface thunk doesn't set EBX to GOT

reply d-bugmail puremagic.com writes:
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: -------
Mar 15 2013
next sibling parent d-bugmail puremagic.com writes:
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: -------
Mar 15 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Mar 15 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Mar 19 2013
prev sibling parent d-bugmail puremagic.com writes:
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: -------
Jun 29 2013