Commit 597690cd02684b7e4904288e4b85797123a5093f

Authored by Linus Torvalds

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

... ... @@ -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
... ... @@ -11,6 +11,8 @@
11 11  
12 12 #ifdef __ASSEMBLY__
13 13  
  14 +#define ASM_NL ` /* use '`' to mark new line in macro */
  15 +
14 16 /* Can't use the ENTRY macro in linux/linkage.h
15 17 * gas considers ';' as comment vs. newline
16 18 */
... ... @@ -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.