This PR brings several changes that kind of build upon each other, but that I can likely split upon request. :)
In commit order, the changes are:
compatibility fix with latest LLVM master (actually llvm/llvm-project@b7402edce315, there were more recent changes to PDB-related code but I don't think they affect pdbgen)
compatibility with IDA 7.4+
compatibility with Python 3, since IDA 7.4+ is moving towards Python 3 (but the changes should not break Python 2 compatibility)
PE32+ support (basically it turns a bunch of uint32_t into uint64_t and things seem to just work)
support for rebased IDBs by exporting RVAs instead of EAs to JSON
optional export of function labels in the generated PDB
As a side note with regards to LLVM compatibility, in the future wouldn't it be easier to settle on a tagged LLVM release instead of always chasing after master's breaking changes?
Feel free to suggest changes to the PR as you think is needed.
And by the way, thanks a lot for this awesome tool!
This PR brings several changes that kind of build upon each other, but that I can likely split upon request. :)
In commit order, the changes are:
uint32_t
intouint64_t
and things seem to just work)As a side note with regards to LLVM compatibility, in the future wouldn't it be easier to settle on a tagged LLVM release instead of always chasing after master's breaking changes?
Feel free to suggest changes to the PR as you think is needed. And by the way, thanks a lot for this awesome tool!