<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp, branch 1.77.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.77.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.77.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-12-11T19:58:02+00:00</updated>
<entry>
<title>fix: stop emitting `.debug_pubnames` and `.debug_pubtypes`</title>
<updated>2023-12-11T19:58:02+00:00</updated>
<author>
<name>Weihang Lo</name>
<email>me@weihanglo.tw</email>
</author>
<published>2023-11-16T04:07:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1667f3d2cc131e1f39d4314296b7cafa9dbfa0f4'/>
<id>urn:sha1:1667f3d2cc131e1f39d4314296b7cafa9dbfa0f4</id>
<content type='text'>
`.debug_pubnames` and `.debug_pubtypes` are poorly designed and people
seldom use them. However, they take a considerable portion of size in
the final binary. This tells LLVM stop emitting those sections on
DWARFv4 or lower. DWARFv5 use `.debug_names` which is more concise
in size and performant for name lookup.
</content>
</entry>
<entry>
<title>Add `-Zfunction-return={keep,thunk-extern}` option</title>
<updated>2023-11-30T19:21:31+00:00</updated>
<author>
<name>Miguel Ojeda</name>
<email>ojeda@kernel.org</email>
</author>
<published>2023-10-18T14:58:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2d476222e8458aa873e6760aac189b5e9d0a9930'/>
<id>urn:sha1:2d476222e8458aa873e6760aac189b5e9d0a9930</id>
<content type='text'>
This is intended to be used for Linux kernel RETHUNK builds.

With this commit (optionally backported to Rust 1.73.0), plus a
patched Linux kernel to pass the flag, I get a RETHUNK build with
Rust enabled that is `objtool`-warning-free and is able to boot in
QEMU and load a sample Rust kernel module.

Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;
</content>
</entry>
<entry>
<title>Update the minimum external LLVM to 16.</title>
<updated>2023-11-21T21:40:16+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-11-15T18:58:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7de6d04bc8033644c09fd1273b6fb3164d04fab3'/>
<id>urn:sha1:7de6d04bc8033644c09fd1273b6fb3164d04fab3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #117948 - aeubanks:dibuilder, r=durin42</title>
<updated>2023-11-16T03:14:51+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-11-16T03:14:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6faa181015208911f9492cc41254fb2a0e95f23f'/>
<id>urn:sha1:6faa181015208911f9492cc41254fb2a0e95f23f</id>
<content type='text'>
llvm-wrapper: Pass newly added param to DIBuilder::createStaticMemberType()

This was added in https://github.com/llvm/llvm-project/pull/72234.
DW_TAG_member was the implicit default before.

The LLVM change is quite sinister since due to weakly typed ints and default params, this was still successfully compiling against LLVM but was passing the wrong parameters.
</content>
</entry>
<entry>
<title>llvm-wrapper: Pass newly added param to DIBuilder::createEnumerationType()</title>
<updated>2023-11-15T22:42:53+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2023-11-15T22:42:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7cde2cee35f17c9c7dac7cce8550aba167c63440'/>
<id>urn:sha1:7cde2cee35f17c9c7dac7cce8550aba167c63440</id>
<content type='text'>
Added in LLVM in https://github.com/llvm/llvm-project/pull/72011.
</content>
</entry>
<entry>
<title>17 -&gt; 18</title>
<updated>2023-11-15T21:15:55+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2023-11-15T21:15:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e2c3e94be9c794d7b9e767a3be34ad863322387b'/>
<id>urn:sha1:e2c3e94be9c794d7b9e767a3be34ad863322387b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[llvm-wrapper] Pass newly added param to DIBuilder::createStaticMemberType()</title>
<updated>2023-11-15T19:29:35+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2023-11-15T19:29:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=984898da1727158f096c3a07ebd9a5ac487d733f'/>
<id>urn:sha1:984898da1727158f096c3a07ebd9a5ac487d733f</id>
<content type='text'>
This was added in https://github.com/llvm/llvm-project/pull/72234.
DW_TAG_member was the implicit default before.
</content>
</entry>
<entry>
<title>debuginfo: add compiler option to allow compressed debuginfo sections</title>
<updated>2023-09-08T14:45:29+00:00</updated>
<author>
<name>Augie Fackler</name>
<email>augie@google.com</email>
</author>
<published>2023-07-12T21:07:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af9e55068c2e38b1f7afc7f7374a5a53c59b2001'/>
<id>urn:sha1:af9e55068c2e38b1f7afc7f7374a5a53c59b2001</id>
<content type='text'>
LLVM already supports emitting compressed debuginfo. In debuginfo=full
builds, the debug section is often a large amount of data, and it
typically compresses very well (3x is not unreasonable.) We add a new
knob to allow debuginfo to be compressed when the matching LLVM
functionality is present. Like clang, if a known-but-disabled
compression mechanism is requested, we disable compression and emit
uncompressed debuginfo sections.

The API is different enough on older LLVMs we just pretend the support
is missing on LLVM older than 16.
</content>
</entry>
<entry>
<title>Rollup merge of #113593 - rcvalle:rust-cfi-fix-90546, r=wesleywiser</title>
<updated>2023-08-08T19:44:43+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-08-08T19:44:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c097e48082e3453bf7670c79bb1b282a9e900e1d'/>
<id>urn:sha1:c097e48082e3453bf7670c79bb1b282a9e900e1d</id>
<content type='text'>
CFI: Fix error compiling core with LLVM CFI enabled

Fix #90546 by filtering out global value function pointer types from the type tests, and adding the LowerTypeTests pass to the rustc LTO optimization pipelines.
</content>
</entry>
<entry>
<title>Only enable hotness information when PGO is available</title>
<updated>2023-08-08T13:36:55+00:00</updated>
<author>
<name>Jakub Beránek</name>
<email>berykubik@gmail.com</email>
</author>
<published>2023-08-07T15:56:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9d417d7c86259498855fc50ba0e853edbb13320d'/>
<id>urn:sha1:9d417d7c86259498855fc50ba0e853edbb13320d</id>
<content type='text'>
</content>
</entry>
</feed>
