hmm...filed a bug here: https://github.com/golang/go/issues/27929

Could you explain the workaround for this again? I did not understand the 
fallback option.

Apart from that, I tried to run each command manually to force m64 option 
whenever possible. I was able to get a 64 bit executable for _buildid.o but 
even after that running ar rcD $WORK/b001/_pkg_.a $WORK/b001/_go_.o 
$WORK/b001/_buildid.o produces a 32-bit archive. Also, running 
buildid gives some error about 32 byte hash. Please see:

amandeep@s113ldom1:~/workspace$ 
/usr/gnu/libexec/gcc/sparc-sun-solaris2.11/8.2.1/buildid -w 
$WORK/b001/_pkg_.a
buildid: /tmp/go-build365019570/b001/_pkg_.a: cannot find 32-byte hash in 
id yqX7tdvlzYS9Aj0X4Sx9/yqX7tdvlzYS9Aj0X4Sx9

Let me know if any of this needs to be reported in the bug or if it 
provides more clarity on my situation here.

On Friday, September 28, 2018 at 1:02:06 PM UTC-7, Ian Lance Taylor wrote:
>
> On Fri, Sep 28, 2018 at 10:14 AM,  <aman...@cohesity.com <javascript:>> 
> wrote: 
> > nopes...doesn't work either. I tried both variations...with and without 
> > GOARCH=sparc64 flag. Following is the output with sparc64 flag: 
> > 
> > amandeep@s113ldom1:/opt/go_pkgs/src/github.com/golang/glog$ sudo 
> > GOPATH=/opt/go_pkgs  CC='gcc -m64' CGO_CFLAGS='-m64' CGO_LDFLAGS='-m64' 
> > GOARCH=sparc64 CGO_ENABLED=1 go install -x -gccgoflags=-m64 
> > WORK=/tmp/go-build365019570 
> > mkdir -p $WORK/b001/ 
> > cd $WORK 
> > /usr/gnu/bin/gccgo -fgo-importcfg=/dev/null -c -x c - || true 
> > cd /opt/go_pkgs/src/github.com/golang/glog 
> > /usr/gnu/bin/gccgo -c -g -fdebug-prefix-map=$WORK=/tmp/go-build 
> > -gno-record-gcc-switches -fgo-pkgpath=github.com/golang/glog -o 
> > $WORK/b001/_go_.o -I $WORK/b001/_importcfgroot_ -m64 ./glog.go 
> > ./glog_file.go 
> > echo '  .section .go.buildid,"e"' >> $WORK/b001/_buildid.s 
> > echo '  .byte 0x79,0x71,0x58,0x37,0x74,0x64,0x76,0x6c' >> 
> > $WORK/b001/_buildid.s 
> > echo '  .byte 0x7a,0x59,0x53,0x39,0x41,0x6a,0x30,0x58' >> 
> > $WORK/b001/_buildid.s 
> > echo '  .byte 0x34,0x53,0x78,0x39,0x2f,0x79,0x71,0x58' >> 
> > $WORK/b001/_buildid.s 
> > echo '  .byte 0x37,0x74,0x64,0x76,0x6c,0x7a,0x59,0x53' >> 
> > $WORK/b001/_buildid.s 
> > echo '  .byte 0x39,0x41,0x6a,0x30,0x58,0x34,0x53,0x78' >> 
> > $WORK/b001/_buildid.s 
> > echo '  .byte 0x39' >> $WORK/b001/_buildid.s 
> > echo '' >> $WORK/b001/_buildid.s 
> > /usr/gnu/bin/gccgo -xassembler-with-cpp -I $WORK/b001/ -c -o 
> > $WORK/b001/_buildid.o -D GOOS_solaris -D GOARCH_sparc64 -D 
> > GOPKGPATH=github_com_golang_glog $WORK/b001/_buildid.s 
> > ar rcD $WORK/b001/_pkg_.a $WORK/b001/_go_.o $WORK/b001/_buildid.o 
> > /usr/gnu/libexec/gcc/sparc-sun-solaris2.11/8.2.1/buildid -w 
> > $WORK/b001/_pkg_.a # internal 
> > cp $WORK/b001/_pkg_.a 
> > 
> /root/.cache/go-build/a4/a47820a6bcb6e72c26a3be36129e80b12a0f0193dd5959e2c7304a3b169d9af8-d
>  
>
> > # internal 
> > mkdir -p /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/ 
> > cp $WORK/b001/_pkg_.a 
> > /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/libglog.a 
> > rm -r $WORK/b001/ 
> > amandeep@s113ldom1:/opt/go_pkgs/src/github.com/golang/glog$ file 
> > /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/libglog.a 
> > /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/libglog.a: 
> > current ar archive, 32-bit symbol table 
> > 
> > 
> > I think the problem is with the text in red. It gets the sparc64 flag, 
> but 
> > the executable is still having 32-bit MSB relocatable SPARC 
> > Let me know if you have any other suggestions. 
>
> This sounds like a bug.  I encourage you to file it at 
> https://golang.org/issue/new . 
>
> There is always the fallback of using a shell script mygcc 
>
> #!/bin/sh 
> exec gcc -m64 $* 
>
> and setting CC=/path/to/mygcc 
>
> Ian 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to