Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1637014
| From | Josh Poimboeuf <jpoimboe@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 7/7] DWARF: add the config option |
| Date | 2017-05-07 23:50 +0200 |
| Message-ID | <tECdY-30b-11@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <tDKwV-1FQ-15@gated-at.bofh.it> <tDRyp-6eu-7@gated-at.bofh.it> <tECdY-30b-3@gated-at.bofh.it> <tECdY-30b-1@gated-at.bofh.it> <tECdY-30b-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sun, May 07, 2017 at 11:08:19AM -0700, hpa@zytor.com wrote: > On May 7, 2017 10:59:16 AM PDT, Ingo Molnar <mingo@kernel.org> wrote: > > > >* Josh Poimboeuf <jpoimboe@redhat.com> 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. > > > >That's something I've been thinking about as well: if objtool generates > >the > >unwinder data structures then the kernel is not directly exposed to > >tooling bugs > >anymore. > > > >A fair chunk of the fragility of DWARF comes from the fact that it's > >generated by > >a tool chain that we cannot fix as part of the kernel project. If GCC > >generates > >crap debuginfo, and GDB happens to work with it but the kernel not, > >we'll have to > >work it around in the kernel. If GCC starts bloating debuginfo in the > >future we > >are screwed as well, etc. > > > >If objtool generates debuginfo then it's _our_ responsibility to have > >sane > >unwinder info and we obviously manage its structure and size as well. > >Win-win. > > > >The unwinder itself should still do sanity checks, etc. (like all good > >debugging > >infrastructure code) - but the nature of the kernel's exposure to tool > >chain > >details changes in a very fundamental way. > > > >So yes, I think this is a very good idea, assuming it works in > >practice! ;-) > > > >Thanks, > > > > Ingo > > Can objtool verify the unwinder at each address in the kernel, or is that an AI-complete problem? It can't verify the *unwinder*, but it can verify the data which is fed to the unwinder (either DWARF or the structs I proposed above). For each function, it follows every possible code path, and it can keep track of the stack pointer while doing so. -- Josh
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-05 14:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Linus Torvalds <torvalds@linux-foundation.org> - 2017-05-05 22:00 +0200
Re: [PATCH 7/7] DWARF: add the config option Ingo Molnar <mingo@kernel.org> - 2017-05-06 09:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-10 09:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Kosina <jikos@kernel.org> - 2017-05-06 16:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Ingo Molnar <mingo@kernel.org> - 2017-05-07 23:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-07 23:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Vojtech Pavlik <vojtech@suse.com> - 2017-05-08 10:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-08 15:20 +0200
Re: [PATCH 7/7] DWARF: add the config option hpa@zytor.com - 2017-05-08 00:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-07 23:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@amacapital.net> - 2017-05-08 07:40 +0200
Re: [PATCH 7/7] DWARF: add the config option Ingo Molnar <mingo@kernel.org> - 2017-05-08 08:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-08 16:50 +0200
Re: [PATCH 7/7] DWARF: add the config option hpa@zytor.com - 2017-05-08 21:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@kernel.org> - 2017-05-09 02:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-09 03:40 +0200
Re: [PATCH 7/7] DWARF: add the config option Andy Lutomirski <luto@kernel.org> - 2017-05-09 04:40 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-09 05:40 +0200
Re: [PATCH 7/7] DWARF: add the config option hpa@zytor.com - 2017-05-09 12:10 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-09 17:00 +0200
Re: [PATCH 7/7] DWARF: add the config option "H.J. Lu" <hjl.tools@gmail.com> - 2017-05-09 18:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-10 10:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-10 15:10 +0200
Re: [PATCH 7/7] DWARF: add the config option "H.J. Lu" <hjl.tools@gmail.com> - 2017-05-10 18:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Kosina <jikos@kernel.org> - 2017-05-09 20:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-09 21:30 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-10 10:40 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-10 15:20 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-10 09:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Josh Poimboeuf <jpoimboe@redhat.com> - 2017-05-10 14:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Jiri Slaby <jslaby@suse.cz> - 2017-05-10 14:50 +0200
Re: [PATCH 7/7] DWARF: add the config option Linus Torvalds <torvalds@linux-foundation.org> - 2017-05-10 20:20 +0200
csiph-web