136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// RUN: llvm-mc -triple=mips64el-pc-linux -filetype=obj -mcpu=mips64r2 < %s -o - | llvm-readobj -r | FileCheck %s 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// Check that the R_MIPS_GOT_DISP relocations were created. 436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: Relocations [ 636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_DISP 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .text 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .abicalls 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .section .mdebug.abi64,"",@progbits 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .file "<stdin>" 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .text 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .globl main 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .align 3 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type main,@function 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set nomips16 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .ent main 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesmain: # @main 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .frame $sp,16,$ra 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .mask 0x00000000,0 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .fmask 0x90000000,-4 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set noreorder 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set nomacro 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set noat 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# BB#0: # %entry 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines daddiu $sp, $sp, -16 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sd $ra, 8($sp) # 8-byte Folded Spill 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines sd $gp, 0($sp) # 8-byte Folded Spill 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines lui $1, %hi(%neg(%gp_rel(main))) 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines daddu $1, $1, $25 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines daddiu $gp, $1, %lo(%neg(%gp_rel(main))) 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $1, %got_disp(shl)($gp) 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $5, 0($1) 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $1, %got_page($.str)($gp) 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $25, %call16(printf)($gp) 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines jalr $25 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines daddiu $4, $1, %got_ofst($.str) 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines addiu $2, $zero, 0 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $gp, 0($sp) # 8-byte Folded Reload 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines ld $ra, 8($sp) # 8-byte Folded Reload 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines jr $ra 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines daddiu $sp, $sp, 16 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set at 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set macro 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .set reorder 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .end main 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines$tmp0: 4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .size main, ($tmp0)-main 4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type shl,@object # @shl 5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .data 5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .globl shl 5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .align 3 5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesshl: 5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .8byte 1 # 0x1 5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .size shl, 8 5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .type $.str,@object # @.str 5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .section .rodata.str1.1,"aMS",@progbits,1 6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines$.str: 6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .asciz "0x%llx\n" 6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .size $.str, 8 6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .text 66