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

Reply via email to