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: <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".