Branch: refs/heads/thaines/improve_dwarf_enum_handling
Home: https://github.com/dyninst/dyninst
Commit: 64ac32e6b6b5226d1e38c8976b58416dd12cdc4c
https://github.com/dyninst/dyninst/commit/64ac32e6b6b5226d1e38c8976b58416dd12cdc4c
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
Log Message:
-----------
Inherit from derivedType
Commit: b488ee184ad4409deb291f1b54124f5c4ef8cc95
https://github.com/dyninst/dyninst/commit/b488ee184ad4409deb291f1b54124f5c4ef8cc95
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
M symtabAPI/src/dwarfWalker.C
Log Message:
-----------
Add parsing of underlying type
Commit: 7a1b95efffbc40534daee6302e27e12c4b9c0403
https://github.com/dyninst/dyninst/commit/7a1b95efffbc40534daee6302e27e12c4b9c0403
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/src/dwarfWalker.C
Log Message:
-----------
Improve enum parsing debug information
Commit: 6193794073ed1d84a11316350e4fa37aadad0f76
https://github.com/dyninst/dyninst/commit/6193794073ed1d84a11316350e4fa37aadad0f76
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/dwarfWalker.C
Log Message:
-----------
Add support for C++ scoped enums (i.e., 'enum class')
Commit: 24a84e8c63b1d19e141883e615b5f9fa9d40658b
https://github.com/dyninst/dyninst/commit/24a84e8c63b1d19e141883e615b5f9fa9d40658b
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
Log Message:
-----------
Remove typeEnum::setName
This has no definition.
Commit: 424ee549d4793031238339d93cec5091ade41c5a
https://github.com/dyninst/dyninst/commit/424ee549d4793031238339d93cec5091ade41c5a
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-23 (Tue, 23 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
Log Message:
-----------
Inline default constructor
Commit: 338b78e28b3dc6cf878e9cdccd726cc8460f75dd
https://github.com/dyninst/dyninst/commit/338b78e28b3dc6cf878e9cdccd726cc8460f75dd
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-24 (Wed, 24 Nov 2021)
Changed paths:
M dyninstAPI/src/BPatch.C
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
Log Message:
-----------
Clean up BPatch::createEnum
This removes the unnecessary construction of a separate (thread-safe!)
container of pairs and the associated memory leaks. It also explicitly
makes the enum's underlying type a four-byte signed int. Redundant code
from the overload which computes the enum values was replaced by using
std::iota and calling the three-argument createEnum.
Commit: e08e39d44091e72ae851ee6d778131fa31707bb4
https://github.com/dyninst/dyninst/commit/e08e39d44091e72ae851ee6d778131fa31707bb4
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-24 (Wed, 24 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
Log Message:
-----------
Remove factory functions
Adding overloads for these would add more clutter than utility. We
should remove these from all of the types as the constructors should
always be used to ensure class invariants.
Commit: 414ef7541b5cf8384a0a02e0506cbb683f9288a3
https://github.com/dyninst/dyninst/commit/414ef7541b5cf8384a0a02e0506cbb683f9288a3
Author: Tim Haines <thaines@xxxxxxxxxxx>
Date: 2021-11-24 (Wed, 24 Nov 2021)
Changed paths:
M symtabAPI/h/Type.h
M symtabAPI/src/Type.C
Log Message:
-----------
Remove non-portable constructors
Since we're breaking ABI here, these constructors need to go. Manually
setting the size to `sizeof(int)` is non-portable as the
BPatch::createEnum may be used to modify a binary that doesn't have the
same `int` representation as the host on which Dyninst was compiled.
Compare: https://github.com/dyninst/dyninst/compare/64ac32e6b6b5%5E...414ef7541b5c
|