Jump to page: 1 2
Thread overview
Experimental win32 OMF linker written in D now on github
Mar 23, 2014
Daniel Murphy
Mar 24, 2014
Alexander Bothe
Mar 24, 2014
Nick Sabalausky
Mar 25, 2014
Asman01
Mar 25, 2014
Jack Applegame
Mar 26, 2014
Steve Teale
Mar 26, 2014
Daniel Murphy
Mar 26, 2014
Rikki Cattermole
Mar 27, 2014
Colden Cullen
Mar 27, 2014
Jay Norwood
Apr 02, 2014
Daniel Murphy
Apr 09, 2014
asman
Apr 09, 2014
Andrej Mitrovic
March 23, 2014
So a couple of years ago I had too much free time and wrote a linker.

It's now on github: https://github.com/yebblies/ylink

Pros:
- Written in D
- Not written in assembly
- Not written before I was born
- Boost license
- Usually produces working executables

Cons:
- No debug information (yet)
- Slower than optlink
- Uses more memory than optlink (cannot run with < 64k of ram)
- Cannot produce DLLs (yet)
- Not really tested

It still needs a lot of work, but it's functional.

Potential uses:
- Replace optlink
- Replace microsoft linker (we could ship this with dmd)
- Call from dmd to do in-memory linking
- Experiment with linker optimizations

Enjoy!
March 24, 2014
On Sunday, 23 March 2014 at 20:33:15 UTC, Daniel Murphy wrote:
> So a couple of years ago I had too much free time and wrote a linker.
>
> It's now on github: https://github.com/yebblies/ylink
>
> Pros:
> - Written in D
> - Not written in assembly
> - Not written before I was born
> - Boost license
> - Usually produces working executables
>
> Cons:
> - No debug information (yet)
> - Slower than optlink
> - Uses more memory than optlink (cannot run with < 64k of ram)
> - Cannot produce DLLs (yet)
> - Not really tested
>
> It still needs a lot of work, but it's functional.
>
> Potential uses:
> - Replace optlink
> - Replace microsoft linker (we could ship this with dmd)
> - Call from dmd to do in-memory linking
> - Experiment with linker optimizations
>
> Enjoy!

If the debug info emitting thing is going to work properly, I'll love to switch to ylink!
Finally x64 builds without having to use the ms linker -- awesome! :-)
March 24, 2014
On 3/23/2014 4:33 PM, Daniel Murphy wrote:
> So a couple of years ago I had too much free time and wrote a linker.
>
> It's now on github: https://github.com/yebblies/ylink
>

Nifty!

I love this Pro:

> - Usually produces working executables

:)
March 25, 2014
On Monday, 24 March 2014 at 22:30:45 UTC, Nick Sabalausky wrote:
> On 3/23/2014 4:33 PM, Daniel Murphy wrote:
>> So a couple of years ago I had too much free time and wrote a linker.
>>
>> It's now on github: https://github.com/yebblies/ylink
>>
>
> Nifty!
>
> I love this Pro:
>
>> - Usually produces working executables
>
> :)

Me too. But not more than ">>Written in D" :)
March 25, 2014
On Tuesday, 25 March 2014 at 02:24:39 UTC, Asman01 wrote:
> On Monday, 24 March 2014 at 22:30:45 UTC, Nick Sabalausky wrote:
>> On 3/23/2014 4:33 PM, Daniel Murphy wrote:
>>> So a couple of years ago I had too much free time and wrote a linker.
>>>
>>> It's now on github: https://github.com/yebblies/ylink
>>>
>>
>> Nifty!
>>
>> I love this Pro:
>>
>>> - Usually produces working executables
>>
>> :)
>
> Me too. But not more than ">>Written in D" :)
But the best is "Not written before I was born" :)
March 26, 2014
On Tuesday, 25 March 2014 at 03:27:07 UTC, Jack Applegame wrote:
>>> Nifty!
>>>
>>> I love this Pro:
>>>
>>>> - Usually produces working executables
>>>
>>> :)
>>
>> Me too. But not more than ">>Written in D" :)
> But the best is "Not written before I was born" :)

When I was a lad we had to ....

Steve
March 26, 2014
"Daniel Murphy"  wrote in message news:lgngea$1ccj$1@digitalmars.com...

> So a couple of years ago I had too much free time and wrote a linker.
>
> It's now on github: https://github.com/yebblies/ylink

Now updated with basic mscoff32 support - although dmd doesn't emit that file format, it does mean you can link the standard import libraries into your normal D applications, instead of having to convert them to omf.

Hello world compiled with msvc works, but more complicated (C++) stuff most likely doesn't yet.  (comdat aka templates might be buggy, and tls probably doesn't work) 

March 26, 2014
On Wednesday, 26 March 2014 at 15:33:39 UTC, Daniel Murphy wrote:
> "Daniel Murphy"  wrote in message news:lgngea$1ccj$1@digitalmars.com...
>
>> So a couple of years ago I had too much free time and wrote a linker.
>>
>> It's now on github: https://github.com/yebblies/ylink
>
> Now updated with basic mscoff32 support - although dmd doesn't emit that file format, it does mean you can link the standard import libraries into your normal D applications, instead of having to convert them to omf.
>
> Hello world compiled with msvc works, but more complicated (C++) stuff most likely doesn't yet.  (comdat aka templates might be buggy, and tls probably doesn't work)

Ooo oo yes please :)
Maybe one day bye bye Optlink!
March 27, 2014
On Wednesday, 26 March 2014 at 15:33:39 UTC, Daniel Murphy wrote:
> Now updated with basic mscoff32 support - although dmd doesn't emit that file format, it does mean you can link the standard import libraries into your normal D applications, instead of having to convert them to omf.

This is a super helpful feature. I can't think of a single library I've used that has provided an OMF library or import library, and converting is a pain in the butt. Thank you thank you thank you for this.
March 27, 2014
On Sunday, 23 March 2014 at 20:33:15 UTC, Daniel Murphy wrote:
>
> It still needs a lot of work, but it's functional.
>

Is there a test suite that you have to pass to declare it fully functional?

« First   ‹ Prev
1 2