diff options
Diffstat (limited to 'llvm/test/tools/llvm-objcopy')
-rw-r--r-- | llvm/test/tools/llvm-objcopy/abs-symbol.test | 36 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objcopy/common-symbol.test | 84 | ||||
-rw-r--r-- | llvm/test/tools/llvm-objcopy/section-index-unsupported.test | 15 |
3 files changed, 135 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/abs-symbol.test b/llvm/test/tools/llvm-objcopy/abs-symbol.test new file mode 100644 index 00000000000..fb261ce341a --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/abs-symbol.test @@ -0,0 +1,36 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-objcopy %t %t2 +# RUN: llvm-readobj -symbols %t2 | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Symbols: + Global: + - Name: test + Index: SHN_ABS + Value: 0x1234 + +#CHECK: Symbols [ +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: +#CHECK-NEXT: Value: 0x0 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Local (0x0) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Undefined (0x0) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test +#CHECK-NEXT: Value: 0x1234 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Absolute (0xFFF1) +#CHECK-NEXT: } +#CHECK-NEXT:] diff --git a/llvm/test/tools/llvm-objcopy/common-symbol.test b/llvm/test/tools/llvm-objcopy/common-symbol.test new file mode 100644 index 00000000000..919726d6598 --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/common-symbol.test @@ -0,0 +1,84 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-objcopy %t %t2 +# RUN: llvm-readobj -symbols %t2 | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Symbols: + Global: + - Name: test + Index: SHN_COMMON + Value: 0x1234 + - Name: test2 + Index: SHN_HEXAGON_SCOMMON + Value: 0x1235 + - Name: test3 + Index: SHN_HEXAGON_SCOMMON_2 + Value: 0x1236 + - Name: test4 + Index: SHN_HEXAGON_SCOMMON_4 + Value: 0x1237 + - Name: test5 + Index: SHN_HEXAGON_SCOMMON_8 + Value: 0x1238 + +#CHECK: Symbols [ +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: +#CHECK-NEXT: Value: 0x0 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Local (0x0) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Undefined (0x0) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test +#CHECK-NEXT: Value: 0x1234 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Common (0xFFF2) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test2 +#CHECK-NEXT: Value: 0x1235 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Processor Specific (0xFF00) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test3 +#CHECK-NEXT: Value: 0x1236 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Processor Specific (0xFF02) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test4 +#CHECK-NEXT: Value: 0x1237 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Processor Specific (0xFF03) +#CHECK-NEXT: } +#CHECK-NEXT: Symbol { +#CHECK-NEXT: Name: test5 +#CHECK-NEXT: Value: 0x1238 +#CHECK-NEXT: Size: 0 +#CHECK-NEXT: Binding: Global (0x1) +#CHECK-NEXT: Type: None (0x0) +#CHECK-NEXT: Other: 0 +#CHECK-NEXT: Section: Processor Specific (0xFF04) +#CHECK-NEXT: } +#CHECK-NEXT:] diff --git a/llvm/test/tools/llvm-objcopy/section-index-unsupported.test b/llvm/test/tools/llvm-objcopy/section-index-unsupported.test new file mode 100644 index 00000000000..f2d32b6dd5e --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/section-index-unsupported.test @@ -0,0 +1,15 @@ +# RUN: yaml2obj %s > %t +# RUN: not llvm-objcopy %t %t2 2>&1 >/dev/null | FileCheck %s + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Symbols: + Global: + - Name: test + Index: 0xff05 + +# CHECK: [[_:.*]] Symbol 'test' has unsupported value greater than or equal to SHN_LORESERVE: 65285 |