<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go/src/cmd/link/internal/ld/lib.go, branch makepkg</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=makepkg</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=makepkg'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2026-02-03T11:04:30Z</updated>
<entry>
<title>all: prealloc slice with possible minimum capabilities</title>
<updated>2026-02-03T11:04:30Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2024-10-25T17:48:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=011e40da85bddf83fee0ded83cb9115b7a88b3d4'/>
<id>urn:sha1:011e40da85bddf83fee0ded83cb9115b7a88b3d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cmd/link: set canUsePlugins only on platforms that support plugin</title>
<updated>2025-12-15T21:08:29Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2025-12-15T20:36:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=d14b6427cf8db9607e25f19b7cd1bab615b557b9'/>
<id>urn:sha1:d14b6427cf8db9607e25f19b7cd1bab615b557b9</id>
<content type='text'>
If a program imports the plugin package, but the plugin build mode
is not supported on the platform, it still cannot use plugin. Don't
treat it like so.

Updates #76815.

Change-Id: I0fd719427d7c3cc96a94ce1f92d6e4457da92a90
Reviewed-on: https://go-review.googlesource.com/c/go/+/730164
Reviewed-by: David Chase &lt;drchase@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: put moduledata in its own .go.module section</title>
<updated>2025-11-27T04:07:41Z</updated>
<author>
<name>Ian Lance Taylor</name>
<email>iant@golang.org</email>
</author>
<published>2025-11-14T19:48:55Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9f5cd43fe612834e78b838c1e704bf7a98011749'/>
<id>urn:sha1:9f5cd43fe612834e78b838c1e704bf7a98011749</id>
<content type='text'>
There is a test for this in CL 721480 later in this series.

For #76038

Change-Id: Ib7ed1f0b0aed2d929ca0f135b54d6b62112cae30
Reviewed-on: https://go-review.googlesource.com/c/go/+/720660
TryBot-Bypass: David Chase &lt;drchase@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
</content>
</entry>
<entry>
<title>Revert "cmd/compile: redo arm64 LR/FP save and restore"</title>
<updated>2025-10-07T15:21:14Z</updated>
<author>
<name>Keith Randall</name>
<email>khr@golang.org</email>
</author>
<published>2025-10-07T14:58:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=c938051dd0b80a5c60572d6807270d06ca685d2e'/>
<id>urn:sha1:c938051dd0b80a5c60572d6807270d06ca685d2e</id>
<content type='text'>
This reverts commit 719dfcf8a8478d70360bf3c34c0e920be7b32994.

Reason for revert: Causing crashes.

Change-Id: I0b8526dd03d82fa074ce4f97f1789eeac702b3eb
Reviewed-on: https://go-review.googlesource.com/c/go/+/709755
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Keith Randall &lt;khr@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: redo arm64 LR/FP save and restore</title>
<updated>2025-10-06T21:11:41Z</updated>
<author>
<name>Keith Randall</name>
<email>khr@golang.org</email>
</author>
<published>2025-05-17T22:05:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=719dfcf8a8478d70360bf3c34c0e920be7b32994'/>
<id>urn:sha1:719dfcf8a8478d70360bf3c34c0e920be7b32994</id>
<content type='text'>
Instead of storing LR (the return address) at 0(SP) and the FP
(parent's frame pointer) at -8(SP), store them at framesize-8(SP)
and framesize-16(SP), respectively.

We push and pop data onto the stack such that we're never accessing
anything below SP.

The prolog/epilog lengths are unchanged (3 insns for a typical prolog,
2 for a typical epilog).

We use 8 bytes more per frame.

Typical prologue:

    STP.W   (FP, LR), -16(SP)
    MOVD    SP, FP
    SUB	    $C, SP

Typical epilogue:

    ADD     $C, SP
    LDP.P   16(SP), (FP, LR)
    RET

The previous word where we stored LR, at 0(SP), is now unused.
We could repurpose that slot for storing a local variable.

The new prolog and epilog instructions are recognized by libunwind,
so pc-sampling tools like perf should now be accurate. (TODO: except
maybe after the first RET instruction? Have to look into that.)

Update #73753 (fixes, for arm64)
Update #57302 (Quim thinks this will help on that issue)

Change-Id: I4800036a9a9a08aaaf35d9f99de79a36cf37ebb8
Reviewed-on: https://go-review.googlesource.com/c/go/+/674615
Reviewed-by: David Chase &lt;drchase@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: support .def file with MSVC clang toolchain</title>
<updated>2025-10-03T13:30:28Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2025-10-02T22:24:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=adce7f196e6ac6d22e9bc851efea5f3ab650947c'/>
<id>urn:sha1:adce7f196e6ac6d22e9bc851efea5f3ab650947c</id>
<content type='text'>
lld-link supports .def file, but requires a "-def:" (or "/def:")
flag. (MinGW linker, on the other hand, requires no flag.) Pass
the flag when using MSVC-based toolchain.

CL originally authored by Chressie Himpel.

Change-Id: I8c327ab48d36b0bcbb1d127cff544ffdb06be38e
Reviewed-on: https://go-review.googlesource.com/c/go/+/708716
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Chressie Himpel &lt;chressie@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: use a .def file to mark exported symbols on Windows</title>
<updated>2025-09-29T19:24:13Z</updated>
<author>
<name>qmuntal</name>
<email>quimmuntal@gmail.com</email>
</author>
<published>2025-09-22T13:48:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=eaf2345256613dfbda7e8e69e5f845c4209246c6'/>
<id>urn:sha1:eaf2345256613dfbda7e8e69e5f845c4209246c6</id>
<content type='text'>
Binutils defaults to exporting all symbols when building a Windows DLL.
To avoid that we were marking symbols with __declspec(dllexport) in
the cgo-generated headers, which instructs ld to export only those
symbols. However, that approach makes the headers hard to reuse when
importing the resulting DLL into other projects, as imported symbols
should be marked with __declspec(dllimport).

A better approach is to generate a .def file listing the symbols to
export, which gets the same effect without having to modify the headers.

Updates #30674
Fixes #56994

Change-Id: I22bd0aa079e2be4ae43b13d893f6b804eaeddabf
Reviewed-on: https://go-review.googlesource.com/c/go/+/705776
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Junyang Shao &lt;shaojunyang@google.com&gt;
Reviewed-by: Than McIntosh &lt;thanm@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: don't pass -Wl,-S on Solaris</title>
<updated>2025-09-29T17:10:22Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2025-09-26T13:45:08Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=047c2ab841e2d2233d0bef420d1b5ecb545a380a'/>
<id>urn:sha1:047c2ab841e2d2233d0bef420d1b5ecb545a380a</id>
<content type='text'>
Solaris linker's -S has a different meaning.

Fixes #75637.

Change-Id: I51e641d5bc6d7f64ab5aa280090c70ec787a1fbf
Reviewed-on: https://go-review.googlesource.com/c/go/+/707096
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: don't pass -Wl,-S on AIX</title>
<updated>2025-09-26T17:15:40Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2025-09-26T13:56:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=459f3a3adc131d9bb829efe0add27327a29b9c88'/>
<id>urn:sha1:459f3a3adc131d9bb829efe0add27327a29b9c88</id>
<content type='text'>
The AIX linker's -S flag has a different meaning. Don't pass it.

Updates #75618.

Change-Id: I98faabea3435cde255f4c2d25f34dde9f69b7ec9
Reviewed-on: https://go-review.googlesource.com/c/go/+/707097
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/link: handle -w flag in external linking mode</title>
<updated>2025-09-25T16:24:46Z</updated>
<author>
<name>Cherry Mui</name>
<email>cherryyz@google.com</email>
</author>
<published>2025-09-16T17:34:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=6dceff8bad6213bca76361462c99b0d06fd0a8f9'/>
<id>urn:sha1:6dceff8bad6213bca76361462c99b0d06fd0a8f9</id>
<content type='text'>
Currently, when the -w flag is set, it doesn't actually disable
the debug info generation with in external linking mode. (It does
make the Go object have no debug info, but C objects may still
have.) Pass "-Wl,-S" to let the external linker disable debug info
generation.

Change-Id: I0fce56b9f23a45546b69b9e6dd027c5527b1bc87
Reviewed-on: https://go-review.googlesource.com/c/go/+/705857
Reviewed-by: David Chase &lt;drchase@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@golang.org&gt;
</content>
</entry>
</feed>
