- 26 Jan, 2003 10 commits
-
-
Sam Ravnborg authored
-
Sam Ravnborg authored
Introduced ld_flags, and separated out the common parts of link_multi for normal and module objects. Added a bit of a comment as well
-
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
The bugs listed was no longer relevant. Also updated OO-INDEX
-
Sam Ravnborg authored
Updated documentation/modules.txt with the following: o Default config target is menuconfig o Documented INSTLL_MOD_PATH o Referenced to kernel 2.4 o How to compile modules outside the kernel tree There is a lot of stuff in need for updating, this is first step
-
Sam Ravnborg authored
makefiles.txt brought up-to-date with the changes that has occured in kbuild within the last couple of months. Restructured to present relevant info earlier, and rewritten the architecture specific section to a certain degree. One change in style is that makefiles used throughout the kernel tree is called "kbuild makefiles", because they follow the kbuild syntax. Old notation was "subdirectory makefiles". There is added a TODO section, if anyone feel tempted to add a bit more text.
-
Sam Ravnborg authored
Replace done for all archs except mips* and cris. These architectures are lacking too much behind that it made sense
-
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
The recent change in the top level makefile allowed this clean-up in all the architecture specific Makefiles. No functional changes, just deleted the now optional targets
-
Sam Ravnborg authored
archmrproper and archclean is declared .PHONY in top-level Makefile, therefore they are no longer mandatory in arch/$(ARCH)/Makefile.
-
- 24 Jan, 2003 12 commits
-
-
Kai Germaschewski authored
Yeah, the final step! Now that we've got the checksums for the exported symbols and the checksums of the unresolved symbols for the module we're loading, let's compare and see. Again, we allow to load a module which has the version info stripped, but taint the kernel in that case.
-
Kai Germaschewski authored
We'll need that index to find the version checksum for the symbol in a bit.
-
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
For extracting the versions and finding the unresolved symbols, we need multi-part modules to be linked together already, so this patch separates the building of the modules as a .o file from generating the .ko in the next step.
-
Kai Germaschewski authored
Store the information on the checksum alongside the rest of the information on exported symbols. To actually use them, we need something to check them against first, though ;) Also, fix some conditional debug code to actually compile.
-
Kai Germaschewski authored
Again, the license string is only used at load time, so no need to store it permanently in kernel memory.
-
Kai Germaschewski authored
modprobe --force allows to load modules without a matching version magic string. This invalidation is done by clearing the SHF_ALLOC flag, so check it in the kernel. Also, clear the SHF_ALLOC flag unconditionally, since we don't need to store the __vermagic section in the kernel, it's only checked once at load time.
-
Kai Germaschewski authored
Up to now, we had a way to store the checksums associated with the exported symbols, but they were not filled in yet. This is done with this patch, using the linker to actually do that for us. The comment added with this patch explains what magic exactly is going on.
-
Kai Germaschewski authored
This patch adds the new config option CONFIG_MODVERSIONING which will be the new way of checking for ABI changes between kernel and module code. This and the following patches are in part based on an initial implementation by Rusty Russell and I believe some of the ideas go back to discussions on linux-kbuild, Keith Owens and Rusty. though I'm not sure I think credit for the basic idea of storing version info in sections goes to Keith Owens and Rusty. o Rename __gpl_ksymtab to __ksymtab_gpl since that looks more consistent and appending _gpl instead of putting it into the middle simplifies sharing code for EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL() o Add CONFIG_MODVERSIONING o If CONFIG_MODVERSIONING is set, add a section __kcrctab{,_gpl}, which contains the ABI checksums for the exported symbols listed in __ksymtab{,_crc} Since we don't know the checksums yet at compilation time, just make them an unresolved symbol which gets filled in by the linker later.
-
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.
-
- 17 Jan, 2003 1 commit
-
-
Kai Germaschewski authored
In a discussion with Sam Ravnborg, the following problem became apparent: Most vmlinux.lds.S (but the ARM ones) used the following construct: __start___ksymtab = .; __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { *(__ksymtab) } __stop___ksymtab = .; However, the link will align the beginning of the section __ksymtab according to the requirements for the input sections. If '.' (current location counter) wasn't sufficiently aligned before, it's possible that __ksymtab actually starts at an address after the one __start___ksymtab points to, which will confuse the users of __start___ksymtab badly. The fix is to follow what the ARM Makefiles did for this case, ie __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { __start___ksymtab = .; *(__ksymtab) __stop___ksymtab = .; }
-
- 16 Jan, 2003 17 commits
-
-
Linus Torvalds authored
-
-
Russell King authored
__virt_to_bus/__bus_to_virt depended on INTEGRATOR_HDR0_SDRAM_BASE Unfortunately, this is defined in arch-integrator/platform.h, and we really don't want to include it in memory.h. We instead use BUS_OFFSET, which will eventually depend on the CPU number in the system.
-
Russell King authored
Only default BLK_DEV_IDEDMA on BLK_DEV_IDEDMA_ICS if ARCH_ACORN is set, not if ARM is set. There are PCI ARM systems out there!
-
Russell King authored
Ensure that we clean up properly after initialisation error, releasing all claimed resources in an orderly manner and returning the correct error code.
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
Add cfbfillrect / cfbcopyarea / cfbimgblt objects for SA1100fb. Remove redundant "pm" member.
-
Jeff Wiedemeier authored
Found a buglet in the marvel code -- doesn't change the number of IRQS just the logic to get there.. This applies on top of the other marvel code. /jeff
-
Richard Henderson authored
into kanga.twiddle.net:/home/rth/linux/axp-2.5
-
Richard Henderson authored
-
Richard Henderson authored
to header files where they belong.
-
Richard Henderson authored
of AGP and SRMCONS patches.
-
Richard Henderson authored
From Jeff.Wiedemeier@hp.com.
-
Richard Henderson authored
(Titan / Marvel), Kconfig and headers. From Jeff Wiedemeier.
-