Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Message-Id: <200001092246.QAA18403@hp2.xraylith.wisc.edu> To: Kazuhiro Fujieda cc: cygwin-developers AT sourceware DOT cygnus DOT com Subject: Re: binutils snapshot -- problems? In-reply-to: Your message of "10 Jan 2000 07:09:32 +0900." Date: Sun, 09 Jan 2000 16:46:40 -0600 From: Mumit Khan Kazuhiro Fujieda 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