Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <000701c0efa0$f09dc090$0200a8c0@lifelesswks> From: "Robert Collins" To: "Charles Wilson" Cc: "Jason Tishler" , "Cygwin Users" References: <3B1E3D55 DOT AAF8E728 AT ece DOT gatech DOT edu> <00f001c0eeda$1da0e9e0$0200a8c0 AT lifelesswks> <3B1EC0A5 DOT 61046D2 AT ece DOT gatech DOT edu> <086701c0eee6$b61d34b0$0200a8c0 AT lifelesswks> <3B1FB693 DOT C9F505A2 AT ece DOT gatech DOT edu> Subject: Re: [avail for test] readline-4.2-1 Date: Fri, 8 Jun 2001 08:26:46 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-OriginalArrivalTime: 07 Jun 2001 22:17:44.0934 (UTC) FILETIME=[AD197860:01C0EF9F] ----- Original Message ----- From: "Charles Wilson" > Robert Collins wrote: > The ONLY reason I'm concerned about bash as an exception to that rule, > is because Chet maintains BOTH bash AND readline. Because he cares, I > care. I'm on the fence on this one. The breakage is caused not because they have the package in a subdir (they do provide --with-included-readline) but because their header is picked up by default and then linked against the system readline. Thats a build bug yes. > > I see your point about libtool aligning with the system. Do remember that pw32 and mingw are also affected by our changes with respect to libtool. > > I don't think that is an issue: > > a) Present day: all the libtool created libraries are > > cyglibfoo-version.dll. And they don't provide an ordinal .def file, so > > all linked apps will be by name. > > b) The libraries you are shipping are linked to by name if you use the > > default headers, no? So again, that shouldn't be an issue. > > I *think* so. There was a problem around libpng-1.0.9/1.0.11 where > missing functions changed the autoassigned ordinals...and stuff broke. > I created a .def file to maintain the ordinal numbers -- but the > .def does not specify NONAME, so the names should be exported. Hmm. > > > Basically, ordinals are a optimisation, and the dll _creator_ controls > > whether linking to ordinals is allowed. No .def file, and/or no ordinals > > (they are optional) and it cannot happen. > > What happens when you strip a dll? (All dlls are shipped stripped by > default). nm -a on a stripped dll shows "no symbols" -- but objdump -p > indicates that the symbol export table is still there. However, you're > actually linking with the import lib, which is (of course) not stripped, > and so contains all of the symbol names. So there's no issue :}. The dll's export table is used by the win32 runtime linker, and the import lib by ld. > > 'Course, testing is probably needed, or a quick mail to the binutils > > list/search the binutils archives. > > testing. The problem is, I really don't know how to look at a given > executable, say foo.exe, which depends on bar.dll and baz.dll, and say: > Ah, yes, foo is linked by name to bar.dll, but its linked by ordinal > to baz.dll. > So, how can you test anything if you don't know how to 'evaluate' the > results? make a dll foo, with 3 exports - alpha @5 beta @3 gamma @1 make a client program and link to foo. now rebuild the dll with alpha @2 beta @4 gamma @6 the client program, without relinking should still work. If it doesn't, it was linked by ordinal. There is a much harder issue to solve I ran into last night, so I'm now putting time into evaluating Paul Solovosky's ld that auto-imports, and no longer needs any decoration. (The problem to solve is building static libs from the same source via libtool when the static|shared compile needs extra user defines. Urgh) If that looks good, I'll see what I can do to get a libtool that supports its tested and running. (Hopefully with a little guidance :] ) Rob > > --Chuck > -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple