[Bug go/82544] New: gccgo on SPARC64 produce bad binary

ikozhukhov at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Oct 13 11:56:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82544

            Bug ID: 82544
           Summary: gccgo on SPARC64 produce bad binary
           Product: gcc
           Version: 6.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
          Assignee: ian at airs dot com
          Reporter: ikozhukhov at gmail dot com
                CC: cmang at google dot com
  Target Milestone: ---

I have DilOS (illumos based platform) on SPARC64 T5220

i have gccgo from 6.4.0 bootstrap

igork@bld13:~/builds/igork/du2/components/gcc-6$ gcc-6 -v
Using built-in specs.
COLLECT_GCC=gcc-6
COLLECT_LTO_WRAPPER=/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/lto-wrapper
Target: sparcv9-sun-solaris2.11
Configured with: ../configure --prefix=/usr/gcc/6
--build=sparcv9-sun-solaris2.11 --bindir=/usr/gcc/6/bin
--sbindir=/usr/gcc/6/sbin --libdir=/usr/gcc/6/lib --libexecdir=/usr/gcc/6/lib
--infodir=/usr/gcc/6/share/info --mandir=/usr/gcc/6/share/man
--target=sparcv9-sun-solaris2.11 --enable-targets=sparc-sun-solaris2.11
--enable-shared --enable-plugins --enable-lto --enable-initfini-array
--enable-tls --enable-threads=posix --without-gnu-ld --with-ld=/usr/bin/ld
--with-gnu-as --with-as=/usr/bin/gas
--enable-languages=c,c++,fortran,go,java,lto,objc --with-system-zlib
gcc_cv_ld_as_needed=no --disable-bootstrap
Thread model: posix
gcc version 6.4.0 (GCC) 

igork@bld13:~/builds/igork/du2/components/gcc-6$ gccgo-6 -o t t.go

igork@bld13:~/builds/igork/du2/components/gcc-6$ ./t
Abort (core dumped)

igork@bld13:~/builds/igork/du2/components/gcc-6$ pstack core
core 'core' of 42515:   ./t
 fffffffe8d8f8bac _lwp_kill (1, 6, 0, 0, 0, 0) + 8
 fffffffe8d88ef14 raise (0, 0, ffffffff7fffdbb0, fffffffe7e10dfa4,
fffffffe7e2127a8, 0) + 14
 fffffffe8d86637c abort (5, ffffffff7fffdca0, ffffffffffffffff, 0, 0,
ffffffff7fffe821) + ac
 fffffffe7e10dfa4 uw_init_context_1 (ffffffff7fffe430, ffffffff7fffef00,
fffffffe39ec3ddc, fffffffe39ec3ddc, ffffffff7fffdca0, c00) + 334
 fffffffe7e10e64c _Unwind_Backtrace (fffffffe39ec3cc0, ffffffff7fffefb0, 1000,
ffffffff7fffe820, ffffffff7fffe430, ffffffff6e900000) + 18
 fffffffe39ec3ddc backtrace_full (ffffffff6e900000, 1, fffffffe39b51480,
fffffffe39b516f4, ffffffff7ffff098, fffffffe3a5c4e50) + 70
 fffffffe39b517b8 runtime_callers (2, ffffffff7ffff160, 20, 0,
fffffffe3a5ec230, fffffffe3a5fb24c) + 74
 fffffffe39b6bd98 runtime_MProf_Malloc (c208000000, 10, 0, fffffffe39b6afb4,
ffffffff7ffff160, ffffffff6eb00010) + 20
 fffffffe39b6a57c runtime_mallocgc (1, ffffffff6eb00000, 10, 80000,
fffffffe3a5fab30, c208000000) + 22c
 fffffffe39b6afb4 runtime_mallocinit (10000000000, 1104001, ffffffff7ffff8cf,
c000000000, 800000000000, fffffffe3a5fab30) + 13c
 fffffffe39b62820 runtime_schedinit (1, ffffffff7ffffbb8, 8, ffffffff6ec02a30,
fffffffe3a5fa0d8, fffffffe3a5fab30) + 90
 00000001000021b0 main (1, ffffffff7ffffbb8, ffffffff7ffffbc8,
ffffffffffffffff, 3e8, 3e8) + 80
 0000000100001cb0 _start_crt (1, ffffffff7ffffbb8, ffffffff6f61c5e4, 0, 0, 0) +
6c
 0000000100001c34 _start (0, 0, 0, 0, 0, 0) + 14

if i do build with static link libgo + libgcc, it is working.

example:

igork@bld13:~/builds/igork/du2/components/gcc-6$ gccgo-6  -m64 -v -static-libgo
-static-libgcc -o t t.go -Wl,-dy -lnsl -lsocket -lrt -lsendfile
Using built-in specs.
COLLECT_GCC=gccgo-6
COLLECT_LTO_WRAPPER=/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/lto-wrapper
Target: sparcv9-sun-solaris2.11
Configured with: ../configure --prefix=/usr/gcc/6
--build=sparcv9-sun-solaris2.11 --bindir=/usr/gcc/6/bin
--sbindir=/usr/gcc/6/sbin --libdir=/usr/gcc/6/lib --libexecdir=/usr/gcc/6/lib
--infodir=/usr/gcc/6/share/info --mandir=/usr/gcc/6/share/man
--target=sparcv9-sun-solaris2.11 --enable-targets=sparc-sun-solaris2.11
--enable-shared --enable-plugins --enable-lto --enable-initfini-array
--enable-tls --enable-threads=posix --without-gnu-ld --with-ld=/usr/bin/ld
--with-gnu-as --with-as=/usr/bin/gas
--enable-languages=c,c++,fortran,go,java,lto,objc --with-system-zlib
gcc_cv_ld_as_needed=no --disable-bootstrap
Thread model: posix
gcc version 6.4.0 (GCC) 
COLLECT_GCC_OPTIONS='-m64' '-v' '-static-libgcc' '-o' 't' '-mcpu=v9'
 /usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/go1 t.go -quiet -dumpbase
t.go -m64 -mcpu=v9 -auxbase t -version
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../../sparcv9
-L/lib/sparcv9 -L/usr/lib/sparcv9
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../.. -o
/var/tmp//ccdJaGYu.s
GNU Go (GCC) version 6.4.0 (sparcv9-sun-solaris2.11)
        compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5,
MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Go (GCC) version 6.4.0 (sparcv9-sun-solaris2.11)
        compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5,
MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='-m64' '-v' '-static-libgcc' '-o' 't' '-mcpu=v9'
 /usr/bin/gas -v -V -Qy -s -xarch=v9 -64 -no-undeclared-regs -o
/var/tmp//cceJaGYu.o /var/tmp//ccdJaGYu.s
GNU assembler version 2.29.1 (sparcv9-sun-solaris2.11) using BFD version (GNU
Binutils for Debian) 2.29.1
COMPILER_PATH=/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/:/usr/ccs/bin/
LIBRARY_PATH=/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../../sparcv9/:/lib/sparcv9/:/usr/lib/sparcv9/:/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-m64' '-v' '-static-libgcc' '-o' 't' '-mcpu=v9'
 /usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/collect2 -V -Y
P,/usr/gcc/6/lib/sparcv9:/lib/sparcv9:/usr/lib/sparcv9 -R
/usr/gcc/6/lib/sparcv9 -Qy -o t /usr/lib/sparcv9/crt1.o
/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/crtp.o /usr/lib/sparcv9/crti.o
/usr/lib/sparcv9/values-Xa.o
/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/crtbegin.o
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../../sparcv9
-L/lib/sparcv9 -L/usr/lib/sparcv9
-L/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/../../..
/var/tmp//cceJaGYu.o -dy -lnsl -lsocket -lrt -lsendfile -lgobegin -Bstatic -lgo
-Bdynamic -lpthread -lm -t -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc
/usr/gcc/6/lib/gcc/sparcv9-sun-solaris2.11/6.4.0/crtend.o
/usr/lib/sparcv9/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1756 (illumos)
COLLECT_GCC_OPTIONS='-m64' '-v' '-static-libgcc' '-o' 't' '-mcpu=v9'

igork@bld13:~/builds/igork/du2/components/gcc-6$ ./t
hello world


More information about the Gcc-bugs mailing list