<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/lldb/source/Plugins/Process/Linux/Procfs.h, branch users/nico/python-2</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>[Linux] Add kernel.yama.ptrace_scope note when ptrace fails to attach.</title>
<updated>2023-03-02T21:51:30+00:00</updated>
<author>
<name>Jordan Rupprecht</name>
<email>rupprecht@google.com</email>
</author>
<published>2023-03-02T21:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6db44e52ce474bbeb66042073a6e3c6c586f78a2'/>
<id>6db44e52ce474bbeb66042073a6e3c6c586f78a2</id>
<content type='text'>
A common reason for LLDB failing to attach to an already-running process on Linux is the Yama security module: https://www.kernel.org/doc/Documentation/security/Yama.txt. This patch adds an explaination and suggested fix when it detects that case happening.

This was previously proposed in D106226, but hasn't been updated in a while. The last request was to put the check in a target-specific location, which is the approach this patch takes. I believe Yama only exists on Linux, so it's put in that package.

This has no end-to-end test because I'm not sure how to set `ptrace_scope` in a test environment -- if there are suggestions on how to do that, I'd be happy to add it. (Also, setting it to `3` is comically irreversible). I tested this locally.

Reviewed By: DavidSpickett, labath

Differential Revision: https://reviews.llvm.org/D144904
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A common reason for LLDB failing to attach to an already-running process on Linux is the Yama security module: https://www.kernel.org/doc/Documentation/security/Yama.txt. This patch adds an explaination and suggested fix when it detects that case happening.

This was previously proposed in D106226, but hasn't been updated in a while. The last request was to put the check in a target-specific location, which is the approach this patch takes. I believe Yama only exists on Linux, so it's put in that package.

This has no end-to-end test because I'm not sure how to set `ptrace_scope` in a test environment -- if there are suggestions on how to do that, I'd be happy to add it. (Also, setting it to `3` is comically irreversible). I tested this locally.

Reviewed By: DavidSpickett, labath

Differential Revision: https://reviews.llvm.org/D144904
</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] Remove obsolete Android-specific definitions</title>
<updated>2022-08-24T21:47:13+00:00</updated>
<author>
<name>Pirama Arumuga Nainar</name>
<email>pirama@google.com</email>
</author>
<published>2022-08-24T21:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ee9d52a2819668c746aa66e7d628cce04bedbd17'/>
<id>ee9d52a2819668c746aa66e7d628cce04bedbd17</id>
<content type='text'>
Bionic's &lt;sys/procfs.h&gt; defines the necessary symbols.  Remove the
specialization for Android and the now-unnecessary include of
&lt;sys/ptrace.h&gt;.  This also helps resolve issues when building the
x86/x86_64 lldb-server for Android.

Curiously, the default branch to include &lt;sys/procfs.h&gt; doesn't seem
necessary on Linux.  I'll remove it and add it back if it breaks other
builders.

Differential Revision: https://reviews.llvm.org/D132514
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bionic's &lt;sys/procfs.h&gt; defines the necessary symbols.  Remove the
specialization for Android and the now-unnecessary include of
&lt;sys/ptrace.h&gt;.  This also helps resolve issues when building the
x86/x86_64 lldb-server for Android.

Curiously, the default branch to include &lt;sys/procfs.h&gt; doesn't seem
necessary on Linux.  I'll remove it and add it back if it breaks other
builders.

Differential Revision: https://reviews.llvm.org/D132514
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][lldb][trace] Fix formatting of tracing files</title>
<updated>2022-08-11T18:00:26+00:00</updated>
<author>
<name>Walter Erquinigo</name>
<email>wallace@fb.com</email>
</author>
<published>2022-08-11T16:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4fb631ceeeff2a292cc9cf5232b491afe09744d'/>
<id>c4fb631ceeeff2a292cc9cf5232b491afe09744d</id>
<content type='text'>
Pavel Labath taught me that clang-format sorts headers automatically
using llvm's rules, and it's better not to have spaces between

So in this diff I'm removing those spaces and formatting them as well.

I used `clang-format -i` to format these files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pavel Labath taught me that clang-format sorts headers automatically
using llvm's rules, and it's better not to have spaces between

So in this diff I'm removing those spaces and formatting them as well.

I used `clang-format -i` to format these files.
</pre>
</div>
</content>
</entry>
<entry>
<title>[trace][intelpt] Support system-wide tracing [20] - Rename some fields in the schema</title>
<updated>2022-06-16T18:42:22+00:00</updated>
<author>
<name>Walter Erquinigo</name>
<email>wallace@fb.com</email>
</author>
<published>2022-06-14T22:53:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6a5355e8a159bd9c058d4fbba2a87e0465fe0dc7'/>
<id>6a5355e8a159bd9c058d4fbba2a87e0465fe0dc7</id>
<content type='text'>
As discusses offline with @jj10305, we are updating some naming used throughout the code, specially in the json schema

- traceBuffer -&gt; iptTrace
- core -&gt; cpu

Differential Revision: https://reviews.llvm.org/D127817
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As discusses offline with @jj10305, we are updating some naming used throughout the code, specially in the json schema

- traceBuffer -&gt; iptTrace
- core -&gt; cpu

Differential Revision: https://reviews.llvm.org/D127817
</pre>
</div>
</content>
</entry>
<entry>
<title>[trace][intelpt] Support system-wide tracing [4] - Support per core tracing on lldb-server</title>
<updated>2022-05-17T19:46:54+00:00</updated>
<author>
<name>Walter Erquinigo</name>
<email>wallace@fb.com</email>
</author>
<published>2022-05-03T02:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1f49714d3e19502753fcea7ad8378a194222328f'/>
<id>1f49714d3e19502753fcea7ad8378a194222328f</id>
<content type='text'>
This diffs implements per-core tracing on lldb-server. It also includes tests that ensure that tracing can be initiated from the client and that the jLLDBGetState ppacket returns the list of trace buffers per core.

This doesn't include any decoder changes.

Finally, this makes some little changes here and there improving the existing code.

A specific piece of code that can't reliably be tested is when tracing
per core fails due to permissions. In this case we add a
troubleshooting message and this is the manual test:

```
/proc/sys/kernel/perf_event_paranoid set to 1

(lldb) process trace start --per-core-tracing                                         error: perf event syscall failed: Permission denied
 You might need that /proc/sys/kernel/perf_event_paranoid has a value of 0 or -1.
``

Differential Revision: https://reviews.llvm.org/D124858
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This diffs implements per-core tracing on lldb-server. It also includes tests that ensure that tracing can be initiated from the client and that the jLLDBGetState ppacket returns the list of trace buffers per core.

This doesn't include any decoder changes.

Finally, this makes some little changes here and there improving the existing code.

A specific piece of code that can't reliably be tested is when tracing
per core fails due to permissions. In this case we add a
troubleshooting message and this is the manual test:

```
/proc/sys/kernel/perf_event_paranoid set to 1

(lldb) process trace start --per-core-tracing                                         error: perf event syscall failed: Permission denied
 You might need that /proc/sys/kernel/perf_event_paranoid has a value of 0 or -1.
``

Differential Revision: https://reviews.llvm.org/D124858
</pre>
</div>
</content>
</entry>
<entry>
<title>[trace][intelpt] Support system-wide tracing [1] - Add a method for accessing the list of logical core ids</title>
<updated>2022-05-02T15:48:49+00:00</updated>
<author>
<name>Walter Erquinigo</name>
<email>wallace@fb.com</email>
</author>
<published>2022-04-27T19:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5de0a3e9da721189dd648a90e87829d375c5d17f'/>
<id>5de0a3e9da721189dd648a90e87829d375c5d17f</id>
<content type='text'>
In order to open perf events per core, we need to first get the list of
core ids available in the system. So I'm adding a function that does
that by parsing /proc/cpuinfo. That seems to be the simplest and most
portable way to do that.

Besides that, I made a few refactors and renames to reflect better that
the cpu info that we use in lldb-server comes from procfs.

Differential Revision: https://reviews.llvm.org/D124573
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to open perf events per core, we need to first get the list of
core ids available in the system. So I'm adding a function that does
that by parsing /proc/cpuinfo. That seems to be the simplest and most
portable way to do that.

Besides that, I made a few refactors and renames to reflect better that
the cpu info that we use in lldb-server comes from procfs.

Differential Revision: https://reviews.llvm.org/D124573
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T08:50:56+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T08:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2946cd701067404b99c39fb29dc9c74bd7193eb3'/>
<id>2946cd701067404b99c39fb29dc9c74bd7193eb3</id>
<content type='text'>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</pre>
</div>
</content>
</entry>
<entry>
<title>*** This commit represents a complete reformatting of the LLDB source code</title>
<updated>2016-09-06T20:57:50+00:00</updated>
<author>
<name>Kate Stone</name>
<email>katherine.stone@apple.com</email>
</author>
<published>2016-09-06T20:57:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b9c1b51e45b845debb76d8658edabca70ca56079'/>
<id>b9c1b51e45b845debb76d8658edabca70ca56079</id>
<content type='text'>
*** to conform to clang-format’s LLVM style.  This kind of mass change has
*** two obvious implications:

Firstly, merging this particular commit into a downstream fork may be a huge
effort.  Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit.  The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):

    find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
    find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;

The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.

Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit.  There are alternatives available that will attempt
to look through this change and find the appropriate prior commit.  YMMV.

llvm-svn: 280751
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*** to conform to clang-format’s LLVM style.  This kind of mass change has
*** two obvious implications:

Firstly, merging this particular commit into a downstream fork may be a huge
effort.  Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit.  The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):

    find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
    find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;

The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.

Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit.  There are alternatives available that will attempt
to look through this change and find the appropriate prior commit.  YMMV.

llvm-svn: 280751
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused mips typedefs.</title>
<updated>2015-12-12T02:13:17+00:00</updated>
<author>
<name>Oleksiy Vyalov</name>
<email>ovyalov@google.com</email>
</author>
<published>2015-12-12T02:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9497cc2bf8c9664263e62be2510daab3353d61fc'/>
<id>9497cc2bf8c9664263e62be2510daab3353d61fc</id>
<content type='text'>
llvm-svn: 255419
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 255419
</pre>
</div>
</content>
</entry>
<entry>
<title>Move register reading form NativeProcessLinux to NativeRegisterContextLinux*</title>
<updated>2015-05-26T11:58:52+00:00</updated>
<author>
<name>Tamas Berghammer</name>
<email>tberghammer@google.com</email>
</author>
<published>2015-05-26T11:58:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=068f8a7e2d7ece12cc00726bb2e6df180b217848'/>
<id>068f8a7e2d7ece12cc00726bb2e6df180b217848</id>
<content type='text'>
This change reorganize the register read/write code inside lldb-server on Linux
with moving the architecture independent code into a new class called
NativeRegisterContextLinux and all of the architecture dependent code into the
appropriate NativeRegisterContextLinux_* class. As part of it the compilation of
the architecture specific register contexts are only compiled on the specific
architecture because they can't be used in other cases.

The purpose of this change is to remove a lot of duplicated code from the different
register contexts and to remove the architecture dependent codes from the global
NativeProcessLinux class.

Differential revision: http://reviews.llvm.org/D9935

llvm-svn: 238196
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change reorganize the register read/write code inside lldb-server on Linux
with moving the architecture independent code into a new class called
NativeRegisterContextLinux and all of the architecture dependent code into the
appropriate NativeRegisterContextLinux_* class. As part of it the compilation of
the architecture specific register contexts are only compiled on the specific
architecture because they can't be used in other cases.

The purpose of this change is to remove a lot of duplicated code from the different
register contexts and to remove the architecture dependent codes from the global
NativeProcessLinux class.

Differential revision: http://reviews.llvm.org/D9935

llvm-svn: 238196
</pre>
</div>
</content>
</entry>
</feed>
