39 lines · plain
1# This test is to ensure that we query data marker symbols to avoid2# misidentifying constant data island symbol as extra entry point.3 4# RUN: %clang %cflags %s -o %t.so -Wl,-q -Wl,--init=_bar -Wl,--fini=_bar5# RUN: llvm-bolt %t.so -o %t.instr.so6 7 .text8 .global _start9 .type _start, %function10_start:11 ret12 13 .text14 .global _foo15 .type _foo, %function16_foo:17 cbz x1, _foo_218_foo_1:19 add x1, x2, x020 b _foo21_foo_2:22 ret23 24# None of these constant island symbols should be identified as extra entry25# point for function `_foo'.26 .align 427_const1: .short 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x8028_const2: .short 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, 0x90, 0xa029_const3: .short 0x04, 0x08, 0x0c, 0x20, 0x60, 0x80, 0xa0, 0xc030 31 .text32 .global _bar33 .type _bar, %function34_bar:35 ret36 37 # Dummy relocation to force relocation mode38 .reloc 0, R_AARCH64_NONE39