-
Notifications
You must be signed in to change notification settings - Fork 592
Description
I would like to make one last plea to the community to consider not deferring definition of the values of platform.arch to GOARCH, but instead hold a canonical list of accepted values within this specification.
The reason is that runtime requirements for an image need not be tied to any runtime capabilities of golang. I can give a concrete example here of ARM's ILP32 ABI which is currently in the process of reviewed by the community for upstreaming.
We currently have no need or desire to add ILP32 capability to golang. The host platform will be running in 64 bit only mode. So there will be no 'arm64ilp32' definition in GOARCH. This does not mean that a container image can't be compiled against the ILP32 ABI, and be run on a platform that has a container engine built in arm64 mode, but also have the runtime capability for ILP32.
We have validated this in the offices here with a docker engine running in LP64/arm64 mode, whist executing a container image compiled against the ILP32 ABI.
The current OCI scheme does not seem to allow for me to define this runtime requirement.
I would therefor like to suggest that the OCI specification holds the canonical list for platform.arch.