It doesn't unwind, and the wrong marking leads to the creation of an .eh_frame section when it isn't necessary.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Given that .eh_frame sections can be used to create backtraces i.e. from signal handlers, this seems to be undesirable in the generality. Shouldn't this attribute be conditional on whether functions are normally supposed to have unwind data?
Comment Actions
Are you asking about the case where -fasynchronous-unwind-tables is enabled? We normally represent that using the uwtable attribute. Not sure how we would decide whether we need the uwtable attribute; I guess we could scan the module and check if there are any other functions marked uwtable.
Comment Actions
Yes, if that option is enabled explicitly or implicitly in the frontend, the expectation is that all compiler-generated functions have uwtable as well.