
Example Writing:

[ ] Think up better introductory examples
[ ] Example of symbol sets with instances that don't need names
[ ] Example of more complex data initialization via the hook
[ ] Example of symbol set reuse across multiple programs
    - Metaprogramming without needing input


Research and Provide Practical Use Tips:

[ ] See the symbol set in the debugger
[ ] Best ideas for solving serialization systems problem
[ ] Shader management
[ ] IDs for profiler blocks
[ ] How does this hold up when multiple DLLs or SOs are involved?


Vetting:

Compilers: CL,    GCC,   CLANG
Linkers:   LINK,  GCC,   CLANG
OSs:       Win32, Linux, Mac
           (COFF) (ELF)  (MACHO)

[ ] Check configurations for accurate section virtual sizes
    Win32{
     link:              -INCREMENTAL:NO
     clang (as linker): -Xlinker -INCREMENTAL:NO
     All combinations of CL, LINK, CLANG work so far so long as the above
     options are used.
    }
    Linux{ [ ] GCC CLANG [ ] GCC GCC [ ] CLANG GCC [ ] CLANG CLANG }
    Mac  { [ ] CLANG CLANG }

[ ] Check configurations for link time optimization removal of symbols

[ ] Vet __ImageBase trick on Windows linkers



Development:

[x] experiment with __ImageBase pseudo variable (linker variable)
[ ] Small as possible binary parser for "selfimg" purposes
    [x] PE
    [ ] Elf
    [ ] Macho


"Mark II":

[ ] Object file editing for improved memory layout & symbol id references
[ ] Setup count and base pointer symbols
[ ] Learn how to put the symbol data into .data and relink everything
[ ] Setup id symbols & editing to give them values
[ ] Eliminate the "raw" version of symbols

[ ] Do I want to maintain a pair of versions one with object file editing
    and one without?

Other Upgrade Research:

[ ] Could Symbol Sets syntax be organized in such a way that it's just a
    data section and type wrapped in a macro?

Support Tools:

[x] see data section size and layout info
[ ] see symbols in symbol sets from object files
[ ] size of types

