[OE-core] [PATCH 1/2] go.bbclass: Export GOARM

Christopher Larson kergoth at gmail.com
Wed Mar 13 19:40:18 UTC 2019


How would bitbake respond to an ‘export’ line with the empty string? I.e.
can you do an actual conditional export the way we do conditional inherits,
so it still is only exported for arm, even if the value is set to the empty
string for others?

On Wed, Mar 13, 2019 at 10:57 AM Mark Asselstine <
mark.asselstine at windriver.com> wrote:

> When building GO packages for ARM (v5, v6, v7) it is expected that the
> GOARM env variable is set during the build. Not having GOARM exported
> will result in GO binaries which can't be executed on the target
> (terminate with segfault). Per https://github.com/golang/go/wiki/GoArm
>
> We already have the logic in goarch.bbclass to determine the correct
> value of GOARM (see GOARM_TARGET), but currently this is only used to
> build go itself (go-cross_1.*.bb requires go-cross.inc --> export
> GOARM = "${TARGET_GOARM}").
>
> Here we export GOARM but we do it such that it is only exported if we
> are building for 'arm' and only when recipes requiring/inheriting
> go.bbclass are be used to build for the target.
>
> Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
> ---
>
> Richard,
>
> MarkH and I were debating this one some. He was suggesting I add
> 'GOARM ?= ""' so as not to leave things undefined for non-arm target
> builds. I however, like the behavior of this as submitted here as
> non-arm target builds don't get polluted with a useless export in
> their do_compile scripts and such. The question is as presented here
> is the behavior deterministic?
>
>
> meta/classes/go.bbclass | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
> index af331f8..72e2c29 100644
> --- a/meta/classes/go.bbclass
> +++ b/meta/classes/go.bbclass
> @@ -8,6 +8,9 @@ GOROOT = "${STAGING_LIBDIR}/go"
>  export GOROOT
>  export GOROOT_FINAL = "${libdir}/go"
>
> +GOARM_arm_class-target = "${TARGET_GOARM}"
> +export GOARM
> +
>  DEPENDS_GOLANG_class-target = "virtual/${TUNE_PKGARCH}-go
> virtual/${TARGET_PREFIX}go-runtime"
>  DEPENDS_GOLANG_class-native = "go-native"
>  DEPENDS_GOLANG_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk
> virtual/${TARGET_PREFIX}go-runtime"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190313/de5b7fb8/attachment.html>


More information about the Openembedded-core mailing list