Mail Archives: cygwin/2002/06/18/19:11:50
Nicholas,
On Tue, Jun 18, 2002 at 11:21:58AM -0700, Nicholas Wourms wrote:
> $ rebase -d -b 0x68000000 -o 0x10000 cygXpm-X4.dll cygXpm-noX4.dll
> C:\Cygnus\cygwin\bin\cygXpm-X4.dll: new base = 67ff0000, new size = 10000
> C:\Cygnus\cygwin\bin\cygXpm-noX4.dll: new base = 67fe0000, new size = 10000
DLLs that get corrupted seem to display the expected output anyway.
Sigh...
> 2)I run it on cygXpm-X4.dll cygXpm-noX4.dll cygbz21.0.dll, and it
> pagefaults.
>
> 3)I run it on cygbz21.0.dll alone and it pagefaults.
>
> Now here's the *Interesting part*
>
> 4)I run file on all three and the results are:
>
> $ file cygXpm-X4.dll
> cygXpm-X4.dll: MS-DOS executable (EXE), OS/2 or MS Windows
> $ file cygXpm-noX4.dll
> cygXpm-noX4.dll: MS-DOS executable (EXE), OS/2 or MS Windows
> $ file cygbz21.0.dll
> cygbz21.0.dll: MS Windows PE Intel 80386 console DLL
You can also try objdump to test for corruption too:
$ objdump -p cygcurl-2.dll
objdump: cygcurl-2.dll: File format not recognized
> So it "works" on the dll's you say are corrupted but it won't work on the
> other dll's which are intact.
Maybe the two outcomes go through different code paths in ReBaseImage()?
> Now how did these dll's get corrupted in the first place is beyond me.
Maybe from a previous rebase run? I strongly suggest playing with
copies of your DLLs -- not the originals.
> The further question is if they are indeed
> really corrupt? I haven't noticed any problems with X, so I assume they
> aren't. What is your thoughts on this?
Maybe you haven't used the corrupted DLLs? I just tried with curl and
Windows popped up a dialog complaining that the DLL was "bad."
> I'm thinking I should run through gdb with a file like cygbz21.0.dll.
OK, but I'm not sure what more you will find.
> Also, I have installed the Platform SDK, so what arguments should I
> try with the rebase utility that comes with it?
I was going to suggest the above, but I wasn't sure if you had the SDK
or not. Use the same arguments sans the offset (i.e., "-o") option
since the SDK's rebase doesn't support it.
BTW, under Windows 2000 I get the following:
$ file cygXpm-*
cygXpm-X4.dll: MS Windows PE Intel 80386 console DLL
cygXpm-noX4.dll: MS Windows PE Intel 80386 console DLL
$ rebase -d -b 0x68000000 -o 0x10000 cygXpm-*
C:\cygwin\tmp\cygXpm-X4.dll: new base = 67fe0000, new size = 20000
C:\cygwin\tmp\cygXpm-noX4.dll: new base = 67fc0000, new size = 20000
$ file cygXpm-*
cygXpm-X4.dll: MS Windows PE Intel 80386 console DLL
cygXpm-noX4.dll: MS Windows PE Intel 80386 console DLL
Is it time to upgrade? :,)
Thanks,
Jason
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -