From 065f3808156c92d957fc1ad2a2a37e147ee628f4 Mon Sep 17 00:00:00 2001 From: Joe Sylve Date: Thu, 2 Sep 2021 19:09:15 +0000 Subject: [PATCH] debug/dwarf: check for DWARFv4 AttrDataBitOffset value AttrBitOffset is deprecated (but reserved) in DWARFv4. This fix adds logic to check the new AttrDataBitOffset attribute if AttrBitOffset attribute is not present. Fixes #46784 Change-Id: I7406dcaa4c98e95df72361fd4462c39e6be8879d GitHub-Last-Rev: 5aa10d04910a09538320b4de8fbd8a1f5fd8c17d GitHub-Pull-Request: golang/go#46790 Reviewed-on: https://go-review.googlesource.com/c/go/+/328709 Run-TryBot: Than McIntosh TryBot-Result: Go Bot Reviewed-by: Ian Lance Taylor Trust: Michael Knyszek --- src/debug/dwarf/testdata/typedef.c | 1 + src/debug/dwarf/testdata/typedef.macho4 | Bin 0 -> 6220 bytes src/debug/dwarf/type.go | 9 ++++- src/debug/dwarf/type_test.go | 51 ++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 src/debug/dwarf/testdata/typedef.macho4 diff --git a/src/debug/dwarf/testdata/typedef.c b/src/debug/dwarf/testdata/typedef.c index 4780a0b2ba..3e7e008621 100644 --- a/src/debug/dwarf/testdata/typedef.c +++ b/src/debug/dwarf/testdata/typedef.c @@ -8,6 +8,7 @@ gcc -gdwarf-2 -m64 -c typedef.c && gcc -gdwarf-2 -m64 -o typedef.elf typedef.o OS X Mach-O: gcc -gdwarf-2 -m64 -c typedef.c -o typedef.macho +gcc -gdwarf-4 -m64 -c typedef.c -o typedef.macho4 */ #include diff --git a/src/debug/dwarf/testdata/typedef.macho4 b/src/debug/dwarf/testdata/typedef.macho4 new file mode 100644 index 0000000000000000000000000000000000000000..093ff37ea1802b31805e711e5acf4c3eb8d3f7b5 GIT binary patch literal 6220 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