aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
diff options
context:
space:
mode:
authorJake Ehrlich <jakehehrlich@google.com>2018-01-25 22:15:14 +0000
committerJake Ehrlich <jakehehrlich@google.com>2018-01-25 22:15:14 +0000
commitea07d3cf652a8fd65b9a8fc1d08fd3e18cb2affe (patch)
tree34d5e59cccad1148679f680fca96a2890a454e6c /llvm/tools/llvm-objcopy/llvm-objcopy.cpp
parentb6aa01ca9928e4413d3a832685b05a69f9f76c50 (diff)
downloadllvm-ea07d3cf652a8fd65b9a8fc1d08fd3e18cb2affe.zip
llvm-ea07d3cf652a8fd65b9a8fc1d08fd3e18cb2affe.tar.gz
llvm-ea07d3cf652a8fd65b9a8fc1d08fd3e18cb2affe.tar.bz2
[llvm-objcopy] Add --add-gnu-debuglink
This change adds support for --add-gnu-debuglink to llvm-objcopy Differential Revision: https://reviews.llvm.org/D41731 llvm-svn: 323477
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
-rw-r--r--llvm/tools/llvm-objcopy/llvm-objcopy.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
index eb1d0de..0b09184 100644
--- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
+++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
@@ -121,6 +121,10 @@ static cl::opt<bool> LocalizeHidden(
"localize-hidden",
cl::desc(
"Mark all symbols that have hidden or internal visibility as local"));
+static cl::opt<std::string>
+ AddGnuDebugLink("add-gnu-debuglink",
+ cl::desc("adds a .gnu_debuglink for <debug-file>"),
+ cl::value_desc("debug-file"));
using SectionPred = std::function<bool(const SectionBase &Sec)>;
@@ -318,6 +322,10 @@ template <class ELFT> void CopyBinary(const ELFObjectFile<ELFT> &ObjFile) {
}
}
+ if (!AddGnuDebugLink.empty()) {
+ Obj->addGnuDebugLink(AddGnuDebugLink);
+ }
+
Obj->finalize();
WriteObjectFile(*Obj, OutputFilename.getValue());
}