forked from mirrors/linux
		
	kbuild: fix SIGPIPE error message for AR=gcc-ar and AR=llvm-ar
Jiri Slaby reported that building the kernel with AR=gcc-ar shows:
  /usr/bin/ar terminated with signal 13 [Broken pipe]
Nathan Chancellor reported the latest AR=llvm-ar shows:
  error: write on a pipe with no reader
The latter occurs since LLVM commit 51b557adc131 ("Add an error message
to the default SIGPIPE handler").
The resulting vmlinux is correct, but it is better to silence it.
'head -n1' exits after reading the first line, so the pipe is closed.
Use 'sed -n 1p' to eat the stream till the end.
Fixes: 3216484550 ("kbuild: use obj-y instead extra-y for objects placed at the head")
Link: https://github.com/ClangBuiltLinux/linux/issues/1651
Reported-by: Jiri Slaby <jirislaby@kernel.org>
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									3b1e0dd2dc
								
							
						
					
					
						commit
						fb3041d61f
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -1218,7 +1218,7 @@ quiet_cmd_ar_vmlinux.a = AR      $@ | ||||||
|       cmd_ar_vmlinux.a = \
 |       cmd_ar_vmlinux.a = \
 | ||||||
| 	rm -f $@; \
 | 	rm -f $@; \
 | ||||||
| 	$(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \
 | 	$(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \
 | ||||||
| 	$(AR) mPiT $$($(AR) t $@ | head -n1) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt) | 	$(AR) mPiT $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt) | ||||||
| 
 | 
 | ||||||
| targets += vmlinux.a | targets += vmlinux.a | ||||||
| vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE | vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada