www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 4010] New: dmd should support linkers other than OPTLINK

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

           Summary: dmd should support linkers other than OPTLINK
           Product: D
           Version: future
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Optlink
        AssignedTo: nobody puremagic.com
        ReportedBy: nfxjfg gmail.com


--- Comment #0 from nfxjfg gmail.com 2010-03-26 04:34:28 PDT ---
Because of the general instability of OPTLINK, I request that dmd should be
able to generate object files consumable by other linkers. OPTLINK is the only
OMF linker I've found capable to link dmd's output.

Possible targets include the Microsoft linker (supports COFF) or the GNU linker
(supports both COFF and ELF on Windows).

dmd already has an Linux and a MacOSX backend, both with different object file
formats; this can't be a too unrealistic feature request.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 26 2010
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010


nfxjfg gmail.com changed:

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


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010


Brad Roberts <braddr puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |braddr puremagic.com
         Resolution|INVALID                     |


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010


Jonathan M Davis <jmdavisProg gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg gmx.com


--- Comment #1 from Jonathan M Davis <jmdavisProg gmx.com> 2011-01-06 20:50:39
PST ---
This is actually one which I'd really like to see done at some point. The fact
that you have to use dmc to build your C/C++ code is a huge blocker for D on
Windows for anyone who works in an environment which is primarily using
Microsoft or Intel's compiler. It would not be possible for me to use dmc for
C++ where I work, which makes using D there much harder, even if I were to end
up with a project where I would have a chance of choosing to use it in D.

There was a discussion about this on the D list a while back, and it was
suggested that dmd at least be altered such that you could have a plugin
architecture of some kind to swap out linkers. That way, even though dmd would
still use dmc/optlink normally, someone other than Walter could then write and
maintain a plugin which used Microsoft's compiler. So, we could potentially get
support for other linkers without requiring Walter to deal with it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #2 from Brad Roberts <braddr puremagic.com> 2011-01-06 20:53:11 PST
---
If someone wants to write the .obj writer for an alternate format, do it.  How
to wire it up with dmd is the least of the problems.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #3 from Jonathan M Davis <jmdavisProg gmx.com> 2011-01-06 20:55:52
PST ---
Likely true. But as with many things around here, it requires someone to step
up and do it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com


--- Comment #4 from Walter Bright <bugzilla digitalmars.com> 2011-01-06
22:59:05 PST ---
It's more than just writing a different object file format, if the goal is to
link with VC output. It's being ABI compatible with whatever the VC compiler
puts out.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010


Andrej Mitrovic <andrej.mitrovich gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich gmail.com


--- Comment #5 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2012-12-20
15:08:34 PST ---
(In reply to comment #4)
 It's more than just writing a different object file format, if the goal is to
 link with VC output. It's being ABI compatible with whatever the VC compiler
 puts out.
Is this issue now solved since x64 uses the VC linker? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #6 from Brad Roberts <braddr puremagic.com> 2012-12-20 15:11:57 PST
---
I wouldn't consider it done until win/32 is also migrated to the visual studio
runtime and linker.  I admit that's an expansion of the original description of
this issue, but I think it's the spirit of it.  And I agree with the spirit.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #7 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2012-12-20
15:16:10 PST ---
(In reply to comment #6)
 I wouldn't consider it done until win/32 is also migrated to the visual studio
 runtime and linker.  I admit that's an expansion of the original description of
 this issue, but I think it's the spirit of it.  And I agree with the spirit.
I'm totally for having support for COFF on win32 too, but IIRC Walter mentioned win32 will stay with Optlink? (I might be wrong). You can currently use one other linker on win32 though, Unilink. It often gives out readable error messages rather than crashing like Optlink. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #8 from Jonathan M Davis <jmdavisProg gmx.com> 2012-12-20 15:23:39
PST ---
Walter does not currently plan to make dmd on Windows produce COFF for 32-bit
programs. It's considerably more work to do that on top of the 64-bit stuff,
and he considers 32-bit to be dying out such that it's not worth the effort to
convert it. I doubt that he'd be opposed to someone else doing that work, but
as I understand it, he has no intention of doing it himself.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 20 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #9 from Brad Roberts <braddr puremagic.com> 2012-12-20 17:21:56 PST
---
Speaking for Walter is generally a bad idea.  Anyway, I recall the thread as
"64 bit first, 32 bit maybe later".

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 20 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=4010



--- Comment #10 from Jonathan M Davis <jmdavisProg gmx.com> 2012-12-20 17:45:18
PST ---
I'm just repeating what I remember of what he said. I'd obviously have to dig
through the archives to get exact quotes though. And he could certainly change
his mind. Regardless, we're definitely not getting COFF on 32-bit Windows right
now.

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