1 // This test checks that referencing build_id through GOT table
2 // would result in GOT access after disassembly, not directly
3 // to build_id address.
5 // RUN: %clang %cflags -fuse-ld=lld -Wl,-T,%S/Inputs/build_id.ldscript -Wl,-q \
6 // RUN: -Wl,--no-relax -Wl,--build-id=sha1 %s -o %t.exe
7 // RUN: llvm-bolt -print-disasm --print-only=get_build_id %t.exe -o %t.bolt | \
10 // CHECK: adrp [[REG:x[0-28]+]], __BOLT_got_zero
11 // CHECK: ldr x{{.*}}, [[[REG]], :lo12:__BOLT_got_zero{{.*}}]
13 struct build_id_note
{
18 extern const struct build_id_note build_id_note
;
20 __attribute__((noinline
)) char get_build_id() { return build_id_note
.hash
[0]; }