llvm-project/lld/test/elf/Mips/dynlib-dynamic.test
2014-02-19 23:46:13 +00:00

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"