Thread overview
linker
Jul 19, 2005
bobef
Jul 19, 2005
bobef
Jul 19, 2005
bobef
Jul 19, 2005
Derek Parnell
Jul 24, 2005
Walter
Jul 24, 2005
Derek Parnell
Jul 24, 2005
Walter
July 19, 2005
I dont know if this is a bug but the linker doesnt work for paths with spaces...
July 19, 2005
"bobef" <bobef@lessequal.com> wrote in message news:dbjc1b$cml$1@digitaldaemon.com...
>I dont know if this is a bug but the linker doesnt work for paths with spaces...

Have you put quotes around the path?  Remember, in DOS, a space is the delimiter between parameters to a program.


July 19, 2005
Jarrett Billingsley wrote:
> "bobef" <bobef@lessequal.com> wrote in message news:dbjc1b$cml$1@digitaldaemon.com...
> 
>>I dont know if this is a bug but the linker doesnt work for paths with spaces...
> 
> 
> Have you put quotes around the path?  Remember, in DOS, a space is the delimiter between parameters to a program. 
> 
> 

Yes, I remember. I have put quotes.
July 19, 2005
bobef wrote:
> Jarrett Billingsley wrote:
> 
>> "bobef" <bobef@lessequal.com> wrote in message news:dbjc1b$cml$1@digitaldaemon.com...
>>
>>> I dont know if this is a bug but the linker doesnt work for paths with spaces...
>>
>>
>>
>> Have you put quotes around the path?  Remember, in DOS, a space is the delimiter between parameters to a program.
>>
> 
> Yes, I remember. I have put quotes.

Also I am not calling the link.exe directly I call dmd.exe if this matters...
July 19, 2005
On Tue, 19 Jul 2005 20:07:55 +0300, bobef wrote:

> I dont know if this is a bug but the linker doesnt work for paths with spaces...

A known limitation with the linker. I guess it was written in the days before spaces where allowed in DOS file names. Putting quotes around the names doesn't help. Walter doesn't seem interested in bringing it up to speed either.

I found out all this when testing the Build application.

-- 
Derek Parnell
Melbourne, Australia
20/07/2005 8:26:47 AM
July 24, 2005
"Derek Parnell" <derek@psych.ward> wrote in message news:do56c8errgrh.h9hawt4w82xp.dlg@40tude.net...
> On Tue, 19 Jul 2005 20:07:55 +0300, bobef wrote:
>
> > I dont know if this is a bug but the linker doesnt work for paths with spaces...
>
> A known limitation with the linker. I guess it was written in the days before spaces where allowed in DOS file names.

+'s and -'s also cause problems.

> Putting quotes around the
> names doesn't help. Walter doesn't seem interested in bringing it up to
> speed either.

The problem is the linker is written entirely in assembler language. Fixing it is not easy.


July 24, 2005
On Sat, 23 Jul 2005 20:34:41 -0700, Walter wrote:

> "Derek Parnell" <derek@psych.ward> wrote in message news:do56c8errgrh.h9hawt4w82xp.dlg@40tude.net...
>> On Tue, 19 Jul 2005 20:07:55 +0300, bobef wrote:
>>
>>> I dont know if this is a bug but the linker doesnt work for paths with spaces...
>>
>> A known limitation with the linker. I guess it was written in the days before spaces where allowed in DOS file names.
> 
> +'s and -'s also cause problems.
> 
>> Putting quotes around the
>> names doesn't help. Walter doesn't seem interested in bringing it up to
>> speed either.
> 
> The problem is the linker is written entirely in assembler language. Fixing it is not easy.

I guess somebody with enough knowledge about the data structures could write a new one in D. If you send me the documentation for the structures and algorithms required I could have a go.

-- 
Derek Parnell
Melbourne, Australia
25/07/2005 12:20:05 AM
July 24, 2005
"Derek Parnell" <derek@psych.ward> wrote in message news:10qs3anldrsil.1wdkp8k4z3r2d.dlg@40tude.net...
> On Sat, 23 Jul 2005 20:34:41 -0700, Walter wrote:
>
> > "Derek Parnell" <derek@psych.ward> wrote in message news:do56c8errgrh.h9hawt4w82xp.dlg@40tude.net...
> >> On Tue, 19 Jul 2005 20:07:55 +0300, bobef wrote:
> >> Putting quotes around the
> >> names doesn't help. Walter doesn't seem interested in bringing it up to
> >> speed either.
> >
> > The problem is the linker is written entirely in assembler language.
Fixing
> > it is not easy.
>
> I guess somebody with enough knowledge about the data structures could write a new one in D. If you send me the documentation for the structures and algorithms required I could have a go.

I wish that would be so easy. Linkers are conceptually simple programs, and used to be simple. But over time they grew into bloated feature monsters (take a look at the list of switches to it). The reasons I keep optlink around are:

1) it's *still* way, way faster than any other linker
2) it's essentially unchanged for the last 10 years, and only 1 bug has
surfaced (it dies on very large static data segments), despite being used
tens of millions of times.

It was a very expensive piece of software to write, and duplicating it would be pretty expensive as well.

BTW, the file formats used are:

1) Intel OMF with 32 bit extensions
2) Microsoft PE portable executable format
3) Windows resource file format, source and binary
4) module definition file format
5) DOS executable file formats (MZ and COM)
6) Windows 3.0 executable file format
7) LIB file format
8) All the various debug symbol formats
9) MAP file format