Thanks Tom for your comments. Please find the updated patch which include your suggestions. > is this tag check really needed? I want to keep this limited to functions. Regards, Alok -----Original Message----- From: Tom Tromey Sent: Friday, April 15, 2022 10:00 PM To: Sharma, Alok Kumar via Gdb-patches Cc: Sharma, Alok Kumar ; George, Jini Susan Subject: Re: [PATCH] Accept functions with DW_AT_linkage_name present [CAUTION: External Email] >>>>> Sharma, Alok Kumar via Gdb-patches writes: > Currently GDB is invalidating any function not havnig DW_AT_name which > is why it is not able to debug OpenMP (Clang). > It should be fair to fallback to check DW_AT_linkage_name in case > DW_AT_name is absent. Thank you for the patch. > - name = dwarf2_name (die, cu); > + if (dwarf2_name (die, cu)) > + name = dwarf2_name (die, cu); > + else > + name = dw2_linkage_name (die, cu); Nowadays we are preferring checks against nullptr rather than implicit decays to bool. Also I think it's better to call dwarf2_name less often, so I'd write this as: name = dwarf2_name (die, cu); if (name == nullptr) name = dw2_linkage_name (die, cu); > - name = dwarf2_name (die, cu); > + if (dwarf2_name (die, cu)) > + name = dwarf2_name (die, cu); > + else if (die->tag == DW_TAG_subprogram > + || die->tag == DW_TAG_subroutine_type > + || die->tag == DW_TAG_inlined_subroutine > + || die->tag == DW_TAG_entry_point) > + name = dw2_linkage_name (die, cu); Similar change here. Though ... is this tag check really needed? Tom