folly::symbolizer: drop templated FrameArray from test functions and move test...
folly::symbolizer: drop templated FrameArray from test functions and move test functions to separate compilation unit with minimal dependencies Summary: Eliminate `#include` dependencies of `SymbolizerTestUtils.cpp` so that the `.o` file with interesting debug info is tiny and easily inspectable. - Instead of calling test functions that need to be inlined from the `SymbolizerTest.o` use `call_` trampolines so that the inlined debug info is generated in the minimal/tiny `SymbolizerTestUtils.o`. --- Remove the frames template argument so that: - removed dependencies from the SymbolizerTestUtils to minimize generated debug info (no longer need to include headers about FrameArray). - all functions used in tests can be made regular functions - all functions who's debug info is interesting to debug can be easily emitted in a single object file `SymbolizerTestUtils.o` Reduce some of the copy-pasta that made test noisy by grouping together function name, file and lineno. --- Test for either fullName/shortName (`DW_AT_linkage_name`/`DW_AT_name`) - fullName: demangled function name with namespace, qualifiers, argument types, etc. and - shortName: simple function name to support both cases when either both `DW_AT_linkage_name` and `DW_AT_name` or a single one of them is emitted. - When `DW_AT_linkage_name` (full mangled name) and `DW_AT_name` (just the function name) match, DWARF emitters omit `DW_AT_linkage_name` (to save space). With `-fsplit-dwarf-inlining` only `DW_AT_name` is emitted in `.debug_info` and the `DW_AT_linkage_name` is emitted in the `.debug_info.dwo` sections. Differential Revision: D25712808 fbshipit-source-id: 88d2ac22564e3d607fb3864d37e49892a5eaf002
Showing
Please register or sign in to comment