Golang on ARMv5

607 views
Skip to first unread message

anthony....@gmail.com

unread,
Jan 12, 2020, 1:17:08 PM1/12/20
to golang-nuts
Does anyone know where I can find a list of Go versions that includes the architectures supported and minimum kernel version requirements. I’d like to use Go on an ARM926EJ processor (ARMv5tejl), running a 2.6.39.4 Linux kernel. It looks like they stopped supporting ARMv5 awhile ago (v1.8?), so I’d like to find the last version that still supports this processor and its kernel version.

Ian Lance Taylor

unread,
Jan 12, 2020, 3:51:57 PM1/12/20
to anthony....@gmail.com, golang-nuts
On Sun, Jan 12, 2020 at 10:17 AM <anthony....@gmail.com> wrote:
>
> Does anyone know where I can find a list of Go versions that includes the architectures supported and minimum kernel version requirements. I’d like to use Go on an ARM926EJ processor (ARMv5tejl), running a 2.6.39.4 Linux kernel. It looks like they stopped supporting ARMv5 awhile ago (v1.8?), so I’d like to find the last version that still supports this processor and its kernel version.

As far as I know all the correct information can be found at
https://golang.org/wiki/GoArm. There it says that ARMv5 is supported,
though you have to set GOARM=5 in the environment.

Ian

Dan Kortschak

unread,
Jan 12, 2020, 4:29:46 PM1/12/20
to Ian Lance Taylor, anthony....@gmail.com, golang-nuts
Yes, I use Go on ARMv5. AFAIK it still works.

anthony....@gmail.com

unread,
Jan 12, 2020, 4:32:52 PM1/12/20
to golang-nuts
Thanks for the reply, Ian. I’ve seen the page you referenced, but the 1.8 release notes say that it will be the last version to support ARMv5. I’ve also come across some posts that mention certain minimum Linux kernel requirements, but nothing that lists them by Golang version.

Ian Lance Taylor

unread,
Jan 12, 2020, 9:04:47 PM1/12/20
to anthony....@gmail.com, golang-nuts
On Sun, Jan 12, 2020 at 1:32 PM <anthony....@gmail.com> wrote:
>
> Thanks for the reply, Ian. I’ve seen the page you referenced, but the 1.8 release notes say that it will be the last version to support ARMv5. I’ve also come across some posts that mention certain minimum Linux kernel requirements, but nothing that lists them by Golang version.

I *think* that we decided to keep support for ARMv5, despite the
comment in the 1.8 release notes. See
https://github.com/golang/go/issues/17082#issuecomment-289575075.

Ian

Anthony Adams

unread,
Jan 12, 2020, 9:51:08 PM1/12/20
to Ian Lance Taylor, golang-nuts
Thanks again. That’s very helpful. It sounds like ARMv5 is still supported. Now I just need to confirm the minimum kernel version. The system I’m using has a 2.6.39.4 kernel, which I’m unable to upgrade. This document says the minimum kernel version for ARM is v3.1, but I assume this is for the latest version of Golang:

Ian Lance Taylor

unread,
Jan 13, 2020, 2:03:43 AM1/13/20
to Anthony Adams, golang-nuts
On Sun, Jan 12, 2020 at 6:50 PM Anthony Adams
<anthony....@gmail.com> wrote:
>
> Thanks again. That’s very helpful. It sounds like ARMv5 is still supported. Now I just need to confirm the minimum kernel version. The system I’m using has a 2.6.39.4 kernel, which I’m unable to upgrade. This document says the minimum kernel version for ARM is v3.1, but I assume this is for the latest version of Golang:
>
> https://github.com/golang/go/wiki/MinimumRequirements

I'm not sure but I suspect that unfortunately that kernel requirement
is true for essentially all versions of Go. The problem is that for
ARMv5 we rely on kernel support for 64-bit locking primitives.

Ian

Anthony Adams

unread,
Jan 13, 2020, 7:13:01 AM1/13/20
to Ian Lance Taylor, golang-nuts
Ok. Thanks. I’ll play around with it a bit more. If it doesn't work out, there’s always C code!
Reply all
Reply to author
Forward
0 new messages