<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/arch/sh/include/asm/dwarf.h, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2025-06-07T13:16:21Z</updated>
<entry>
<title>sh: Replace __ASSEMBLY__ with __ASSEMBLER__ in all headers</title>
<updated>2025-06-07T13:16:21Z</updated>
<author>
<name>Thomas Huth</name>
<email>thuth@redhat.com</email>
</author>
<published>2025-03-14T07:10:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9cc646950eefda5605111cbc387b00b1f741c239'/>
<id>urn:sha1:9cc646950eefda5605111cbc387b00b1f741c239</id>
<content type='text'>
While the GCC and Clang compilers already define __ASSEMBLER__
automatically when compiling assembly code, __ASSEMBLY__ is a
macro that only gets defined by the Makefiles in the kernel.
This can be very confusing when switching between userspace
and kernelspace coding, or when dealing with uapi headers that
rather should use __ASSEMBLER__ instead. So let's standardize on
the __ASSEMBLER__ macro that is provided by the compilers now.

This is a completely mechanical patch (done with a simple "sed -i"
statement).

Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Cc: Rich Felker &lt;dalias@libc.org&gt;
Cc: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;
Cc: linux-sh@vger.kernel.org
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;
Signed-off-by: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;
</content>
</entry>
<entry>
<title>sh: include: convert to SPDX identifiers</title>
<updated>2018-12-28T20:11:45Z</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2018-12-28T08:31:53Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6a0abce4c4cce0890e2c930b960b9a05c8c6e5da'/>
<id>urn:sha1:6a0abce4c4cce0890e2c930b960b9a05c8c6e5da</id>
<content type='text'>
Update license to use SPDX-License-Identifier instead of verbose license
text.

Link: http://lkml.kernel.org/r/87ftvccszx.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Reviewed-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;
Cc: Rich Felker &lt;dalias@libc.org&gt;
Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sh: Optimise FDE/CIE lookup by using red-black trees</title>
<updated>2010-02-08T02:29:15Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2010-02-07T12:40:36Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=858918b77b29d0e9ce7f524d1b57d602d85f5d64'/>
<id>urn:sha1:858918b77b29d0e9ce7f524d1b57d602d85f5d64</id>
<content type='text'>
Now that the DWARF unwinder is being used to provide perf callstacks
unwinding speed is an issue. It is no longer being used in exceptional
circumstances where we don't care about runtime performance, e.g. when
panicing, so it makes sense improve performance is possible.

With this patch I saw a 42% improvement in unwind time when calling
return_address(1). Greater improvements will be seen as the number of
levels unwound increases as each unwind is now cheaper.

Note that insertion time has doubled but that's just the price we pay
for keeping the trees balanced. However, this is a one-time cost for
kernel boot/module load and so the improvements in lookup time dominate
the extra time we spend keeping the trees balanced.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Tidy up the dwarf module helpers.</title>
<updated>2009-10-13T04:32:19Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-10-13T04:32:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5a3abba77dc0eb0b00332c21899123cdfa3b19e5'/>
<id>urn:sha1:5a3abba77dc0eb0b00332c21899123cdfa3b19e5</id>
<content type='text'>
This enables us to build the dwarf unwinder both with modules enabled and
disabled in addition to reducing code size in the latter case. The
helpers are also consolidated, and modified to resemble the BUG module
helpers.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Generalize CALLER_ADDRx support.</title>
<updated>2009-10-13T04:10:14Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-10-13T04:10:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ac4fac8cb24ab209ae373a3e3e9995dff7d0c394'/>
<id>urn:sha1:ac4fac8cb24ab209ae373a3e3e9995dff7d0c394</id>
<content type='text'>
This splits out the unwinder implementation and adds a new
return_address() abstraction modelled after the ARM code. The DWARF
unwinder is tied in to this, returning NULL otherwise in the case of
being unable to support arbitrary depths.

This enables us to get correct behaviour with the unwinder enabled,
as well as disabling the arbitrary depth support when frame pointers are
enabled, as arbitrary depths with __builtin_return_address() are not
supported regardless.

With this abstraction it's also possible to layer on a simplified
implementation with frame pointers in the event that the unwinder isn't
enabled, although this is left as a future exercise.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sh/dwarf-unwinder'</title>
<updated>2009-10-11T23:50:07Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-10-11T23:50:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8ec006c58775869175edee3d23f4525b6df2935a'/>
<id>urn:sha1:8ec006c58775869175edee3d23f4525b6df2935a</id>
<content type='text'>
Conflicts:
	arch/sh/kernel/dwarf.c
</content>
</entry>
<entry>
<title>sh: Fix memory leak in dwarf_unwind_stack()</title>
<updated>2009-10-11T16:12:28Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-10-10T15:03:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ed4fe7f488008f38d5f423f0bcc736b1779d6ddc'/>
<id>urn:sha1:ed4fe7f488008f38d5f423f0bcc736b1779d6ddc</id>
<content type='text'>
If we broke out of the while (1) loop because the return address of
"frame" was zero, then "frame" needs to be free'd before we return.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
</content>
</entry>
<entry>
<title>sh: Teach the DWARF unwinder about modules</title>
<updated>2009-10-11T15:41:44Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-10-09T22:20:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a6a2f2ad67506090e332f440457553c0ec011d68'/>
<id>urn:sha1:a6a2f2ad67506090e332f440457553c0ec011d68</id>
<content type='text'>
Pass a module's .eh_frame section to the DWARF unwinder at module load
time so that the section's FDEs and CIEs can be registered with the
DWARF unwinder. This allows us to unwind the stack through module code
when generating backtraces.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
</content>
</entry>
<entry>
<title>sh: unwinder: Fix up uninitialized variable warnings on sh2a build.</title>
<updated>2009-08-31T04:47:06Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-31T04:47:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2f6dafc5fcbf3fddce345c47da1f277a156fe22a'/>
<id>urn:sha1:2f6dafc5fcbf3fddce345c47da1f277a156fe22a</id>
<content type='text'>
A couple of these popped up on the sh2a build, causing build failures.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Handle the DWARF op, DW_CFA_undefined</title>
<updated>2009-08-21T12:04:11Z</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-08-20T18:53:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5580e9044df9c0e87861739d8c527006ead92e52'/>
<id>urn:sha1:5580e9044df9c0e87861739d8c527006ead92e52</id>
<content type='text'>
Allow a DWARF register to have an undefined value. When applied to the
DWARF return address register this lets lets us label a function as
having no direct caller, e.g. kernel_thread_helper().

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
</content>
</entry>
</feed>
