arm - Goツールは間違ったアーキテクチャ用にビルドされていますか?

arm go x86-64

私はGo言語の大ファンで、現在はx86 / amd64以外のアーキテクチャーを探求しています。 ARM用のGoをビルドしましたが、そのターゲットを十分にサポートしているようです。すべてのライブラリは正常にビルドされ、テストは失敗します(これは、私のamd64システムでARMテストバイナリを実行しようとしているためです)。

結局のところ、5gフォルダーには5l / $GOBINがあり、有効で機能するARMバイナリが生成されます。
しかし、他のGoツールに何が起こっているのか:

5a:        ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
5c:        ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
5g:        ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
5l:        ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
6cov:      ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
6nm:       ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
6prof:     ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
cgo:       ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
ebnflint:  ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
godefs:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
godoc:     ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
gofix:     ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
gofmt:     ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
goinstall: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
gomake:    POSIX shell script, ASCII text executable
gopack:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
gopprof:   a perl script, ASCII text executable
gotest:    ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
gotry:     a bash script, ASCII text executable
gotype:    ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
govet:     ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
goyacc:    ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
hgpatch:   ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped


見る? cgoはARMバイナリ、gofixgofmtもARMバイナリです。 $GOHOSTOS / $GOHOSTARCH変数を指定すると、アプリをクロスコンパイルできると予想されますか? ARMターゲットでcgoを機能させるには?
答え
Go linux/armポートは不完全です。たとえば、cgolinux/armランタイムは実装されていません。 $GOROOT/src/pkg/runtime/cgo/gcc_arm.Sおよび$GOROOT/src/pkg/runtime/cgo/gcc_linux_arm.cを参照してください。


[cgo on arm.] Go 1の予定はありません。
関連記事

android - Android / armデバイス用デジタル顕微鏡用ドライバーを作成

arm - パイプラインの一般的なパイプラインの危険は何ですか?

qt - Beagleboard(ARM)用に埋め込まれたQtのコンパイル中にエラーが発生しました

android - armのe2fsprogsのクロスコンパイル

ruby - アームマシンでのRuby 1.9.2のビルドエラー

arm - OPENOCD、ARM Cortex M0(JTAG)へのフラッシュプログラム

assembly - ARM ASMビットから値をどのように抽出しますか?

ios - iOS:armv6を使用してビルドした場合、iPad専用アプリはAppStoreから拒否されますか?

embedded - ロード時間ベースアドレスcortex-m3ベアメタル

arm - ARMv6で、PCの値が現在の命令に8を加えたのはなぜですか?