summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Mankov <evgeny.mankov@gmail.com>2017-09-25 14:42:15 +0000
committerEvgeny Mankov <evgeny.mankov@gmail.com>2017-09-25 14:42:15 +0000
commit31fef4d3f08a15361c0ef9c0fabba5ba083f85ae (patch)
treeece5ecf3ff973ff061044f27de8f48cbcc3416d6
parent24d98f487ba3368a3de05514a3b5540023e7ef2e (diff)
downloadbcm5719-llvm-31fef4d3f08a15361c0ef9c0fabba5ba083f85ae.tar.gz
bcm5719-llvm-31fef4d3f08a15361c0ef9c0fabba5ba083f85ae.zip
[ELF][fix] Using statically linked lld leads to segmentation fault on linking ELF
[Synopsys] Using function elf::link(...) leads to segmentation fault on its second call. First call finishes correctly. [Solution] Clear the rest of globals. Reviewed by: George Rimar and Rui Ueyama Differential Revision: http://reviews.llvm.org/D38131 llvm-svn: 314108
-rw-r--r--lld/ELF/Driver.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index 309f96d54da..9aab6fd3d3a 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -75,7 +75,12 @@ bool elf::link(ArrayRef<const char *> Args, bool CanExitEarly,
ErrorCount = 0;
ErrorOS = &Error;
InputSections.clear();
+ OutputSections.clear();
Tar = nullptr;
+ BinaryFiles.clear();
+ BitcodeFiles.clear();
+ ObjectFiles.clear();
+ SharedFiles.clear();
Config = make<Configuration>();
Driver = make<LinkerDriver>();
OpenPOWER on IntegriCloud