# 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: