aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2006-03-08kbuild: Fix bug in crc symbol generating of kernel and modulesLuke Yang
The scripts/genksyms/genksyms.c uses hardcoded "__crc_" prefix for crc symbols in kernel and modules. The prefix should be replaced by "MODULE_SYMBOL_PREFIX##__crc_" otherwise there will be warnings when MODULE_SYMBOL_PREFIX is not NULL. I am sorry my last patch for this issue is actually wrong. I revert it in this patch. Signed-off-by: Luke Yang <luke.adi@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-06kbuild: change kbuild to not rely on incorrect GNU make behaviorPaul Smith
The kbuild system takes advantage of an incorrect behavior in GNU make. Once this behavior is fixed, all files in the kernel rebuild every time, even if nothing has changed. This patch ensures kbuild works with both the incorrect and correct behaviors of GNU make. For more details on the incorrect behavior, see: http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html Changes in this patch: - Keep all targets that are to be marked .PHONY in a variable, PHONY. - Add .PHONY: $(PHONY) to mark them properly. - Remove any $(PHONY) files from the $? list when determining whether targets are up-to-date or not. Signed-off-by: Paul Smith <psmith@gnu.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-05kbuild: when warning symbols exported twice now tell user this is the problemSam Ravnborg
Warning now looks like this: WARNING: vmlinux: 'strcpy' exported twice. Previous export was in vmlinux Which gives much better hint how to fix it. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-05kbuild: in the section mismatch check try harder to find symbolsSam Ravnborg
When searching for symbols the only check performed was if offset equals st_value. Adding an additional check to see if st_name points t a valid name made us sort out a few more false positives and let us report more correct names in warnings. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-05kbuild: fix section mismatch check for unwind on IA64Sam Ravnborg
Parameters to strstr() was reversed. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-05kbuild: kill false positives from section mismatch warnings for powerpcSam Ravnborg
Building an allmodconfig kernel for ppc64 revealed a number of false positives - originally reported by Andrew Morton. This patch removes most if not all false positives for ppc64: Section .opd The .opd section contains function descriptors at least for ppc64. So ignore it for .init.text (was ignored for .exit.text). See description of function descriptors here: http://www.linuxbase.org/spec/ELF/ppc64/PPC-elf64abi-1.7.html Section .toc1 ppc64 places some static variables in .toc1 - ignore the. Section __bug_tabe BUG() and friends uses __bug_table. Ignore warnings from that section. Module parameters are placed in .data.rel for ppc64, for adjust pattern to match on section named .data* Tested with gcc: 3.4.0 and binutils 2.15.90.0.3 Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-03kbuild: kill trailing whitespace in modpost & friendsSam Ravnborg
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-27kbuild: small update of allnoconfig descriptionJesper Juhl
'allnoconfig' is described by 'make help' as a "minimal config", that's not strictly correct. To be pedantic, a minimal config would be one where EMBEDDED was set to Y and most things therein disabled etc. Simply answering 'no' to all options does not give a minimal config. A better description of allnoconfig is that it answers all options with 'no'. This patch updates the description. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-27kbuild: make namespace.pl CROSS_COMPILE happyAaron Brooks
Using the fixed path to /usr/bin/{nm,objdump} does not allow CROSS_COMPILE environments to use namespace.pl. This patch causes namespace.pl to use $NM and $OBJDUMP if defined or fall back to the nm and objdump found in the path. Signed-off-by: Aaron Brooks <aaron.brooks@sicortex.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-26kbuild: whitelist false section mismatch warningsSam Ravnborg
In several cases the section mismatch check triggered false warnings. Following patch introduce a whitelist to 'false positives' are not warned of. Two types of patterns are recognised: 1) Typical case when a module parameter is _initdata 2) When a function pointer is assigned to a driver structure In both patterns we rely on the actual name of the variable assigned Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-26kbuild: Add copyright to modpost.cSam Ravnborg
It seems popular to protect your work with copyright, so I decided to do so for modpost which I patch a great deal atm. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
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: do not segfault in modpost if MODVERDIR is not definedSam Ravnborg
A combination of calling modpost with option -a and MODVERDIR undefined caused segmentation fault. So provide a default value and accept the error messages it generates instead. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: fix comment in Kbuild.includeSam Ravnborg
Noted by Olaf Hering <olh@suse.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: remove checkconfig.plBrian Gerst
checkconfig.pl is no longer needed now that autoconf.h is automatically included. Remove it and all references to it. Signed-off-by: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: fix mkmakefileJan Beulich
With the current way of generating the Makefile in the output directory for builds outside of the source tree, specifying real targets (rather than phony ones) doesn't work in an already (partially) built tree, as the stub Makefile doesn't have any dependency information available. Thus, all targets where files may actually exist must be listed explicitly and, due to what I'd call a make misbehavior, directory targets must then also be special cased. Signed-Off-By: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: consolidate command line escapingJan Beulich
While the recent change to also escape # symbols when storing C-file compilation command lines was helpful, it should be in effect for all command lines, as much as the dollar escaping should be in effect for C-source compilation commands. Additionally, for better readability and maintenance, consolidating all the escaping (single quotes, dollars, and now sharps) was also desirable. Signed-Off-By: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: make cc-version available in kbuild filesSam Ravnborg
Move $(CC) support functions to Kbuild.include so they are available in the kbuild files. In addition the following was done: o as-option documented in Documentation/kbuild/makefiles.txt o Moved documentation to new section to match new scope of functions o added cc-ifversion used to conditionally select a text string dependent on actual $(CC) version o documented cc-ifversion o change so Kbuild.include is read before the kbuild file 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>
2006-02-09Revert "[PATCH] kconfig: detect if -lintl is needed when linking conf,mconf"Linus Torvalds
This reverts commit 5e375bc7d586e0df971734a5a5f1f080ffd89b68. Kyle McMartin steps on his soap-box: "Sigh. Can everyone please stop assuming gcc can output to /dev/null? On several platforms, ld tries to lseek in the output file, and fails if it can't." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-bugfixLinus Torvalds
2006-02-05[PATCH] kconfig: detect if -lintl is needed when linking conf,mconfRobb, Sam
On a system where libintl.h is present, but the NLS functionality is supplied by a separate library instead of the system C library, an attempt to "make config" or "make menuconfig" will fail with link errors, ex: scripts/kconfig/mconf.o:mconf.c:(.text+0xf63): undefined reference to `_libintl_gettext' This patch attempts to correct the problem by detecting whether or not NLS support requires linking with libintl. Signed-off-by: Samuel J Robb <sam.robb@timesys.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01[PATCH] kernel-doc: clean up the script (whitespace)Randy Dunlap
Remove lots of trailing whitespace. Nothing else. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01[PATCH] Doc/kernel-doc: add more usage infoRandy Dunlap
- Add info that structs, unions, enums, and typedefs are supported. - Add doc about "private:" and "public:" tags for struct fields. - Fix some typos. - Remove some trailing whitespace. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-01[PATCH] DocBook: allow even longer return typesMartin Waitz
kernel-doc errored out because it could not understand the new __copy_to_user definition. Now we allow return types with four words. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-21kconfig: fix /dev/null breakageSam Ravnborg
While running "make menuconfig" and "make mrproper" some people experienced that /dev/null suddenly changed permissions or suddenly became a regular file. The main reason was that /dev/null was used as output to gcc in the check-lxdialog.sh script and gcc did some strange things with the output file; in this case /dev/null when it errorred out. Following patch implements a suggestion from Bryan O'Sullivan <bos@serpentine.com> to use gcc -print-file-name=libxxx.so. Also the Makefile is adjusted to not resolve value of HOST_EXTRACFLAGS and HOST_LOADLIBES until they are actually used. This prevents us from calling gcc when running make *clean/mrproper Thanks to Eyal Lebedinsky <eyal@eyal.emu.id.au> and Jean Delvare <khali@linux-fr.org> for the first error reports. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> ---
2006-01-16kbuild: create .kernelrelease at *config stepSam Ravnborg
To enable 'make kernelrelease' earlier now create .kernelrelease when one of the *config targets are used. Also introduce KERNELVERSION - only user is kconfig. KERNELVERSION was needed to display kernel version in menuconfig - KERNELRELEASE is not valid until configuration has completed. kconfig files modified to use KERNELVERSION. Bug reported by: Rene Rebe <rene@exactcode.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-15kconfig: get rid of stray a.o, support ncurseswSam Ravnborg
scripts/kconfig/lxdialog/check-lxdialog.sh uses gcc to check for what libraries are present. Redirect output to /dev/null so we do not generate an a.out. Also included support for ncursesw - so if present prefer that instead of ncurses. The order is now (first is preferred): 1) ncursesw 2) ncurses 3) curses The latter is to support SunOS. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-10Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds
Fix up some trivial conflicts in {i386|ia64}/Makefile
2006-01-10[PATCH] DocBook: warn for missing macro parametersMartin Waitz
Previously kernel-doc silently ignored missing parameter descriptions for preprocessor macros. Now that all such omissions are fixed up we can warn about them in kernel-doc to be able to keep it that way. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10spelling: s/retreive/retrieve/Adrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-01-08[PATCH] tiny: Add bloat-o-meter to scriptsMatt Mackall
This is a rewrite of Andi Kleen's bloat-o-meter with sorting and reporting of gainers/decliners. Sample output: add/remove: 0/8 grow/shrink: 2/0 up/down: 88/-4424 (-4336) function old new delta __copy_to_user_ll 59 103 +44 __copy_from_user_ll 59 103 +44 fill_note 32 - -32 maydump 58 - -58 dump_seek 67 - -67 writenote 180 - -180 elf_dump_thread_status 274 - -274 fill_psinfo 308 - -308 fill_prstatus 466 - -466 elf_core_dump 3039 - -3039 The summary line says: no functions added, 8 removed two functions grew, none shrunk we gained 88 bytes and lost 4424 (or -4336 net) This work was sponsored in part by CE Linux Forum Signed-off-by: Matt Mackall <mpm@selenic.com> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08[PATCH] kconf: Check for eof from input stream.Ben Collins
Signed-off-by: Ben Collins <bcollins@ubuntu.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08[PATCH] fix gcc4.1 build failure on xconfigDave Jones
scripts/kconfig/qconf.h:25: error: extra qualification ‘ConfigSettings::’ on member ‘readSizes’ scripts/kconfig/qconf.h:26: error: extra qualification ‘ConfigSettings::’ on member ‘writeSizes’ scripts/kconfig/qconf.h:127: error: extra qualification ‘ConfigList::’ on member ‘updateMenuList’ Signed-off-by: Dave Jones <davej@redhat.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08kbuild: reference_discarded additionDave Jones
Error: ./fs/quota_v2.o .opd refers to 0000000000000020 R_PPC64_ADDR64 .exit.text Been carrying this for some time in Red Hat trees. Keith Ownes <kaos@sgi.com> commented: For our future {in}sanity, add a comment that this is the ppc .opd section, not the ia64 .opd section. ia64 .opd should not point to discarded sections. Any idea why ppc .opd points to discarded sections when ia64 does not? AFAICT no ia64 object has a useful .opd section, they are all empty or (sometimes) a dummy entry which is 1 byte long. ia64 .opd data is built at link time, not compile time. Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-08kbuild: In setlocalversion change -git_dirty to just -dirtyRyan Anderson
When building Debian packages directly from the git tree, the appended "git_dirty" is a problem due to the underscore. In order to cause the least problems, change that just to "dirty". Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-08modpost/file2alias: Fix typoBrian Gerst
SND_MAX should be FF_MAX Signed-off-by: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-08kconfig: factor out ncurses check in a shell scriptSam Ravnborg
Cleaning up the lxdialog Makefile by factoring out the ncurses compatibility checks. This made the checks much more obvious and easier to extend. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-06kbuild: introduce escsq to escapre single quotesSam Ravnborg
This makes things a little bit more reader friendly and gvim is less confused. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-06kconfig: fix gconfig with POSIXLY_CORRECT=1Adrian Bunk
This patch fixed "make gconfig" with POSIXLY_CORRECT=1 set. This issue was reported by Jens Elkner <elkner@linofee.org> in kernel Bugzilla #2919. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-06kbuild: Use git in scripts/setlocalversionRene Scharfe
Currently scripts/setlocalversion is a Perl script that tries to figure out the current git commit ID of a repo without using git. It also imports Digest::MD5 without using it and generally is too big for the small task it does. :] And it always reports a git ID, even when the HEAD is tagged -- this is a bug. This patch replaces it with a Bourne Shell script that uses git commands to do the same. I can't come up with a scenario where someone would use a git repo and refuse to install git core at the same time, so I think it's reasonable to assume git is available. The new script also reports uncommitted changes by adding -git_dirty to the version string. Obviously you can't see from that _what_ has been changed from the last commit, so it's more of a reminder that you forgot to commit something. The script is easily extensible: simply add a check for Mercurial (or whatever) below the git check. Note: the script doesn't print a newline char anymore. That's only because it was easier to implement it that way, not a feature (or bug). 'make kernelrelease' doesn't care. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Acked-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-01-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds
Trivial manual merge fixup for usb_find_interface clashes.
2006-01-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds