Commit 597690cd02684b7e4904288e4b85797123a5093f
Exists in
master
and in
16 other branches
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild changes from Michal Marek: - fix make -s detection with make-4.0 - fix for scripts/setlocalversion when the kernel repository is a submodule - do not hardcode ';' in macros that expand to assembler code, as some architectures' assemblers use a different character for newline - Fix passing --gdwarf-2 to the assembler * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: frv: Remove redundant debugging info flag mn10300: Remove redundant debugging info flag kbuild: Fix debugging info generation for .S files arch: use ASM_NL instead of ';' for assembler new line character in the macro kbuild: Fix silent builds with make-4 Fix detectition of kernel git repository in setlocalversion script [take #2]
Showing 6 changed files Side-by-side Diff
Makefile
... | ... | @@ -311,9 +311,15 @@ |
311 | 311 | # If the user is running make -s (silent mode), suppress echoing of |
312 | 312 | # commands |
313 | 313 | |
314 | +ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 | |
315 | +ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) | |
316 | + quiet=silent_ | |
317 | +endif | |
318 | +else # make-3.8x | |
314 | 319 | ifneq ($(filter s% -s%,$(MAKEFLAGS)),) |
315 | 320 | quiet=silent_ |
316 | 321 | endif |
322 | +endif | |
317 | 323 | |
318 | 324 | export quiet Q KBUILD_VERBOSE |
319 | 325 | |
... | ... | @@ -633,7 +639,7 @@ |
633 | 639 | |
634 | 640 | ifdef CONFIG_DEBUG_INFO |
635 | 641 | KBUILD_CFLAGS += -g |
636 | -KBUILD_AFLAGS += -gdwarf-2 | |
642 | +KBUILD_AFLAGS += -Wa,--gdwarf-2 | |
637 | 643 | endif |
638 | 644 | |
639 | 645 | ifdef CONFIG_DEBUG_INFO_REDUCED |
arch/arc/include/asm/linkage.h
arch/frv/Makefile
... | ... | @@ -74,13 +74,6 @@ |
74 | 74 | KBUILD_CFLAGS += -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2 |
75 | 75 | KBUILD_AFLAGS += -mno-fdpic |
76 | 76 | |
77 | -# make sure the .S files get compiled with debug info | |
78 | -# and disable optimisations that are unhelpful whilst debugging | |
79 | -ifdef CONFIG_DEBUG_INFO | |
80 | -#KBUILD_CFLAGS += -O1 | |
81 | -KBUILD_AFLAGS += -Wa,--gdwarf2 | |
82 | -endif | |
83 | - | |
84 | 77 | head-y := arch/frv/kernel/head.o |
85 | 78 | |
86 | 79 | core-y += arch/frv/kernel/ arch/frv/mm/ |
arch/mn10300/Makefile
... | ... | @@ -92,14 +92,6 @@ |
92 | 92 | echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' |
93 | 93 | endef |
94 | 94 | |
95 | -# If you make sure the .S files get compiled with debug info, | |
96 | -# uncomment the following to disable optimisations | |
97 | -# that are unhelpful whilst debugging. | |
98 | -ifdef CONFIG_DEBUG_INFO | |
99 | -#KBUILD_CFLAGS += -O1 | |
100 | -KBUILD_AFLAGS += -Wa,--gdwarf2 | |
101 | -endif | |
102 | - | |
103 | 95 | # |
104 | 96 | # include the appropriate processor- and unit-specific headers |
105 | 97 | # |
include/linux/linkage.h
... | ... | @@ -6,6 +6,11 @@ |
6 | 6 | #include <linux/export.h> |
7 | 7 | #include <asm/linkage.h> |
8 | 8 | |
9 | +/* Some toolchains use other characters (e.g. '`') to mark new line in macro */ | |
10 | +#ifndef ASM_NL | |
11 | +#define ASM_NL ; | |
12 | +#endif | |
13 | + | |
9 | 14 | #ifdef __cplusplus |
10 | 15 | #define CPP_ASMLINKAGE extern "C" |
11 | 16 | #else |
12 | 17 | |
13 | 18 | |
... | ... | @@ -75,21 +80,21 @@ |
75 | 80 | |
76 | 81 | #ifndef ENTRY |
77 | 82 | #define ENTRY(name) \ |
78 | - .globl name; \ | |
79 | - ALIGN; \ | |
80 | - name: | |
83 | + .globl name ASM_NL \ | |
84 | + ALIGN ASM_NL \ | |
85 | + name: | |
81 | 86 | #endif |
82 | 87 | #endif /* LINKER_SCRIPT */ |
83 | 88 | |
84 | 89 | #ifndef WEAK |
85 | 90 | #define WEAK(name) \ |
86 | - .weak name; \ | |
91 | + .weak name ASM_NL \ | |
87 | 92 | name: |
88 | 93 | #endif |
89 | 94 | |
90 | 95 | #ifndef END |
91 | 96 | #define END(name) \ |
92 | - .size name, .-name | |
97 | + .size name, .-name | |
93 | 98 | #endif |
94 | 99 | |
95 | 100 | /* If symbol 'name' is treated as a subroutine (gets called, and returns) |
... | ... | @@ -98,8 +103,8 @@ |
98 | 103 | */ |
99 | 104 | #ifndef ENDPROC |
100 | 105 | #define ENDPROC(name) \ |
101 | - .type name, @function; \ | |
102 | - END(name) | |
106 | + .type name, @function ASM_NL \ | |
107 | + END(name) | |
103 | 108 | #endif |
104 | 109 | |
105 | 110 | #endif |
scripts/setlocalversion
... | ... | @@ -43,7 +43,8 @@ |
43 | 43 | fi |
44 | 44 | |
45 | 45 | # Check for git and a git repo. |
46 | - if test -d .git && head=`git rev-parse --verify --short HEAD 2>/dev/null`; then | |
46 | + if test -z "$(git rev-parse --show-cdup 2>/dev/null)" && | |
47 | + head=`git rev-parse --verify --short HEAD 2>/dev/null`; then | |
47 | 48 | |
48 | 49 | # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore |
49 | 50 | # it, because this version is defined in the top level Makefile. |