aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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: fix make dir/file.xx when asm symlink is missingSam Ravnborg
Added a dependency so we do full preparation before trying to build single file targets. This fixes a case where Andrew Morton did: make kernel/sched.o rm include/asm make kernel/sched.o -> splat 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: ignore all generated files for make allmodconfig (x86_64)Sam Ravnborg
With following patch we now ignore all generated files for make allmodconfig for x86_64. 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: version.h should depend on .kernelreleaseJan Beulich
Rebuilding a previously built tree while using make's -j options from time to time results in the version.h check running at the same time as the updating of .kernelrelease, resulting in UTS_RELEASE remaining an empty string (and as a side effect causing the entire kernel to be rebuilt). Signed-Off-By: Jan Beulich <jbeulich@novell.com> 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: fix a cscope bug (make cscope segfaults)Mattia Dongili
Workaround a cscope bug where a trailing ':' in VPATH makes it segfault and let it build the cross-reference succesfully. VPATH=/home/mattia/devel/kernel/git/linux-2.6: cscope -b [1] 17555 segmentation fault VPATH=/home/mattia/devel/kernel/git/linux-2.6: cscope -b Signed-off-by: Mattia Dongili <malattia@linux.it> 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: remove a tab from an empty lineAdrian Bunk
Emacs warns if an otherwise empty line starts with a tab. Signed-off-by: Adrian Bunk <bunk@stusta.de> 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: run depmod when installing external modulesSam Ravnborg
Following patch enables depmod support when installing external modules. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: avoid stale modules in $(MODVERDIR) for external modulesSam Ravnborg
To avoid stale modules located in $(MODVERDIR) aka .tmp_versions/ always delete the directory when building an external module. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19kbuild: Accept various mips sub-types in SUBARCHMartin Michlmayr
uname -m on MIPS can give a number of results, such as mips64. We need to add another substitution to the sed call for SUBARCH in the main Makefile. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-19x86: align per-cpu section to configured cache bytesZach Brown
This matches the fix for a bug seen on x86-64. Test booted on old hardware that had 32 byte cachelines to begin with. Signed-off-by: Zach Brown <zach.brown@oracle.com> 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-19kbuild: support building individual files for external modulesSam Ravnborg
Support building individual files when dealing with separate modules. So say you have a module named "foo" which consist of two .o files bar.o and fun.o. You can then do: make -C $KERNELSRC M=`pwd` bar.o make -C $KERNELSRC M=`pwd` bar.lst make -C $KERNELSRC M=`pwd` bar.i make -C $KERNELSRC M=`pwd` / <= will build all .o files and link foo.o make -C $KERNELSRC M=`pwd` foo.ko <= will build the module and do the modpost step to create foo.ko The above will also work if the external module is placed in a subdirectory using a hirachy of kbuild files. Thanks to Andreas Gruenbacher <agruen@suse.de> for initial feature request / bug report. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-02-17Linux v2.6.16-rc4Linus Torvalds
2006-02-17[PATCH] ACPI: fix vendor resource length computationBjorn Helgaas
acpi_rs_get_list_length() needs to account for all the vendor-defined data bytes. Failing to include these causes buffers to be sized too small, which causes slab corruption when we later convert AML to resources and run off the end of the buffer. This causes slab corruption on machines that use ACPI vendor-defined resources. All HP ia64 machines do, and I'm told that some NEC machines may as well. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] sys_mbind sanity checkingChris Wright
Make sure maxnodes is safe size before calculating nlongs in get_nodes(). Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] select: time comparison fixesAndrew Morton
I got all of these backwards. We want to return min(input timeout, new timeout) to userspace to prevent increasing the time-remaining value. Thanks to Ernst Herzberg <earny@net4u.de> for reporting and diagnosing. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] powerpc: Fix accidentally-working typo in __pud_free_tlbDavid Gibson
One of the parameters to the __pud_free_tlb() macro for powerpc is incorrect (see patch) . We get away with it by accident, because the one place the macro is called, the second parameter is a variable named "pud". Signed-off-by: David Gibson <dwg@au1.ibm.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] Remove KERN_INFO from middle of printk lineTim Hockin
Don't print KERN_INFO in the middle of a printk line. printk(KERN_INFO "OEM ID: %s ",str); is just above this. This is already fixed up in i386 copy. Signed-off-by: Martin J. Bligh <mbligh@google.com> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] allow windfarm_pm112 module to loadJohannes Berg
The windfarm_pm112 module relies on smu_sat_get_sdb_partition which is in windfarm_smu_sat.c but is not exported to modules, so despite Kconfig having the option to build the pm112 as modules, this can never be loaded. This patch fixes that by exporting smu_sat_get_sdb_partition with EXPORT_SYMBOL_GPL Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] fuse: fix bug in aborted fuse_release_end()Miklos Szeredi
There's a rather theoretical case of the BUG triggering in fuse_reset_request(): - iget() fails because of OOM after a successful CREATE_OPEN request - during IO on the resulting RELEASE request the connection is aborted Fix and add warning to fuse_reset_request(). Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] swsusp: fix breakage with swap on LVMRafael J. Wysocki
Restore the compatibility with the older code and make it possible to suspend if the kernel command line doesn't contain the "resume=" argument Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: sys32_fstatat -> sys32_fstatat64Heiko Carstens
Just rename the compat system call to keep the name consistent with all the other *64 compat system calls. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: fix assignment instead of check in ccw_device_set_online()Cornelia Huck
Fix assignment instead of check in ccw_device_set_online(). Also remove unneeded assignment in ccw_device_do_sense(). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: smp initialization speedHeiko Carstens
The last changes that introduced the additional_cpus command line parameter also introduced a regression regarding smp initialization speed. In smp_setup_cpu_possible_map() cpu_present_map is set to the same value as cpu_possible_map. Especially that means that bits in the present map will be set for cpus that are not present. This will cause a slow down in the initial cpu_up() loop in smp_init() since trying to take cpus online that aren't present takes a while. Fix this by setting only bits for present cpus in cpu_present_map and set cpu_present_map to cpu_possible_map in smp_cpus_done(). Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: possible_cpus parameterHeiko Carstens
Introduce possible_cpus command line option. Hard sets the number of bits set in cpu_possible_map. Unlike the additional_cpus parameter this one guarantees that num_possible_cpus() will stay constant even if the system gets rebooted and a different number of cpus are present at startup. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: additional_cpus parameterHeiko Carstens
Introduce additional_cpus command line option. By default no additional cpu can be attached to the system anymore. Only the cpus present at IPL time can be switched on/off. If it is desired that additional cpus can be attached to the system the maximum number of additional cpus needs to be specified with this option. This change is necessary in order to limit the waste of per_cpu data structures. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17[PATCH] s390: fix preempt_count of idle thread with cpu hotplugHeiko Carstens
Set preempt_count of idle_thread to zero before switching off cpu. Otherwise the preempt_count will be wrong if the cpu is switched on again since the thread will be reused. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>