Interesting issue with gccgo

Submitted by Bryan Hundven on June 2, 2015, 11:26 p.m.

Details

Message ID CAJ+oik1ECNg6PQWpLaoykee9N2urxrVccRMTTgsMBMZCkaP8ZA@mail.gmail.com
State New
Headers show

Commit Message

Bryan Hundven June 2, 2015, 11:26 p.m.
In response to:
https://github.com/crosstool-ng/crosstool-ng/issues/96

I've made a diff that does the following:

=======================================================================

This is a workaround, and the problem should really be fixed upstream in gcc.

Once that workaround is in place, the build ultimately fails in
finalize when it's trying to strip binaries:

=======================================================================
[DEBUG]    ==> Executing: 'x86_64-build_unknown-linux-gnu-strip'
'--strip-all' '-v' 'bin/arm-unknown-linux-gnueabi-gccgo'
[ALL  ]    copy from `bin/arm-unknown-linux-gnueabi-gccgo'
[elf64-x86-64] to `bin/stLNcwWm' [elf64-x86-64]
[DEBUG]    ==> Executing: 'x86_64-build_unknown-linux-gnu-strip'
'--strip-all' '-v' 'bin/arm-unknown-linux-gnueabi-gcov'
[ALL  ]    copy from `bin/arm-unknown-linux-gnueabi-gcov'
[elf64-x86-64] to `bin/st5nkpCp' [elf64-x86-64]
[DEBUG]    ==> Executing: 'x86_64-build_unknown-linux-gnu-strip'
'--strip-all' '-v' 'bin/arm-unknown-linux-gnueabi-gcov-tool'
[ALL  ]    copy from `bin/arm-unknown-linux-gnueabi-gcov-tool'
[elf64-x86-64] to `bin/st7QsYkq' [elf64-x86-64]
[DEBUG]    ==> Executing: 'x86_64-build_unknown-linux-gnu-strip'
'--strip-all' '-v' 'bin/arm-unknown-linux-gnueabi-gdb'
[ALL  ]    copy from `bin/arm-unknown-linux-gnueabi-gdb'
[elf64-x86-64] to `bin/stHNSasp' [elf64-x86-64]
[DEBUG]    ==> Executing: 'x86_64-build_unknown-linux-gnu-strip'
'--strip-all' '-v' 'bin/arm-unknown-linux-gnueabi-go'
[ALL  ]    copy from `bin/arm-unknown-linux-gnueabi-go' [elf32-little]
to `bin/stfTmUQs' [elf32-little]
[ALL  ]    /usr/bin/strip: Unable to recognise the format of the input
file `bin/arm-unknown-linux-gnueabi-go'
[ERROR]
=======================================================================

I kind of expect this, as -go and -gofmt are tools for the target, not the host.

I'm just not sure what should be done in this case.

Any suggestions?

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq

Patch hide | download patch | download mbox

=======================================================================
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index f6ea34e..38ab92f 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -841,6 +841,10 @@  do_gcc_backend() {
         extra_config+=("--disable-multilib")
     fi

+    if [ "${CT_CC_LANG_GOLANG}" = "y" ]; then
+        extra_config+=("--enable-werror=no")
+    fi
+
     CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"

     CT_DoExecLog CFG