golang/go

runtime: add linkname `runtime.lastmoduledatap` back for `cloudwego/sonic`

Closed this issue · 9 comments

bytedance/sonic#738
Sonic has used this link for two years and just removed the link codes to sonic/loader since go1.23. Is this why Sonic misses the shame of hall on it ? Can you please add its linkname back? Otherwise it will affect a lot of Go applications... @rsc

Change https://go.dev/cl/648537 mentions this issue: runtime: add linkname back on runtime.lastmoduledatap``

As far as I can tell we never had that package in the "hall of shame". And the reason for that is that the package is only imported by 3 other packages. Are there more popular packages that depend on this one?

The linkname was removed in https://go.dev/cl/609918 by @xiaost .

no, it was dependent on github.com/bytedance/sonic, and sonic is dependent over 1w+ repos.. I guess you didn't consider indirect dependency? @ianlancetaylor

I'm not sure why this package wasn't included on this list. https://go.dev/cl/609918 also dropped runtime.moduledataverify1 and runtime.morestack_noctxt, which seem to be used by github.com/bytedance/sonic/loader. Are those needed as well?

I'm not sure why this package wasn't included on this list. https://go.dev/cl/609918 also dropped runtime.moduledataverify1 and runtime.morestack_noctxt, which seem to be used by github.com/bytedance/sonic/loader. Are those needed as well?

updated

Btw, I want this commit to be released on go1.24, what should I do? @mknyszek

@gopherbot Please backport to the 1.24 branch.

This will let some existing programs continue to build with 1.24, as they did with earlier releases.

Backport issue(s) opened: #71705 (for 1.24).

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

Change https://go.dev/cl/650375 mentions this issue: [release-branch.go1.24] runtime: add some linknames back for github.com/bytedance/sonic``