Hi Gents, For those of us with out-of-tree backends which are not 32bit, the msp430 backend is a useful vehicle for examining changes and testing out ideas. So I was wondering about enabling debug output on the MSP430 backend so that I can illustrate a few issues to Adrian and you on the variable pieces side. (there doesn't appear to be any specific person claiming the msp430 code right now). I have a question tho. the following patch : diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp index df1aa1a..844db93 100644 --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp @@ -24,4 +24,6 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { AlignmentIsInBytes = false; UsesELFSectionDirectiveForBSS = true; + + SupportsDebugInformation = true; } does, indeed enable debug - but NOT .debug_frame (and IIRC some of the variable range info goes missing). it needs: diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp index df1aa1a..e7e0550 100644 --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp @@ -24,4 +24,7 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { AlignmentIsInBytes = false; UsesELFSectionDirectiveForBSS = true; + + SupportsDebugInformation = true; + ExceptionsType = ExceptionHandling::DwarfCFI; } to make the debug_frame stuff happen. Is that intentional? (it's not a big deal, just a bit non-intuitive for backends which have no exception support). cheers Iain
On 3 September 2014 10:32, Iain Sandoe <iain at codesourcery.com> wrote:> Hi Gents, > > For those of us with out-of-tree backends which are not 32bit, the msp430 backend is a useful vehicle for examining changes and testing out ideas. > > So I was wondering about enabling debug output on the MSP430 backend so that I can illustrate a few issues to Adrian and you on the variable pieces side. (there doesn't appear to be any specific person claiming the msp430 code right now). > > I have a question tho. > > the following patch : > > diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > index df1aa1a..844db93 100644 > --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > @@ -24,4 +24,6 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { > > AlignmentIsInBytes = false; > UsesELFSectionDirectiveForBSS = true; > + > + SupportsDebugInformation = true; > } > > > does, indeed enable debug - but NOT .debug_frame (and IIRC some of the variable range info goes missing). > > it needs: > > diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > index df1aa1a..e7e0550 100644 > --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > @@ -24,4 +24,7 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { > > AlignmentIsInBytes = false; > UsesELFSectionDirectiveForBSS = true; > + > + SupportsDebugInformation = true; > + ExceptionsType = ExceptionHandling::DwarfCFI; > } > > to make the debug_frame stuff happen. > > Is that intentional? > (it's not a big deal, just a bit non-intuitive for backends which have no exception support).I think that is the case. ExceptionsType is probably just a bad name for the frame unwind format. Cheers, Rafael
On Wed, Sep 3, 2014 at 12:57 PM, Rafael EspĂndola < rafael.espindola at gmail.com> wrote:> On 3 September 2014 10:32, Iain Sandoe <iain at codesourcery.com> wrote: > > Hi Gents, > > > > For those of us with out-of-tree backends which are not 32bit, the > msp430 backend is a useful vehicle for examining changes and testing out > ideas. > > > > So I was wondering about enabling debug output on the MSP430 backend so > that I can illustrate a few issues to Adrian and you on the variable pieces > side. (there doesn't appear to be any specific person claiming the msp430 > code right now). > > > > I have a question tho. > > > > the following patch : > > > > diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > index df1aa1a..844db93 100644 > > --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > @@ -24,4 +24,6 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { > > > > AlignmentIsInBytes = false; > > UsesELFSectionDirectiveForBSS = true; > > + > > + SupportsDebugInformation = true; > > } > > > > > > does, indeed enable debug - but NOT .debug_frame (and IIRC some of the > variable range info goes missing). > > > > it needs: > > > > diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > index df1aa1a..e7e0550 100644 > > --- a/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > +++ b/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp > > @@ -24,4 +24,7 @@ MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) { > > > > AlignmentIsInBytes = false; > > UsesELFSectionDirectiveForBSS = true; > > + > > + SupportsDebugInformation = true; > > + ExceptionsType = ExceptionHandling::DwarfCFI; > > } > > > > to make the debug_frame stuff happen. > > > > Is that intentional? > > (it's not a big deal, just a bit non-intuitive for backends which have > no exception support). > > I think that is the case. ExceptionsType is probably just a bad name > for the frame unwind format. >Yes. This is the case. -eric -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140903/3ec84f35/attachment.html>