* Work around internal error in gold triggered due to DWARF-5 by forcing to use 
bfd even with ld-is-gold:
  
_/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/git/src/import/cmd/containerd-shim
  
/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/go/pkg/tool/linux_amd64/link:
 running x86_64-webos-linux-gcc failed: exit status 1
  
/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/../../libexec/x86_64-webos-linux/gcc/x86_64-webos-linux/9.3.0/ld:
 internal error in read_header_prolog, at ../../gold/dwarf_reader.cc:1678
  collect2: error: ld returned 1 exit status

* alternatively we can backport DWARF-5 support to binutils-2.34 used in 
dunfell like in:
  
https://git.openembedded.org/openembedded-core/commit/?id=d07d4d739ae17787017f771dd2068fda0e836722

Signed-off-by: Martin Jansa <[email protected]>
---
 .../0001-Add-build-option-GODEBUG-1.patch             |  2 +-
 .../0001-build-use-oe-provided-GO-and-flags.patch     |  0
 .../containerd/containerd-opencontainers_git.bb       | 11 ++++++++++-
 3 files changed, 11 insertions(+), 2 deletions(-)
 rename recipes-containers/containerd/{files => 
containerd-opencontainers}/0001-build-use-oe-provided-GO-and-flags.patch (100%)

diff --git 
a/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch
 
b/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch
index 05c4f15..fec9ea6 100644
--- 
a/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch
+++ 
b/recipes-containers/containerd/containerd-opencontainers/0001-Add-build-option-GODEBUG-1.patch
@@ -33,7 +33,7 @@ index 4355395..4fb5d3b 100644
 -GO_LDFLAGS=-ldflags '-s -w -X $(PKG)/version.Version=$(VERSION) -X 
$(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) 
$(EXTRA_LDFLAGS)'
 -SHIM_GO_LDFLAGS=-ldflags '-s -w -X $(PKG)/version.Version=$(VERSION) -X 
$(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) 
-extldflags "-static"'
 +GO_LDFLAGS=-ldflags '-X $(PKG)/version.Version=$(VERSION) -X 
$(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) 
$(EXTRA_LDFLAGS)'
-+SHIM_GO_LDFLAGS=-ldflags '-X $(PKG)/version.Version=$(VERSION) -X 
$(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) 
-extldflags "-static" $(EXTRA_LDFLAGS)'
++SHIM_GO_LDFLAGS=-ldflags '-X $(PKG)/version.Version=$(VERSION) -X 
$(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PACKAGE) 
-extldflags "-static $(EXTRA_EXTLDFLAGS)" $(EXTRA_LDFLAGS)'
  
  #Replaces ":" (*nix), ";" (windows) with newline for easy parsing
  GOPATHS=$(shell echo ${GOPATH} | tr ":" "\n" | tr ";" "\n")
diff --git 
a/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch
 
b/recipes-containers/containerd/containerd-opencontainers/0001-build-use-oe-provided-GO-and-flags.patch
similarity index 100%
rename from 
recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch
rename to 
recipes-containers/containerd/containerd-opencontainers/0001-build-use-oe-provided-GO-and-flags.patch
diff --git a/recipes-containers/containerd/containerd-opencontainers_git.bb 
b/recipes-containers/containerd/containerd-opencontainers_git.bb
index a52a5c3..5f697ed 100644
--- a/recipes-containers/containerd/containerd-opencontainers_git.bb
+++ b/recipes-containers/containerd/containerd-opencontainers_git.bb
@@ -10,7 +10,16 @@ LIC_FILES_CHKSUM = 
"file://src/import/LICENSE;md5=1269f40c0d099c21a871163984590d
 
 CONTAINERD_VERSION = "v1.2.14"
 
-EXTRA_OEMAKE += "GODEBUG=1"
+# Work around internal error in gold triggered due to DWARF-5 by forcing to 
use bfd even with ld-is-gold:
+# 
_/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/git/src/import/cmd/containerd-shim
+# 
/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/go/pkg/tool/linux_amd64/link:
 running x86_64-webos-linux-gcc failed: exit status 1
+# 
/OE/lge/build/webosose/dunfell/BUILD/work/qemux86_64-webos-linux/containerd-opencontainers/v1.2.14+gitAUTOINC+3b3e9d5f62-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/../../libexec/x86_64-webos-linux/gcc/x86_64-webos-linux/9.3.0/ld:
 internal error in read_header_prolog, at ../../gold/dwarf_reader.cc:1678
+# collect2: error: ld returned 1 exit status
+# alternatively we can backport DWARF-5 support to binutils-2.34 used in 
dunfell like in:
+# 
https://git.openembedded.org/openembedded-core/commit/?id=d07d4d739ae17787017f771dd2068fda0e836722
+EXTRA_EXTLDFLAGS = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' 
-fuse-ld=bfd ', '', d)}"
+
+EXTRA_OEMAKE += "GODEBUG=1 EXTRA_EXTLDFLAGS='${EXTRA_EXTLDFLAGS}'"
 
 PROVIDES += "virtual/containerd"
 RPROVIDES_${PN} = "virtual/containerd"
-- 
2.35.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7124): 
https://lists.yoctoproject.org/g/meta-virtualization/message/7124
Mute This Topic: https://lists.yoctoproject.org/mt/90186767/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to