[PATCH] D78778: Add SupportsDebugUnwindInformation to MCAsmInfo

Venkata Ramanaiah Nalamothu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 09:49:42 PDT 2020


RamNalamothu added a comment.

In D78778#2300827 <https://reviews.llvm.org/D78778#2300827>, @probinson wrote:

> I haven't touched the streamer side of AsmPrinter in a long time, but...
> On PS4 we default to `-fno-exceptions` and while the section ends up named `.eh_frame` instead of `.debug_frame` the content is fine; we've had no complaints from our debugger folks.  Aside from the introduction of the .cfi directives (which you do want), I'm not aware that there's any codegen consequence to this combination.
> So, I'm not clear why a special streamer is really necessary.

A special streamer is a straight forward and minimal changes approach we could arrive at as a means to solve the following concerns observed with the current implementation.

1. Today, with //`-fno-exceptions`//, the command line option //`--force-dwarf-frame-section`// of llc doesn't do what it should as per D67216 <https://reviews.llvm.org/D67216> i.e. a  //`.debug_frame`// is not generated
2. The //`.eh_frame`// needs to be an `ALLOC` section and generating //`.eh_frame`// in every scenario means an increase in memory foot print which could be a significant factor for targets which just want unwind information for debug
3. Ideally //`-fasynchronous-unwind-tables`// may want to generate //`.debug_frame`// instead of a //`.eh_frame`//. Some relevant discussion is here <http://lists.llvm.org/pipermail/lldb-dev/2014-October/005541.html> on lldb-dev list

Also, there was a long discussion, here <http://lists.llvm.org/pipermail/cfe-dev/2014-February/035154.html> and here <http://lists.llvm.org/pipermail/llvm-dev/2014-March/071244.html>, on separating the unwind support from exceptions handling logic in the past as well and some how that discussion did not end up with a patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78778/new/

https://reviews.llvm.org/D78778



More information about the llvm-commits mailing list