Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[yaml2obj] - Allow setting st_value explicitly for Symbol.
In some cases it is useful to explicitly set symbol's st_name value. For example, I am using it in a patch for LLD to remove the broken binary from a test case and replace it with a YAML test. Differential revision: https://reviews.llvm.org/D61180 llvm-svn: 360137
- Loading branch information
Showing
4 changed files
with
96 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
## Check we are able to use integers as both | ||
## symbol name indices (st_name values) and symbol names. | ||
# RUN: yaml2obj --docnum=1 %s > %t | ||
# RUN: llvm-readobj --symbols %t | FileCheck %s | ||
|
||
# CHECK: Name: test (1) | ||
# CHECK: Name: test (1) | ||
# CHECK: Name: est (2) | ||
# CHECK: Name: 1 (8) | ||
# CHECK: Name: 2 (6) | ||
|
||
--- !ELF | ||
FileHeader: | ||
Class: ELFCLASS64 | ||
Data: ELFDATA2LSB | ||
Type: ET_REL | ||
Machine: EM_X86_64 | ||
Symbols: | ||
- Name: test | ||
- NameIndex: 1 | ||
- NameIndex: 2 | ||
- Name: 1 | ||
- Name: 2 | ||
|
||
## Check we do not allow specifying both Name and NameIndex at once. | ||
# RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --check-prefix=ERR | ||
# ERR: error: Name and NameIndex cannot both be specified for Symbol | ||
|
||
--- !ELF | ||
FileHeader: | ||
Class: ELFCLASS64 | ||
Data: ELFDATA2LSB | ||
Type: ET_REL | ||
Machine: EM_X86_64 | ||
Symbols: | ||
- Name: foo | ||
NameIndex: 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters