- May 12, 2013
-
-
Linus Torvalds authored
-
- Apr 29, 2013
-
-
Arnd Bergmann authored
gcc-4.7 and higher add a lot of false positive warnings about potential uses of uninitialized warnings, but only when optimizing for size (-Os). This is the default when building allyesconfig, which turns on CONFIG_CC_OPTIMIZE_FOR_SIZE. In order to avoid getting a lot of patches that initialize such variables and accidentally hide real errors along the way, let's just turn off this warning on the respective gcc versions when building with size optimizations. The -Wmaybe-uninitialized option was introduced in the same gcc version (4.7) that is now causing the false positives, so there is no effect on older compilers. A side effect is that when building with CONFIG_CC_OPTIMIZE_FOR_SIZE, we might now see /fewer/ warnings about possibly uninitialized warnings than with -O2, but that is still much better than seeing warnings known to be bogus. Signed-off-by:
Arnd Bergmann <arnd@arndb.de>
-
Linus Torvalds authored
-
- Apr 21, 2013
-
-
Linus Torvalds authored
-
- Apr 18, 2013
-
-
Michal Marek authored
The source tree can contain lots of uninteresting data like tag or cscope files, packaging which slows down make rpm needlessly. It can also break the build, if the tree contains an unrelated file named *.spec. The downside of this change is that new subdirectories have to be added to the KBUILD_ALLDIRS variable in the top-level Makefile. The upside is that the behavior is more predictable. Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Apr 15, 2013
-
-
Linus Torvalds authored
-
- Apr 10, 2013
-
-
Andreas Schwab authored
The headers are now needed inside scripts/mod since 6543becf ("mod/file2alias: make modalias generation safe for cross compiling"). Reported-and-tested-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Reported-and-tested-by:
"Jon Medhurst (Tixy)" <tixy@linaro.org> Signed-off-by:
Andreas Schwab <schwab@linux-m68k.org> Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Apr 08, 2013
-
-
Linus Torvalds authored
-
- Mar 31, 2013
-
-
Linus Torvalds authored
-
- Mar 23, 2013
-
-
Linus Torvalds authored
-
- Mar 17, 2013
-
-
Linus Torvalds authored
-
- Mar 15, 2013
-
-
Borislav Petkov authored
We need to hand down parallel build options like the internal make --jobserver-fds one so that parallel builds can also happen when building perf from the toplevel directory. Make it so #1! Signed-off-by:
Borislav Petkov <bp@suse.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1361374353-30385-3-git-send-email-bp@alien8.de Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
-
Rusty Russell authored
We have CONFIG_SYMBOL_PREFIX, which three archs define to the string "_". But Al Viro broke this in "consolidate cond_syscall and SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to do so. Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to prefix it so something. So various places define helpers which are defined to nothing if CONFIG_SYMBOL_PREFIX isn't set: 1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX. 2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym) 3) include/linux/export.h defines MODULE_SYMBOL_PREFIX. 4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7) 5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym) 6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX 7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version for pasting. (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too). Let's solve this properly: 1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX. 2) Make linux/export.h usable from asm. 3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR(). 4) Make everyone use them. Signed-off-by:
Rusty Russell <rusty@rustcorp.com.au> Reviewed-by:
James Hogan <james.hogan@imgtec.com> Tested-by: James Hogan <james.hogan@imgtec.com> (metag)
-
- Mar 10, 2013
-
-
Linus Torvalds authored
-
- Mar 03, 2013
-
-
Linus Torvalds authored
-
- Feb 22, 2013
-
-
Andi Kleen authored
Newer gcc enables the var-tracking pass with -g to keep track which registers contain which variables. This is one of the slower passes in gcc. With reduced debug info (aimed at objdump -S, but not using a full debugger) we don't need this fine grained tracking. But it was still enabled because -g was enabled. Disable it explicitely for DEBUG_INFO_REDUCED. On my 8T workstation this gives me about a 12 second gain in building a reasonable kernel config (2min16 vs 2min28) with DEBUG_INFO_REDUCED. With full DEBUG_INFO it takes 2min46 The actual improvement in user time taken by the compiler is much higher (all CPU combined user time 15min5s vs 16m30 before) but the usual amdahl bottleneck on the linker prevents more speedup. It still saves some more energy and keeps cycles for other things. Signed-off-by:
Andi Kleen <ak@linux.intel.com> Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
James Hogan authored
On architectures which have symbol prefixes, depmod emits lots of warnings like this: WARNING: $module.ko needs unknown symbol $symbol This is because depmod isn't being passed the -P <symbol_prefix> arguments to specify the symbol prefix to ignore. This option is included since the 3.13 release of module-init-tools. Update scripts/depmod.sh to take extra arguments for the symbol prefix (required but may be empty), and update the main Makefile to always pass "$(CONFIG_SYMBOL_PREFIX)" to scripts/depmod.sh. If the provided symbol prefix is non-empty, scripts/depmod.sh checks if depmod --version reports module-init-tools with a version number < 3.13 otherwise it appends -P $SYMBOL_PREFIX to the depmod command line. Signed-off-by:
James Hogan <james.hogan@imgtec.com> Cc: Michal Marek <mmarek@suse.cz> Cc: linux-kbuild@vger.kernel.org Cc: Mike Frysinger <vapier@gentoo.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: uclinux-dist-devel@blackfin.uclinux.org Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Feb 18, 2013
-
-
Linus Torvalds authored
-
- Feb 08, 2013
-
-
Linus Torvalds authored
-
- Feb 01, 2013
-
-
Linus Torvalds authored
-
- Jan 25, 2013
-
-
Linus Torvalds authored
-
Michal Marek authored
To allow the builder to sign only a subset of modules, or to sign the modules using a key that is not available on the build machine, add CONFIG_MODULE_SIG_ALL. If this option is unset, no modules will be signed during build. The default is 'y', to preserve the current behavior. Signed-off-by:
Michal Marek <mmarek@suse.cz> Acked-by:
David Howells <dhowells@redhat.com> Signed-off-by:
Rusty Russell <rusty@rustcorp.com.au>
-
Michal Marek authored
Make the script usable without a .config file. Signed-off-by:
Michal Marek <mmarek@suse.cz> Acked-by:
David Howells <dhowells@redhat.com> Signed-off-by:
Rusty Russell <rusty@rustcorp.com.au>
-
- Jan 24, 2013
-
-
Andreas Schwab authored
Use the target compiler to compute the offsets for the fields of the device_id structures, so that it won't be broken by different alignments between the host and target ABIs. This also fixes missing endian corrections for some modaliases. Signed-off-by:
Andreas Schwab <schwab@linux-m68k.org> Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Jan 22, 2013
-
-
Will Deacon authored
By popular demand, arch/aarch64 is now known as arch/arm64. However, uname -m (and indeed the GNU triplet) still use aarch64 as the machine string. This patch fixes native builds of both the kernel and perf tools by updating the relevant Makefiles to munge the output of uname -m and set the ARCH variable appropriately. Cc: <stable@vger.kernel.org> Signed-off-by:
Will Deacon <will.deacon@arm.com> Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
-
- Jan 18, 2013
-
-
Linus Torvalds authored
-
- Jan 10, 2013
-
-
Linus Torvalds authored
-
- Jan 03, 2013
-
-
Linus Torvalds authored
-
- Dec 22, 2012
-
-
Linus Torvalds authored
-
- Dec 20, 2012
-
-
David Woodhouse authored
It is easy to waste a bunch of time when one takes a 32-bit .config from a test machine and try to build it on a faster 64-bit system, and its existing setting of CONFIG_64BIT=n gets *changed* to match the build host. Similarly, if one has an existing build tree it is easy to trash an entire build tree that way. This is because the default setting for $ARCH when discovered from 'uname' is one of the legacy pre-x86-merge values (i386 or x86_64), which effectively force the setting of CONFIG_64BIT to match. We should default to ARCH=x86 instead, finally completing the merge that we started so long ago. This patch preserves the behaviour of the legacy ARCH settings for commands such as: make ARCH=x86_64 randconfig make ARCH=i386 randconfig ... since making the value of CONFIG_64BIT actually random in that situation is not desirable. In time, perhaps we can retire this legacy use of the old ARCH= values. We already have a way to override values for *any* config option, using $KCONFIG_ALLCONFIG, so it could be argued that we don't necessarily need to keep ARCH={i386,x86_64} around as a special case just for overriding CONFIG_64BIT. We'd probably at least want to add a way to override config options from the command line ('make CONFIG_FOO=y oldconfig') before we talk about doing that though. Signed-off-by:
David Woodhouse <David.Woodhouse@intel.com> Link: http://lkml.kernel.org/r/1356040315.3198.51.camel@shinybook.infradead.org Signed-off-by:
H. Peter Anvin <hpa@linux.intel.com>
-
- Dec 14, 2012
-
-
Josh Boyer authored
If CONFIG_MODULE_SIG is set, and 'make modules_sign' is called then this patch will cause the modules to get a signature appended. The make target is intended to be run after 'make modules_install', and will modify the modules in-place in the installed location. It can be used to produce signed modules after they have been processed by distribution build scripts. Signed-off-by:
Josh Boyer <jwboyer@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)
-
- Dec 11, 2012
-
-
Linus Torvalds authored
-
- Dec 09, 2012
-
-
Pawel Moll authored
Since commit 1f2bfbd0 "kbuild: link of vmlinux moved to a script" make clean with M=<dir> argument (so cleaning external module) removes vmlinux, System.map and couple of other files from the *main* kernel build directory! This not what was happening before and almost certainly not what one would expect. This patch moves makes the clean target of the script called only when !KBUILD_EXTMOD. Signed-off-by:
Pawel Moll <pawel.moll@arm.com> Cc: stable@vger.kernel.org [v3.5+] Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Dec 03, 2012
-
-
Linus Torvalds authored
-
- Nov 26, 2012
-
-
Linus Torvalds authored
-
- Nov 20, 2012
-
-
Charles Keepax authored
Verbose output variable is unnecessary because the command's echo is already surpressed. Additionally because the block defines skip-makefile the variable Q is not defined within the makefile, which can cause problems if Q is defined in the users environment. Signed-off-by:
Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by:
Michal Marek <mmarek@suse.cz>
-
- Nov 19, 2012
-
-
David Howells authored
Honour the O= flag that was passed to a higher level Makefile and then passed down as part of a tool build. To make this work, the top-level Makefile passes the original O= flag and subdir=tools to the tools/Makefile, and that in turn passes subdir=$(O)/$(subdir)/foodir when building tool foo in directory $(O)/$(subdir)/foodir (where the intervening slashes aren't added if an element is missing). For example, take perf. This is found in tools/perf/. Assume we're building into directory ~/zebra/, so we pass O=~/zebra to make. Dependening on where we run the build from, we see: make run in dir $(OUTPUT) dir ======================= ================== linux ~/zebra/tools/perf/ linux/tools ~/zebra/perf/ linux/tools/perf ~/zebra/ and if O= is not set, we get: make run in dir $(OUTPUT) dir ======================= ================== linux linux/tools/perf/ linux/tools linux/tools/perf/ linux/tools/perf linux/tools/perf/ The output directories are created by the descend function if they don't already exist. Signed-off-by:
David Howells <dhowells@redhat.com> Cc: Borislav Petkov <bp@amd64.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1378.1352379110@warthog.procyon.org.uk Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
-
- Nov 17, 2012
-
-
Linus Torvalds authored
-
- Nov 14, 2012
-
-
David Howells authored
Honour the O= flag that was passed to a higher level Makefile and then passed down as part of a tool build. To make this work, the top-level Makefile passes the original O= flag and subdir=tools to the tools/Makefile, and that in turn passes subdir=$(O)/$(subdir)/foodir when building tool foo in directory $(O)/$(subdir)/foodir (where the intervening slashes aren't added if an element is missing). For example, take perf. This is found in tools/perf/. Assume we're building into directory ~/zebra/, so we pass O=~/zebra to make. Dependening on where we run the build from, we see: make run in dir $(OUTPUT) dir ======================= ================== linux ~/zebra/tools/perf/ linux/tools ~/zebra/perf/ linux/tools/perf ~/zebra/ and if O= is not set, we get: make run in dir $(OUTPUT) dir ======================= ================== linux linux/tools/perf/ linux/tools linux/tools/perf/ linux/tools/perf linux/tools/perf/ The output directories are created by the descend function if they don't already exist. Signed-off-by:
David Howells <dhowells@redhat.com> Cc: Borislav Petkov <bp@amd64.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1378.1352379110@warthog.procyon.org.uk Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
-
- Nov 11, 2012
-
-
Linus Torvalds authored
-