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 was RE:Time and motion studies of gccand egcs and LCC


>Read here: 
>>>Geoff I would recommend using --image-base=0x78000000
>>>for cygwin.dll same as MSVCRT.DLL which is relocatable
>>>and should never be loaded in the same VM anyway.
>>
>>You can move the base yourself if you have MSVC's editbin program:
>>
>>	editbase /rebase:base=0x78000000 cygwin.dll
>>
>>Do this before you strip the .dll...
>
>IMO, this is not a good address to rebase cygwin into. You are correct that
>it is used by msvcrt.dll. However, all applications which load cygwin.dll
>load msvcrt.dll. You must realize that much of the operating system was
>linked to msvcrt.dll. If you look check it out, you will see the following
>dependency chain:
>
>cygwin.dll --> wsock32.dll --> ws2-32.dll --> msvcrt.dll
>
>I discovered that both DLLs were being used while using Jeffrey Richter's
>liposuction32.exe on ls.exe. I did a little digging of my own to find the
>source of this behavior.
>
>Therefore I would recommend using the following command to rebase cygwin.dll:
>
>rebase -b 0x61000000 -d cygwin.dll
>
>This will map cygwin.dll at the upper end of the 0x60000000-0x60FFFFFF range
>in accordance with the recommendations from Microsoft. The MSDN Library's
>description of the rebase program contains the following
>A well-behaved application has its DLLs rebased so they each fall within a
>unique range of the virtual address space. The system DLLs are currently
>based in memory from 0x70000000 to 0x78000000 (0x68000000 to 0x78000000 on
>MIPS). Therefore, you should base your DLLs from 0x60000000 to 0x68000000.
>One possible scheme is to choose a base address based on the first letter of
>the DLL name, as shown in the following table.
>First Letter	Base Address	
>A - C	0x60000000	
>D - F	0x61000000	
>G - I	0x62000000	
>J - L	0x63000000	
>M - O	0x64000000	
>P - R	0x65000000	
>S - U	0x66000000	
>V - X	0x67000000	
>Y - Z	0x68000000"
>
-
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]