public inbox for dwz@sourceware.org
 help / color / mirror / Atom feed
From: "E, Nagajyothi" <Nagajyothi.E@amd.com>
To: Mark Wielaard <mark@klomp.org>,
	"dwz@sourceware.org" <dwz@sourceware.org>
Cc: "George, Jini Susan" <JiniSusan.George@amd.com>,
	"Achra, Nitika" <Nitika.Achra@amd.com>,
	"Sharma, Alok Kumar" <AlokKumar.Sharma@amd.com>,
	"Parasuraman, Hariharan" <Hariharan.Parasuraman@amd.com>,
	"E, Nagajyothi" <Nagajyothi.E@amd.com>
Subject: RE: [PATCH 1/2] Support for clang-generated DWARF5 sections .debug_addr/.debug_str_offsets
Date: Wed, 19 May 2021 17:22:36 +0000	[thread overview]
Message-ID: <CH0PR12MB5265E9E869A4CFE5FC0C5AE5962B9@CH0PR12MB5265.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CH0PR12MB52659E9758818EBFDFE85EA8962E9@CH0PR12MB5265.namprd12.prod.outlook.com>

[AMD Official Use Only - Internal Distribution Only]

Hi,

One known issue with this initial patch is that it may not handle string references of strx[1|2|3|4] forms in partial units from multiple CUs correctly. Right now a single cu_str_offsets_base value is recorded with the partial unit, from the first encountered DIE. This does not produce failures in the testsuite, but may fail with other applications. A proper fix for this will be provided in a subsequent patch.

Thanks,
Jyothi

-----Original Message-----
From: E, Nagajyothi <Nagajyothi.E@amd.com>
Sent: Sunday, May 16, 2021 4:59 PM
To: Mark Wielaard <mark@klomp.org>; dwz@sourceware.org
Cc: George, Jini Susan <JiniSusan.George@amd.com>; Achra, Nitika <Nitika.Achra@amd.com>; Sharma, Alok Kumar <AlokKumar.Sharma@amd.com>; E, Nagajyothi <Nagajyothi.E@amd.com>; Parasuraman, Hariharan <Hariharan.Parasuraman@amd.com>
Subject: [PATCH 1/2] Support for clang-generated DWARF5 sections .debug_addr/.debug_str_offsets

[AMD Official Use Only - Internal Distribution Only]

Hi,

Please review and commit the attached patch to support clang-generated DWARF5 debug sections .debug_addr and .debug_str_offsets.
This patch does not address ODR and multifile support, which will be added through subsequent patches. Due to this, the ODR tests and cycle.sh of the testsuite fail during 'make check'.

The accompanying testsuite patch may be used while running
	 make check CC="clang -gdwarf-5" CXX="clang++ -gdwarf-5"
to avoid test failures due to readelf, as readelf does not support some of the strx forms generated by clang.

Thanks,
Nagajyothi

-----Original Message-----
From: Mark Wielaard <mark@klomp.org>
Sent: Thursday, February 18, 2021 8:15 PM
To: E, Nagajyothi <Nagajyothi.E@amd.com>; dwz@sourceware.org
Cc: George, Jini Susan <JiniSusan.George@amd.com>; Achra, Nitika <Nitika.Achra@amd.com>; Sharma, Alok Kumar <AlokKumar.Sharma@amd.com>
Subject: Re: Plan to contribute for supporting split dwarf (-gsplit-dwarf) in dwz

[CAUTION: External Email]

Hi Nagajyothi,

On Wed, 2021-02-17 at 05:53 +0000, E, Nagajyothi via Dwz wrote:
> I am working on adding support for the dwarf5 .debug_str_offsets, 
> .debug_addr sections and the related forms DW_FORM_strx[1234], DW_FORM_addrx[1234].
> Please let me know if anyone has already started work on these.

Thanks, I don't believe anybody is working on this right now.

There is already a bug for .debug_addr/DW_FORM_addrx[1234] support:
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceware.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D27375&amp;data=04%7C01%7CNagajyothi.E%40amd.com%7C37c0fb4399464264b01808d8d41bcb9c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637492563147320988%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=7AjB%2BXKo9J5gTlW1CeEhHXZykYKB2vFZ%2BTnBQvW4%2BIA%3D&amp;reserved=0
I think this shouldn't be too hard. Any DIE that references an address cannot be moved to an alt file, so simply mark it with die_no_multifile. We do try to optimize DW_AT_low/high_pc attribute pairs, so double check that doesn't interfere with DW_FORM_addrx[1234] processing.

Also note that there are two new location operations DW_OP_addrx and DW_OP_constx that can reference the .debug_addr section index.

As a followup you could try optimizing things, but then you need to keep track of all the addresses used and see if there are duplicates that could be turned into a (smaller) DW_FORM_addrx[1234] index. But I would keep that separate from the initial implementation.

For .debug_str_offset/DW_FORM_strx[1234] I opened a new bug.
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceware.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D27434&amp;data=04%7C01%7CNagajyothi.E%40amd.com%7C37c0fb4399464264b01808d8d41bcb9c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637492563147330979%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=AqQRLjgKh9h7YHPIr4wDiqP1rRTXz2kG6IZlAT0SaSQ%3D&amp;reserved=0

This is a little trickier than DW_FORM_addrx[1234] since such DIEs using DW_FORM_strx may be moved to a multifile. You also probably want to make them equal to DW_FORM_strp entries pointing (indirectly) to the same string.

You might want to add a note to the the bugs that you are working on them.

Thanks,

Mark

      reply	other threads:[~2021-05-19 17:22 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-16 11:29 E, Nagajyothi
2021-05-19 17:22 ` E, Nagajyothi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CH0PR12MB5265E9E869A4CFE5FC0C5AE5962B9@CH0PR12MB5265.namprd12.prod.outlook.com \
    --to=nagajyothi.e@amd.com \
    --cc=AlokKumar.Sharma@amd.com \
    --cc=Hariharan.Parasuraman@amd.com \
    --cc=JiniSusan.George@amd.com \
    --cc=Nitika.Achra@amd.com \
    --cc=dwz@sourceware.org \
    --cc=mark@klomp.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).