diff options
author | Rui Ueyama <ruiu@google.com> | 2014-01-26 05:05:23 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-01-26 05:05:23 +0000 |
commit | baa58b6692992cec1c8c88b43f4811165e43d5d4 (patch) | |
tree | 29fe86a830dba157c2b6132990d5323b2d467a8a | |
parent | 8673b5492aeeccbe93e776f6957f50da34e69e0b (diff) | |
download | llvm-baa58b6692992cec1c8c88b43f4811165e43d5d4.tar.gz llvm-baa58b6692992cec1c8c88b43f4811165e43d5d4.tar.bz2 llvm-baa58b6692992cec1c8c88b43f4811165e43d5d4.tar.xz |
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,
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200121 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/COFF.h | 2 | ||||
-rw-r--r-- | test/tools/llvm-readobj/peplus.test | 1 | ||||
-rw-r--r-- | tools/llvm-readobj/COFFDumper.cpp | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Support/COFF.h b/include/llvm/Support/COFF.h index d9e239ec58..fde545f008 100644 --- a/include/llvm/Support/COFF.h +++ b/include/llvm/Support/COFF.h @@ -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. diff --git a/test/tools/llvm-readobj/peplus.test b/test/tools/llvm-readobj/peplus.test index 13c3f16005..48e0e7f6e1 100644 --- a/test/tools/llvm-readobj/peplus.test +++ b/test/tools/llvm-readobj/peplus.test @@ -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: ] diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp index 493396f2e2..dd6f3d6ba8 100644 --- a/tools/llvm-readobj/COFFDumper.cpp +++ b/tools/llvm-readobj/COFFDumper.cpp @@ -281,6 +281,8 @@ static const EnumEntry<COFF::WindowsSubsystem> PEWindowsSubsystem[] = { }; 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 ), |