www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - linker

reply bobef <bobef lessequal.com> writes:
I dont know if this is a bug but the linker doesnt work for paths with 
spaces...
Jul 19 2005
next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"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.
Jul 19 2005
parent reply bobef <bobef lessequal.com> writes:
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.
Jul 19 2005
parent bobef <bobef lessequal.com> writes:
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...
Jul 19 2005
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
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
Jul 19 2005
parent reply "Walter" <newshound digitalmars.com> writes:
"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.
Jul 23 2005
parent reply Derek Parnell <derek psych.ward> writes:
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
Jul 24 2005
parent "Walter" <newshound digitalmars.com> writes:
"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.


 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
Jul 24 2005