Closed rnsanchez closed 3 years ago
Hmm, this is weird, it looks like the golang assembler is not being invoked on the .s (assembler) file.
Could it be that the gcc assembler (gas) is being invoked on this file?
I have only GCC Go installed, so I think so (per strace
):
6316 execve("/usr/bin/gccgo", ["/usr/bin/gccgo", "-xassembler-with-cpp", "-I", "/tmp/go-build589333021/b001/", "-c", "-o", "/tmp/go-build589333021/b001/finalize_structurals_amd64.o", "-D", "GOOS_linux", "-D", "GOARCH_amd64", "-D", .."GOPKGPATH=github.x2ecom..z2fminio..z2fsimdjson..z2dgo", "-m64", "/home/rnsanchez/Go/src/github.com/minio/simdjson-go/finalize_structurals_amd64.s"], 0xc00014f080 /* 84 vars */) = 0
6317 execve("/usr/libexec/gcc/x86_64-slackware-linux/10.2.0/cc1", ["/usr/libexec/gcc/x86_64-slackware-linux/10.2.0/cc1", "-E", "-lang-asm", "-quiet", "-I", "/tmp/go-build589333021/b001/", "-D", "GOOS_linux", "-D", "GOARCH_amd64", "-D", .."GOPKGPATH=github.x2ecom..z2fminio..z2fsimdjson..z2dgo", "/home/rnsanchez/Go/src/github.com/minio/simdjson-go/finalize_structurals_amd64.s", "-m64", "-mtune=generic", "-march=x86-64", "-fno-directives-only", "-o", "/tmp/ccjI0P9L.s"], ..0x1c40c70 /* 86 vars */) = 0
6317 +++ exited with 0 +++
6316 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=6317, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
6318 execve("/usr/local/bin/as", ["as", "-I", "/tmp/go-build589333021/b001/", "--64", "-o", "/tmp/go-build589333021/b001/finalize_structurals_amd64.o", "/tmp/ccjI0P9L.s"], 0x1c40c70 /* 86 vars */) = -1 ENOENT (No such file or directory)
6318 execve("/bin/as", ["as", "-I", "/tmp/go-build589333021/b001/", "--64", "-o", "/tmp/go-build589333021/b001/finalize_structurals_amd64.o", "/tmp/ccjI0P9L.s"], 0x1c40c70 /* 86 vars */) = -1 ENOENT (No such file or directory)
6318 execve("/usr/bin/as", ["as", "-I", "/tmp/go-build589333021/b001/", "--64", "-o", "/tmp/go-build589333021/b001/finalize_structurals_amd64.o", "/tmp/ccjI0P9L.s"], 0x1c40c70 /* 86 vars */) = 0
6318 +++ exited with 1 +++
Yes, it is invoking gcc on the .s file (see "/home/rnsanchez/Go/src/github.com/minio/simdjson-go/finalize_structurals_amd64.s", "-m64", "-mtune=generic", "-march=x86-64", "-fno-directives-only"
).
No clue as to why that would happen, I'll ask around to see if somebody here might have a clue.
In the meantime, since you are on Intel, why are you not using the regular compiler?
Not sure I follow; GCC is my regular compiler. :-)
If you mean as to why I don't use google-golang (not sure if it still called that way), it creates a bit of havoc, since I need to match gcc-go in production.
I've tried rebuilding golang/snappy for an strace output, and it too uses as
albeit successfully:
15404 +++ exited with 0 +++
15403 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=15404, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
15405 execve("/usr/local/bin/as", ["as", "-I", "/tmp/go-build210707090/b001/", "--64", "-o", "/tmp/go-build210707090/b001/_buildid.o", "/tmp/ccdyNblT.s"], 0x22b51a0 /* 87 vars */) = -1 ENOENT (No such file or directory)
15405 execve("/bin/as", ["as", "-I", "/tmp/go-build210707090/b001/", "--64", "-o", "/tmp/go-build210707090/b001/_buildid.o", "/tmp/ccdyNblT.s"], 0x22b51a0 /* 87 vars */) = -1 ENOENT (No such file or directory)
15405 execve("/usr/bin/as", ["as", "-I", "/tmp/go-build210707090/b001/", "--64", "-o", "/tmp/go-build210707090/b001/_buildid.o", "/tmp/ccdyNblT.s"], 0x22b51a0 /* 87 vars */) = 0
15405 +++ exited with 0 +++
Just let me know how I can help.
GCC is not compatible with any Go assembly. It will have to fall back to pure Go. Ie. be disabled.
When trying to build the current (ef1a2b46ad3790965aad804c5b82bab2033cacce) revision:
CPU:
Any more info I could provide?