Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1645923 > unrolled thread
| Started by | Josh Poimboeuf <jpoimboe@redhat.com> |
|---|---|
| First post | 2017-05-19 23:00 +0200 |
| Last post | 2017-05-19 23:10 +0200 |
| Articles | 4 on this page of 24 — 7 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-19 23:00 +0200
Re: [PATCH 7/7] DWARF: add the config option "H. Peter Anvin" <hpa@zytor.com> - 2017-05-19 23:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-19 23:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-19 23:40 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@kernel.org> - 2017-05-20 07:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-20 18:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-20 19:20 +0200
Re: [PATCH 7/7] DWARF: add the config option "H.J. Lu" <hjl.tools@gmail.com> - 2017-05-20 22:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@kernel.org> - 2017-05-21 00:00 +0200
Re: [PATCH 7/7] DWARF: add the config option "H.J. Lu" <hjl.tools@gmail.com> - 2017-05-21 00:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Kosina <jikos@kernel.org> - 2017-05-22 13:40 +0200
Re: [PATCH 7/7] DWARF: add the config option "H.J. Lu" <hjl.tools@gmail.com> - 2017-05-22 16:50 +0200
Re: [PATCH 7/7] DWARF: add the config option "H. Peter Anvin" <hpa@zytor.com> - 2017-05-22 23:20 +0200
Re: [PATCH 7/7] DWARF: add the config option "H. Peter Anvin" <hpa@zytor.com> - 2017-05-22 23:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-23 00:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Linus Torvalds <torvalds@linux-foundation.org> - 2017-05-20 22:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@kernel.org> - 2017-05-21 00:00 +0200
Re: [PATCH 7/7] DWARF: add the config option Linus Torvalds <torvalds@linux-foundation.org> - 2017-05-21 01:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Linus Torvalds <torvalds@linux-foundation.org> - 2017-05-21 01:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Ingo Molnar <mingo@kernel.org> - 2017-05-22 13:20 +0200
Re: [PATCH 7/7] DWARF: add the config option "H. Peter Anvin" <hpa@zytor.com> - 2017-05-22 23:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Kosina <jikos@kernel.org> - 2017-05-23 01:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Ingo Molnar <mingo@kernel.org> - 2017-05-23 07:50 +0200
Re: [PATCH 7/7] DWARF: add the config option "H. Peter Anvin" <hpa@zytor.com> - 2017-05-19 23:10 +0200
Page 2 of 2 — ← Prev page 1 [2]
| From | "H. Peter Anvin" <hpa@zytor.com> |
|---|---|
| Date | 2017-05-22 23:30 +0200 |
| Message-ID | <tK33P-2tD-1@gated-at.bofh.it> |
| In reply to | #1646754 |
On 05/22/17 04:12, Ingo Molnar wrote: \>> >> This construct might be useful for other arches, which is why I called >> it "FP" instead of "BP". But then I ruined that with the last 3 :-) > > Please call it BP - 'FP' can easily be read as floating-point, making it all > super-confusing. We should use canonical x86 register names and ordering - even > if not all registers are used straight away. > Seriously, I suspect that at the end of the day we will have reinvented DWARF. -hpa
[toc] | [prev] | [next] | [standalone]
| From | Jiri Kosina <jikos@kernel.org> |
|---|---|
| Date | 2017-05-23 01:30 +0200 |
| Message-ID | <tK4VX-3CT-3@gated-at.bofh.it> |
| In reply to | #1647410 |
On Mon, 22 May 2017, H. Peter Anvin wrote: > > Please call it BP - 'FP' can easily be read as floating-point, making > > it all super-confusing. We should use canonical x86 register names and > > ordering - even if not all registers are used straight away. > > Seriously, I suspect that at the end of the day we will have reinvented > DWARF. If this is the fear, what is the proposal then? We simply have to deal with !FRAME_POINTER builds. Thanks, -- Jiri Kosina SUSE Labs
[toc] | [prev] | [next] | [standalone]
| From | Ingo Molnar <mingo@kernel.org> |
|---|---|
| Date | 2017-05-23 07:50 +0200 |
| Message-ID | <tKaRI-7kh-7@gated-at.bofh.it> |
| In reply to | #1647410 |
* H. Peter Anvin <hpa@zytor.com> wrote: > On 05/22/17 04:12, Ingo Molnar wrote: > \>> > >> This construct might be useful for other arches, which is why I called > >> it "FP" instead of "BP". But then I ruined that with the last 3 :-) > > > > Please call it BP - 'FP' can easily be read as floating-point, making it all > > super-confusing. We should use canonical x86 register names and ordering - even > > if not all registers are used straight away. > > > > Seriously, I suspect that at the end of the day we will have reinvented > DWARF. Absolutely - the main difference is: - the debug-info implementation is _internal_ to the kernel so it can be fixed instead of "oh, wait 2 years for the toolchain to fix this particular bug, work it around in the kernel meanwhile" kind of crazy flow and dependencies. I.e. the debug-info generation and parsing code is both part of the kernel Git tree and can be iterated (and fixed) at once with. - the debug-info is auto-generated for assembly as well, leaving assembly code maintainable. - the debug-info has a sane data structure designed for robustness and compactness So even if it's a subset of the existing complexity of dwarf et al we are still literally infinitely better off with this model. Thanks, Ingo
[toc] | [prev] | [next] | [standalone]
| From | "H. Peter Anvin" <hpa@zytor.com> |
|---|---|
| Date | 2017-05-19 23:10 +0200 |
| Message-ID | <tIXjQ-7UF-17@gated-at.bofh.it> |
| In reply to | #1645923 |
On 05/19/17 13:53, Josh Poimboeuf wrote: >> >> One instance of the structure would exist for each time the stack >> pointer changes, e.g. for every function entry, push/pop, and rsp >> add/subtract. The data could be assembled and sorted offline, possibly >> derived from DWARF, or more likely, generated by objtool. After doing >> some rough calculations, I think the section size would be comparable to >> the sizes of the DWARF .eh_frame sections it would replace. >> >> If it worked, the "undwarf" unwinder would be a lot simpler than a real >> DWARF unwinder. And validating the sanity of the data at runtime would >> be a lot more straightforward. It could ensure that each stack pointer >> is within the bounds of the current stack, like our current unwinder >> does. > > I've been hacking away at this, and so far it's working well. The code > is much simpler than a DWARF unwinder. Right now the kernel piece is > only ~350 lines of code. The vast majority of the changes are in > objtool. > > It's now successfully unwinding through entry code and most other asm > files, dumping entry regs, dealing with aligned stacks, dynamic stacks, > etc. > > Here's the struct in its current state: How are you handling control flow? -hpa
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web