This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: MUCH faster cygwin dll


Mr Faylor writes:
> 
> I just noticed this too.  This seems to occur when two dlls try to occupy
> the the same base address.  I tried using 0x61000000 instead, as someone
> else mentioned.  That seemed to work better.

This is kind of ridiculous. If I understand correctly this correspondece, this
means that you are relocating the dlls by hand instead of letting the
operating system decide where to load them with changing addressing conditions?

Normally, for all windows programs, there exists a .reloc section in the
executable, that tells the loader the relative location of all pointers in
the image. Then, the loader can put the new dll anywhere in the addressing
space of the vm it wants to load it in.

It seems then that acknowledging that gnu's linker is broken you have returned
to the 'solution' of moving your dlls around by yourself and replacing the
system loader.

This will never work OK of course, but it is a better solution than nothing.
If you say it like this in the list however, people will think that this is 
                               *normal*
imagine. That for loading a dll you have to tell the system the hexadecimal
address of where you want it loaded. What a user friendly environment!!!!

"Installation instruction for my software written using cygnus:
   ...
   Before using my program, please figure out (in hexadecimal) the address
   where you want it loaded in the vm's virtual space. If you do not know what
   a dll or an address is, well then...

   ...
"

This is an example of a bug that will never get fixed, as I said in this list
almost a year ago. It has *never* worked for dlls and it will *never* do it.

On March 25th 1997 I wrote to this list:
Nobody in the world understands 'ld'. (in the subject line)

Then I forecasted that this bug will never get fixed since Steve Chamberlain,
the person that wrote the win32 part of 'ld' left cygnus.

That was a year ago.

It is true that Mr Taylor has fixed some (other) problems. But the dll bug is
just too much, and people are confronted with bugs they can't understand nor
handle.

There are *DOZENS* of messages (at least) each month with people totally
confused. A great contribution to reducing the bandwidth of this list would
be to add to the FAQ:

               "The linker doesn't work for dlls. PERIOD."

I follow this group because I am interested in free software. It is a pity
that the reputation of free software, that is very often of a very good quality,
suffers from this unending blemish.


-- 
Jacob Navia	Logiciels/Informatique
41 rue Maurice Ravel			Tel 01 48.23.51.44
93430 Villetaneuse 			Fax 01 48.23.95.39
France
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]