From: cgf AT bbc DOT com (Christopher Faylor) Subject: Re: MUCH faster cygwin dll 19 Feb 1998 02:28:29 -0800 Message-ID: <199802181646.LAA01138.cygnus.gnu-win32@hardy.bbc.com> To: root AT jacob DOT remcomp DOT fr Cc: gnu-win32 AT cygnus DOT com >From: root AT jacob DOT remcomp DOT fr (root) >Date: Wed, 18 Feb 1998 15:27:00 +0100 (MET) > >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? Well, I guess you do understand correctly about what we are doing. We are talking about relocating the dlls by hand right now. We're trying to find a location that doesn't conflict with other dlls. I was under the impression that most people would realize that we are experimenting with ways to increase the performance of linking in dlls. If *I* have given people the idea that this is something they need to run out and do, I certainly apologize. If somehow, someone has come to the conclusion that future versions of cygwin will have to be relocated by hand, then, again, I apologize for contributing to their continued confusion. >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. No? Really? The loader is that smart? I was just getting ready to write my own GUI loader program that popped up a dialog with something like: About to load KERNEL32.DLL Enter load address: [__________________] Now you're telling me that the OS will do all this for me. Amazing. >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. How are we acknowledging that gnu's linker is broken again? I missed that part. I thought this thread started with someone commenting on the slowness of linking in dlls. >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... One of the problems with sarcasm is that it fails miserably when it comes from someone who has completely missed the point. - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".