public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* rebaseall rebasing dlls into cygwin address range?
@ 2011-04-21  7:19 Christopher Faylor
  2011-04-21  8:15 ` marco atzeri
  2011-04-24 21:17 ` Edward Lam
  0 siblings, 2 replies; 5+ messages in thread
From: Christopher Faylor @ 2011-04-21  7:19 UTC (permalink / raw)
  To: cygwin

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

--
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rebaseall rebasing dlls into cygwin address range?
  2011-04-21  7:19 rebaseall rebasing dlls into cygwin address range? Christopher Faylor
@ 2011-04-21  8:15 ` marco atzeri
  2011-04-22 16:17   ` David M. Karr
  2011-04-24 21:17 ` Edward Lam
  1 sibling, 1 reply; 5+ messages in thread
From: marco atzeri @ 2011-04-21  8:15 UTC (permalink / raw)
  To: cygwin

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.

Regards
Marco

--
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rebaseall rebasing dlls into cygwin address range?
  2011-04-21  8:15 ` marco atzeri
@ 2011-04-22 16:17   ` David M. Karr
  0 siblings, 0 replies; 5+ messages in thread
From: David M. Karr @ 2011-04-22 16:17 UTC (permalink / raw)
  To: cygwin

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rebaseall rebasing dlls into cygwin address range?
  2011-04-21  7:19 rebaseall rebasing dlls into cygwin address range? Christopher Faylor
  2011-04-21  8:15 ` marco atzeri
@ 2011-04-24 21:17 ` Edward Lam
  2011-04-25  7:05   ` Christopher Faylor
  1 sibling, 1 reply; 5+ messages in thread
From: Edward Lam @ 2011-04-24 21:17 UTC (permalink / raw)
  To: cygwin

On Wed, April 20, 2011 21:06, Christopher Faylor wrote:
> 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.

Just curious, why is this even a problem? If the system libraries happen
to use some base address that is already taken up, the loader is supposed
to just choose a different spot.

-Edward


--
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rebaseall rebasing dlls into cygwin address range?
  2011-04-24 21:17 ` Edward Lam
@ 2011-04-25  7:05   ` Christopher Faylor
  0 siblings, 0 replies; 5+ messages in thread
From: Christopher Faylor @ 2011-04-25  7:05 UTC (permalink / raw)
  To: cygwin

On Sun, Apr 24, 2011 at 09:57:16AM -0400, Edward Lam wrote:
>On Wed, April 20, 2011 21:06, Christopher Faylor wrote:
>> 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.
>
>Just curious, why is this even a problem? If the system libraries happen
>to use some base address that is already taken up, the loader is supposed
>to just choose a different spot.

Maybe you don't understand what rebaseall is used for?  It's purpose is to
eliminate collisions with other dlls.

--
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-04-24 16:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-21  7:19 rebaseall rebasing dlls into cygwin address range? Christopher Faylor
2011-04-21  8:15 ` marco atzeri
2011-04-22 16:17   ` David M. Karr
2011-04-24 21:17 ` Edward Lam
2011-04-25  7:05   ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).