[compiler-rt] 95ba9f9 - [hwasan] print globals in symbolizer-friendly format.
Florian Mayer via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 16 05:29:33 PDT 2021
Author: Florian Mayer
Date: 2021-09-16T13:29:17+01:00
New Revision: 95ba9f957aa9887c0c1d41948529cfe1fc74d889
URL: https://github.com/llvm/llvm-project/commit/95ba9f957aa9887c0c1d41948529cfe1fc74d889
DIFF: https://github.com/llvm/llvm-project/commit/95ba9f957aa9887c0c1d41948529cfe1fc74d889.diff
LOG: [hwasan] print globals in symbolizer-friendly format.
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D109698
Added:
Modified:
compiler-rt/lib/hwasan/hwasan_report.cpp
compiler-rt/test/hwasan/TestCases/global.c
Removed:
################################################################################
diff --git a/compiler-rt/lib/hwasan/hwasan_report.cpp b/compiler-rt/lib/hwasan/hwasan_report.cpp
index b5dd0ccd597a..9b3b661b74bd 100644
--- a/compiler-rt/lib/hwasan/hwasan_report.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_report.cpp
@@ -351,14 +351,16 @@ static void ShowHeapOrGlobalCandidate(uptr untagged_addr, tag_t *candidate,
uptr size = GetGlobalSizeFromDescriptor(mem);
if (size == 0)
// We couldn't find the size of the global from the descriptors.
- Printf("%p is located to the %s of a global variable in (%s+0x%x)\n",
- untagged_addr, candidate == left ? "right" : "left", module_name,
- module_address);
+ Printf(
+ "%p is located to the %s of a global variable in "
+ "\n #0 0x%x (%s+0x%x)\n",
+ untagged_addr, candidate == left ? "right" : "left", mem,
+ module_name, module_address);
else
Printf(
"%p is located to the %s of a %zd-byte global variable in "
- "(%s+0x%x)\n",
- untagged_addr, candidate == left ? "right" : "left", size,
+ "\n #0 0x%x (%s+0x%x)\n",
+ untagged_addr, candidate == left ? "right" : "left", size, mem,
module_name, module_address);
}
Printf("%s", d.Default());
diff --git a/compiler-rt/test/hwasan/TestCases/global.c b/compiler-rt/test/hwasan/TestCases/global.c
index 82fca892c23a..5df828e571ac 100644
--- a/compiler-rt/test/hwasan/TestCases/global.c
+++ b/compiler-rt/test/hwasan/TestCases/global.c
@@ -12,9 +12,11 @@ int x = 1;
int main(int argc, char **argv) {
// CHECK: Cause: global-overflow
// RSYM: is located 0 bytes to the right of 4-byte global variable x {{.*}} in {{.*}}global.c.tmp
- // RNOSYM: is located to the right of a 4-byte global variable in ({{.*}}global.c.tmp+{{.*}})
+ // RNOSYM: is located to the right of a 4-byte global variable in
+ // RNOSYM-NEXT: #0 0x{{.*}} ({{.*}}global.c.tmp+{{.*}})
// LSYM: is located 4 bytes to the left of 4-byte global variable x {{.*}} in {{.*}}global.c.tmp
- // LNOSYM: is located to the left of a 4-byte global variable in ({{.*}}global.c.tmp+{{.*}})
+ // LNOSYM: is located to the left of a 4-byte global variable in
+ // LNOSYM-NEXT: #0 0x{{.*}} ({{.*}}global.c.tmp+{{.*}})
// CHECK-NOT: can not describe
(&x)[atoi(argv[1])] = 1;
}
More information about the llvm-commits
mailing list