[PATCH] D70606: LLD: CET shadow stack support on Windows

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 18:36:02 PST 2019


ruiu added inline comments.


================
Comment at: llvm/test/tools/llvm-readobj/coff-cet-compat.test:10-14
+CHECK:    AddressOfRawData: 0x146A8
+CHECK:    PointerToRawData: 0x138A8
+CHECK:    ExtendedCharacteristics [ (0x1)
+CHECK:      IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT (0x1)
+CHECK:    ]
----------------
penzn wrote:
> ruiu wrote:
> > It looks like there are still a few unused bit in the real DLLCharacteristics bit (https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#dll-characteristics), so it is a bit odd that Microsoft chose to define an "extended" DLLCharacteristics field now, but well, if they chose this format we'll have to follow.
> > 
> > Are AddressOfRawData and PointerToRawData significant for ExtendedCharacteristics entries? I'd b  tempted to fill them with zero, as they don't seem to make any meaning in this context.
> Yep, I am also not sure why this was necessary either, may be they are seeing some important use for the new field (right now it a can only contain this bit).
> 
> AddressOfRawData and PointerToRawData are coming from MSVC linker, I think that is where the bit is stored. I don't know if it is possible to "inline" it into the entry somehow:
> 
> > If the Type field is set to IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS, the debug raw data contains extended DLL characteristics bits. [...]
I mean my question is what values does MSVC link.exe sets to AddressOfRawData and PointerToRawData?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70606/new/

https://reviews.llvm.org/D70606





More information about the llvm-commits mailing list