An error occurred fetching the project authors.
- 08 Feb, 2003 1 commit
-
-
Kai Germaschewski authored
We need to collect a list of all modules during the recursive build. I used a "touch .tmp_versions/<path/to/module.ko>" to do so, which however doesn't work so well, when path/to isn't inside the kernel tree. The best way to build external modules is currently using kbuild by saying "make SUBDIRS=/some/external/dir modules", which was thus broken. While this way is not all that optimal and I hope to come up with something better before 2.6, it works and should keep working, so this patch fixes the usage above. Instead of touching files with the entire path added, we just create a <module>.mod file in $(MODVERDIR) now, and save the path to the module.ko in it. Since module names are unique, a flat hierarchy is actually fine here.
-
- 05 Feb, 2003 1 commit
-
-
Kai Germaschewski authored
Defaulting to building modules together with vmlinux when just doing "make" or "make all" is only a good choice when "CONFIG_MODULES" is set.
-
- 04 Feb, 2003 1 commit
-
-
Linus Torvalds authored
-
- 03 Feb, 2003 2 commits
-
-
Kai Germaschewski authored
o Build modules with CONFIG_MODVERSIONS when just saying "make" o Ignore generated *.ver.c files o Fix a typo (Sam Ravnborg) o Fix another typo (Paul Marinceu)
-
Kai Germaschewski authored
CONFIG_MODVERSIONING was a temporary name introduced to distinguish between the old and new module version implementation. Since the traces of the old implementation are now gone from the build system, we rename the config option back in order to not confuse users more than necessary in 2.6. Also, remove some historic modversions cruft throughout the tree.
-
- 26 Jan, 2003 3 commits
-
-
Sam Ravnborg authored
"make dir/" is used to build a subsystem without going through the full kernel tree, neither completing the build. This is solely useful during development, when focus is on a single subsystem. This is the counterpart to "make dir/module.ko"
-
Sam Ravnborg authored
In arch/$(ARCH)/Makefile the objects to be linked as the very first are specified with HEAD. To make more consistent naming, and to allow smarter kbuild style declarations HEAD is replaced with head-y. Support for the old notaion is kept for now. Only i386 updated.
-
Sam Ravnborg authored
archmrproper and archclean is declared .PHONY in top-level Makefile, therefore they are no longer mandatory in arch/$(ARCH)/Makefile.
-
- 25 Jan, 2003 2 commits
-
-
Kai Germaschewski authored
MODVERDIR was defined in the build-only section, but it's needed for "make mrproper" as well.
-
Kai Germaschewski authored
We support tags and TAGS already, so... by Louis Zhuang
-
- 24 Jan, 2003 4 commits
-
-
Kai Germaschewski authored
In the case of CONFIG_MODVERSIONING, the build step will only generate preliminary <module>.o objects, and an additional postprocessing step is necessary to record the versions of the unresolved symbols and add them into the final <module>.ko The version information for unresolved symbols is again recorded into a special section, "__versions", which contains an array of symbol name strings and checksum (struct modversion_info). Size is here not an issue, since this section will not be stored permanently in kernel memory. Makefile.modver takes care of the following steps: o Collect the version information for all exported symbols from vmlinux and all modules which export symbols. o For each module, generate a C file which contains the modversion information for all unresolved symbols in that module. o For each module, compile that C file to an object file o Finally, link the <module>.ko using the preliminary <module.o> + the version information above. The first two steps are currently done by not very efficient scripting, so there's room for performance improvement using some helper C code.
-
Kai Germaschewski authored
With CONFIG_MODVERSIONING, we need to record the versions of the unresolved symbols in the final <module>.ko, which we only know after we finished the descending build. So we only build <module>.o in that case. Also, keep track of the modules we built, the post-processing step needs a list of all modules. Keeping track is done by touching .tmp_versions/path/to/module.ko
-
Kai Germaschewski authored
Though the CONFIG_MODVERSIONS option was removed with rusty's module rewrite and the associated code broken, a lot of that code was still living on here and there. Now it's gone for good.
-
Kai Germaschewski authored
rusty's module rewrite removed the reference to EXPORT_SYMTAB from linux/module.h, and it's not used anywhere else, either.
-
- 16 Jan, 2003 1 commit
-
-
Linus Torvalds authored
-
- 14 Jan, 2003 1 commit
-
-
Kai Germaschewski authored
This patch, based on Rusty's implementation, adds a special section to vmlinux and all modules, which contain the kernel version string, values of some particularly important config options (SMP,preempt,proc family) and the gcc version. When inserting a module, the version string is checked against the kernel version string and loading is rejected if they don't match. The version string is actually added to the modules during the final .ko generation, so that a changed version string does only cause relinking, not recompilation, which is a major performance improvement over the old 2.4 way of doing things.
-
- 13 Jan, 2003 2 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
-
- 10 Jan, 2003 1 commit
-
-
Linus Torvalds authored
-
- 08 Jan, 2003 1 commit
-
-
Linus Torvalds authored
-
- 01 Jan, 2003 1 commit
-
-
Linus Torvalds authored
-
- 30 Dec, 2002 4 commits
-
-
Kai Germaschewski authored
Now that we have a unique suffix for kernel modules (.ko), we can extend to former "make some/object.o" to work for kernel modules as well, even composite ones. It's as easy as "make some/dir/module.ko". (Sam Ravnborg/me)
-
Sam Ravnborg authored
arch/$(ARCH)/Makefile already contains the kbuild required additions to allow the kernel to be built for the architecture in question. Moving archhelp centralise this information, and no longer require a boot directory to exist to utilise this feature. Update i386 to define archhelp in arch/$(ARCH)/Makefile Other architectures will be updated in next cset.
-
Sam Ravnborg authored
The former macro $(descend ...) hide for make the fact that a recursively make was invoked. The replacement $(Q)$(MAKE) -f scripts/Makefile.build obj=dir was too verbose. Introduced $(build) and $(clean) allowing the following syntax: $(Q)$(MAKE) $(build)=arch/i386/boot target and similar for clean. Introduced $(build) and $(clean) in general, and for i386 architecture.
-
Sam Ravnborg authored
Add $(srctree)/ etc. to some more places where it was still missing.
-
- 23 Dec, 2002 1 commit
-
-
Linus Torvalds authored
-
- 16 Dec, 2002 1 commit
-
-
David Mosberger authored
-
- 15 Dec, 2002 1 commit
-
-
Linus Torvalds authored
-
- 13 Dec, 2002 1 commit
-
-
Rusty Russell authored
module-init-tools 0.9 and newer supply a replacement depmod, so it's safe to run again. Also, some external programs like PCMCIA and mkinitrd really want the directory hierarchy in /lib/modules back again: it makes no difference to the tools (since 0.9), so revert it.
-
- 09 Dec, 2002 1 commit
-
-
Linus Torvalds authored
-
- 04 Dec, 2002 3 commits
-
-
Kai Germaschewski authored
-
Kai Germaschewski authored
This patch basically just replaces the scripts/kallsyms script by a scripts/kallsyms.c C program, which does the same thing much faster. It also removes duplicates and entries which are not between _stext and _etext, as they would not get used anyway. This saves about 290KB in vmlinux with my .config, more than 50% of the kallsyms bloat ;)
-
Kai Germaschewski authored
It only makes sense to check CONFIG_FRAME_POINTER after including .config, otherwise it'll always be unset ;)
-
- 27 Nov, 2002 1 commit
-
-
Linus Torvalds authored
-
- 25 Nov, 2002 1 commit
-
-
Dave Jones authored
From 2.4, this adds a CONFIG_ option to disable the usage of -fomit-frame-pointer
-
- 22 Nov, 2002 3 commits
-
-
Sam Ravnborg authored
In the top-level Makefile and in the i386 architecture specific makefile no longer use descend. i386 is used as template for other architectures, so they shall be kept nice. Also added a little text: Kernel: arch/i386/boot/bzImage is ready A reminder of what target you did build, and where it is located
-
Sam Ravnborg authored
build-targets is used to list targets that is always built. This allowed misuse of EXTRA_TARGETS to be deleted. built-in.o is now only created for directories defining a obj-* variable, avoiding this for scripts and lxdialog One Makefile needed a dummy obj- statement
-
Linus Torvalds authored
-
- 21 Nov, 2002 1 commit
-
-
Andrew Morton authored
So poor old Dave spent days hunting down memory corruption because the `kstat' per-cpu storage is not initialised (it needs to be, it's a workaround for ancient gcc's). The same problem had me hunting for a day too. This patch, based on an initial version from Rusty will parse System.map at final link and will fail the build if any per-cpu symbols are found to be not in the percpu section.
-
- 18 Nov, 2002 1 commit
-
-
Rusty Russell authored
Since I believe kallsyms is important, this reimplements it sanely, using the current module infrastructure, and not using an external kallsyms script. FYI, the previous interface was: int kallsyms_symbol_to_address( const char *name, /* Name to lookup */ unsigned long *token, /* Which module to start with */ const char **mod_name, /* Set to module name or "kernel" */ unsigned long *mod_start, /* Set to start address of module */ unsigned long *mod_end, /* Set to end address of module */ const char **sec_name, /* Set to section name */ unsigned long *sec_start, /* Set to start address of section */ unsigned long *sec_end, /* Set to end address of section */ const char **sym_name, /* Set to full symbol name */ unsigned long *sym_start, /* Set to start address of symbol */ unsigned long *sym_end /* Set to end address of symbol */ ); The new one is: /* Lookup an address. modname is set to NULL if it's in the kernel. */ const char *kallsyms_lookup(unsigned long addr, unsigned long *symbolsize, unsigned long *offset, char **modname);
-