1RUN: llvm-readobj --mips-plt-got %p/Inputs/got-plt.exe.elf-mipsel | FileCheck %s 2RUN: llvm-readelf --mips-plt-got %p/Inputs/got-plt.exe.elf-mipsel | FileCheck --check-prefix=GNU %s 3 4CHECK: PLT GOT { 5CHECK-NEXT: Reserved entries [ 6CHECK-NEXT: Entry { 7CHECK-NEXT: Address: 0x410814 8CHECK-NEXT: Initial: 0x0 9CHECK-NEXT: Purpose: PLT lazy resolver 10CHECK-NEXT: } 11CHECK-NEXT: Entry { 12CHECK-NEXT: Address: 0x410818 13CHECK-NEXT: Initial: 0x0 14CHECK-NEXT: Purpose: Module pointer 15CHECK-NEXT: } 16CHECK-NEXT: ] 17CHECK-NEXT: Entries [ 18CHECK-NEXT: Entry { 19CHECK-NEXT: Address: 0x41081C 20CHECK-NEXT: Initial: 0x4007C0 21CHECK-NEXT: Value: 0x0 22CHECK-NEXT: Type: Function (0x2) 23CHECK-NEXT: Section: Undefined (0x0) 24CHECK-NEXT: Name: puts@GLIBC_2.0 (71) 25CHECK-NEXT: } 26CHECK-NEXT: Entry { 27CHECK-NEXT: Address: 0x410820 28CHECK-NEXT: Initial: 0x4007C0 29CHECK-NEXT: Value: 0x0 30CHECK-NEXT: Type: Function (0x2) 31CHECK-NEXT: Section: Undefined (0x0) 32CHECK-NEXT: Name: __libc_start_main@GLIBC_2.0 (53) 33CHECK-NEXT: } 34CHECK-NEXT: ] 35CHECK-NEXT: } 36 37GNU: Primary GOT: 38GNU-NEXT: Canonical gp value: 00418840 39 40GNU: Reserved entries: 41GNU-NEXT: Address Access Initial Purpose 42GNU-NEXT: 00410850 -32752(gp) 00000000 Lazy resolver 43GNU-NEXT: 00410854 -32748(gp) 80000000 Module pointer (GNU extension) 44 45GNU: Local entries: 46GNU-NEXT: Address Access Initial 47GNU-NEXT: 00410858 -32744(gp) 004003d4 48GNU-NEXT: 0041085c -32740(gp) 00410800 49GNU-NEXT: 00410860 -32736(gp) 00000000 50 51GNU: Global entries: 52GNU-NEXT: Address Access Initial Sym.Val. Type Ndx Name 53GNU-NEXT: 00410864 -32732(gp) 00000000 00000000 FUNC UND __gmon_start__ 54GNU-NEXT: PLT GOT: 55 56GNU: Reserved entries: 57GNU-NEXT: Address Initial Purpose 58GNU-NEXT: 00410814 00000000 PLT lazy resolver 59GNU-NEXT: 00410818 00000000 Module pointer 60 61GNU: Entries: 62GNU-NEXT: Address Initial Sym.Val. Type Ndx Name 63GNU-NEXT: 0041081c 004007c0 00000000 FUNC UND puts 64GNU-NEXT: 00410820 004007c0 00000000 FUNC UND __libc_start_main 65