From c96fee98dbff50356f5cc92724e1fcfec2865c42 Mon Sep 17 00:00:00 2001 From: James Henderson Date: Mon, 15 Feb 2021 15:42:31 +0000 Subject: [PATCH] [llvm-symbolizer][test] Add explicit tests for CODE and DATA 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 | 19 +++++++++++++++++++ llvm/test/tools/llvm-symbolizer/data.s | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 llvm/test/tools/llvm-symbolizer/code.s create mode 100644 llvm/test/tools/llvm-symbolizer/data.s diff --git a/llvm/test/tools/llvm-symbolizer/code.s b/llvm/test/tools/llvm-symbolizer/code.s new file mode 100644 index 0000000..a6b7b88 --- /dev/null +++ b/llvm/test/tools/llvm-symbolizer/code.s @@ -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 index 0000000..e8039f1 --- /dev/null +++ b/llvm/test/tools/llvm-symbolizer/data.s @@ -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 -- 2.7.4