brunoalr updated this revision to Diff 105640.
brunoalr added a comment.

Small fix


https://reviews.llvm.org/D35065

Files:
  source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
  source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h
  source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp

Index: source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
===================================================================
--- source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+++ source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
@@ -561,7 +561,7 @@
 }
 
 void DynamicLoaderPOSIXDYLD::EvalVdsoStatus() {
-  AuxVector::iterator I = m_auxv->FindEntry(AuxVector::AT_SYSINFO_EHDR);
+  AuxVector::iterator I = m_auxv->FindEntry(AuxVector::AUXV_AT_SYSINFO_EHDR);
 
   if (I != m_auxv->end())
     m_vdso_base = I->value;
@@ -574,7 +574,7 @@
   if (m_auxv.get() == NULL)
     return LLDB_INVALID_ADDRESS;
 
-  AuxVector::iterator I = m_auxv->FindEntry(AuxVector::AT_ENTRY);
+  AuxVector::iterator I = m_auxv->FindEntry(AuxVector::AUXV_AT_ENTRY);
 
   if (I == m_auxv->end())
     return LLDB_INVALID_ADDRESS;
Index: source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h
===================================================================
--- source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h
+++ source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h
@@ -42,41 +42,42 @@
 
   /// Constants describing the type of entry.
   /// On Linux, running "LD_SHOW_AUXV=1 ./executable" will spew AUX information.
+  /// Added AUXV prefix to avoid potential conflicts with system-defined macros
   enum EntryType {
-    AT_NULL = 0,      ///< End of auxv.
-    AT_IGNORE = 1,    ///< Ignore entry.
-    AT_EXECFD = 2,    ///< File descriptor of program.
-    AT_PHDR = 3,      ///< Program headers.
-    AT_PHENT = 4,     ///< Size of program header.
-    AT_PHNUM = 5,     ///< Number of program headers.
-    AT_PAGESZ = 6,    ///< Page size.
-    AT_BASE = 7,      ///< Interpreter base address.
-    AT_FLAGS = 8,     ///< Flags.
-    AT_ENTRY = 9,     ///< Program entry point.
-    AT_NOTELF = 10,   ///< Set if program is not an ELF.
-    AT_UID = 11,      ///< UID.
-    AT_EUID = 12,     ///< Effective UID.
-    AT_GID = 13,      ///< GID.
-    AT_EGID = 14,     ///< Effective GID.
-    AT_CLKTCK = 17,   ///< Clock frequency (e.g. times(2)).
-    AT_PLATFORM = 15, ///< String identifying platform.
-    AT_HWCAP = 16,    ///< Machine dependent hints about processor capabilities.
-    AT_FPUCW = 18,    ///< Used FPU control word.
-    AT_DCACHEBSIZE = 19,   ///< Data cache block size.
-    AT_ICACHEBSIZE = 20,   ///< Instruction cache block size.
-    AT_UCACHEBSIZE = 21,   ///< Unified cache block size.
-    AT_IGNOREPPC = 22,     ///< Entry should be ignored.
-    AT_SECURE = 23,        ///< Boolean, was exec setuid-like?
-    AT_BASE_PLATFORM = 24, ///< String identifying real platforms.
-    AT_RANDOM = 25,        ///< Address of 16 random bytes.
-    AT_EXECFN = 31,        ///< Filename of executable.
-    AT_SYSINFO = 32, ///< Pointer to the global system page used for system
-                     ///calls and other nice things.
-    AT_SYSINFO_EHDR = 33,
-    AT_L1I_CACHESHAPE = 34, ///< Shapes of the caches.
-    AT_L1D_CACHESHAPE = 35,
-    AT_L2_CACHESHAPE = 36,
-    AT_L3_CACHESHAPE = 37,
+    AUXV_AT_NULL = 0,            ///< End of auxv.
+    AUXV_AT_IGNORE = 1,          ///< Ignore entry.
+    AUXV_AT_EXECFD = 2,          ///< File descriptor of program.
+    AUXV_AT_PHDR = 3,            ///< Program headers.
+    AUXV_AT_PHENT = 4,           ///< Size of program header.
+    AUXV_AT_PHNUM = 5,           ///< Number of program headers.
+    AUXV_AT_PAGESZ = 6,          ///< Page size.
+    AUXV_AT_BASE = 7,            ///< Interpreter base address.
+    AUXV_AT_FLAGS = 8,           ///< Flags.
+    AUXV_AT_ENTRY = 9,           ///< Program entry point.
+    AUXV_AT_NOTELF = 10,         ///< Set if program is not an ELF.
+    AUXV_AT_UID = 11,            ///< UID.
+    AUXV_AT_EUID = 12,           ///< Effective UID.
+    AUXV_AT_GID = 13,            ///< GID.
+    AUXV_AT_EGID = 14,           ///< Effective GID.
+    AUXV_AT_CLKTCK = 17,         ///< Clock frequency (e.g. times(2)).
+    AUXV_AT_PLATFORM = 15,       ///< String identifying platform.
+    AUXV_AT_HWCAP = 16,          ///< Machine dependent hints about processor capabilities.
+    AUXV_AT_FPUCW = 18,          ///< Used FPU control word.
+    AUXV_AT_DCACHEBSIZE = 19,    ///< Data cache block size.
+    AUXV_AT_ICACHEBSIZE = 20,    ///< Instruction cache block size.
+    AUXV_AT_UCACHEBSIZE = 21,    ///< Unified cache block size.
+    AUXV_AT_IGNOREPPC = 22,      ///< Entry should be ignored.
+    AUXV_AT_SECURE = 23,         ///< Boolean, was exec setuid-like?
+    AUXV_AT_BASE_PLATFORM = 24,  ///< String identifying real platforms.
+    AUXV_AT_RANDOM = 25,         ///< Address of 16 random bytes.
+    AUXV_AT_EXECFN = 31,         ///< Filename of executable.
+    AUXV_AT_SYSINFO = 32,        ///< Pointer to the global system page used for system
+                                 ///calls and other nice things.
+    AUXV_AT_SYSINFO_EHDR = 33,
+    AUXV_AT_L1I_CACHESHAPE = 34, ///< Shapes of the caches.
+    AUXV_AT_L1D_CACHESHAPE = 35,
+    AUXV_AT_L2_CACHESHAPE = 36,
+    AUXV_AT_L3_CACHESHAPE = 37,
   };
 
 private:
Index: source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
===================================================================
--- source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
+++ source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
@@ -63,10 +63,10 @@
     if (!ParseAuxvEntry(data, entry, &offset, byte_size))
       break;
 
-    if (entry.type == AT_NULL)
+    if (entry.type == AUXV_AT_NULL)
       break;
 
-    if (entry.type == AT_IGNORE)
+    if (entry.type == AUXV_AT_IGNORE)
       continue;
 
     m_auxv.push_back(entry);
@@ -110,43 +110,43 @@
 const char *AuxVector::GetEntryName(EntryType type) {
   const char *name = "AT_???";
 
-#define ENTRY_NAME(_type)                                                      \
-  _type:                                                                       \
-  name = #_type
+#define ENTRY_NAME(_type) \
+  _type:                  \
+  name = #_type + 5
   switch (type) {
-    case ENTRY_NAME(AT_NULL);           break;
-    case ENTRY_NAME(AT_IGNORE);         break;
-    case ENTRY_NAME(AT_EXECFD);         break;
-    case ENTRY_NAME(AT_PHDR);           break;
-    case ENTRY_NAME(AT_PHENT);          break;
-    case ENTRY_NAME(AT_PHNUM);          break;
-    case ENTRY_NAME(AT_PAGESZ);         break;
-    case ENTRY_NAME(AT_BASE);           break;
-    case ENTRY_NAME(AT_FLAGS);          break;
-    case ENTRY_NAME(AT_ENTRY);          break;
-    case ENTRY_NAME(AT_NOTELF);         break;
-    case ENTRY_NAME(AT_UID);            break;
-    case ENTRY_NAME(AT_EUID);           break;
-    case ENTRY_NAME(AT_GID);            break;
-    case ENTRY_NAME(AT_EGID);           break;
-    case ENTRY_NAME(AT_CLKTCK);         break;
-    case ENTRY_NAME(AT_PLATFORM);       break;
-    case ENTRY_NAME(AT_HWCAP);          break;
-    case ENTRY_NAME(AT_FPUCW);          break;
-    case ENTRY_NAME(AT_DCACHEBSIZE);    break;
-    case ENTRY_NAME(AT_ICACHEBSIZE);    break;
-    case ENTRY_NAME(AT_UCACHEBSIZE);    break;
-    case ENTRY_NAME(AT_IGNOREPPC);      break;
-    case ENTRY_NAME(AT_SECURE);         break;
-    case ENTRY_NAME(AT_BASE_PLATFORM);  break;
-    case ENTRY_NAME(AT_RANDOM);         break;
-    case ENTRY_NAME(AT_EXECFN);         break;
-    case ENTRY_NAME(AT_SYSINFO);        break;
-    case ENTRY_NAME(AT_SYSINFO_EHDR);   break;
-    case ENTRY_NAME(AT_L1I_CACHESHAPE); break;
-    case ENTRY_NAME(AT_L1D_CACHESHAPE); break;
-    case ENTRY_NAME(AT_L2_CACHESHAPE);  break;
-    case ENTRY_NAME(AT_L3_CACHESHAPE);  break;
+    case ENTRY_NAME(AUXV_AT_NULL);           break;
+    case ENTRY_NAME(AUXV_AT_IGNORE);         break;
+    case ENTRY_NAME(AUXV_AT_EXECFD);         break;
+    case ENTRY_NAME(AUXV_AT_PHDR);           break;
+    case ENTRY_NAME(AUXV_AT_PHENT);          break;
+    case ENTRY_NAME(AUXV_AT_PHNUM);          break;
+    case ENTRY_NAME(AUXV_AT_PAGESZ);         break;
+    case ENTRY_NAME(AUXV_AT_BASE);           break;
+    case ENTRY_NAME(AUXV_AT_FLAGS);          break;
+    case ENTRY_NAME(AUXV_AT_ENTRY);          break;
+    case ENTRY_NAME(AUXV_AT_NOTELF);         break;
+    case ENTRY_NAME(AUXV_AT_UID);            break;
+    case ENTRY_NAME(AUXV_AT_EUID);           break;
+    case ENTRY_NAME(AUXV_AT_GID);            break;
+    case ENTRY_NAME(AUXV_AT_EGID);           break;
+    case ENTRY_NAME(AUXV_AT_CLKTCK);         break;
+    case ENTRY_NAME(AUXV_AT_PLATFORM);       break;
+    case ENTRY_NAME(AUXV_AT_HWCAP);          break;
+    case ENTRY_NAME(AUXV_AT_FPUCW);          break;
+    case ENTRY_NAME(AUXV_AT_DCACHEBSIZE);    break;
+    case ENTRY_NAME(AUXV_AT_ICACHEBSIZE);    break;
+    case ENTRY_NAME(AUXV_AT_UCACHEBSIZE);    break;
+    case ENTRY_NAME(AUXV_AT_IGNOREPPC);      break;
+    case ENTRY_NAME(AUXV_AT_SECURE);         break;
+    case ENTRY_NAME(AUXV_AT_BASE_PLATFORM);  break;
+    case ENTRY_NAME(AUXV_AT_RANDOM);         break;
+    case ENTRY_NAME(AUXV_AT_EXECFN);         break;
+    case ENTRY_NAME(AUXV_AT_SYSINFO);        break;
+    case ENTRY_NAME(AUXV_AT_SYSINFO_EHDR);   break;
+    case ENTRY_NAME(AUXV_AT_L1I_CACHESHAPE); break;
+    case ENTRY_NAME(AUXV_AT_L1D_CACHESHAPE); break;
+    case ENTRY_NAME(AUXV_AT_L2_CACHESHAPE);  break;
+    case ENTRY_NAME(AUXV_AT_L3_CACHESHAPE);  break;
     }
 #undef ENTRY_NAME
 
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to