@ -119,6 +119,9 @@ unexport \
u n export \
u n export \
GOEXPERIMENT
GOEXPERIMENT
# GOOS / GOARCH
go_arch = $( subst \
go_arch = $( subst \
aarch64,arm64,$( subst \
aarch64,arm64,$( subst \
i386,386,$( subst \
i386,386,$( subst \
@ -135,28 +138,52 @@ GO_HOST_OS:=$(call tolower,$(HOST_OS))
GO_HOST_ARCH := $( call go_arch,$( subst \
GO_HOST_ARCH := $( call go_arch,$( subst \
armv6l,arm,$( subst \
armv6l,arm,$( subst \
armv7l,arm,$( subst \
armv7l,arm,$( subst \
i486,i386,$( subst \
i586,i386,$( subst \
i686,i386,$( HOST_ARCH) ) ) ) ) ) )
i686,i386,$( HOST_ARCH) ) ) ) )
GO_HOST_OS_ARCH := $( GO_HOST_OS) _$( GO_HOST_ARCH)
GO_HOST_OS_ARCH := $( GO_HOST_OS) _$( GO_HOST_ARCH)
GO_HOST_TARGET_SAME := $( if $( and $( findstring $( GO_OS_ARCH) ,$( GO_HOST_OS_ARCH) ) ,$( findstring $( GO_HOST_OS_ARCH) ,$( GO_OS_ARCH) ) ) ,1)
GO_HOST_TARGET_DIFFERENT := $( if $( GO_HOST_TARGET_SAME) ,,1)
# ensure binaries can run on older CPUs
GO_386 := 387
i f e q ( $( GO_OS_ARCH ) , $( GO_HOST_OS_ARCH ) )
GO_HOST_TARGET_SAME:= 1
e l s e
GO_HOST_TARGET_DIFFERENT:= 1
e n d i f
GO_ARM := $( if $( CONFIG_arm_v7) ,7,$( if $( CONFIG_arm_v6) ,6,$( if $( findstring $( GO_ARCH) ,arm) ,5,) ) )
i f e q ( $( GO_ARCH ) , 3 8 6 )
# ensure binaries can run on older CPUs
GO_386:= 387
# -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors
GO_CFLAGS_TO_REMOVE:= -fno-plt
e l s e i f e q ( $( GO_ARCH ) , a r m )
ifeq ( $( CONFIG_arm_v7) ,y)
GO_ARM:= 7
else ifeq ( $( CONFIG_arm_v6) ,y)
GO_ARM:= 6
else
GO_ARM:= 5
endif
e l s e i f n e q ( $( filter $ ( GO_ARCH ) ,mips mipsle ) , )
ifeq ( $( CONFIG_HAS_FPU) ,y)
GO_MIPS:= hardfloat
else
GO_MIPS:= softfloat
endif
# -mips32r2: conflicts with -march=mips32 set by go
GO_CFLAGS_TO_REMOVE:= -mips32r2
e l s e i f n e q ( $( filter $ ( GO_ARCH ) ,mips 64 mips 64le ) , )
ifeq ( $( CONFIG_HAS_FPU) ,y)
GO_MIPS64:= hardfloat
else
GO_MIPS64:= softfloat
endif
GO_MIPS := $( if $( filter $( GO_ARCH) ,mips mipsle) ,$( if $( CONFIG_HAS_FPU) ,hardfloat,softfloat) ,)
e n d i f
GO_MIPS64 := $( if $( filter $( GO_ARCH) ,mips64 mips64le) ,$( if $( CONFIG_HAS_FPU) ,hardfloat,softfloat) ,)
# -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors
# -mips32r2: conflicts with -march=mips32 set by go
GO_CFLAGS_TO_REMOVE := $( if \
$( filter $ ( GO_ARCH ) ,386) , - f n o - p l t , $( if \
$( filter $ ( GO_ARCH ) ,mips mipsle ) , - m i p s 3 2 r 2 , ) )
# Target Go
GO_ARCH_DEPENDS := @( aarch64|| arm|| i386|| i686|| mips|| mips64|| mips64el|| mipsel|| powerpc64|| x86_64)
GO_ARCH_DEPENDS := @( aarch64|| arm|| i386|| i686|| mips|| mips64|| mips64el|| mipsel|| powerpc64|| x86_64)