summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-05-08 07:31:05 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-05-08 07:31:05 +0000
commit17dbb19f704d7903ca04494e4c7b459db034bf00 (patch)
tree5711e3e13e54d1a70acc9529a06d7b3d0affcd78
parente065af6a42a9b7de22e995ccb53fa82bd86d883c (diff)
downloadbcm5719-llvm-17dbb19f704d7903ca04494e4c7b459db034bf00.tar.gz
bcm5719-llvm-17dbb19f704d7903ca04494e4c7b459db034bf00.zip
[llvm-objcopy] - Fix for "Bug 41775 - SymbolTableSection::addSymbol - shadow variable names"
This is a fix for https://bugs.llvm.org/show_bug.cgi?id=41775, Problem is in the final line: Size += this->EntrySize; I checked that we do not actually need it in this place, since we always call removeSectionReferences which calls removeSymbols which updates the Size. But it worth to keep it, that allows to relax the dependencies. Differential revision: https://reviews.llvm.org/D61636 llvm-svn: 360227
-rw-r--r--llvm/tools/llvm-objcopy/ELF/Object.cpp4
-rw-r--r--llvm/tools/llvm-objcopy/ELF/Object.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/llvm/tools/llvm-objcopy/ELF/Object.cpp b/llvm/tools/llvm-objcopy/ELF/Object.cpp
index 60163b6eed3..d66948a0f46 100644
--- a/llvm/tools/llvm-objcopy/ELF/Object.cpp
+++ b/llvm/tools/llvm-objcopy/ELF/Object.cpp
@@ -402,7 +402,7 @@ void SymbolTableSection::assignIndices() {
void SymbolTableSection::addSymbol(Twine Name, uint8_t Bind, uint8_t Type,
SectionBase *DefinedIn, uint64_t Value,
uint8_t Visibility, uint16_t Shndx,
- uint64_t Size) {
+ uint64_t SymbolSize) {
Symbol Sym;
Sym.Name = Name.str();
Sym.Binding = Bind;
@@ -418,7 +418,7 @@ void SymbolTableSection::addSymbol(Twine Name, uint8_t Bind, uint8_t Type,
}
Sym.Value = Value;
Sym.Visibility = Visibility;
- Sym.Size = Size;
+ Sym.Size = SymbolSize;
Sym.Index = Symbols.size();
Symbols.emplace_back(llvm::make_unique<Symbol>(Sym));
Size += this->EntrySize;
diff --git a/llvm/tools/llvm-objcopy/ELF/Object.h b/llvm/tools/llvm-objcopy/ELF/Object.h
index 46687dd8b19..54e72d29aba 100644
--- a/llvm/tools/llvm-objcopy/ELF/Object.h
+++ b/llvm/tools/llvm-objcopy/ELF/Object.h
@@ -522,7 +522,7 @@ public:
void addSymbol(Twine Name, uint8_t Bind, uint8_t Type, SectionBase *DefinedIn,
uint64_t Value, uint8_t Visibility, uint16_t Shndx,
- uint64_t Size);
+ uint64_t SymbolSize);
void prepareForLayout();
// An 'empty' symbol table still contains a null symbol.
bool empty() const { return Symbols.size() == 1; }
OpenPOWER on IntegriCloud