50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
# Check MIPS specific tags in the dynamic table.
|
|
|
|
# Build shared library
|
|
# RUN: llvm-mc -triple=mipsel -filetype=obj -relocation-model=pic -o=%t-obj %s
|
|
# RUN: lld -flavor gnu -target mipsel -shared --noinhibit-exec -o %t-so %t-obj
|
|
# RUN: llvm-readobj -dynamic-table %t-so | FileCheck %s
|
|
|
|
# CHECK: Format: ELF32-mips
|
|
# CHECK: Arch: mipsel
|
|
# CHECK: AddressSize: 32bit
|
|
# CHECK: LoadName:
|
|
# CHECK: DynamicSection [ (15 entries)
|
|
# CHECK: Tag Type Name/Value
|
|
# CHECK-NEXT: 0x00000004 HASH 0xB4
|
|
# CHECK-NEXT: 0x00000005 STRTAB 0x118
|
|
# CHECK-NEXT: 0x00000006 SYMTAB 0xD8
|
|
# CHECK-NEXT: 0x0000000A STRSZ 17 (bytes)
|
|
# CHECK-NEXT: 0x0000000B SYMENT 16 (bytes)
|
|
# CHECK-NEXT: 0x0000001A FINI_ARRAY 0x0
|
|
# CHECK-NEXT: 0x0000001C FINI_ARRAYSZ 0 (bytes)
|
|
# CHECK-NEXT: 0x70000001 MIPS_RLD_VERSION 1
|
|
# CHECK-NEXT: 0x70000005 MIPS_FLAGS 0x2
|
|
# CHECK-NEXT: 0x70000006 MIPS_BASE_ADDRESS 0x0
|
|
# CHECK-NEXT: 0x7000000A MIPS_LOCAL_GOTNO 4
|
|
# CHECK-NEXT: 0x70000011 MIPS_SYMTABNO 4
|
|
# CHECK-NEXT: 0x70000013 MIPS_GOTSYM 0x2
|
|
# CHECK-NEXT: 0x00000003 PLTGOT 0x1000
|
|
# CHECK-NEXT: 0x00000000 NULL 0x0
|
|
# CHECK-NEXT: ]
|
|
|
|
.abicalls
|
|
.global glob
|
|
.ent glob
|
|
glob:
|
|
lw $gp, %got($.str1)($1)
|
|
addiu $4, $gp, %lo($.str1)
|
|
lw $4, %got($.str2)($1)
|
|
addiu $4, $4, %lo($.str2)
|
|
lw $25, %call16(glob2)($1)
|
|
lw $25, %call16(ext1)($1)
|
|
.end glob
|
|
|
|
.section .rodata.str1
|
|
$.str1:
|
|
.asciz "str1"
|
|
|
|
.section .rodata.str2
|
|
$.str2:
|
|
.asciz "str2"
|