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 <[email protected]>
Signed-off-by: Alexey Kardashevskiy <[email protected]>
---
 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 <[email protected]>
 
-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

Reply via email to