aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objcopy/ELF/Object.cpp
diff options
context:
space:
mode:
authorChris Jackson <snortotter@gmail.com>2019-08-30 10:17:16 +0000
committerChris Jackson <snortotter@gmail.com>2019-08-30 10:17:16 +0000
commitfa1fe937893c1581c71b225602f44a32102b86ff (patch)
tree2872328c078795646501b6edc37ef19509117d96 /llvm/tools/llvm-objcopy/ELF/Object.cpp
parentb4fd7d4258589c52539043c0806fd2a143a2c15d (diff)
downloadllvm-fa1fe937893c1581c71b225602f44a32102b86ff.zip
llvm-fa1fe937893c1581c71b225602f44a32102b86ff.tar.gz
llvm-fa1fe937893c1581c71b225602f44a32102b86ff.tar.bz2
[llvm-objcopy] Allow the visibility of symbols created by --binary and
--add-symbol to be specified with --new-symbol-visibility llvm-svn: 370458
Diffstat (limited to 'llvm/tools/llvm-objcopy/ELF/Object.cpp')
-rw-r--r--llvm/tools/llvm-objcopy/ELF/Object.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/tools/llvm-objcopy/ELF/Object.cpp b/llvm/tools/llvm-objcopy/ELF/Object.cpp
index 79245ae..54cddcd 100644
--- a/llvm/tools/llvm-objcopy/ELF/Object.cpp
+++ b/llvm/tools/llvm-objcopy/ELF/Object.cpp
@@ -1161,11 +1161,12 @@ void BinaryELFBuilder::addData(SymbolTableSection *SymTab) {
Twine Prefix = Twine("_binary_") + SanitizedFilename;
SymTab->addSymbol(Prefix + "_start", STB_GLOBAL, STT_NOTYPE, &DataSection,
- /*Value=*/0, STV_DEFAULT, 0, 0);
+ /*Value=*/0, NewSymbolVisibility, 0, 0);
SymTab->addSymbol(Prefix + "_end", STB_GLOBAL, STT_NOTYPE, &DataSection,
- /*Value=*/DataSection.Size, STV_DEFAULT, 0, 0);
+ /*Value=*/DataSection.Size, NewSymbolVisibility, 0, 0);
SymTab->addSymbol(Prefix + "_size", STB_GLOBAL, STT_NOTYPE, nullptr,
- /*Value=*/DataSection.Size, STV_DEFAULT, SHN_ABS, 0);
+ /*Value=*/DataSection.Size, NewSymbolVisibility, SHN_ABS,
+ 0);
}
std::unique_ptr<Object> BinaryELFBuilder::build() {
@@ -1610,7 +1611,7 @@ Writer::~Writer() {}
Reader::~Reader() {}
std::unique_ptr<Object> BinaryReader::create() const {
- return BinaryELFBuilder(MInfo.EMachine, MemBuf).build();
+ return BinaryELFBuilder(MInfo.EMachine, MemBuf, NewSymbolVisibility).build();
}
Expected<std::vector<IHexRecord>> IHexReader::parse() const {