
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


Practical Use Tips:

[ ] See the symbol set in the debugger


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


Structure Research:

[ ] 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?
[ ] Explore the tradeoff of using the hook for more complex data initialization
    [ ] OpenGL Shaders?
[ ] Could Symbol Sets syntax be organized in such a way that it's just a data
    section and type wrapped in a macro?
[ ] How does this hold up when multiple DLLs or SOs are involved?
[ ] Try using this to generate the IDs for profiler blocks?



Support Tools:

[x] see data section size and layout info
[ ] dump binary as hex from a data section
[ ] see symbols inside data sections
[ ] see symbols by name
[ ] count of symbols in symbol set
[ ] display of string and integer data in symbol from symbol set
[ ] size of types

