# This test is to verify that BOLT won't take a label pointing to constant # island as a secondary entry point (function `_start` doesn't have ELF size # set originally) and the function won't otherwise be mistaken as non-simple. # RUN: %clang %cflags64 -pie %s -o %t.so -Wl,-q -Wl,--init=_foo -Wl,--fini=_foo # RUN: llvm-bolt %t.so -o %t.bolt.so --print-cfg 2>&1 | FileCheck %s # CHECK-NOT: BOLT-WARNING: reference in the middle of instruction detected \ # CHECK-NOT: function _start at offset 0x{{[0-9a-f]+}} # CHECK: Binary Function "_start" after building cfg .text .global _foo .type _foo, %function _foo: ret .global _start .type _start, %function _start: j _foo .balign 16 _random_consts: .long 0x12345678 .long 0x90abcdef .global _bar .type _bar, %function _bar: ret # Dummy relocation to force relocation mode .reloc 0, R_RISCV_NONE