--- /dev/null
+# Check DT_MIPS_OPTIONS .dynamic section tag reading
+
+RUN: llvm-readobj -dynamic-table %p/Inputs/mips-options.elf-mips64el | \
+RUN: FileCheck %s
+
+CHECK: DynamicSection [ (14 entries)
+CHECK-NEXT: Tag Type Name/Value
+CHECK-NEXT: 0x0000000000000004 HASH 0x158
+CHECK-NEXT: 0x0000000000000005 STRTAB 0x1C0
+CHECK-NEXT: 0x0000000000000006 SYMTAB 0x178
+CHECK-NEXT: 0x000000000000000A STRSZ 7 (bytes)
+CHECK-NEXT: 0x000000000000000B SYMENT 24 (bytes)
+CHECK-NEXT: 0x0000000070000001 MIPS_RLD_VERSION 1
+CHECK-NEXT: 0x0000000070000005 MIPS_FLAGS NOTPOT
+CHECK-NEXT: 0x0000000070000006 MIPS_BASE_ADDRESS 0x0
+CHECK-NEXT: 0x000000007000000A MIPS_LOCAL_GOTNO 2
+CHECK-NEXT: 0x0000000070000011 MIPS_SYMTABNO 3
+CHECK-NEXT: 0x0000000070000013 MIPS_GOTSYM 0x3
+CHECK-NEXT: 0x0000000000000003 PLTGOT 0x2000
+CHECK-NEXT: 0x0000000070000029 MIPS_OPTIONS 0x1000
+CHECK-NEXT: 0x0000000000000000 NULL 0x0
+CHECK-NEXT: ]
LLVM_READOBJ_TYPE_CASE(MIPS_GOTSYM);
LLVM_READOBJ_TYPE_CASE(MIPS_RLD_MAP);
LLVM_READOBJ_TYPE_CASE(MIPS_PLTGOT);
+ LLVM_READOBJ_TYPE_CASE(MIPS_OPTIONS);
default: return "unknown";
}
}
case DT_MIPS_GOTSYM:
case DT_MIPS_RLD_MAP:
case DT_MIPS_PLTGOT:
+ case DT_MIPS_OPTIONS:
OS << format("0x%" PRIX64, Value);
break;
case DT_RELCOUNT: