Hello Mike,
Thanks for your inputs. yes, we can extend it for other architectures as
well. based on the inputs/suggestions from Guido.
On 24/07/25 01:10, Mike Gabriel wrote:
Hi,
On Mi 23 Jul 2025 19:08:30 CEST, tshah wrote:
Tried reproducing the issue of ciborium build failure on ppc64el. On
checking the logs minutely, got to know that the issue is in one of
the source file /cdata.go/. There is a function declared with no
definition: f/unc Addrs() (uintptr, uintptr)./
This patch fixes a build failure of the Ciborium package on the
ppc64el architecture. The /qml.v1/cdata/cdata.go/ file defines the
/Addrs() /function, which appears to rely on architecture-specific
logic that is not supported on ppc64el. Attempting to compile on
ppc64el results in an error due to this missing implementation.
To resolve this, I have:
*
Added a Go build tag to |cdata.go| to exclude it from |ppc64el|
builds.
*
Created a new file |cdata_stub.go|, which is only built on
|ppc64el|, and provides a stub |Addrs()| function returning default
zero values.
This allows the package to compile successfully on |ppc64el|, while
retaining the original behavior for other platforms.
The stub ensures compatibility without introducing functional changes
or affecting other architectures. I have attached the patch in this
mail.
Maybe your patch needs to be extended for other architectures, too? It
seems most of them suffer the same issue.
I have asked Guido, the upstream author to chime in on this...
Mike