[V2] Ignore DWARF debug information for -gsplit-dwarf with dwarf-5.

Message ID DM6PR12MB4219C943049C6D883DEA3E55E7569@DM6PR12MB4219.namprd12.prod.outlook.com
State Accepted, archived
Headers
Series [V2] Ignore DWARF debug information for -gsplit-dwarf with dwarf-5. |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Frager, Neal via Binutils Sept. 30, 2022, 11:41 a.m. UTC
  [AMD Official Use Only - General]

Hi,

Can you review the code changes and send in your comments/suggestions?

Patch Inline:
-----------------


Skip dwo_id for split dwarf.
* dwarf2.c (parse_comp_unit): Skip DWO_id for DW_UT_skeleton.
---
bfd/dwarf2.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

--
2.25.1

Regards,
Rupesh P
  

Comments

Jan Beulich Oct. 4, 2022, 7:43 a.m. UTC | #1
On 30.09.2022 13:41, Potharla, Rupesh via Binutils wrote:
> [AMD Official Use Only - General]
> 
> Hi,
> 
> Can you review the code changes and send in your comments/suggestions?
> 
> Patch Inline:
> -----------------

Thanks, committed. I'd appreciate though if you could submit patches
just as patches, i.e. not including any further data (like everything
above). That simplifies applying.

Jan

> Skip dwo_id for split dwarf.
> * dwarf2.c (parse_comp_unit): Skip DWO_id for DW_UT_skeleton.
> ---
> bfd/dwarf2.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
> index 4a6a1e40185..364cc9a6480 100644
> --- a/bfd/dwarf2.c
> +++ b/bfd/dwarf2.c
> @@ -4411,13 +4411,23 @@ parse_comp_unit (struct dwarf2_debug *stash,
>    if (version < 5)
>      addr_size = read_1_byte (abfd, &info_ptr, end_ptr);
> 
> -  if (unit_type == DW_UT_type)
> +  switch (unit_type)
>      {
> +    case DW_UT_type:
>        /* Skip type signature.  */
>        info_ptr += 8;
> 
>        /* Skip type offset.  */
>        info_ptr += offset_size;
> +      break;
> +
> +    case DW_UT_skeleton:
> +      /* Skip DWO_id field.  */
> +      info_ptr += 8;
> +      break;
> +
> +    default:
> +      break;
>      }
> 
>    if (addr_size > sizeof (bfd_vma))
> --
> 2.25.1
> 
> Regards,
> Rupesh P
>
  
Frager, Neal via Binutils Oct. 4, 2022, 7:47 a.m. UTC | #2
[Public]

Thanks Jan, from next time will submit only the patches.  

Regards,
Rupesh P


>-----Original Message-----
>From: Jan Beulich <jbeulich@suse.com>
>Sent: Tuesday, October 4, 2022 1:13 PM
>To: Potharla, Rupesh <Rupesh.Potharla@amd.com>
>Cc: George, Jini Susan <JiniSusan.George@amd.com>; Parasuraman,
>Hariharan <Hariharan.Parasuraman@amd.com>; Kumar N, Bhuvanendra
><Bhuvanendra.KumarN@amd.com>; Potharla, Rupesh via Binutils
><binutils@sourceware.org>
>Subject: Re: [PATCH V2] Ignore DWARF debug information for -gsplit-dwarf
>with dwarf-5.
>
>Caution: This message originated from an External Source. Use proper caution
>when opening attachments, clicking links, or responding.
>
>
>On 30.09.2022 13:41, Potharla, Rupesh via Binutils wrote:
>> [AMD Official Use Only - General]
>>
>> Hi,
>>
>> Can you review the code changes and send in your comments/suggestions?
>>
>> Patch Inline:
>> -----------------
>
>Thanks, committed. I'd appreciate though if you could submit patches just as
>patches, i.e. not including any further data (like everything above). That
>simplifies applying.
>
>Jan
>
>> Skip dwo_id for split dwarf.
>> * dwarf2.c (parse_comp_unit): Skip DWO_id for DW_UT_skeleton.
>> ---
>> bfd/dwarf2.c | 12 +++++++++++-
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index
>> 4a6a1e40185..364cc9a6480 100644
>> --- a/bfd/dwarf2.c
>> +++ b/bfd/dwarf2.c
>> @@ -4411,13 +4411,23 @@ parse_comp_unit (struct dwarf2_debug *stash,
>>    if (version < 5)
>>      addr_size = read_1_byte (abfd, &info_ptr, end_ptr);
>>
>> -  if (unit_type == DW_UT_type)
>> +  switch (unit_type)
>>      {
>> +    case DW_UT_type:
>>        /* Skip type signature.  */
>>        info_ptr += 8;
>>
>>        /* Skip type offset.  */
>>        info_ptr += offset_size;
>> +      break;
>> +
>> +    case DW_UT_skeleton:
>> +      /* Skip DWO_id field.  */
>> +      info_ptr += 8;
>> +      break;
>> +
>> +    default:
>> +      break;
>>      }
>>
>>    if (addr_size > sizeof (bfd_vma))
>> --
>> 2.25.1
>>
>> Regards,
>> Rupesh P
>>
  

Patch

diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 4a6a1e40185..364cc9a6480 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -4411,13 +4411,23 @@  parse_comp_unit (struct dwarf2_debug *stash,
   if (version < 5)
     addr_size = read_1_byte (abfd, &info_ptr, end_ptr);

-  if (unit_type == DW_UT_type)
+  switch (unit_type)
     {
+    case DW_UT_type:
       /* Skip type signature.  */
       info_ptr += 8;

       /* Skip type offset.  */
       info_ptr += offset_size;
+      break;
+
+    case DW_UT_skeleton:
+      /* Skip DWO_id field.  */
+      info_ptr += 8;
+      break;
+
+    default:
+      break;
     }

   if (addr_size > sizeof (bfd_vma))