summaryrefslogtreecommitdiffstats
path: root/scripts/mod/modpost.c
AgeCommit message (Collapse)Author
2006-02-22kbuild: do not warn when unwind sections references .init/.exit sectionsSam Ravnborg
Andrew Morton reported a number of false positives for ia64 - like these: WARNING: drivers/acpi/button.o - Section mismatch: reference to .init.text: from .IA_64.unwind.init.text after '' (at offset 0x0) WARNING: drivers/acpi/button.o - Section mismatch: reference to .exit.text: from .IA_64.unwind.exit.text after '' (at offset 0x0) WARNING: drivers/acpi/processor.o - Section mismatch: reference to .init.text: from .IA_64.unwind after '' (at offset 0x1e8) They are all false positives - or at least the .c code looks OK. It is not known why sometimes a section name is appended and sometimes not. Fix is to accept references from all sections that includes "unwind." in the name. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-22kbuild: fix modpost compile with older gccakpm@osdl.org
The kernel now requires that CC be 3.1.0 or higher. But we shouldn't place that requirement upon HOSTCC unless we really need to. Fixes my ia64 problem. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: include symbol names in section mismatch warningsSam Ravnborg
Try to look up the symbol that is referenced. Include the symbol name in the warning message. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: fix segfault in modpostSam Ravnborg
Do not try to look up section name until we know it is not a special section. Otherwise we will address outside legal space and segfault. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: check for section mismatch during modpost stageSam Ravnborg
Section mismatch is identified as references to .init* sections from non .init sections. And likewise references to .exit.* sections outside .exit sections. .init.* sections are discarded after a module is initialized and references to .init.* sections are oops candidates. .exit.* sections are discarded when a module is built-in and thus references to .exit are also oops candidates. The checks were possible to do using 'make buildcheck' which called the two perl scripts: reference_discarded.pl and reference_init.pl. This patch just moves the same functionality inside modpost and the scripts are then obsoleted. They will though be kept for a while so users can do double checks - but note that some .o files are skipped by the perl scripts so result is not 1:1. All credit for the concept goes to Keith Owens who implemented the original perl scrips - this patch just moves it to modpost. Compared to the perl script the implmentation in modpost will be run for each kernel build - thus catching the error much sooner, but the downside is that the individual .o file are not always identified. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: warn about duplicate exported symbolsSam Ravnborg
In modpost introduce a check for symbols exported twice. This check caught only one victim (inet_bind_bucket_create) for which a patch is already sent to netdev. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: improved modversioning support for external modulesSam Ravnborg
With following patch a second option is enabled to obtain symbol information from a second external module when a external module is build. The recommended approach is to use a common kbuild file but that may be impractical in certain cases. With this patch one can copy over a Module.symvers from one external module to make symbols (and symbol versions) available for another external module. Updated documentation in Documentation/kbuild/modules.txt Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: apply CodingStyle to modpost.cSam Ravnborg
Just some light CodingStyle updates - no functional changes. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: use warn()/fatal() consistent in modpostSam Ravnborg
modpost.c provides warn() and fatal() - so use them all over the place. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-12-26kbuild: set correct KBUILD_MODNAME when using well known kernel symbols as ↵Ustyugov Roman
module names This patch fixes a problem when we use well known kernel symbols as module names. For example, if module source name is current.c, idle_stack.c or etc., we have a bad KBUILD_MODNAME value. For example, KBUILD_MODNAME will be "get_current()" instead of "current", or "(init_thread_union.stack)" instead of "idle_task". The trick is to define a stringify macro on the commandline - named KBUILD_STR for namespace reasons - and then to stringify the module name. There are a few uses of KBUILD_MODNAME throughout the tree but the usage is for debug and will not be harmed by this change so left untouched for now. While at it KBUILD_BASENAME was changed too. Any spinlock usage in the unix module would have created wrong section names without it. Usage in spinlock.h fixed so it no longer stringify KBUILD_BASENAME. Original patch from Ustyogov Roman - all bugs introduced by me. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-12-25kbuild: Fix crc-error warning on modulesLuke Yang
This is the patch for the following issue: In include/linux/module.h, "__crc_" and "__ksymtab_" are hard coded to be the prefix for some kinds of symbols (CRC symbol and ksymtab section). But in script /mod/modpost.c, MODULE_SYMBOL_PREFIX##"__crc_" is used as the prefix to search CRC symbols. So if an architecture (such as h8300 or Blackfin) defines MODULE_SYMBOL_PREFIX as not NULL ("_"), modpost will always warn about "no invalid crc". And it is the same with KSYMTAB_PFX. Signed-off-by: Luke Yang <luke.adi@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-09-11[SPARC]: Fix dot-symbol exporting for good.Al Viro
From: Al Viro <viro@ZenIV.linux.org.uk> Instead of playing all of these hand-coded assembler aliasing games, just translate symbol names in the name space ".sym" to "_Sym" at module load time. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-19[SPARC]: Deal with glibc changing macro names in modpost.cBen Colline
GLIBC 2.3.4 and later changed the STT_REGISTER macro to STT_SPARC_REGISTER, so we need to cope with that somehow. Original patch from fabbione, reposted by Ben Collins. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!