- 07 8月, 2014 1 次提交
-
-
由 Kees Cook 提交于
This adds a hopefully helpful comment above the (seemingly weird) compiler flag selection logic. Signed-off-by: NKees Cook <keescook@chromium.org> Suggested-by: NAndrew Morton <akpm@linux-foundation.org> Cc: Andi Kleen <ak@linux.intel.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Michal Hocko <mhocko@suse.cz> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 04 8月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 28 7月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 27 7月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
Michel Dänzer and a couple of other people reported inexplicable random oopses in the scheduler, and the cause turns out to be gcc mis-compiling the load_balance() function when debugging is enabled. The gcc bug apparently goes back to gcc-4.5, but slight optimization changes means that it now showed up as a problem in 4.9.0 and 4.9.1. The instruction scheduling problem causes gcc to schedule a spill operation to before the stack frame has been created, which in turn can corrupt the spilled value if an interrupt comes in. There may be other effects of this bug too, but that's the code generation problem seen in Michel's case. This is fixed in current gcc HEAD, but the workaround as suggested by Markus Trippelsdorf is pretty simple: use -fno-var-tracking-assignments when compiling the kernel, which disables the gcc code that causes the problem. This can result in slightly worse debug information for variable accesses, but that is infinitely preferable to actual code generation problems. Doing this unconditionally (not just for CONFIG_DEBUG_INFO) also allows non-debug builds to verify that the debug build would be identical: we can do export GCC_COMPARE_DEBUG=1 to make gcc internally verify that the result of the build is independent of the "-g" flag (it will make the compiler build everything twice, toggling the debug flag, and compare the results). Without the "-fno-var-tracking-assignments" option, the build would fail (even with 4.8.3 that didn't show the actual stack frame bug) with a gcc compare failure. See also gcc bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801Reported-by: NMichel Dänzer <michel@daenzer.net> Suggested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de> Cc: Jakub Jelinek <jakub@redhat.com> Cc: stable@kernel.org Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 21 7月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 14 7月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 07 7月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 05 7月, 2014 1 次提交
-
-
由 Michal Marek 提交于
All other users of Makefile.build set $(obj) to the name of the subdirectory to build. Do the same for the packaging targets, otherwise the build fails if $(srctree) is a relative directory: $ make O=build tar-pkg make[1]: Entering directory `/home/mmarek/linux-2.6/build' CHK include/config/kernel.release ../scripts/Makefile.build:44: ../../scripts/package/Makefile: No such file or directory make[2]: *** No rule to make target `../../scripts/package/Makefile'. Stop. Fixes: 9da0763b ("kbuild: Use relative path when building in a subdir of the source tree") Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 04 7月, 2014 1 次提交
-
-
由 Michal Marek 提交于
Commit c2e28dc9 (kbuild: Print the name of the build directory) prints the name of the build directory for O= builds, but we should not be doing this in make -s mode, so that commands like make -s O=<dir> kernelrelease can be used by scripts. This matches the behavior of make itself, where the -s option implies --no-print-directory. Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 03 7月, 2014 1 次提交
-
-
由 Michal Marek 提交于
With commit 9da0763b (kbuild: Use relative path when building in a subdir of the source tree), the compiler messages include relative paths. These are however relative to the build directory, not the directory where make was started. Print the "Entering directory ..." message once, so that IDEs/editors can find the source files. Acked-by: NDavid Howells <dhowells@redhat.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 30 6月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 22 6月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 16 6月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 10 6月, 2014 3 次提交
-
-
由 Masahiro Yamada 提交于
The directory include/config is used only for silentoldconfig, localmodconfig, localyesconfig. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
There are no generated files under include/linux directory. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Geert Uytterhoeven 提交于
On architectures that setup CROSS_COMPILE in their arch/*/Makefile (arc, blackfin, m68k, mips, parisc, score, sh, tile, unicore32, xtensa), cc-option and cc-disable-warning may check against the wrong compiler, causing errors like cc1: error: unrecognized command line option "-Wno-maybe-uninitialized" if the host gcc supports a compiler option, while the cross compiler doesn't support that option. Move all logic using cc-option or cc-disable-warning below the inclusion of the arch's Makefile to fix this. Introduced by - commit e74fc973 ("Turn off -Wmaybe-uninitialized when building with -Os"), - commit 61163efa ("kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang"). As -Wno-maybe-uninitialized requires a quite recent gcc (gcc 4.6.3 on Ubuntu 12.04 LTS doesn't support it), this only showed up recently (gcc 4.8.2 on Ubuntu 14.04 LTS does support it). Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 09 6月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 08 6月, 2014 1 次提交
-
-
由 Behan Webster 提交于
Both gcc (well, actually gnu as) and clang support the "-Wa,-gdwarf-2" option (though clang does not support "-Wa,--gdwarf-2"). Since these flags are equivalent in meaning, this patch uses the one which is better supported across compilers. Signed-off-by: NBehan Webster <behanw@converseincode.com>
-
- 02 6月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 26 5月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 22 5月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 15 5月, 2014 3 次提交
-
-
由 Michal Marek 提交于
When doing make O=<subdir>, use '..' to refer to the source tree. This allows for more readable compiler messages, and, more importantly, it sets the VPATH to '..', so filenames in WARN_ON() etc. will be shorter. Acked-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Michal Marek 提交于
When not using O=, $(srctree) refers to the same directory as $(objtree), so we can set it to '.' as well. This makes the default include path more compact and results in more readable messages from the compiler. The only case where we need the absolute path is when creating the 'source' symlink in /lib/modules. Acked-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Michal Marek 提交于
The main Makefile sets its working directory to the object tree and never changes it again. Therefore, we can use '.' instead of the absolute path. The only case where we need the absolute path is when creating the 'build' symlink in /lib/modules. Acked-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 10 5月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 05 5月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 30 4月, 2014 3 次提交
-
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Kbuild is supposed to support mixed targets. (%config and build targets) But "make all" did nothing if it was run with configuration targets. For example, $ LANG=C make defconfig all HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf *** Default configuration is based on 'x86_64_defconfig' # # configuration written to .config # make: Nothing to be done for `all'. This commits allows "make %config all" and makes sure mixed targets are built one by one in the given order. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Marek <mmarek@suse.cz> CC: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 28 4月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 21 4月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 17 4月, 2014 1 次提交
-
-
由 Masahiro Yamada 提交于
W=... provides extra gcc checks. Having such code in scripts/Makefile.build results in the same flags being added to KBUILD_CFLAGS multiple times becuase scripts/Makefile.build is invoked every time Kbuild descends into the subdirectories. Since the top Makefile is already too cluttered, this commit moves all of extra gcc check stuff to a new file scripts/Makefile.extrawarn, which is included from the top Makefile. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> CC: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 14 4月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 10 4月, 2014 1 次提交
-
-
由 Behan Webster 提交于
Add support to toplevel Makefile for compiling with clang, both for HOSTCC and CC. Use cc-option to prevent gcc option from breaking clang, and from clang options from breaking gcc. Clang 3.4 semantics are the same as gcc semantics for unsupported flags. For unsupported warnings clang 3.4 returns true but shows a warning and gcc shows a warning and returns false. Signed-off-by: NBehan Webster <behanw@converseincode.com> Signed-off-by: NJan-Simon Möller <dl9pf@gmx.de> Signed-off-by: NMark Charlebois <charlebm@gmail.com> Cc: PaX Team <pageexec@freemail.hu>
-
- 08 4月, 2014 1 次提交
-
-
由 Jason Cooper 提交于
objdiff is useful when doing large code cleanups. For example, when removing checkpatch warnings and errors from new drivers in the staging tree. objdiff can be used in conjunction with a git rebase to confirm that each commit made no changes to the resulting object code. It has the same return values as diff(1). This was written specifically to support adding the skein and threefish cryto drivers to the staging tree. I needed a programmatic way to confirm that commits changing >90% of the lines didn't inadvertently change the code. Temporary files (objdump output) are stored in /path/to/linux/.tmp_objdiff 'make mrproper' will remove this directory. Signed-off-by: NJason Cooper <jason@lakedaemon.net> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 01 4月, 2014 2 次提交
-
-
由 Masahiro Yamada 提交于
Kbuild supports saving output files in a separate directory. But the build directory must be created beforehand. For example, $ mkdir -p dir/to/store/output/files $ make O=dir/to/store/output/files defconfig Creating a build directory automatically would be useful. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
'.*.cmd' files are cleaned-up by "make clean". The same pattern in "make distclean" is unnecessary. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 31 3月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-
- 30 3月, 2014 1 次提交
-
-
由 Paul Gortmaker 提交于
As of v3.7, the UAPI changes relocated headers around such that the kernel version header lived in a new place. If a person is bisecting and if you go back to pre-UAPI days, you will create an include/linux/version.h -- then if you checkout a post-UAPI kernel, and even run "make distclean" it still won't delete that old version file. So you get a situation like this: $ grep -R LINUX_VERSION_CODE include/ include/generated/uapi/linux/version.h:#define LINUX_VERSION_CODE 200192 include/linux/version.h:#define LINUX_VERSION_CODE 132646 The value in that second line is representative of a v2.6.38 version. And it will be sourced/used, hence leading to strange behaviours, such as drivers/staging content (which typically hasn't been purged of version ifdefs) failing to build. Since it is a subtle mode of failure, lets always clobber the old file when doing a distclean. Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Acked-by: NDavid Howells <dhowells@redhat.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 25 3月, 2014 1 次提交
-
-
由 Linus Torvalds 提交于
-