diff options
Diffstat (limited to 'test/old-elf/Mips/rld_map.test')
-rw-r--r-- | test/old-elf/Mips/rld_map.test | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/old-elf/Mips/rld_map.test b/test/old-elf/Mips/rld_map.test new file mode 100644 index 000000000000..ee063be1d7fc --- /dev/null +++ b/test/old-elf/Mips/rld_map.test @@ -0,0 +1,42 @@ +# REQUIRES: mips + +# Check definition of DT_MIPS_RLD_MAP and DT_MIPS_RLD_MAP_REL dynamic tags, +# .rld_map section, and __RLD_MAP symbol. + +# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o +# RUN: lld -flavor old-gnu -target mips %t.o -o %t.exe +# RUN: llvm-readobj -dynamic-table -s -st %t.exe \ +# RUN: | FileCheck -check-prefix=EXE-DYN %s + +# EXE-DYN: Name: .rld_map +# EXE-DYN-NEXT: Type: SHT_PROGBITS +# EXE-DYN-NEXT: Flags [ +# EXE-DYN-NEXT: SHF_ALLOC +# EXE-DYN-NEXT: SHF_WRITE +# EXE-DYN-NEXT: ] +# EXE-DYN-NEXT: Address: 0x[[ADDR:[0-9A-F]+]] +# EXE-DYN: Size: 4 +# EXE-DYN: AddressAlignment: 4 +# EXE-DYN: Symbols [ +# EXE-DYN-NEXT: Symbol { +# EXE-DYN-NEXT: Name: __RLD_MAP +# EXE-DYN-NEXT: Value: 0x[[ADDR]] +# EXE-DYN-NEXT: Size: 4 +# EXE-DYN-NEXT: Binding: Global +# EXE-DYN-NEXT: Type: Object +# +# EXE-DYN: 0x70000016 MIPS_RLD_MAP 0x[[ADDR]] +# EXE-DYN: 0x70000035 MIPS_RLD_MAP_REL 0x1E48 + +# RUN: lld -flavor old-gnu -target mips -static %t.o -o %t.exe +# RUN: llvm-nm -just-symbol-name %t.exe | FileCheck -check-prefix=EXE-STATIC %s + +# EXE-STATIC-NOT: __RLD_MAP + +# RUN: lld -flavor old-gnu -target mips -shared %t.o -o %t.so +# RUN: llvm-nm -just-symbol-name %t.so | FileCheck -check-prefix=DYNLIB %s + +# DYNLIB-NOT: __RLD_MAP + + .globl __start; +__start: |