From f090e6f7b6bec197caa288422f24160cbbbbe554 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Wed, 5 Jun 2019 01:36:48 +0000 Subject: [llvm-objdump/llvm-readobj/obj2yaml/yaml2obj] Support DT_PPC_GOT and DT_PPC_OPT In glibc, DT_PPC_GOT indicates that PowerPC32 Secure PLT ABI is used. I plan to use it in D62464. DT_PPC_OPT currently indicates if a TLSDESC inspired TLS optimization is enabled. Reviewed By: grimar, jhenderson, rupprecht Differential Revision: https://reviews.llvm.org/D62851 llvm-svn: 362569 --- llvm/lib/ObjectYAML/ELFYAML.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'llvm/lib/ObjectYAML/ELFYAML.cpp') diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp index 1d230700f44..33d011cbd9f 100644 --- a/llvm/lib/ObjectYAML/ELFYAML.cpp +++ b/llvm/lib/ObjectYAML/ELFYAML.cpp @@ -683,6 +683,7 @@ void ScalarEnumerationTraits::enumeration( #define AARCH64_DYNAMIC_TAG(name, value) #define MIPS_DYNAMIC_TAG(name, value) #define HEXAGON_DYNAMIC_TAG(name, value) +#define PPC_DYNAMIC_TAG(name, value) #define PPC64_DYNAMIC_TAG(name, value) // Ignore marker tags such as DT_HIOS (maps to DT_VERNEEDNUM), etc. #define DYNAMIC_TAG_MARKER(name, value) @@ -711,6 +712,13 @@ void ScalarEnumerationTraits::enumeration( #undef HEXAGON_DYNAMIC_TAG #define HEXAGON_DYNAMIC_TAG(name, value) break; + case ELF::EM_PPC: +#undef PPC_DYNAMIC_TAG +#define PPC_DYNAMIC_TAG(name, value) DYNAMIC_TAG(name, value) +#include "llvm/BinaryFormat/DynamicTags.def" +#undef PPC_DYNAMIC_TAG +#define PPC_DYNAMIC_TAG(name, value) + break; case ELF::EM_PPC64: #undef PPC64_DYNAMIC_TAG #define PPC64_DYNAMIC_TAG(name, value) DYNAMIC_TAG(name, value) @@ -725,6 +733,7 @@ void ScalarEnumerationTraits::enumeration( #undef AARCH64_DYNAMIC_TAG #undef MIPS_DYNAMIC_TAG #undef HEXAGON_DYNAMIC_TAG +#undef PPC_DYNAMIC_TAG #undef PPC64_DYNAMIC_TAG #undef DYNAMIC_TAG_MARKER #undef STRINGIFY -- cgit v1.2.3