-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
support linux-loong64 native debug #3685
base: master
Are you sure you want to change the base?
Conversation
LoongArch is a new RISC ISA, which is independently designed by Loongson Technology. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64), and loong64 is the 64-bit version of LoongArch. LoongArch documentation: https://github.com/loongson/LoongArch-Documentation.git
The arch project hasn't been integrated into the upstream yet, so I duplicated it to the vendor and submitted it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just dumping a bunch of changes in vendor that don't exist upstream is unacceptable, the x/arch changes need to be merged there first.
@@ -80,7 +80,7 @@ func goBuildArgs(debugname string, pkgs []string, buildflags string, isTest bool | |||
|
|||
args = append(args, "-o", debugname) | |||
if isTest { | |||
args = append([]string{"-c"}, args...) | |||
args = append([]string{"-c", "-mod=vendor"}, args...) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't force users to only build with -mod=vendor
.
@@ -1,4 +1,4 @@ | |||
//go:build linux && !amd64 && !arm64 && !386 && !(ppc64le && exp.linuxppc64le) | |||
//go:build linux && !amd64 && !arm64 && !386 && !(ppc64le && exp.linuxppc64le) && !loong64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless we can have a machine to run CI we shouldn't change this.
PS. also see test failures. |
@@ -1,4 +1,4 @@ | |||
//go:build (linux && amd64) || (linux && arm64) || (linux && ppc64le) | |||
//go:build (linux && amd64) || (linux && arm64) || (linux && ppc64le) || (linux && loong64) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
go:build (linux && (386 || ppc64le || loong64)) || (darwin && arm64) || (windows && arm64)
I think it's better this way
@ihuang77 any updates on this based on @aarzilli feedback? |
The x/arch has submitted a PR to support loong64, but it has not yet been merged into the upstream repository. I can provide machines running CI at any time. Thanks. |
That's cool, we'll have to wait for that PR to be merged for this. |
Looks like this has merged. Are you available to pick this work back up? |
Yes, the x/arch has been implemented and we are ready to update the Pr as soon as possible. We can also provide CI machines at any time. |
LoongArch is a new RISC ISA, which is independently designed by Loongson Technology.
LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64), and loong64 is the 64-bit version of LoongArch.
LoongArch documentation: https://github.com/loongson/LoongArch-Documentation.git
Since version 1.19, golang upstream support for the LA architecture has been maintained.