delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/08/04/12:23:59

From: ian AT cygnus DOT com
Subject: Re: Where are Reg* implemented?
4 Aug 1997 12:23:59 -0700 :
Approved: cygnus DOT gnu-win32 AT cygnus DOT com
Distribution: cygnus
Message-ID: <199708041730.NAA26400.cygnus.gnu-win32@tweedledumb.cygnus.com>
References: <Pine DOT A32 DOT 3 DOT 90 DOT 970801111027 DOT 17348A-100000 AT solid DOT ssd DOT ornl DOT gov> <33E2589B DOT D48D8ED8 AT smva DOT com>
Original-To: gnu-win32 AT cygnus DOT com
Original-Sender: owner-gnu-win32 AT cygnus DOT com

>It is also necessary to note that AIX does not implement ld in a
>"normal" manner -- it will search all object modules in a circular
>fashion, left to right and back to the front, until all references are
>resolved (or a complete pass does not resolve a symbol).  Typical
>linkers do one pass left to right to resolve references -- each object
>is evaluated once for unresolved external references, which must be
>resolved by an object to its right on the link line.  In this case it
>would not make sense to include the library before the main object, as
>no portion of the library would be incorporated in to the output,
>because no external references exist when it is scanned.

Technically, what AIX does is include the entire archive in the link.
It then uses garbage collection--a feature of the AIX linker--to
discard contents of the archive which are not needed.

The real point, as I see it, is that you can't really argue about the
behaviour of the GNU linker based on AIX.  The GNU linker is a
standard Unix linker.  The AIX linker is not.

Ian
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


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