diff options
| author | Davide Italiano <davide@freebsd.org> | 2015-05-26 01:57:32 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2015-05-26 01:57:32 +0000 |
| commit | 683703ea6d63a0a7650259a8a86dfce2dd0dc7eb (patch) | |
| tree | 27dce5284c717bd7f17ba80dfc34fafec5818ee2 /lld/include | |
| parent | 0a415bf28dab2f91fbcce620a0e77c85ee9cbeb7 (diff) | |
| download | bcm5719-llvm-683703ea6d63a0a7650259a8a86dfce2dd0dc7eb.tar.gz bcm5719-llvm-683703ea6d63a0a7650259a8a86dfce2dd0dc7eb.zip | |
[ELF] Add support for -z origin/now options.
Differential Revision: http://reviews.llvm.org/D9963
llvm-svn: 238169
Diffstat (limited to 'lld/include')
| -rw-r--r-- | lld/include/lld/ReaderWriter/ELFLinkingContext.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lld/include/lld/ReaderWriter/ELFLinkingContext.h b/lld/include/lld/ReaderWriter/ELFLinkingContext.h index 78990616d38..8fb1b54b413 100644 --- a/lld/include/lld/ReaderWriter/ELFLinkingContext.h +++ b/lld/include/lld/ReaderWriter/ELFLinkingContext.h @@ -97,6 +97,12 @@ public: OMAGIC, }; + /// \brief ELF DT_FLAGS. + enum DTFlag : uint32_t { + DT_NOW = 1 << 1, + DT_ORIGIN = 1 << 2, + }; + llvm::Triple getTriple() const { return _triple; } uint64_t getPageSize() const { return _maxPageSize; } @@ -329,6 +335,10 @@ public: // --wrap option. void addWrapForSymbol(StringRef sym) { _wrapCalls.insert(sym); } + // \brief Set DT_FLAGS flag. + void setDTFlag(DTFlag f) { _dtFlags |= f; }; + bool getDTFlag(DTFlag f) { return (_dtFlags & f); }; + const llvm::StringSet<> &wrapCalls() const { return _wrapCalls; } void setUndefinesResolver(std::unique_ptr<File> resolver); @@ -383,6 +393,7 @@ protected: bool _armTarget1Rel = false; bool _mipsPcRelEhRel = false; uint64_t _maxPageSize = 0x1000; + uint32_t _dtFlags = 0; OutputMagic _outputMagic = OutputMagic::DEFAULT; StringRefVector _inputSearchPaths; |

