|
@@ -153,18 +153,18 @@ more details, with real examples.
|
|
|
configuration.
|
|
|
|
|
|
Kbuild compiles all the $(obj-y) files. It then calls
|
|
|
- "$(AR) rcSTP" to merge these files into one built-in.o file.
|
|
|
+ "$(AR) rcSTP" to merge these files into one built-in.a file.
|
|
|
This is a thin archive without a symbol table, which makes it
|
|
|
unsuitable as a linker input.
|
|
|
|
|
|
The scripts/link-vmlinux.sh script later makes an aggregate
|
|
|
- built-in.o with "${AR} rcsTP", which creates the thin archive
|
|
|
+ built-in.a with "${AR} rcsTP", which creates the thin archive
|
|
|
with a symbol table and an index, making it a valid input for
|
|
|
the final vmlinux link passes.
|
|
|
|
|
|
The order of files in $(obj-y) is significant. Duplicates in
|
|
|
the lists are allowed: the first instance will be linked into
|
|
|
- built-in.o and succeeding instances will be ignored.
|
|
|
+ built-in.a and succeeding instances will be ignored.
|
|
|
|
|
|
Link order is significant, because certain functions
|
|
|
(module_init() / __initcall) will be called during boot in the
|
|
@@ -228,7 +228,7 @@ more details, with real examples.
|
|
|
Note: Of course, when you are building objects into the kernel,
|
|
|
the syntax above will also work. So, if you have CONFIG_EXT2_FS=y,
|
|
|
kbuild will build an ext2.o file for you out of the individual
|
|
|
- parts and then link this into built-in.o, as you would expect.
|
|
|
+ parts and then link this into built-in.a, as you would expect.
|
|
|
|
|
|
--- 3.4 Objects which export symbols
|
|
|
|
|
@@ -238,7 +238,7 @@ more details, with real examples.
|
|
|
--- 3.5 Library file goals - lib-y
|
|
|
|
|
|
Objects listed with obj-* are used for modules, or
|
|
|
- combined in a built-in.o for that specific directory.
|
|
|
+ combined in a built-in.a for that specific directory.
|
|
|
There is also the possibility to list objects that will
|
|
|
be included in a library, lib.a.
|
|
|
All objects listed with lib-y are combined in a single
|
|
@@ -250,7 +250,7 @@ more details, with real examples.
|
|
|
|
|
|
Note that the same kbuild makefile may list files to be built-in
|
|
|
and to be part of a library. Therefore the same directory
|
|
|
- may contain both a built-in.o and a lib.a file.
|
|
|
+ may contain both a built-in.a and a lib.a file.
|
|
|
|
|
|
Example:
|
|
|
#arch/x86/lib/Makefile
|
|
@@ -992,7 +992,7 @@ When kbuild executes, the following steps are followed (roughly):
|
|
|
|
|
|
$(head-y) lists objects to be linked first in vmlinux.
|
|
|
$(libs-y) lists directories where a lib.a archive can be located.
|
|
|
- The rest list directories where a built-in.o object file can be
|
|
|
+ The rest list directories where a built-in.a object file can be
|
|
|
located.
|
|
|
|
|
|
$(init-y) objects will be located after $(head-y).
|
|
@@ -1077,7 +1077,7 @@ When kbuild executes, the following steps are followed (roughly):
|
|
|
extra-y := head.o init_task.o
|
|
|
|
|
|
In this example, extra-y is used to list object files that
|
|
|
- shall be built, but shall not be linked as part of built-in.o.
|
|
|
+ shall be built, but shall not be linked as part of built-in.a.
|
|
|
|
|
|
|
|
|
--- 6.7 Commands useful for building a boot image
|