www.digitalmars.com         C & C++   DMDScript  

D.gnu - [Issue 1230] New: std.math.poly asm segfaults

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1230

           Summary: std.math.poly asm segfaults
           Product: DGCC aka GDC
           Version: 0.23
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: dvdfrdmn users.sf.net
        ReportedBy: larsivar igesund.net


The std.math.poly function segfaults on Linux. Can be tested by running the
unittests for that module. The unittest passes if the asm block is disabled.

The asm works fine with DMD (no segfaults), but Don Clugston says: 
"It's clear that the asm code for poly() is buggy - it assumes a frame pointer
in EBP, but the ABI spec does not mandate the use of frame pointers."

Tested with GDC 0.23 and latest svn.

The issue has a corresponding ticket for Tango,
http://www.dsource.org/projects/tango/ticket/467


-- 
May 12 2007
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1230






I'll adjust the doc to mandate the setting up of EBP, unless 'naked' is used.


-- 
Jun 28 2007
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1230






This is presumably due to GDC not following the D calling convention at all,
which is a major PITA.


-- 
Jan 24 2008
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1230


Iain Buclaw <ibuclaw ubuntu.com> changed:

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



D_InlineAsm (and the D Inline Assembler implementation) is no longer part of
GDC.

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