<div dir="ltr"><div style>Linux is setting several auxv types that lldb doesn't know about and lists as "AT_???" in the log file. This fixes that on my 64-bit 12.04 system. Please let me know if this interferes with anything in freebsd or other, and if not I'll check in.</div>

<div style>Thanks.</div><div style> -Mike</div><div><br></div><div>diff -r a2ce67523dc6 source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp</div><div>--- a/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp<span class="" style="white-space:pre">        </span>Fri Jun 14 17:25:52 2013 -0700</div>

<div>+++ b/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp<span class="" style="white-space:pre"> </span>Fri Jun 14 17:54:31 2013 -0700</div><div>@@ -129,25 +129,41 @@</div><div> #define ENTRY_NAME(_type) _type: name = #_type</div>

<div>     switch (type) </div><div>     {</div><div>-    case ENTRY_NAME(AT_NULL);   break;</div><div>-    case ENTRY_NAME(AT_IGNORE); break;</div><div>-    case ENTRY_NAME(AT_EXECFD); break;</div><div>-    case ENTRY_NAME(AT_PHDR);   break;</div>

<div>-    case ENTRY_NAME(AT_PHENT);  break;</div><div>-    case ENTRY_NAME(AT_PHNUM);  break;</div><div>-    case ENTRY_NAME(AT_PAGESZ); break;</div><div>-    case ENTRY_NAME(AT_BASE);   break;</div><div>-    case ENTRY_NAME(AT_FLAGS);  break;</div>

<div>-    case ENTRY_NAME(AT_ENTRY);  break;</div><div>-    case ENTRY_NAME(AT_NOTELF); break;</div><div>-    case ENTRY_NAME(AT_UID);    break;</div><div>-    case ENTRY_NAME(AT_EUID);   break;</div><div>-    case ENTRY_NAME(AT_GID);    break;</div>

<div>-    case ENTRY_NAME(AT_EGID);   break;</div><div>-    case ENTRY_NAME(AT_CLKTCK); break;</div><div>+    case ENTRY_NAME(AT_NULL);           break;</div><div>+    case ENTRY_NAME(AT_IGNORE);         break;</div><div>

+    case ENTRY_NAME(AT_EXECFD);         break;</div><div>+    case ENTRY_NAME(AT_PHDR);           break;</div><div>+    case ENTRY_NAME(AT_PHENT);          break;</div><div>+    case ENTRY_NAME(AT_PHNUM);          break;</div>

<div>+    case ENTRY_NAME(AT_PAGESZ);         break;</div><div>+    case ENTRY_NAME(AT_BASE);           break;</div><div>+    case ENTRY_NAME(AT_FLAGS);          break;</div><div>+    case ENTRY_NAME(AT_ENTRY);          break;</div>

<div>+    case ENTRY_NAME(AT_NOTELF);         break;</div><div>+    case ENTRY_NAME(AT_UID);            break;</div><div>+    case ENTRY_NAME(AT_EUID);           break;</div><div>+    case ENTRY_NAME(AT_GID);            break;</div>

<div>+    case ENTRY_NAME(AT_EGID);           break;</div><div>+    case ENTRY_NAME(AT_CLKTCK);         break;</div><div>+    case ENTRY_NAME(AT_PLATFORM);       break;</div><div>+    case ENTRY_NAME(AT_HWCAP);          break;</div>

<div>+    case ENTRY_NAME(AT_FPUCW);          break;</div><div>+    case ENTRY_NAME(AT_DCACHEBSIZE);    break;</div><div>+    case ENTRY_NAME(AT_ICACHEBSIZE);    break;</div><div>+    case ENTRY_NAME(AT_UCACHEBSIZE);    break;</div>

<div>+    case ENTRY_NAME(AT_IGNOREPPC);      break;</div><div>+    case ENTRY_NAME(AT_SECURE);         break;</div><div>+    case ENTRY_NAME(AT_BASE_PLATFORM);  break;</div><div>+    case ENTRY_NAME(AT_RANDOM);         break;</div>

<div>+    case ENTRY_NAME(AT_EXECFN);         break;</div><div>+    case ENTRY_NAME(AT_SYSINFO);        break;</div><div>+    case ENTRY_NAME(AT_SYSINFO_EHDR);   break;</div><div>+    case ENTRY_NAME(AT_L1I_CACHESHAPE); break;</div>

<div>+    case ENTRY_NAME(AT_L1D_CACHESHAPE); break;</div><div>+    case ENTRY_NAME(AT_L2_CACHESHAPE);  break;</div><div>+    case ENTRY_NAME(AT_L3_CACHESHAPE);  break;</div><div>     }</div><div> #undef ENTRY_NAME</div>
<div>
 </div><div>     return name;</div><div> }</div><div>-</div><div>diff -r a2ce67523dc6 source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h</div><div>--- a/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h<span class="" style="white-space:pre">      </span>Fri Jun 14 17:25:52 2013 -0700</div>

<div>+++ b/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h<span class="" style="white-space:pre">   </span>Fri Jun 14 17:54:31 2013 -0700</div><div>@@ -41,23 +41,41 @@</div><div>     };</div><div> </div><div>     /// Constants describing the type of entry.</div>

<div>+    /// On Linux, running "LD_SHOW_AUXV=1 ./executable" will spew AUX information.</div><div>     enum EntryType {</div><div>-        AT_NULL   = 0,          ///< End of auxv.</div><div>-        AT_IGNORE = 1,          ///< Ignore entry.</div>

<div>-        AT_EXECFD = 2,          ///< File descriptor of program.</div><div>-        AT_PHDR   = 3,          ///< Program headers.</div><div>-        AT_PHENT  = 4,          ///< Size of program header.</div>

<div>-        AT_PHNUM  = 5,          ///< Number of program headers.</div><div>-        AT_PAGESZ = 6,          ///< Page size.</div><div>-        AT_BASE   = 7,          ///< Interpreter base address.</div><div>

-        AT_FLAGS  = 8,          ///< Flags.</div><div>-        AT_ENTRY  = 9,          ///< Program entry point.</div><div>-        AT_NOTELF = 10,         ///< Set if program is not an ELF.</div><div>-        AT_UID    = 11,         ///< UID.</div>

<div>-        AT_EUID   = 12,         ///< Effective UID.</div><div>-        AT_GID    = 13,         ///< GID.</div><div>-        AT_EGID   = 14,         ///< Effective GID.</div><div>-        AT_CLKTCK = 17          ///< Clock frequency (e.g. times(2)).</div>

<div>+        AT_NULL           = 0,   ///< End of auxv.</div><div>+        AT_IGNORE         = 1,   ///< Ignore entry.</div><div>+        AT_EXECFD         = 2,   ///< File descriptor of program.</div><div>+        AT_PHDR           = 3,   ///< Program headers.</div>

<div>+        AT_PHENT          = 4,   ///< Size of program header.</div><div>+        AT_PHNUM          = 5,   ///< Number of program headers.</div><div>+        AT_PAGESZ         = 6,   ///< Page size.</div><div>

+        AT_BASE           = 7,   ///< Interpreter base address.</div><div>+        AT_FLAGS          = 8,   ///< Flags.</div><div>+        AT_ENTRY          = 9,   ///< Program entry point.</div><div>+        AT_NOTELF         = 10,  ///< Set if program is not an ELF.</div>

<div>+        AT_UID            = 11,  ///< UID.</div><div>+        AT_EUID           = 12,  ///< Effective UID.</div><div>+        AT_GID            = 13,  ///< GID.</div><div>+        AT_EGID           = 14,  ///< Effective GID.</div>

<div>+        AT_CLKTCK         = 17,  ///< Clock frequency (e.g. times(2)).</div><div>+        AT_PLATFORM       = 15,  ///< String identifying platform.  */</div><div>+        AT_HWCAP          = 16,  ///< Machine dependent hints about processor capabilities.  */</div>

<div>+        AT_FPUCW          = 18,  ///< Used FPU control word.  */</div><div>+        AT_DCACHEBSIZE    = 19,  ///< Data cache block size.  */</div><div>+        AT_ICACHEBSIZE    = 20,  ///< Instruction cache block size.  */</div>

<div>+        AT_UCACHEBSIZE    = 21,  ///< Unified cache block size.  */</div><div>+        AT_IGNOREPPC      = 22,  ///< Entry should be ignored.  */</div><div>+        AT_SECURE         = 23,  ///< Boolean, was exec setuid-like?  */</div>

<div>+        AT_BASE_PLATFORM  = 24,  ///< String identifying real platforms.*/</div><div>+        AT_RANDOM         = 25,  ///< Address of 16 random bytes.  */</div><div>+        AT_EXECFN         = 31,  ///< Filename of executable.  */</div>

<div>+        AT_SYSINFO        = 32,  ///< Pointer to the global system page used for system calls and other nice things.</div><div>+        AT_SYSINFO_EHDR   = 33,  </div><div>+        AT_L1I_CACHESHAPE = 34,  ///< Shapes of the caches.</div>

<div>+        AT_L1D_CACHESHAPE = 35,</div><div>+        AT_L2_CACHESHAPE  = 36,</div><div>+        AT_L3_CACHESHAPE  = 37,</div><div>     };</div><div> </div><div> private:</div><div><br></div></div>