[RFC PATCH kernel] gcc-goto.sh: Allow to pass with CONFIG_DEBUG_INFO_SPLIT=y

From: Alexey Kardashevskiy
Date: Thu Mar 02 2017 - 19:58:42 EST


With just CONFIG_DEBUG_INFO=y, the makefile adds "-g" to
KBUILD_CFLAGS/KBUILD_AFLAGS and the test passes.

However, if CONFIG_DEBUG_INFO_SPLIT is also enabled, the makefile
adds "-gsplit-dwarf" instead which makes the test fail with $?==1
because of objcopy trying to split the debug info:

objcopy: Warning: '/dev/null' is not an ordinary file

This changes the output to $(mktemp) which fixes the problem.

I am pretty sure there better ways, this is just to demonstrate the bug.

gcc 5.4.1, ppc64le (does not really matter).

Cc: Jason Baron <jbaron@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
---
scripts/gcc-goto.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/gcc-goto.sh b/scripts/gcc-goto.sh
index c9469d34ecc6..ab21216ab68d 100755
--- a/scripts/gcc-goto.sh
+++ b/scripts/gcc-goto.sh
@@ -2,7 +2,8 @@
# Test for gcc 'asm goto' support
# Copyright (C) 2010, Jason Baron <jbaron@xxxxxxxxxx>

-cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"
+TMPOUT=$(mktemp)
+cat << "END" | $@ -x c - -c -o $TMPOUT >/dev/null 2>&1 && echo "y"
int main(void)
{
#if defined(__arm__) || defined(__aarch64__)
@@ -19,3 +20,5 @@ entry:
return 0;
}
END
+
+rm $TMPOUT 2>/dev/null 2>&1
--
2.11.0