Re: Patch for Makefile to improve linkability of the kernel

H. Peter Anvin (hpa@transmeta.com)
14 Dec 1998 14:03:25 GMT


Followup to: <Pine.BSF.3.96.981214110419.13272C-100000@toad.stack.nl>
By author: Arjan van de Ven <arjan@stack.nl>
In newsgroup: linux.dev.kernel
>
> Description of the problem
> --------------------------
> Several of the Linux-kernel .a files have dependencies among them. The "ld"
> program (in normal operation) only links the symbols in an .a file that
> where previously unresolved. This is a problem when a symbol is needed in an
> .a file that is linked _after_ the current file. (For example, drivers/net/net.a
> is linked before drivers/cdrom/cdrom.a, cdrom.a uses auto_irq from it but
> drivers/net/net.a does not provide it if it is not used before).
>
> The solution
> ------------
> One way of solving this kind a stuff is to modify the linking order. This is
> uggly and even circular dependencies might exist. the "--start-group ....
> --end-group" aproach seems like a clean, tool-based solution:
>

A much better idea is to use ld -r and use .o files instead of .a
files.

-hpa

-- 
    PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD  1E DF FE 69 EE 35 BD 74
    See http://www.zytor.com/~hpa/ for web page and full PGP public key
        I am Bahá'í -- ask me about it or see http://www.bahai.org/
   "To love another person is to see the face of God." -- Les Misérables

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