diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2014-06-06 07:41:57 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2014-06-06 07:41:57 +0000 |
commit | 65e6467e693c2389d137f07f94ecc087e2894d25 (patch) | |
tree | 91736c10ad2313fc46f0ec9d95680b9035ba7983 /llvm/include | |
parent | 558b3363a795b59e2b596d7d83e05953de270e60 (diff) | |
download | bcm5719-llvm-65e6467e693c2389d137f07f94ecc087e2894d25.tar.gz bcm5719-llvm-65e6467e693c2389d137f07f94ecc087e2894d25.zip |
[yaml2obj][obj2yaml] Support ELF symbol's visibility flags (default/hidden/protected).
llvm-svn: 210316
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/Object/ELFYAML.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/Object/ELFYAML.h b/llvm/include/llvm/Object/ELFYAML.h index 699a38671bb..42eeb0ef752 100644 --- a/llvm/include/llvm/Object/ELFYAML.h +++ b/llvm/include/llvm/Object/ELFYAML.h @@ -44,6 +44,7 @@ LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_REL) // Just use 64, since it can hold 32-bit values too. LLVM_YAML_STRONG_TYPEDEF(uint64_t, ELF_SHF) LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STT) +LLVM_YAML_STRONG_TYPEDEF(uint8_t, ELF_STV) // For now, hardcode 64 bits everywhere that 32 or 64 would be needed // since 64-bit can hold 32-bit values too. @@ -62,6 +63,7 @@ struct Symbol { StringRef Section; llvm::yaml::Hex64 Value; llvm::yaml::Hex64 Size; + ELF_STV Visibility; }; struct LocalGlobalWeakSymbols { std::vector<Symbol> Local; @@ -168,6 +170,11 @@ struct ScalarEnumerationTraits<ELFYAML::ELF_STT> { }; template <> +struct ScalarEnumerationTraits<ELFYAML::ELF_STV> { + static void enumeration(IO &IO, ELFYAML::ELF_STV &Value); +}; + +template <> struct ScalarEnumerationTraits<ELFYAML::ELF_REL> { static void enumeration(IO &IO, ELFYAML::ELF_REL &Value); }; |