<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libunwind, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Unwind][AArch64] Match sigreturn instructions in big endian (#167139)</title>
<updated>2025-11-15T01:37:15+00:00</updated>
<author>
<name>hstk30-hw</name>
<email>hanwei62@huawei.com</email>
</author>
<published>2025-11-15T01:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6214dccbc991abe5a1679bc88e74b8c7d53f3d45'/>
<id>6214dccbc991abe5a1679bc88e74b8c7d53f3d45</id>
<content type='text'>
Since insns are always stored LE, on a BE system the opcodes will be
loaded byte-reversed. Therefore, define two sets of opcodes, one for LE
and one for BE.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since insns are always stored LE, on a BE system the opcodes will be
loaded byte-reversed. Therefore, define two sets of opcodes, one for LE
and one for BE.</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Ensure zaDisable() is called in jumpto/returnto (NFC) (#167674)</title>
<updated>2025-11-13T08:57:19+00:00</updated>
<author>
<name>Benjamin Maxwell</name>
<email>benjamin.maxwell@arm.com</email>
</author>
<published>2025-11-13T08:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d2a2b169f6cdfc2864f83ebc221dc771a9a1697d'/>
<id>d2a2b169f6cdfc2864f83ebc221dc771a9a1697d</id>
<content type='text'>
This is an NFC for now, as the SME checks for macOS platforms are not
implemented, so zaDisable() is a no-op, but both paths for resuming from
an exception should disable ZA.

This is a fixup for a recent change in #165066.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an NFC for now, as the SME checks for macOS platforms are not
implemented, so zaDisable() is a no-op, but both paths for resuming from
an exception should disable ZA.

This is a fixup for a recent change in #165066.</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Fix build error because of wrong register size (#167743)</title>
<updated>2025-11-12T20:21:32+00:00</updated>
<author>
<name>Med Ismail Bennani</name>
<email>ismail@bennani.ma</email>
</author>
<published>2025-11-12T20:21:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e5e9c3b4f2eea733d35383159492fb509d8b0f20'/>
<id>e5e9c3b4f2eea733d35383159492fb509d8b0f20</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libunwind: Implement the unw_strerror function for better nongnu libunwind compatibility (#160887)</title>
<updated>2025-11-12T04:45:42+00:00</updated>
<author>
<name>Gleb Popov</name>
<email>6yearold@gmail.com</email>
</author>
<published>2025-11-12T04:45:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=54659793328a0a7f0f1efa9d4d7fc43999b34ae2'/>
<id>54659793328a0a7f0f1efa9d4d7fc43999b34ae2</id>
<content type='text'>
As it was explained to me in
https://discourse.llvm.org/t/libunwinds-raison-detre/88283/2 the LLVM
version of libunwind is mostly compatible with nongnu one. This change
improves the compatibility a bit further.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As it was explained to me in
https://discourse.llvm.org/t/libunwinds-raison-detre/88283/2 the LLVM
version of libunwind is mostly compatible with nongnu one. This change
improves the compatibility a bit further.</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Fix execution flow imbalance when using C++ Exceptions (#165066)</title>
<updated>2025-11-12T02:31:57+00:00</updated>
<author>
<name>Med Ismail Bennani</name>
<email>ismail@bennani.ma</email>
</author>
<published>2025-11-12T02:31:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cf35502dd569d842a860696650a783f896db0648'/>
<id>cf35502dd569d842a860696650a783f896db0648</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind][AArch64] Disable ZA before resuming from unwinding (on Linux) (#165451)</title>
<updated>2025-11-11T09:46:13+00:00</updated>
<author>
<name>Benjamin Maxwell</name>
<email>benjamin.maxwell@arm.com</email>
</author>
<published>2025-11-11T09:46:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5cb2c6806e8c78776935b2972e4c8b6dfcda697d'/>
<id>5cb2c6806e8c78776935b2972e4c8b6dfcda697d</id>
<content type='text'>
This patch reimplements the SME ABI `__arm_za_disable` routine within
libunwind. This routine must be called before resuming from unwinding on
AArch64 platforms with SME support.

Before calling the routine, we need to check that SME is available. In
this patch, this is implemented for Linux-based platforms by checking
HWCAP2. It should be possible to implement this check for other
platforms as required.

This patch includes a test for this functionality. This test requires
SME, so on platforms without it, it will simply pass.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch reimplements the SME ABI `__arm_za_disable` routine within
libunwind. This routine must be called before resuming from unwinding on
AArch64 platforms with SME support.

Before calling the routine, we need to check that SME is available. In
this patch, this is implemented for Linux-based platforms by checking
HWCAP2. It should be possible to implement this check for other
platforms as required.

This patch includes a test for this functionality. This test requires
SME, so on platforms without it, it will simply pass.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++abi][libunwind] Enable AT&amp;T syntax explicitly (#166818)</title>
<updated>2025-11-08T20:20:13+00:00</updated>
<author>
<name>Raul Tambre</name>
<email>raul@tambre.ee</email>
</author>
<published>2025-11-08T20:20:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=afc83688cfadfb07c1cd9edc4f3c855d7cf4a261'/>
<id>afc83688cfadfb07c1cd9edc4f3c855d7cf4a261</id>
<content type='text'>
Implementation files using the Intel syntax typically explicitly specify
it. Do the same for the few files where applicable for AT&amp;T.

This enables building LLVM with `-mllvm -x86-asm-syntax=intel` in one's
Clang config files (i.e. a global preference for Intel syntax).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implementation files using the Intel syntax typically explicitly specify
it. Do the same for the few files where applicable for AT&amp;T.

This enables building LLVM with `-mllvm -x86-asm-syntax=intel` in one's
Clang config files (i.e. a global preference for Intel syntax).</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind] Add CMake option to enable execute-only code generation on AArch64 (#140554)</title>
<updated>2025-11-07T08:36:32+00:00</updated>
<author>
<name>Csanád Hajdú</name>
<email>csanad.hajdu@arm.com</email>
</author>
<published>2025-11-07T08:36:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4508f44af7529dbba8e3762325b2c416ff9f20c6'/>
<id>4508f44af7529dbba8e3762325b2c416ff9f20c6</id>
<content type='text'>
For a full toolchain supporting execute-only code generation the runtime
libraries also need to be pre-compiled with it enabled. The generic
`RUNTIMES_EXECUTE_ONLY_CODE` CMake option can now be used during build
configuration to enable execute-only code generation in libunwind.

Related RFC:
https://discourse.llvm.org/t/rfc-execute-only-code-support-for-runtime-libraries-on-aarch64/86180</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For a full toolchain supporting execute-only code generation the runtime
libraries also need to be pre-compiled with it enabled. The generic
`RUNTIMES_EXECUTE_ONLY_CODE` CMake option can now be used during build
configuration to enable execute-only code generation in libunwind.

Related RFC:
https://discourse.llvm.org/t/rfc-execute-only-code-support-for-runtime-libraries-on-aarch64/86180</pre>
</div>
</content>
</entry>
<entry>
<title>[libunwind][PAuthLR] Remove PC offset when using FEAT_PAuthLR (#164224)</title>
<updated>2025-10-29T08:20:11+00:00</updated>
<author>
<name>Jack Styles</name>
<email>jack.styles@arm.com</email>
</author>
<published>2025-10-29T08:20:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a9e6f90867b1c7cc18fe46822148d99f614f9e33'/>
<id>a9e6f90867b1c7cc18fe46822148d99f614f9e33</id>
<content type='text'>
When originally introduced to libunwind as part of #112171, FEAT_PAuthLR
had its Call Frame Instruction's (CFI's) in a different location to
other Signing Authentication methods. To incorporate this in libunwind,
a 4 byte offset was introduced to work with this. However, this design
was reversed in #121551 so the CFI's are emitted in the same location as
other methods. When making this change, the offset in libunwind was not
removed, so libunwind's PC value would be incorrect.

As the 4 byte offset is no longer needed, that adjustment can be
removed. results-&gt;ptrAuthDiversifier will still be set.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When originally introduced to libunwind as part of #112171, FEAT_PAuthLR
had its Call Frame Instruction's (CFI's) in a different location to
other Signing Authentication methods. To incorporate this in libunwind,
a 4 byte offset was introduced to work with this. However, this design
was reversed in #121551 so the CFI's are emitted in the same location as
other methods. When making this change, the offset in libunwind was not
removed, so libunwind's PC value would be incorrect.

As the 4 byte offset is no longer needed, that adjustment can be
removed. results-&gt;ptrAuthDiversifier will still be set.</pre>
</div>
</content>
</entry>
<entry>
<title>[compiler-rt][libunwind] Allow for CET on OpenBSD (#164341)</title>
<updated>2025-10-25T21:11:47+00:00</updated>
<author>
<name>Brad Smith</name>
<email>brad@comstyle.com</email>
</author>
<published>2025-10-25T21:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f03ccef45f84b4e947ffc93dc5a6f87a827fddf3'/>
<id>f03ccef45f84b4e947ffc93dc5a6f87a827fddf3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
