Commit Graph

35 Commits (aaace29e11277f967ba9058db6e2b3a3b24d78fe)

Author SHA1 Message Date
Ben Lubar 0860d81c86
add support for vectors of tagged unions in check-structures-sanity 2020-02-29 18:28:14 -06:00
Ben Lubar 18523a1821
Convert untagged unions to tagged. Fix some edge cases in check-structures-sanity union checking. 2020-02-29 15:08:39 -06:00
Ben Lubar 3240b6d897
check-structures-sanity improvements for unidentified fields and unions
- not being able to determine the tag for a union is now an error.
- pointer-sized unknown allocations will now be checked recursively as
  if they were void pointers. this will help with identifying string
  pointers on linux.
- unknown tagged union fields will be checked as void pointers if the
  first identified field of the union is a pointer.
- tagged unions can now be of non-pointer types.
- tagged unions can now have complex tag enums.
2020-02-29 14:20:43 -06:00
Ben Lubar a30678cee3
subclass struct_identity for unions 2020-02-29 13:11:23 -06:00
Ben Lubar e9564a28f5
allow tagged unions to not be union followed by tag 2020-02-23 21:33:32 -06:00
Ben Lubar 5580d375aa
add more diagnostics that will help in the identification of stl-string fields 2020-02-22 15:34:48 -06:00
Ben Lubar 37a8bf679e
fix copy/paste error 2020-02-22 14:10:26 -06:00
Ben Lubar 0711b2569a
in -sizes mode, report sizes of unknown structures behind pointers.
update structures
2020-02-22 14:04:53 -06:00
Ben Lubar 57154e33c8
warn about misidentified generic pointers
update structures
2020-02-21 18:49:02 -06:00
Ben Lubar 53da38ca47
add additional pointer, string, and vector sanity checks
update structures and scripts
2020-02-21 17:31:31 -06:00
Ben Lubar f383f63eea
fix check-structures-sanity not catching certain types of invalid string on GCC builds.
update structures.
2020-02-21 17:31:31 -06:00
Ben Lubar 38410544b0
handle tagged unions in check-structures-sanity
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar ee6b281ae3
allow check-structures-sanity to check the size of the value explicitly specified in a lua expression rather than just its descendants.
print an error if getting the type identity fails.
2020-02-19 11:40:31 -06:00
Ben Lubar 0f857f1b20
fix msvc warning about 64-bit shift 2020-02-15 18:20:34 -06:00
Ben Lubar d0de7865d3
fix compile for gcc 4.8 2020-02-15 18:20:32 -06:00
Ben Lubar 631b8e772c
update structures; fix -lowmem being enabled due to being uninitialized on the stack. 2020-02-15 16:10:54 -06:00
Ben Lubar e4ff184280
check-structures-sanity: add -lowmem argument to use depth-first search instead of readth-first search
add progress indicator if called from the console
2020-02-15 12:54:04 -06:00
Ben Lubar 122169a559
update scripts and structures
fix a crash if check-structures-sanity was called with a lua expression that evaluated to nil
2020-02-15 12:04:00 -06:00
Ben Lubar 8e5f391d3a
attempt to fix lua calls in check-structures-sanity 2020-02-15 02:42:44 -06:00
Ben Lubar 9caf6e97e6
add -enums, -sizes, and specific starting point flags to check-structures-sanity 2020-02-14 19:47:26 -06:00
Ben Lubar fec6f01520
Allow uninitialized raw pointers. 2020-02-13 19:55:49 -06:00
Ben Lubar 9c34e9e584
properly check fields of the full type heirarchy 2020-02-12 18:01:49 -06:00
Ben Lubar 24918e5513
check fields of actual virtual type, not just the declared one 2020-02-12 17:57:55 -06:00
Ben Lubar 40bd55c558
don't check bad pointers 2020-02-11 17:33:33 -06:00
Ben Lubar 195b933c61
ignore contents of elements of "bad" pointer vectors 2020-02-11 17:17:11 -06:00
Ben Lubar 62af2952b7
Fix check-structures-sanity mishandling vectors of pointers.
Also fix detecting structures that span multiple memory segments as being outside of memory.
2020-02-11 14:11:09 -06:00
Ben Lubar 05a49cbacb
fix a possible SIGABRT when misdetecting a vtable as being valid
add enum names enum-based indexes
2020-02-09 15:12:25 -06:00
Ben Lubar e9dba1d6ca
fix crash when checking unknown vector types. also remove the warning when unknown vector types were not pointer-aligned 2020-02-09 14:25:48 -06:00
Ben Lubar 6b828115a7
rewrite check-structures-sanity to use breadth-first search and not overflow the stack 2020-02-09 14:16:19 -06:00
Ben Lubar 359cc2275a
include the windows header rather than winnt 2020-02-05 21:47:25 -06:00
Ben Lubar d494eb619d
fix Windows 64-bit compile for check-structures-sanity
fix some sprintf size_t-related warnings
2020-02-05 20:29:16 -06:00
Ben Lubar 860131cf96
fix Windows 32-bit compile for check-structures-sanity 2020-02-05 20:21:32 -06:00
Ben Lubar d9abe02b2e
add support for DfArray in check-structures-sanity 2020-02-05 19:06:14 -06:00
Ben Lubar d7d0923044
add string checking support to check-structures-sanity
try to avoid crashes on bad vtables
2020-02-05 18:52:35 -06:00
Ben Lubar 3d037db789
add a tool for sanity-checking structures on a running Dwarf Fortress instance. 2020-02-05 16:36:59 -06:00