summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-01-26 05:05:23 +0000
committerRui Ueyama <ruiu@google.com>2014-01-26 05:05:23 +0000
commit9e8d26f03a47cc6ba4c338de2352c130200d1e5b (patch)
tree128120af3247b37af665415e2eddeeff2dca3331 /llvm
parentaefaab640c8416a1f08e78d5a155aa8d883a696b (diff)
downloadbcm5719-llvm-9e8d26f03a47cc6ba4c338de2352c130200d1e5b.tar.gz
bcm5719-llvm-9e8d26f03a47cc6ba4c338de2352c130200d1e5b.zip
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, llvm-svn: 200121
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Support/COFF.h2
-rw-r--r--llvm/test/tools/llvm-readobj/peplus.test1
-rw-r--r--llvm/tools/llvm-readobj/COFFDumper.cpp2
3 files changed, 5 insertions, 0 deletions
diff --git a/llvm/include/llvm/Support/COFF.h b/llvm/include/llvm/Support/COFF.h
index d9e239ec587..fde545f0085 100644
--- a/llvm/include/llvm/Support/COFF.h
+++ b/llvm/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/llvm/test/tools/llvm-readobj/peplus.test b/llvm/test/tools/llvm-readobj/peplus.test
index 13c3f160055..48e0e7f6e19 100644
--- a/llvm/test/tools/llvm-readobj/peplus.test
+++ b/llvm/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/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp
index 493396f2e28..dd6f3d6ba81 100644
--- a/llvm/tools/llvm-readobj/COFFDumper.cpp
+++ b/llvm/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 ),
OpenPOWER on IntegriCloud