Actually, I now understand what you meant. And even that does not work: amandeep@s113ldom1:/opt/go_pkgs/src/github.com/golang/glog$ sudo GOPATH=/opt/go_pkgs CC='/home/amandeep/workspace/mygcc.sh' CGO_CFLAGS='-m64' CGO_LDFLAGS='-m64' GOARCH=sparc64 CGO_ENABLED=1 go install -x -gccgoflags=-m64 WORK=/tmp/go-build445938530 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$ ls -al /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/libglog.a -rw-r--r-- 1 root root 611582 Sep 28 08:52 /opt/go_pkgs/pkg/gccgo_solaris_sparc64/github.com/golang/libglog.a 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
The CC flag is not even honoured it would seem as I do not see any invocation related to mygcc.sh. Please advice. On Friday, September 28, 2018 at 3:23:43 PM UTC-7, aman...@cohesity.com wrote: > > 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> 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.