-
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
cmd/link: -buildmode=c-shared not supported on linux/mips64le #43264
Comments
I have analyzed this issue, and I try to develop this feature, but I have not completed it yet. |
This comment was marked as duplicate.
This comment was marked as duplicate.
@XiaodongLoong Thanks. |
@ianlancetaylor I meet a issue when I develop the
|
This is only a guess, but my first thought would be that |
Change https://golang.org/cl/339049 mentions this issue: |
Change https://golang.org/cl/339051 mentions this issue: |
Change https://golang.org/cl/339050 mentions this issue: |
@ianlancetaylor I have completed this work, thanks for your guidance. |
Change https://golang.org/cl/339069 mentions this issue: |
Change https://golang.org/cl/339052 mentions this issue: |
Change https://golang.org/cl/348734 mentions this issue: |
Change https://golang.org/cl/348733 mentions this issue: |
Change https://golang.org/cl/348732 mentions this issue: |
Change https://golang.org/cl/348735 mentions this issue: |
Change https://golang.org/cl/354890 mentions this issue: |
@ianlancetaylor @cherrymui PTAL, Thanks! |
A gentle ping. @ianlancetaylor @cherrymui |
We're still in the release freeze for Go 1.18. Will review once the tree opens for 1.19. Thanks. |
@cherrymui Thanks! I rebased the code. |
A gentle ping. @ianlancetaylor @cherrymui |
A gentle ping. |
Sorry for the delay, the CLs are ready again. I expect a CR. Thanks! |
Thanks @XiaodongLoong . We're in the freeze for Go 1.19 release, so we cannot check them in until the tree opens for Go 1.20 development. The reviews can and will continue during the freeze. |
OK, Thanks! 👍 |
Change https://go.dev/cl/414137 mentions this issue: |
Change https://go.dev/cl/414136 mentions this issue: |
@cherrymui
I think it is not right, "___tls_get_addr" function should be wrapped by cgo. Then call the C funtion "___tls_get_addr" through the wrapper. And I want to hear from you. |
I rebased code. PTAL. Thanks! |
@cherrymui @ianlancetaylor ping. |
The modification of these rules is optimization to load/store global variables. If there are a sequence of loads/stores nearby a global variable address, the address can only be loaded from GOT once instead of every time. For #43264 Change-Id: Idedaf6c81f085955371320f51bca148ffb42a2d8 Reviewed-on: https://go-review.googlesource.com/c/go/+/348732 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
This comment was marked as spam.
This comment was marked as spam.
@XiaodongLoong Sorry for getting back to you late. I don't think we want to call ___tls_get_addr via cgo. The cgo wrappers are heavy-duty and are mostly for calling C functions from user code. In the runtime, given how special ___tls_get_addr is, we should call it directly. That said, we probably should call it once at startup (or at thread entry if the result is thread dependent), and save the result somewhere, instead of calling it every time in load_g and save_g. |
I am also very sorry, because I am busy with the development work in the company, I did not update the patches in time. I will update the patch as soon as possible. Thanks! |
Rebase code, PTAL. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
I'm very sorry, I don't have enough time to update the CLs and will abandon these CLs. Anyone can continue to complete this work. Thanks. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
When I tried to migrate Cilium to the mips64le (loongnix) platform, I got an error, among others, when I compiled a class library, Proxylib, and found that Cilium was handling it as a .so file.
Here is the compile command
Since -buildmod=c-shared is used, this buildmod prompt does not support building on linux/mips64le, does anyone have any good solutions?
What did you expect to see?
-buildmode=c-shared support on linux/mips64le
What did you see instead?
-buildmode=c-shared not supported on linux/mips64le
The text was updated successfully, but these errors were encountered: