36 lines · plain
1// Test the fix that BOLT should skip special handling of any non-virtual2// function pointer relocations in relative vtable.3 4// RUN: llvm-mc -filetype=obj -triple aarch64-unknown-gnu %s -o %t.o5// RUN: %clang %cxxflags -fuse-ld=lld %t.o -o %t.so -Wl,-q6// RUN: llvm-bolt %t.so -o %t.bolted.so7 8 .text9 .p2align 210 .type foo,@function11foo:12 .cfi_startproc13 adrp x8, _ZTV3gooE14 add x8, x8, :lo12:_ZTV3gooE15 ldr x0, [x8]16 ret17.Lfunc_end0:18 .size foo, .Lfunc_end0-foo19 .cfi_endproc20 21 .type _fake_rtti_data,@object22 .section .rodata.cst16._fake_rtti_data,"aMG",@progbits,16,_fake_rtti_data,comdat23 .p2align 3, 0x024_fake_rtti_data:25 .ascii "_FAKE_RTTI_DATA_"26 .size _fake_rtti_data, 1627 28 .type _ZTV3gooE,@object29 .section .rodata,"a",@progbits30 .p2align 2, 0x031_ZTV3gooE:32 .word 033 .word _fake_rtti_data-_ZTV3gooE-834 .word foo@PLT-_ZTV3gooE-835 .size _ZTV3gooE, 1236