-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
all: port to linux/loong64 #46229
Comments
CC @golang/release. |
I think maybe "loong64"/"la64" is more appropriate since "loongarch64" is simply too loong ( pun :) |
This seems fine to me. Can you provide links to a description of the architecture? I take it that you are suggesting a |
I prefer not "la64" because it might be confused with "IA64" which is the usual acronym for Intel's Itanium. |
This proposal has been added to the active column of the proposals project |
@ianlancetaylor We will provide an architecture instruction manual in the near future and I will update a link on this issue. As you said we use @mengzhuo @dr2chase Thanks for your suggestion, we will consider it. Thank you all. |
It seems like the instruction is MIPS64 compatible? How does Loongson differ from MIPS64? I see that e.g. in GCC, in binutils and in the Linux kernel the architecture is handled as a variant of the MIPS/MIPS64 architecture. Could we do this in a similar way for Go and avoid having to introduce a separate |
@tklauser The Loongson you said is not the LoongArch. Loongson is an extension of MIPS64 instruction set, but LoongArch is not. LoongArch is a new RISC CPU instruction architecture. |
@XiaodongLoong thanks for clarifying |
The description of |
Are people happy with GOARCH=loong64? If the builder will be at Loongson in China, do you know whether it will be able to connect to our build infrastructure running in Google data centers? The remote builder connects to Google's servers; Google's servers never dial back in the other direction. |
GOARCH=loong64 sounds good to me. There are three reverse builders that in China up and running for about 2 years:
|
I second the |
The proposal on the Thanks. |
I don't see why Intel x86_64 = amd64 Microprocessor without Interlocked Pipelined Stages = MIPS -> mips Since Loongarch64 is short for "Loongson architecture version 64bit ", I think |
Thanks @XiaodongLoong. We will wait for your response. |
@rsc After a week of internal discussion, we combine the community's proposal with our reality, and finally produced discussion results with difficulty. Considering brand promotion, registration of trademark and the unity of naming, we want to continue to use |
happy with GOARCH=loong64 |
happy with GOARCH=loong64 too |
prefer GOARCH=loong64 |
I'm sorry but the "brand promotion" argument is just way off limits. Do you really consider "impressing" people with the 9-letter word Non-technical points aside, the point @dr2chase brought forward earlier is valid, and the "discussion result" fails to provide justification as to why the current convention should absolutely be broken. The Go language and community has a reputation for being rather opinionated than most others; for GOARCH values, apart from Finally, remember most community members not part of the full-time Go team are volunteers, devoting their free time to Go, and in this thread, LoongArch, without rewards. Appearing grateful to community input and contributions but in fact pushing one's own agenda without changes or clear communication is not good, and the softer part of our hearts can certainly feel that. Not placing your trademark in GOARCH is perfectly fine, people will still know of the brand, and a lot of typing would be saved. 😂 |
One shortcoming to use loong64 instead of loongarch64 is the potential future confusion, since loongarch64 seems intended used for ISA name, linux kernel, java runtime, compiler and everything. |
And no one seems to mistake The argument against Also, a kind reminder to @mengzhuo : maybe calm down a bit and don't start to call names? We have no hard evidence that @willliu is actually @XiaodongLoong , so it's probably not time to make this kind of statement. However, I agree the account is suspicious, because the LoongArch ports of Linux and Java are never sent upstream, and the toolchain sources are withdrawn after only a short time, I think. |
Change https://go.dev/cl/408434 mentions this issue: |
Because these builders are behind the firewall, they may not access to proxy.golang.org, but it has a private Go module proxy. For golang/go#46229. Change-Id: Ib125cdaafca465f85531750cb9f5eb36d54f02de Reviewed-on: https://go-review.googlesource.com/c/build/+/408434 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
For golang/go#46229 Change-Id: Ie2896d28fc6c5e3f7e0544daccfd0c8e6e65bcf8 Reviewed-on: https://go-review.googlesource.com/c/build/+/407935 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Change https://go.dev/cl/410816 mentions this issue: |
Updates #46229 For #51400 Change-Id: Iedd5d3c4cd656b59ba2e1fe813851830849a8614 Reviewed-on: https://go-review.googlesource.com/c/go/+/410816 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Austin Clements <austin@google.com>
Change https://go.dev/cl/412236 mentions this issue: |
Thanks all. The port is complete. Remaining problems can be handled as specific issues. |
Change https://go.dev/cl/417715 mentions this issue: |
Link to the LoongArch documentations site, mention the ABI variant supported, and add a note about the unfortunate old-world/new-world split situation that users must be aware of. Updates #46229 For #51400 Change-Id: I6789f509263a0dbf113481148665e7951aa6a989 Reviewed-on: https://go-review.googlesource.com/c/go/+/417715 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Link to the LoongArch documentations site, mention the ABI variant supported, and add a note about the unfortunate old-world/new-world split situation that users must be aware of. Updates golang#46229 For golang#51400 Change-Id: I6789f509263a0dbf113481148665e7951aa6a989 Reviewed-on: https://go-review.googlesource.com/c/go/+/417715 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Change https://go.dev/cl/453457 mentions this issue: |
For golang/go#46229 Change-Id: I817d6af1735fb5ca659d4537d401e93ce8e08df0 Reviewed-on: https://go-review.googlesource.com/c/build/+/453457 Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Carlos Amedee <carlos@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: xiaodong liu <teaofmoli@gmail.com>
i use window x64, set GOOS=linux, set GOARCH=loong64 and the go version is 1.20.4,this release can support loongarch native built |
This issue is for tracking the initial upstreaming of the |
In Golang, the GOARCH defined for loongarch64 is loong64. Related links: golang/go#46229 golang/go#65398 Change-Id: Idd99c006e8c069f5936654bfafcccf4168f51876 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-py/+/5334945 Reviewed-by: Chan Li <chanli@chromium.org> Commit-Queue: Vadim Shtayura <vadimsh@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Hi community,
I am from Loongson company (R & D CPU), and we have developed a new RISC CPU instruction architecture named LoongArch.
We have successfully ported linux/loongarch64 in Go version 1.15.6, and want to submit some patches to the Go community to support this port.
To support linux/loongarch64 port, we have a plan:
(1) provide a builder machine (Loongson 3A5000/2.2GHz,debian-buster / 4.19 linux-kernel) remotely.
(2) submit the patches in August (after Go 1.17 release).
(3) complete the submission and review of all patches by November and be stable state.
(4) maintain linux/loongarch64 port and builder machine for a long time.
The text was updated successfully, but these errors were encountered: