[PATCH] D56229: [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID()

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 4 14:28:55 PST 2019


zturner added a comment.

In D56229#1346869 <https://reviews.llvm.org/D56229#1346869>, @Hui wrote:

> Not quite sure but correct me if i am wrong.
>
> (1) I think the Debug Directory is optional for COFF if it does have debug information and pdb to match with.
>
> (2) The Debug Directory does not contain COFF timestamp.
>
> Using md5 seems very tentative. Please elaborate how to leverage both COFF contents and the existing GUID mentioned?


Well, I guess I would ask what you want to do with the GUID?  If you want to match it to a debug information file, then the Debug Directory is the correct way to do that, and using a hash of the file path will not even be helpful.

Another option would be to check for a debug directory of type `IMAGE_DEBUG_TYPE_REPRO`, and if that exists, then it means that the COFF timestamp is a hash of the binary, so it should be stable.

If neither of these is present, then I think we should simply return `false` from this function and not mislead the caller.  The caller might wish to use special logic if the function returns false that says "if I couldn't get a UUID from the file, then try hashing the path and doing some kind of lookup based on that", but I don't think that should be part of this function.


Repository:
  rLLDB LLDB

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

https://reviews.llvm.org/D56229





More information about the llvm-commits mailing list