[PATCH] D112636: [DWARF] Adjust DW_AT_name/DW_AT_linkage_name checks

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 28 18:49:05 PDT 2021


dblaikie added a comment.

In D112636#3092097 <https://reviews.llvm.org/D112636#3092097>, @shchenz wrote:

> LGTM as long as @dblaikie comments are addressed.
>
> I think it is still worth investigating why llvm-dwarfdump emits tab instead of whitespace on AIX as a follow-up.

I think that got covered somewhere. It's that AIX uses direct rather than indirect strings, so they dump differently when using verbose dumping (verbose is used in some tests where it isn't needed because it was the default, so when the non-verbose behavior was added existing tests often got `-v` added to make them keep working rather than rewriting them to use the non-verbose output):

Direct string verbose dumping:

  DW_AT_name [DW_FORM_string]     ("f")

Indirect string verbose dumping:

  DW_AT_name [DW_FORM_strp]       ( .debug_str[0x0000009f] = "f")

So they both have tabs (between the `]` and the `(`) but the indirect also has some spaces, and doesn't have a paren immediately before the `"`.

I think in cases where we don't care about the form for the string, then `DW_AT_name {{.*}}"x"` is probably the most legible (ideally any test that can be moved away from using verbose output when they don't need it would be ideal - but that's more work, and a reasonable intermediate change to unblock AIX is to at least standardize the probelmatic/overly constrained string testing on this form-agnostic syntax)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112636



More information about the llvm-commits mailing list