2022-06-01 02:50:59 +08:00
|
|
|
// This test checks that multiple data objects in text of which only first is marked get disassembled properly
|
|
|
|
|
|
|
|
// RUN: yaml2obj %S/Inputs/unmarked-data.yaml -o %t.exe
|
2022-06-11 05:10:58 +08:00
|
|
|
// RUN: llvm-bolt %t.exe -o %t.bolt --lite=0 --use-old-text=0 2>&1 | FileCheck %s
|
2022-06-01 02:50:59 +08:00
|
|
|
// CHECK-NOT: BOLT-WARNING
|
|
|
|
// RUN: llvm-objdump -j .text -d --disassemble-symbols=first,second %t.bolt | FileCheck %s -check-prefix=CHECK-SYMBOL
|
|
|
|
// CHECK-SYMBOL: <first>:
|
|
|
|
// CHECK-SYMBOL: <second>:
|
|
|
|
|
|
|
|
// YAML is based in the following assembly:
|
|
|
|
|
|
|
|
.equ val, 0x070b0f03 // we use constant that is not a valid instruction so that it can't be silently dissassembled
|
|
|
|
.text
|
|
|
|
|
|
|
|
first:
|
|
|
|
.xword val
|
|
|
|
.size first, .-first
|
|
|
|
|
|
|
|
second:
|
|
|
|
.xword val
|
|
|
|
.size second, .-second
|
|
|
|
|
|
|
|
.globl dummy
|
|
|
|
.type dummy, %function
|
|
|
|
dummy: // dummy function to force relocations
|
|
|
|
ret
|
|
|
|
|
|
|
|
.globl _start
|
|
|
|
.type _start, %function
|
|
|
|
_start:
|
|
|
|
bl dummy
|
|
|
|
mov x0, #0
|
|
|
|
mov w8, #93
|
|
|
|
svc #0
|