Mercurial > pub > dyncall > dyncall
diff ToDo @ 0:3e629dc19168
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:24:28 +0100 |
parents | |
children | b8ea1d2a34a3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ToDo Thu Mar 19 22:24:28 2015 +0100 @@ -0,0 +1,130 @@ +1.0: +---- +- autovar was never really pushed all the way through and still plays second + flute to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I + removed out of sync files to avoid confusion) +- ppc32 callback fixes on bsd +- make install should install manpages +- mailing list announcements (html email?) +- fix for NDS: + * ARM: + - callback_plain retval wrong (not only platform) + * THUMB: + - ellipsis (might be test itself, not respecting fixed part of args) + - retvals of call_suite (maybe all retvals, in general) + - callback_plain retval + - callf +- fix Minix/x86 callbacks (see callback_suite) +- fix Linux/rpi callbacks (call_suite) +- armhf callback support + +build-system: +------------- +- cmake mac os x universal binary builds with *.S does not build + multiple architectures + +portasm: +-------- +- add solaris support for x64 + +dyncall: +-------- +- support for return values: aggregate return values +- support for argument values: structures, half-precision, vector types, long double +- varargs for mips (might exist, but test all ABIs) +- consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS; + this would make it easier to just pass arguments instead of having to know about the C + type promotions +- syscalls for x64 + * bsd + * linux +- other syscalls + +dynload: +-------- +- bug: test/nm crashes on qemu mips linux o32 debian etch +- test/resolve_self crashes/asserts on windows and bsds +- rename SymsInit to InitSyms and similar for cleanup function to reflect naming + in dyncall +- get rid of Dl_info and friends (_GNU_SOURCE) in dynload/dynload_syms_elf.c + for implementation of dlSymsNameFromValue(..) +- check if PSP can support dynload (missing elf.h, dlfcn.h, etc.); fixup readme if successful + +dyncallback: +------------ +- callback_plain's return value not correct anymore on NDS (maybe just broken testcode?) +- add MIPS callbacks for eabi, n32, o32 (thunks are working) +- finish PPC32 callbacks (see bugs section, below) + +bindings: +--------- +- release bindings as standalone packages (already done for rbdc as a gem and rdyncall on cran) + * add note to documentation, where bindings are and that some bindings are svn-only ATM +- add rdoc documentation to ruby gem +- bring python up to latest +- add pydoc for python +- add manpage for shdc +- expose callf-convenience functions to go +- add godoc for godc +- bring java up to latest +- add javadoc to java +- add more bindings +- add callback support for erlang, go, java, lua, python and ruby (and shell? how?) +- add call-conv-mode-support for rbdc through signature + +manual: +------- +- finish tex4ht manual generation (use \ifhtml and \ifnhtml, ...) +- provide more examples on how to use dyncall, dynload and dyncallback + * e.g. enhance manual with a couple of examples (e.g. calling MessageBoxA on windows, etc.) +- manuals for bindings (as stated in bindings-section, above) + +urgent issues: +-------------- +- finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!! +- Haiku/gmake build doesn't build dynload due to the fact, that elf.h is not found + on default installations (one has to install the system headers) + * add to doc +- Solaris/gmake build doesn't build dynload and tests anymore (maybe not even dyncallback) +- test arm32/ATPCS/THUMB (and then change Status in doc Appendix) +- look over code and fix TODO or @@@ marks +- add ppc-support to doc (both, 32 and 64, as well as little and big endian remarks) + +nice to have: +------------- +- update: microsoft visual c++ build files - integrate all test suites in solution file +- consistency: on x64 platforms: make both ABIs available ('win64','sysv') for all x64 OS ports +- microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files) +- test/thunk: some platforms do not allow for allocation of executable code on heap and stack -- + currently this test will crash, maybe we should collect information which platforms allow and which not. + +bugs: +----- +- callbacks on ppc32 only work on linux and apple (osx abi), but not BSD +- vararg function calls don't work for ARM THUMB mode (Daniel's new interface for modesetting for varag + args should be used); adapt test/ellipsis and/or retest + +missing implementations (descending priority): +---------------------------------------------- +- riscv +- itanium +- 68k, 88k, 6502, etc. +- alpha +- superh +- cell +- blackfin +- z80 +- hppa +- vax +- atmel avr +- propeller +- amd29k +- arc +- seaforth + +available exotic hardware for outstanding ports: +------------------------------------------------ +- 68k: Tassilo's old Palm m100 (MC68EZ328 (16MHz)) +- sh4: Tassilo's Dreamcast +- sigmatel stmp3550b: Daniel's iPod Nano +