[llvm-symbolizer][test] Add explicit tests for CODE and DATA
authorJames Henderson <james.henderson@sony.com>
Mon, 15 Feb 2021 15:42:31 +0000 (15:42 +0000)
committerJames Henderson <james.henderson@sony.com>
Tue, 16 Feb 2021 10:59:25 +0000 (10:59 +0000)
These directives force the associated address to be interpreted as a
function or data respectively. CODE is the default when not specified.

Differential Revision: https://reviews.llvm.org/D96712

Reviewed by: MaskRay

llvm/test/tools/llvm-symbolizer/code.s [new file with mode: 0644]
llvm/test/tools/llvm-symbolizer/data.s [new file with mode: 0644]

diff --git a/llvm/test/tools/llvm-symbolizer/code.s b/llvm/test/tools/llvm-symbolizer/code.s
new file mode 100644 (file)
index 0000000..a6b7b88
--- /dev/null
@@ -0,0 +1,19 @@
+## Show that when "CODE" is used with an address, it forces the found location
+## to be symbolized as a function (this is the default).
+# REQUIRES: x86-registered-target
+# RUN: llvm-mc -g -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+# RUN: llvm-symbolizer "CODE 0x1" "CODE 0x2" --obj=%t.o > %t.code
+# RUN: llvm-symbolizer 0x1 0x2 --obj=%t.o > %t.default
+# RUN: cmp %t.code %t.default
+# RUN: FileCheck %s --input-file=%t.code -DFILE=%s --implicit-check-not={{.}}
+
+# CHECK:      f1
+f1:
+    nop
+# CHECK-NEXT: [[FILE]]:[[@LINE+1]]:0
+    ret
+# CHECK-EMPTY:
+# CHECK-NEXT: f2
+f2:
+# CHECK-NEXT: [[FILE]]:[[@LINE+1]]:0
+    ret
diff --git a/llvm/test/tools/llvm-symbolizer/data.s b/llvm/test/tools/llvm-symbolizer/data.s
new file mode 100644 (file)
index 0000000..e8039f1
--- /dev/null
@@ -0,0 +1,20 @@
+## Show that when "DATA" is used with an address, it forces the found location
+## to be symbolized as data.
+# REQUIRES: x86-registered-target
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+# RUN: llvm-symbolizer "DATA 0x2" "DATA 0x8" --obj=%t.o | \
+# RUN:   FileCheck %s -DFILE=%s --implicit-check-not={{.}}
+
+# CHECK:      d1
+# CHECK-NEXT: 0 8
+# CHECK-EMPTY:
+# CHECK-NEXT: d2
+# CHECK-NEXT: 8 4
+
+d1:
+    .quad 0x1122334455667788
+    .size d1, 8
+
+d2:
+    .long 0x99aabbcc
+    .size d2, 4