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