jankratochvil accepted this revision. jankratochvil added a comment. This revision is now accepted and ready to land.
In D82378#2111675 <https://reviews.llvm.org/D82378#2111675>, @labath wrote: > It's not related, at least not directly. My goal was to prove `UnwindAssembly_x86::AugmentUnwindPlanFromCallSite` is no longer useful nowadays. It was trying to detect situation where both: - `.eh_frame` exists - `.eh_frame` does not unwind prologue I cannot force clang/gcc to produce such `.eh_frame`, IMO it should be produced with `-funwind-tables -fno-asynchronous-unwind-tables` but that does produce the same as `-fasynchronous-unwind-tables`. Whether the compiler has some unwind info incompleteness/bugs is not important, the quality of `.eh_frame` from recent clang+gcc is always better than any fallbacks LLDB has. So given `UnwindAssembly_x86::AugmentUnwindPlanFromCallSite` is no longer useful and it can (I think it still can sometimes) falsely discard a good `.eh_frame` section it would be best to disable `UnwindAssembly_x86::AugmentUnwindPlanFromCallSite` for new compilers. The question is how to detect "new compilers" without needing DWARF, my only idea is to do it by checking existence of section `.gnu.build.attributes`. If some Linux distribution still does not have `.gnu.build.attributes` does not matter, it is only a backward compatible improvement of current situation. I will post a patch for that as I have hijacked this bug. > And if there's one bug/incompleteness, there could very well be others, so I > was also alluding to the fact that we might need to have some sort of an > "augmentation framework" for the forseeable future. However, it could very > well be the case that we no longer need to augment epilogue data, and if > that's the case deleting the code for doing that would be great (but for that > someone would need to investigate the epilogue behavior of different > compilers more closely). I do not see any specific case needing augmentation for code from new compilers. "deleting the code" - if you mean one does not need to detect `.gnu.build.attributes` (or some other way) to detect new compilers and rather just assume any code is from a new enough compiler it is even better (and I agree). > Well... I don't think that's an improvement. :/ This section seems to be > present only on some flavours of linux (my distro doesn't have it), When it somewhere is an improvement and somewhere it has no effect I find it still as an improvement. > So, I don't see the reason for changing the current detection algorithm. I mean to discard the current detection if there is possible a more safe detection. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82378/new/ https://reviews.llvm.org/D82378 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits