binutils snapshot -- problems?

Mumit Khan khan@NanoTech.Wisc.EDU
Sun Jan 9 14:46:00 GMT 2000


Kazuhiro Fujieda <fujieda@jaist.ac.jp> writes:
> On my NT Server 4.0 Sp5, the stripped size is different from one
> in the Corinna's report.
> 
> with strip 2.9.4:		545792 bytes (this works)
> with strip 2.9-19990911:	521216 bytes (this not)
> 
> The latter binary can be obtained from 
> http://www.jaist.ac.jp/~fujieda/cygwin/new-cygwin1.dll.gz

I'm not worried about the size, but rather the section contents
and section flags.

I should've copied you my response to Corinna that points out the
problem (alas, not the solution). Note your stripped DLL suffers
from the same problem as Corinna's, so something is obviously
very wrong. I'm going to rebuild and see if I can reproduce this
on the machines I have access to -- Win98 SE and WinNT 4.0 SP3.
I'll be able to check a Win95 machine tomorrow. What are you 
running?

====

Thanks. I see very odd things in your stripped DLL, and don't know
what's going on. Could you please verify that you're indeed running
the new tools, and not mixing with old ones (ie., from old binutils)?

  $ gcc -print-prog-name=ld
  $ gcc -print-prog-name=as

and so on for all of those, including strip.

The .data section is very wrong, and .text section size is a bit
different as well (which may be ok):

  $ objdump -h corrina-cygwin1.dll
  
  Idx Name          Size      VMA       LMA       File off  Algn
    0 .text         00070c00  61001000  61001000  00000400  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, CODE
    1 .data         00007200  61072000  61072000  00071000  2**2
		    CONTENTS, ALLOC, LOAD, CODE, DATA
                                           ^^^^ wrong
    2 .bss          00005be4  6107a000  6107a000  00000000  2**2
		    ALLOC
    3 .edata        00004e00  61080000  61080000  00078200  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, DATA
    4 .idata        00001a00  61085000  61085000  0007d000  2**2
		    CONTENTS, ALLOC, LOAD, DATA
    5 .rsrc         00000600  6108d000  6108d000  0007ea00  2**2
		    CONTENTS, ALLOC, LOAD, DATA, SHARED

Here's what I get from my stripped DLL:

  Idx Name          Size      VMA       LMA       File off  Algn
    0 .text         00071000  61001000  61001000  00000400  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, CODE
    1 .data         00007200  61072000  61072000  00071400  2**2
		    CONTENTS, ALLOC, LOAD, DATA
    2 .bss          00005be4  6107a000  6107a000  00000000  2**2
		    ALLOC
    3 .edata        00004e00  61080000  61080000  00078600  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, DATA
    4 .idata        00001a00  61085000  61085000  0007d400  2**2
		    CONTENTS, ALLOC, LOAD, DATA
    5 .rsrc         00000600  6108e000  6108e000  0007ee00  2**2
		    CONTENTS, ALLOC, LOAD, DATA, SHARED

And unstripped:

  Idx Name          Size      VMA       LMA       File off  Algn
    0 .text         00071000  61001000  61001000  00000400  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, CODE
    1 .data         00007200  61072000  61072000  00071400  2**2
		    CONTENTS, ALLOC, LOAD, DATA
    2 .bss          00005be4  6107a000  6107a000  00000000  2**2
		    ALLOC
    3 .edata        00004e00  61080000  61080000  00078600  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, DATA
    4 .idata        00001a00  61085000  61085000  0007d400  2**2
		    CONTENTS, ALLOC, LOAD, DATA
    5 .reloc        00006200  61087000  61087000  0007ee00  2**2
		    CONTENTS, ALLOC, LOAD, READONLY, DATA, DEBUGGING, SHARED
    6 .rsrc         00000600  6108e000  6108e000  00085000  2**2
		    CONTENTS, ALLOC, LOAD, DATA, SHARED
    7 .stab         00143c00  6108f000  6108f000  00085600  2**2
		    CONTENTS, READONLY, DEBUGGING, NEVER_LOAD, EXCLUDE, SHARED
    8 .stabstr      00333e00  611d3000  611d3000  001c9200  2**0
		    CONTENTS, READONLY, DEBUGGING, NEVER_LOAD, EXCLUDE, SHARED

Please check these on your unstripped DLL as well.

I'm going to build all of this natively and see how it goes. Did you use
the binutils binary distribution or the source one?

Regards,
Mumit




More information about the Cygwin-developers mailing list