rebaseall rebasing dlls into cygwin address range?

David M. Karr davidmichaelkarr@gmail.com
Fri Apr 22 16:17:00 GMT 2011


On 4/20/2011 10:26 PM, marco atzeri wrote:
> On Thu, Apr 21, 2011 at 3:06 AM, Christopher Faylor  wrote:
>> I just noticed today that cygz.dll was rebased right into the middle of
>> cygwin1.dll's address range.  So, I added a -v to the rebaseall run and
>> saw that there were quite a few dlls stomping all over cygwin.
>>
>> I wonder if this explains why we're seeing problems which are not cured
>> by rebase?  Maybe rebase should detect where cygwin1.dll lives and avoid
>> putting other DLLs there.
>>
>> But, for now, just setting the base to something higher:
>>
>> rebaseall -b 0x77000000
>>
>> would solve some of the problems we've seen.
>>
>> I don't know if that stomps on system routines or not, though.
>>
>> cgf
> I guess this explain why after rebaseall, octave is broken
>
> $ ldd ./octave-3.4.0.exe
>          ntdll.dll =>  /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
>          kernel32.dll =>  /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
>          cygoctinterp-3-4-0.dll =>
> /tmp/octave_rebased/cygoctinterp-3-4-0.dll (0x61040000)
>          cygoctave-3-4-0.dll =>  /tmp/octave_rebased/cygoctave-3-4-0.dll
> (0x61c90000)
>          cygcruft-3-4-0.dll =>  /tmp/octave_rebased/cygcruft-3-4-0.dll
> (0x62810000)
>          cyggcc_s-1.dll =>  /usr/bin/cyggcc_s-1.dll (0x6dbd0000)
>          cygwin1.dll =>  /usr/bin/cygwin1.dll (0x460000)
>                                                               ^^^^^^^^^^ ?
>          cyggfortran-3.dll =>  /usr/bin/cyggfortran-3.dll (0x6d540000)
>          cygstdc++-6.dll =>  /usr/bin/cygstdc++-6.dll (0x63c60000)
>          cygblas-0.dll =>  /usr/bin/cygblas-0.dll (0x671a0000)
>          cyglapack-0.dll =>  /usr/bin/cyglapack-0.dll (0x66c70000)
>          cygreadline7.dll =>  /usr/bin/cygreadline7.dll (0x642d0000)
>          cygncursesw-10.dll =>  /usr/bin/cygncursesw-10.dll (0x664c0000)
>          USER32.dll =>  /cygdrive/c/WINDOWS/system32/USER32.dll (0x7e410000)
>          GDI32.dll =>  /cygdrive/c/WINDOWS/system32/GDI32.dll (0x77f10000)
>          cygfftw3-3.dll =>  /usr/bin/cygfftw3-3.dll (0x6e1d0000)
>          cygfftw3f-3.dll =>  /usr/bin/cygfftw3f-3.dll (0x6e0d0000)
>          cygqrupdate-0.dll =>  /usr/bin/cygqrupdate-0.dll (0x64c30000)
>          cygGL-1.dll =>  /usr/bin/cygGL-1.dll (0x6cea0000)
>          cygX11-xcb-1.dll =>  /usr/bin/cygX11-xcb-1.dll (0x63640000)
>          cygX11-6.dll =>  /usr/bin/cygX11-6.dll (0x63520000)
>          cygxcb-1.dll =>  /usr/bin/cygxcb-1.dll (0x632a0000)
>          cygXau-6.dll =>  /usr/bin/cygXau-6.dll (0x63500000)
>          cygXdmcp-6.dll =>  /usr/bin/cygXdmcp-6.dll (0x63220000)
>          cygXext-6.dll =>  /usr/bin/cygXext-6.dll (0x631f0000)
>          cygxcb-glx-0.dll =>  /usr/bin/cygxcb-glx-0.dll (0x63330000)
>          cygGLU-1.dll =>  /usr/bin/cygGLU-1.dll (0x6c800000)
>          cygz.dll =>  /usr/bin/cygz.dll (0x5e7a0000)
>          cygfontconfig-1.dll =>  /usr/bin/cygfontconfig-1.dll (0x6dec0000)
>          cygexpat-1.dll =>  /usr/bin/cygexpat-1.dll (0x6e3c0000)
>          cygfreetype-6.dll =>  /usr/bin/cygfreetype-6.dll (0x6dd10000)
>          cygiconv-2.dll =>  /usr/bin/cygiconv-2.dll (0x6a870000)
>          cyghdf5-6.dll =>  /usr/bin/cyghdf5-6.dll (0x6aa20000)
>
> after "rebaseall -b 0x77000000" instead
>
> $ ldd ./octave-3.4.0.exe
>          ntdll.dll =>  /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
>          kernel32.dll =>  /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
>          cygoctinterp-3-4-0.dll =>  /usr/bin/cygoctinterp-3-4-0.dll (0x68040000)
>          cygoctave-3-4-0.dll =>  /usr/bin/cygoctave-3-4-0.dll (0x68c90000)
>          cygcruft-3-4-0.dll =>  /usr/bin/cygcruft-3-4-0.dll (0x69810000)
>          cyggcc_s-1.dll =>  /usr/bin/cyggcc_s-1.dll (0x74bd0000)
>          cygwin1.dll =>  /usr/bin/cygwin1.dll (0x61000000)
>          cyggfortran-3.dll =>  /usr/bin/cyggfortran-3.dll (0x74540000)
>          cygstdc++-6.dll =>  /usr/bin/cygstdc++-6.dll (0x6ac60000)
>          cygblas-0.dll =>  /usr/bin/cygblas-0.dll (0x671a0000)
>          cyglapack-0.dll =>  /usr/bin/cyglapack-0.dll (0x66c70000)
>          cygreadline7.dll =>  /usr/bin/cygreadline7.dll (0x6b2d0000)
>          cygncursesw-10.dll =>  /usr/bin/cygncursesw-10.dll (0x6d4c0000)
>          USER32.dll =>  /cygdrive/c/WINDOWS/system32/USER32.dll (0x7e410000)
>          GDI32.dll =>  /cygdrive/c/WINDOWS/system32/GDI32.dll (0x77f10000)
>          cygfftw3-3.dll =>  /usr/bin/cygfftw3-3.dll (0x751d0000)
>          cygfftw3f-3.dll =>  /usr/bin/cygfftw3f-3.dll (0x750d0000)
>          cygqrupdate-0.dll =>  /usr/bin/cygqrupdate-0.dll (0x6bc30000)
>          cygGL-1.dll =>  /usr/bin/cygGL-1.dll (0x73ea0000)
>          cygX11-xcb-1.dll =>  /usr/bin/cygX11-xcb-1.dll (0x6a640000)
>          cygX11-6.dll =>  /usr/bin/cygX11-6.dll (0x6a520000)
>          cygxcb-1.dll =>  /usr/bin/cygxcb-1.dll (0x6a2a0000)
>          cygXau-6.dll =>  /usr/bin/cygXau-6.dll (0x6a500000)
>          cygXdmcp-6.dll =>  /usr/bin/cygXdmcp-6.dll (0x6a220000)
>          cygXext-6.dll =>  /usr/bin/cygXext-6.dll (0x6a1f0000)
>          cygxcb-glx-0.dll =>  /usr/bin/cygxcb-glx-0.dll (0x6a330000)
>          cygGLU-1.dll =>  /usr/bin/cygGLU-1.dll (0x73800000)
>          cygz.dll =>  /usr/bin/cygz.dll (0x657a0000)
>          cygfontconfig-1.dll =>  /usr/bin/cygfontconfig-1.dll (0x74ec0000)
>          cygexpat-1.dll =>  /usr/bin/cygexpat-1.dll (0x753c0000)
>          cygfreetype-6.dll =>  /usr/bin/cygfreetype-6.dll (0x74d10000)
>          cygiconv-2.dll =>  /usr/bin/cygiconv-2.dll (0x71870000)
>          cyghdf5-6.dll =>  /usr/bin/cyghdf5-6.dll (0x71a20000)
>
> plotting is still broken on 1.7.10s(2011-04-20) , but all the other
> functionalities seem fine.

Similarly, after rebaseall, I've found that the X server now fails to 
start. Could this be related?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list