gcc-toolset-11-binutils/SOURCES/DWARF-Check-version-for-DW_...

33 lines
946 B
Diff

From 51f6e7a9f4210aed0f8156c1d2e348de6f96f37d Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Thu, 18 Mar 2021 18:34:38 -0700
Subject: [PATCH] DWARF: Check version >= 3 for DW_FORM_ref_addr
Check version >= 3, instead of version == 3 || version == 4, for
DW_FORM_ref_addr.
bfd/
PR ld/27587
* dwarf2.c (read_attribute_value): Check version >= 3 for
DW_FORM_ref_addr.
ld/
---
bfd/dwarf2.c | 2 +-
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index b42e641aa3b9..1d5ddef33293 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1213,7 +1213,7 @@ read_attribute_value (struct attribute * attr,
case DW_FORM_ref_addr:
/* DW_FORM_ref_addr is an address in DWARF2, and an offset in
DWARF3. */
- if (unit->version == 3 || unit->version == 4)
+ if (unit->version >= 3)
{
if (unit->offset_size == 4)
attr->u.val = read_4_bytes (unit->abfd, info_ptr, info_ptr_end);