On Thu, Sep 27, 2018 at 2:57 PM, Amandeep Gautam <amandeepgaut...@gmail.com> wrote: > Hi, > I am trying to compile a 64bit executable using gccgo on Solaris 11/10. > Following is what I have tried: > > CGO_LDFLAGS='-m64' go build hello_world.go > GOARCH=sparc64 CGO_LDFLAGS='-m64' go build hello_world.go > > Below is the output of the first command: > > amandeep@s113ldom1:~/workspace$ CGO_LDFLAGS='-m64' go build pqrs.go > # command-line-arguments > ld: warning: file $WORK/b001/_pkg_.a(_go_.o): wrong ELF class: ELFCLASS32 > Undefined first referenced > symbol in file > main.main > /usr/gnu/lib/gcc/sparc-sun-solaris2.11/8.2.1/../../../sparcv9/libgo.so > __go_init_main > /usr/gnu/lib/gcc/sparc-sun-solaris2.11/8.2.1/../../../sparcv9/libgo.so > ld: fatal: symbol referencing errors > collect2: error: ld returned 1 exit status > > However, I am able to generate 64 bit executable for c++ helloworld using > just gcc, so I am hoping it boils down to passing the right set of flags. > For example: > > amandeep@s113ldom1:~/workspace$ /usr/gnu/bin/gcc -m64 helloworld.c > amandeep@s113ldom1:~/workspace$ file ./a.out > ./a.out: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically > linked, not stripped, no debugging information available > amandeep@s113ldom1:~/workspace$ file /usr/gnu/bin/gcc > /usr/gnu/bin/gcc: ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ > Required, dynamically linked, not stripped > > How would you compile a 64 bit executable for Solaris using gccgo?
CGO_LDFLAGS only affects your program if it actually uses cgo. Does it work to do go build -gccgoflags=-m64 ? 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.