brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 4ee1c19 Raw
96 lines · plain
1; RUN: llc -mtriple aarch64-linux-gnu -mattr=+pauth -filetype=asm -o - %s | FileCheck %s2 3; CHECK: nullref:4; CHECK-NEXT: [[PLACE:.*]]:5; CHECK-NEXT: .section .text.startup6; CHECK-NEXT: [[FUNC:.*]]:7; CHECK-NEXT: movz x0, #08; CHECK-NEXT: mov x1, #19; CHECK-NEXT: b __emupac_pacda10; CHECK-NEXT: .section .rodata11; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT12@nullref = constant ptr ptrauth (ptr null, i32 2, i64 1, ptr null), align 813 14@dsolocal = external dso_local global i815 16; CHECK: dsolocalref:17; CHECK-NEXT: [[PLACE:.*]]:18; CHECK-NEXT: .section .text.startup19; CHECK-NEXT: [[FUNC:.*]]:20; CHECK-NEXT: adrp x0, dsolocal21; CHECK-NEXT: add x0, x0, :lo12:dsolocal22; CHECK-NEXT: mov x1, #223; CHECK-NEXT: b __emupac_pacda24; CHECK-NEXT: .section .rodata25; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT26@dsolocalref = constant ptr ptrauth (ptr @dsolocal, i32 2, i64 2, ptr null), align 827 28@ds = external global i829 30; CHECK: dsolocalrefds:31; CHECK-NEXT: [[PLACE:.*]]:32; CHECK-NEXT: .section .text.startup33; CHECK-NEXT: [[FUNC:.*]]:34; CHECK-NEXT: adrp x0, dsolocal35; CHECK-NEXT: add x0, x0, :lo12:dsolocal36; CHECK-NEXT: mov x1, #237; CHECK-NEXT: [[LABEL:.L.*]]:38; CHECK-NEXT: .reloc [[LABEL]], R_AARCH64_PATCHINST, ds39; CHECK-NEXT: b __emupac_pacda40; CHECK-NEXT: ret41; CHECK-NEXT: .section .rodata42; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT43@dsolocalrefds = constant ptr ptrauth (ptr @dsolocal, i32 2, i64 2, ptr null, ptr @ds), align 844 45; CHECK: dsolocalref8:46; CHECK-NEXT: [[PLACE:.*]]:47; CHECK-NEXT: .section .text.startup48; CHECK-NEXT: [[FUNC:.*]]:49; CHECK-NEXT: adrp x0, dsolocal+850; CHECK-NEXT: add x0, x0, :lo12:dsolocal+851; CHECK-NEXT: mov x1, #352; CHECK-NEXT: b __emupac_pacda53; CHECK-NEXT: .section .rodata54; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT55@dsolocalref8 = constant ptr ptrauth (ptr getelementptr (i8, ptr @dsolocal, i64 8), i32 2, i64 3, ptr null), align 856 57; CHECK: disc:58; CHECK-NEXT: [[PLACE:.*]]:59; CHECK-NEXT: .section .text.startup60; CHECK-NEXT: [[FUNC:.*]]:61; CHECK-NEXT: adrp x0, dsolocal62; CHECK-NEXT: add x0, x0, :lo12:dsolocal63; CHECK-NEXT: adrp x1, [[PLACE]]64; CHECK-NEXT: add x1, x1, :lo12:[[PLACE]]65; CHECK-NEXT: b __emupac_pacda66; CHECK-NEXT: .section .rodata67; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT68@disc = constant ptr ptrauth (ptr @dsolocal, i32 2, i64 0, ptr @disc), align 869 70@global = external global i871 72; CHECK: globalref:73; CHECK-NEXT: [[PLACE:.*]]:74; CHECK-NEXT: .section .text.startup75; CHECK-NEXT: [[FUNC:.*]]:76; CHECK-NEXT: adrp x0, :got:global77; CHECK-NEXT: ldr x0, [x0, :got_lo12:global]78; CHECK-NEXT: mov x1, #479; CHECK-NEXT: b __emupac_pacda80; CHECK-NEXT: .section .rodata81; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT82@globalref = constant ptr ptrauth (ptr @global, i32 2, i64 4, ptr null), align 883 84; CHECK: globalref8:85; CHECK-NEXT: [[PLACE:.*]]:86; CHECK-NEXT: .section .text.startup87; CHECK-NEXT: [[FUNC:.*]]:88; CHECK-NEXT: adrp x0, :got:global89; CHECK-NEXT: ldr x0, [x0, :got_lo12:global]90; CHECK-NEXT: add x0, x0, #891; CHECK-NEXT: mov x1, #592; CHECK-NEXT: b __emupac_pacda93; CHECK-NEXT: .section .rodata94; CHECK-NEXT: .xword [[FUNC]]@FUNCINIT95@globalref8 = constant ptr ptrauth (ptr getelementptr (i8, ptr @global, i64 8), i32 2, i64 5, ptr null), align 896