Thanks, this should work.

Alex

On Thu, 13 Jan 2022 at 20:22, Dmitry Baryshkov <[email protected]>
wrote:

> Commit 9985b17a30bb ("go: correctly set debug-prefix-map and build
> directory") has changed CGO_LDFLAGS to the manually crafted version of
> LDFLAGS to strip out DEBUG_PREFIX_MAP contents.
>
> However this manually crafted version includes ${SECURITY_LDFLAGS}.
>
> If security_flags.inc is not included, the variable is not defined, thus
> CGO_LDFLAGS will include the '${SECURITY_LDFLAGS}' literally. When
> building the recipe, the build would break with the follwing message:
>
> aarch64-linaro-linux-gcc: error: ${SECURITY_LDFLAGS}: No such file or
> directory
>
> So, instead of manually specifying variable contents, perform the
> expected action: filter offending arguments out of LDFLAGS.
>
> Cc: Alexander Kanavin <[email protected]>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
>  meta/recipes-devtools/go/go-runtime.inc | 3 ++-
>  meta/recipes-devtools/go/go-target.inc  | 3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/go/go-runtime.inc
> b/meta/recipes-devtools/go/go-runtime.inc
> index a08d44dd3a8c..ccb86d4fe9a6 100644
> --- a/meta/recipes-devtools/go/go-runtime.inc
> +++ b/meta/recipes-devtools/go/go-runtime.inc
> @@ -10,7 +10,8 @@ DEBUG_PREFIX_MAP = "\
>  export CGO_CFLAGS = "${CFLAGS}"
>  export CGO_CPPFLAGS = "${CPPFLAGS}"
>  export CGO_CXXFLAGS = "${CXXFLAGS}"
> -export CGO_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}
> ${SECURITY_LDFLAGS}"
> +# Filter out -fdebug-prefix-map options as they clash with the GO's build
> system
> +export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not
> f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
>  export GOCACHE = "${B}/.cache"
>
>  GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}"
> diff --git a/meta/recipes-devtools/go/go-target.inc
> b/meta/recipes-devtools/go/go-target.inc
> index 51f1b79cc320..b0d487ae1c21 100644
> --- a/meta/recipes-devtools/go/go-target.inc
> +++ b/meta/recipes-devtools/go/go-target.inc
> @@ -9,7 +9,8 @@ DEBUG_PREFIX_MAP = "\
>  export CGO_CFLAGS = "${CFLAGS}"
>  export CGO_CPPFLAGS = "${CPPFLAGS}"
>  export CGO_CXXFLAGS = "${CXXFLAGS}"
> -export CGO_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}
> ${SECURITY_LDFLAGS}"
> +# Filter out -fdebug-prefix-map options as they clash with the GO's build
> system
> +export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not
> f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
>
>  export GOCACHE = "${B}/.cache"
>  GO_LDFLAGS = ""
> --
> 2.30.2
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#160531): 
https://lists.openembedded.org/g/openembedded-core/message/160531
Mute This Topic: https://lists.openembedded.org/mt/88404460/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to