Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1647440

Re: [PATCH 7/7] DWARF: add the config option

From Josh Poimboeuf <jpoimboe@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH 7/7] DWARF: add the config option
Date 2017-05-23 00:20 +0200
Message-ID <tK3Qd-30F-9@gated-at.bofh.it> (permalink)
References (5 earlier) <tJ57H-549-1@gated-at.bofh.it> <tJfqp-3NM-1@gated-at.bofh.it> <tJiRj-65n-1@gated-at.bofh.it> <tK2Ua-2m2-33@gated-at.bofh.it> <tK3nb-2zS-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, May 22, 2017 at 02:37:50PM -0700, H. Peter Anvin wrote:
> On 05/22/17 14:07, H. Peter Anvin wrote:
> > On 05/20/17 13:01, H.J. Lu wrote:
> >> On Sat, May 20, 2017 at 9:20 AM, Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> >>
> >>>>
> >>>> (H.J., could we get a binutils feature that allows is to do:
> >>>>
> >>>> pushq %whatever
> >>>> .cfi_adjust_sp -8
> >>>> ...
> >>>> popq %whatever
> >>>> .cfi_adjust_sp 8
> >>>>
> >>
> >> Np.  Compiler needs to generate this.
> >>
> > 
> > For actual assembly we have such a feature, it is called macros.
> > 
> > push/pop is the easy stuff; macros take care of that, but the real pain
> > is dealing with the flow of control.
> > 
> 
> My biggest beef with the CFI directives that gas uses is that there is
> that .cfi_remember_state/.cfi_restore_state doesn't have a way to
> specify more than one state.  That makes it really hard to get sanity
> around control flow changes, especially with code that is intentionally
> out of line.
> 
> That, and some of the CFI directives seem to be a bit ill-defined in
> their definition (are they even applicable to anything other than
> DWARF?)  They almost seem to be referencing some external specification,
> but the only thing I'm finding is the DWARF documentation which is
> written in very different terms.
> 
> The best description of what a personality routine is I found in an
> article by Ian Lance Taylor.  It doesn't seem to be applicable to C as
> far as I can tell.

So my understanding is that there's stock DWARF (.debug_frame) and then
there's souped-up DWARF (.eh_frame), which is basically DWARF with a few
extensions.

The remember/restore state thing is stock DWARF (DW_CFA_remember_state
and DW_CFA_restore_state).  The personality routine thing is in the
.eh_frame extension which is documented here:

  http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html

-- 
Josh

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

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

csiph-web