[llvm] r200121 - COFF: Add a missing enum value for high entropy ASLR.

Rui Ueyama ruiu at google.com
Sat Jan 25 21:05:24 PST 2014


Author: ruiu
Date: Sat Jan 25 23:05:23 2014
New Revision: 200121

URL: http://llvm.org/viewvc/llvm-project?rev=200121&view=rev
Log:
COFF: Add a missing enum value for high entropy ASLR.

That bit is not documented in the PE/COFF spec published by Microsoft, so we
don't know the official name of it. I named this bit
IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VIRTUAL_ADDRESS because the bit is
reported as "high entropy virtual address" by dumpbin.exe,

Modified:
    llvm/trunk/include/llvm/Support/COFF.h
    llvm/trunk/test/tools/llvm-readobj/peplus.test
    llvm/trunk/tools/llvm-readobj/COFFDumper.cpp

Modified: llvm/trunk/include/llvm/Support/COFF.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/COFF.h?rev=200121&r1=200120&r2=200121&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/COFF.h (original)
+++ llvm/trunk/include/llvm/Support/COFF.h Sat Jan 25 23:05:23 2014
@@ -531,6 +531,8 @@ namespace COFF {
   };
 
   enum DLLCharacteristics {
+    /// ASLR with 64 bit address space.
+    IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VIRTUAL_ADDRESS = 0x0020,
     /// DLL can be relocated at load time.
     IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040,
     /// Code integrity checks are enforced.

Modified: llvm/trunk/test/tools/llvm-readobj/peplus.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/peplus.test?rev=200121&r1=200120&r2=200121&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/peplus.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/peplus.test Sat Jan 25 23:05:23 2014
@@ -37,6 +37,7 @@ CHECK:   SizeOfHeaders: 512
 CHECK:   Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
 CHECK:   Subsystem [ (0x8160)
 CHECK:     IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)
+CHECK:     IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VIRTUAL_ADDRESS (0x20)
 CHECK:     IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)
 CHECK:     IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)
 CHECK:   ]

Modified: llvm/trunk/tools/llvm-readobj/COFFDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/COFFDumper.cpp?rev=200121&r1=200120&r2=200121&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/COFFDumper.cpp (original)
+++ llvm/trunk/tools/llvm-readobj/COFFDumper.cpp Sat Jan 25 23:05:23 2014
@@ -281,6 +281,8 @@ static const EnumEntry<COFF::WindowsSubs
 };
 
 static const EnumEntry<COFF::DLLCharacteristics> PEDLLCharacteristics[] = {
+  LLVM_READOBJ_ENUM_ENT(COFF,
+                        IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VIRTUAL_ADDRESS),
   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE         ),
   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY      ),
   LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT            ),





More information about the llvm-commits mailing list