Re: What's the deal with building intermediate .o vs .a files?

From: Andi Kleen (ak@suse.de)
Date: Fri Apr 07 2000 - 05:59:45 EST


greyham@research.canon.com.au (Graham Stoney) writes:

> Hi gang,
>
> I've noticed that a number of subdirectories in the kernel build intermediate
> object files using "ld -r", whereas others build archives using "ar c". Can
> someone please point me to a rationale for which is the prefered behaviour?

Linking with ar does not include objects with non referenced symbols. This
sometimes causes problems, because Linux uses call tables in ELF segments
to initialize some things (e.g. the init_call() macros). ELF segments do
not generate a symbol reference. For those ld -r is needed.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:18 EST