delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/12/03:27:05

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Ralf Habacker" <Ralf DOT Habacker AT freenet DOT de>
To: "Charles Wilson" <cwilson AT ece DOT gatech DOT edu>
Cc: <cygwin AT cygwin DOT com>
Subject: RE: [avail for test] libtool-devel-20030121-1
Date: Wed, 12 Feb 2003 09:22:01 +0100
Message-ID: <003701c2d26f$d184f670$0a1c440a@BRAMSCHE>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
In-reply-to: <3E47FA28.9030302@ece.gatech.edu>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

> But, you'd still need to check all "static libs" to see if they are
> really import libs after all.  The good news it that we expect this to
> happen only rarely: when an import lib is a "hybrid" lib with static
> objs "in front" --> the modified 'file' test incorrectly identifies it
> as a static archive.

This depends on how the hybrid lib is created. If it starts with the static
object files, it would be identified as static, if it starts with the import
library as import library.

BTW: Do you know which libraries are also hybrid execpt of cygwin1.dll ?


> Question: for "normal" import libs (that is, excluding the hybrids like
> libcygwin.a), does your version work always? Or does _dll_iname 'float
> around' even within otherwise normal import libs?
>
'file' supports indirect offset generation. See $ man magic

       Indirect  offsets  are  of  the  form:
       ((x[.[bslBSL]][+-][y]).  The value of x is used as  an  offset  in  the
       file.  A  byte,  short  or long is read at that offset depending on the
       [bslBSL] type specifier. The capitalized types interpret the number  as
       a big endian value, whereas the small letter versions interpet the num-
       ber as a little endian value. To that number the value of  y  is  added
       and  the  result  is used as an offset in the file. The default type if
       one is not specified is long.

       Sometimes you do not know the exact  offset  as  this  depends  on  the
       length  of  preceding fields. You can specify an offset relative to the
       end of the last uplevel field (of course this may only be done for sub-
       level  tests,  i.e.  test beginning with > ). Such a relative offset is
       specified using & as a prefix to the offset.

That mean, we onbly have to figure out the relative pointer to the 'dll_iname'
string.
When I have time, I will look into the coff file format or is someone else here,
who can give a pointer to this ?

Ralf


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


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019