<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Support/Unix/Signals.inc, branch users/nico/python-1</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>[DLCov] Origin-Tracking: Enable collecting and symbolizing stack traces (#143591)</title>
<updated>2025-07-02T11:01:17+00:00</updated>
<author>
<name>Stephen Tozer</name>
<email>stephen.tozer@sony.com</email>
</author>
<published>2025-07-02T11:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=35626e97d886dcb5f335af8abcfadb5f6bbcc64a'/>
<id>35626e97d886dcb5f335af8abcfadb5f6bbcc64a</id>
<content type='text'>
This patch is part of a series that adds origin-tracking to the debugify
source location coverage checks, allowing us to report symbolized stack
traces of the point where missing source locations appear.

This patch adds a pair of new functions in `signals.h` that can be used
to collect and symbolize stack traces respectively. This has major
implementation overlap with the existing stack trace
collection/symbolizing methods, but the existing functions are
specialized for dumping a stack trace to stderr when LLVM crashes, while
these new functions are meant to be called repeatedly during the
execution of the program, and therefore we need a separate set of
functions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of a series that adds origin-tracking to the debugify
source location coverage checks, allowing us to report symbolized stack
traces of the point where missing source locations appear.

This patch adds a pair of new functions in `signals.h` that can be used
to collect and symbolize stack traces respectively. This has major
implementation overlap with the existing stack trace
collection/symbolizing methods, but the existing functions are
specialized for dumping a stack trace to stderr when LLVM crashes, while
these new functions are meant to be called repeatedly during the
execution of the program, and therefore we need a separate set of
functions.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][Support] check for error return from dladdr. (#138369)</title>
<updated>2025-05-07T19:39:36+00:00</updated>
<author>
<name>jeremyd2019</name>
<email>github@jdrake.com</email>
</author>
<published>2025-05-07T19:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=79bc8ad5b73e123cf71bbc6084f2a1bc525eca2b'/>
<id>79bc8ad5b73e123cf71bbc6084f2a1bc525eca2b</id>
<content type='text'>
In case of an error, the DL_info struct may have been left
uninitialized, so it is not safe to use its members.

In one error case, initialize dli_sname to nullptr explicitly, so that
the later check against nullptr is guaranteed to be safe.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of an error, the DL_info struct may have been left
uninitialized, so it is not safe to use its members.

In one error case, initialize dli_sname to nullptr explicitly, so that
the later check against nullptr is guaranteed to be safe.
</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][Cygwin] Fix Signals compatibility with Cygwin API (#138117)</title>
<updated>2025-05-02T08:02:51+00:00</updated>
<author>
<name>Mateusz Mikuła</name>
<email>oss@mateuszmikula.dev</email>
</author>
<published>2025-05-02T08:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3'/>
<id>8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3</id>
<content type='text'>
Cygwin types sometimes do not match Linux exactly. Like in this case:
```
In file included from /h/projects/llvm-project/llvm/include/llvm/Support/Error.h:23,
                 from /h/projects/llvm-project/llvm/include/llvm/Support/FileSystem.h:34,
                 from /h/projects/llvm-project/llvm/lib/Support/Signals.cpp:22:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h: In instantiation of ‘llvm::format_object&lt;Ts&gt;::format_object(const char*, const Ts&amp; ...) [with Ts = {int, char [4096]}]’:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:126:10:   required from ‘llvm::format_object&lt;Ts ...&gt; llvm::format(const char*, const Ts&amp; ...) [with Ts = {int, char [4096]}]’
/h/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:850:19:   required from here
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:106:34: error: no matching function for call to ‘std::tuple&lt;int, char [4096]&gt;::tuple(const int&amp;, const char [4096])’
  106 |       : format_object_base(fmt), Vals(vals...) {
      |                                  ^~~~~~~~~~~~~
```
Casting here is safe and solves the issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cygwin types sometimes do not match Linux exactly. Like in this case:
```
In file included from /h/projects/llvm-project/llvm/include/llvm/Support/Error.h:23,
                 from /h/projects/llvm-project/llvm/include/llvm/Support/FileSystem.h:34,
                 from /h/projects/llvm-project/llvm/lib/Support/Signals.cpp:22:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h: In instantiation of ‘llvm::format_object&lt;Ts&gt;::format_object(const char*, const Ts&amp; ...) [with Ts = {int, char [4096]}]’:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:126:10:   required from ‘llvm::format_object&lt;Ts ...&gt; llvm::format(const char*, const Ts&amp; ...) [with Ts = {int, char [4096]}]’
/h/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:850:19:   required from here
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:106:34: error: no matching function for call to ‘std::tuple&lt;int, char [4096]&gt;::tuple(const int&amp;, const char [4096])’
  106 |       : format_object_base(fmt), Vals(vals...) {
      |                                  ^~~~~~~~~~~~~
```
Casting here is safe and solves the issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Support] Re-raise external signals (#125854)</title>
<updated>2025-02-08T13:16:26+00:00</updated>
<author>
<name>Guy David</name>
<email>49722543+guy-david@users.noreply.github.com</email>
</author>
<published>2025-02-08T13:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ef23ba7da34ca1285f10603cc4aa6441ab4530e6'/>
<id>ef23ba7da34ca1285f10603cc4aa6441ab4530e6</id>
<content type='text'>
Otherwise, the handler "swallows" the signal and the process continues
to execute. While this use case is peculiar, ignoring these signals
entirely seems more odd.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise, the handler "swallows" the signal and the process continues
to execute. While this use case is peculiar, ignoring these signals
entirely seems more odd.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][Support] Enable dl_iterate_phdr support on OpenBSD and DragonFly (#125186)</title>
<updated>2025-01-31T10:02:50+00:00</updated>
<author>
<name>Brad Smith</name>
<email>brad@comstyle.com</email>
</author>
<published>2025-01-31T10:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=95e19e21c55db7ede8ff7795512bbfc4ca0ca782'/>
<id>95e19e21c55db7ede8ff7795512bbfc4ca0ca782</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][Support] Put back filename into FileToRemoveList (#124065)</title>
<updated>2025-01-23T11:57:19+00:00</updated>
<author>
<name>Vitaly Buka</name>
<email>vitalybuka@google.com</email>
</author>
<published>2025-01-23T11:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1311b36acea0ac0d94c23452fcb0109bb18373cb'/>
<id>1311b36acea0ac0d94c23452fcb0109bb18373cb</id>
<content type='text'>
Prevents avoidable memory leaks.

Looks like exchange added in aa1333a91f8d8a060bcf5b14aa32a6e8bab74e8c
didn't take "continue" into account.

```
==llc==2150782==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x5f1b0f9ac14a in strdup llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:593:3
    #1 0x5f1b1768428d in FileToRemoveList llvm-project/llvm/lib/Support/Unix/Signals.inc:105:55
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevents avoidable memory leaks.

Looks like exchange added in aa1333a91f8d8a060bcf5b14aa32a6e8bab74e8c
didn't take "continue" into account.

```
==llc==2150782==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x5f1b0f9ac14a in strdup llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:593:3
    #1 0x5f1b1768428d in FileToRemoveList llvm-project/llvm/lib/Support/Unix/Signals.inc:105:55
```</pre>
</div>
</content>
</entry>
<entry>
<title>[Signals] Exclude dladdr for AIX after #123879</title>
<updated>2025-01-23T03:59:24+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-01-23T03:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1c5d971e425ff080dffd4d9a9a7734ead042d323'/>
<id>1c5d971e425ff080dffd4d9a9a7734ead042d323</id>
<content type='text'>
Widely supported but missing on AIX
https://www.austingroupbugs.net/view.php?id=993
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Widely supported but missing on AIX
https://www.austingroupbugs.net/view.php?id=993
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Remove HAVE_DLFCN_H and HAVE_DLADDR (#123879)</title>
<updated>2025-01-22T16:15:10+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-01-22T16:15:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=58c6d440f8c24ef1532d12e50302e290e1907a87'/>
<id>58c6d440f8c24ef1532d12e50302e290e1907a87</id>
<content type='text'>
It is sufficient to just use `HAVE_DLOPEN`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is sufficient to just use `HAVE_DLOPEN`.</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Remove some unneeded HAVE_*_H</title>
<updated>2025-01-17T05:37:24+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-01-17T05:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f999b11e68c6377f718d0f05988af9852ca386ba'/>
<id>f999b11e68c6377f718d0f05988af9852ca386ba</id>
<content type='text'>
Pull Request: https://github.com/llvm/llvm-project/pull/123282
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull Request: https://github.com/llvm/llvm-project/pull/123282
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Remove some always-true HAVE_XXX_H</title>
<updated>2025-01-15T17:53:21+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2025-01-15T17:53:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1e53f9523d3d5fcb2993b4b6540f1ed8d743380b'/>
<id>1e53f9523d3d5fcb2993b4b6540f1ed8d743380b</id>
<content type='text'>
These are unneeded even on AIX, PURE_WINDOWS, and ZOS (per #104706)

* HAVE_ERRNO_H: introduced by 1a93330ffa2ae2aa0b49461f05e6f0d51e8443f8 (2009) but unneeded.
  The guarded ABI is unconditionally used by lldb.
* HAVE_FCNTL_H
* HAVE_FENV_H
* HAVE_SYS_STAT_H

Pull Request: https://github.com/llvm/llvm-project/pull/123087
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are unneeded even on AIX, PURE_WINDOWS, and ZOS (per #104706)

* HAVE_ERRNO_H: introduced by 1a93330ffa2ae2aa0b49461f05e6f0d51e8443f8 (2009) but unneeded.
  The guarded ABI is unconditionally used by lldb.
* HAVE_FCNTL_H
* HAVE_FENV_H
* HAVE_SYS_STAT_H

Pull Request: https://github.com/llvm/llvm-project/pull/123087
</pre>
</div>
</content>
</entry>
</feed>
