Skip to content

Instantly share code, notes, and snippets.

@gjstrange
Created November 24, 2015 22:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gjstrange/5243afe5b16dc8836db8 to your computer and use it in GitHub Desktop.
Save gjstrange/5243afe5b16dc8836db8 to your computer and use it in GitHub Desktop.
go build with cgo, cross compilng for Phytec AM335x board
ubuntu:~/go/src/dap2/go/cgotest (develop) $ go build -x test.go
WORK=/tmp/go-build591356397
mkdir -p $WORK/runtime/cgo/_obj/
mkdir -p $WORK/runtime/
cd /usr/local/go/src/runtime/cgo
CGO_LDFLAGS="-g" "-O2" "-lpthread" /usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/runtime/cgo/_obj/ -importpath runtime/cgo -import_runtime_cgo=false -import_syscall=false -- -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror cgo.go
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -print-libgcc-file-name
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/_cgo_main.o -c $WORK/runtime/cgo/_obj/_cgo_main.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/_cgo_export.o -c $WORK/runtime/cgo/_obj/_cgo_export.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/cgo.cgo2.o -c $WORK/runtime/cgo/_obj/cgo.cgo2.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_fatalf.o -c ./gcc_fatalf.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_libinit.o -c ./gcc_libinit.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_linux_arm.o -c ./gcc_linux_arm.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_setenv.o -c ./gcc_setenv.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_util.o -c ./gcc_util.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/runtime/cgo/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -Wall -Werror -o $WORK/runtime/cgo/_obj/gcc_arm.o -c ./gcc_arm.S
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -o $WORK/runtime/cgo/_obj/_cgo_.o $WORK/runtime/cgo/_obj/_cgo_main.o $WORK/runtime/cgo/_obj/_cgo_export.o $WORK/runtime/cgo/_obj/cgo.cgo2.o $WORK/runtime/cgo/_obj/gcc_fatalf.o $WORK/runtime/cgo/_obj/gcc_libinit.o $WORK/runtime/cgo/_obj/gcc_linux_arm.o $WORK/runtime/cgo/_obj/gcc_setenv.o $WORK/runtime/cgo/_obj/gcc_util.o $WORK/runtime/cgo/_obj/gcc_arm.o -g -O2 -lpthread -pie
/usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/runtime/cgo/_obj/ -dynpackage cgo -dynimport $WORK/runtime/cgo/_obj/_cgo_.o -dynout $WORK/runtime/cgo/_obj/_cgo_import.go -dynlinker
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -o $WORK/runtime/cgo/_obj/_all.o $WORK/runtime/cgo/_obj/_cgo_export.o $WORK/runtime/cgo/_obj/cgo.cgo2.o $WORK/runtime/cgo/_obj/gcc_fatalf.o $WORK/runtime/cgo/_obj/gcc_libinit.o $WORK/runtime/cgo/_obj/gcc_linux_arm.o $WORK/runtime/cgo/_obj/gcc_setenv.o $WORK/runtime/cgo/_obj/gcc_util.o $WORK/runtime/cgo/_obj/gcc_arm.o -g -O2 -Wl,-r -nostdlib /opt/yogurt/AM335x-PD15.1.1/sysroots/cortexa8t2hf-vfp-neon-phytec-linux-gnueabi/usr/lib/arm-phytec-linux-gnueabi/4.9.1/libgcc.a -Wl,--build-id=none
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/runtime/cgo.a -trimpath $WORK -p runtime/cgo -buildid f10f7d8f5721bc909f4b2115a0555962e501fb2f -D _/usr/local/go/src/runtime/cgo -I $WORK -pack -asmhdr $WORK/runtime/cgo/_obj/go_asm.h ./callbacks.go ./iscgo.go ./setenv.go $WORK/runtime/cgo/_obj/_cgo_gotypes.go $WORK/runtime/cgo/_obj/cgo.cgo1.go $WORK/runtime/cgo/_obj/_cgo_import.go
/usr/local/go/pkg/tool/linux_amd64/asm -o $WORK/runtime/cgo/_obj/asm_arm.o -trimpath $WORK -I $WORK/runtime/cgo/_obj/ -I /usr/local/go/pkg/include -D GOOS_linux -D GOARCH_arm ./asm_arm.s
pack r $WORK/runtime/cgo.a $WORK/runtime/cgo/_obj/asm_arm.o $WORK/runtime/cgo/_obj/_all.o # internal
mkdir -p $WORK/dap2/go/cgotest/_obj/
mkdir -p $WORK/dap2/go/
cd /home/greg/go/src/dap2/go/cgotest
CGO_LDFLAGS="-g" "-O2" /usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/dap2/go/cgotest/_obj/ -importpath dap2/go/cgotest -- -I $WORK/dap2/go/cgotest/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -march=armv7-a cgotest.go
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/dap2/go/cgotest/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -march=armv7-a -o $WORK/dap2/go/cgotest/_obj/_cgo_main.o -c $WORK/dap2/go/cgotest/_obj/_cgo_main.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/dap2/go/cgotest/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -march=armv7-a -o $WORK/dap2/go/cgotest/_obj/_cgo_export.o -c $WORK/dap2/go/cgotest/_obj/_cgo_export.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/dap2/go/cgotest/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -march=armv7-a -o $WORK/dap2/go/cgotest/_obj/cgotest.cgo2.o -c $WORK/dap2/go/cgotest/_obj/cgotest.cgo2.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -I $WORK/dap2/go/cgotest/_obj/ -mthumb-interwork -mfloat-abi=hard -mfpu=neon -march=armv7-a -o $WORK/dap2/go/cgotest/_obj/cfuncs.o -c ./cfuncs.c
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -o $WORK/dap2/go/cgotest/_obj/_cgo_.o $WORK/dap2/go/cgotest/_obj/_cgo_main.o $WORK/dap2/go/cgotest/_obj/_cgo_export.o $WORK/dap2/go/cgotest/_obj/cgotest.cgo2.o $WORK/dap2/go/cgotest/_obj/cfuncs.o -g -O2 -pie
/usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/dap2/go/cgotest/_obj/ -dynpackage cgotest -dynimport $WORK/dap2/go/cgotest/_obj/_cgo_.o -dynout $WORK/dap2/go/cgotest/_obj/_cgo_import.go
arm-phytec-linux-gnueabi-gcc -I . -fPIC -marm -pthread -fmessage-length=0 -o $WORK/dap2/go/cgotest/_obj/_all.o $WORK/dap2/go/cgotest/_obj/_cgo_export.o $WORK/dap2/go/cgotest/_obj/cgotest.cgo2.o $WORK/dap2/go/cgotest/_obj/cfuncs.o -g -O2 -Wl,-r -nostdlib /opt/yogurt/AM335x-PD15.1.1/sysroots/cortexa8t2hf-vfp-neon-phytec-linux-gnueabi/usr/lib/arm-phytec-linux-gnueabi/4.9.1/libgcc.a -Wl,--build-id=none
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/dap2/go/cgotest.a -trimpath $WORK -p dap2/go/cgotest -buildid 3ea68ddd657b825c3bc4e35d2120bd9de263264b -D _/home/greg/go/src/dap2/go/cgotest -I $WORK -pack $WORK/dap2/go/cgotest/_obj/_cgo_gotypes.go $WORK/dap2/go/cgotest/_obj/cgotest.cgo1.go $WORK/dap2/go/cgotest/_obj/_cgo_import.go
pack r $WORK/dap2/go/cgotest.a $WORK/dap2/go/cgotest/_obj/_all.o # internal
mkdir -p $WORK/command-line-arguments/_obj/
mkdir -p $WORK/command-line-arguments/_obj/exe/
/usr/local/go/pkg/tool/linux_amd64/compile -o $WORK/command-line-arguments.a -trimpath $WORK -p main -complete -buildid 1492c67d0fed907f1759b7c266170236bbde6d0d -D _/home/greg/go/src/dap2/go/cgotest -I $WORK -I /home/greg/go/pkg/linux_arm -pack ./test.go
cd .
/usr/local/go/pkg/tool/linux_amd64/link -o $WORK/command-line-arguments/_obj/exe/a.out -L $WORK -L /home/greg/go/pkg/linux_arm -extld=arm-phytec-linux-gnueabi-gcc -buildmode=exe -buildid=1492c67d0fed907f1759b7c266170236bbde6d0d $WORK/command-line-arguments.a
mv $WORK/command-line-arguments/_obj/exe/a.out test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment