Subject: Re: Where are Reg* implemented?
From: [email-masked]

4 Aug 1997 12:23:59 -0700
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
References: <[email-masked]> <[email-masked]>
Original-To: [email-masked]
Original-Sender: [email-masked]

>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
"[email-masked]" with one line of text: "help".