Mercurial > pub > dyncall > dyncall
view ToDo @ 17:17b10cc8ce8b
- fix for arm on some platforms (e.g. freebsd/arm32, nintendo ds) to keep compiler from overwriting return values in caller-cleanup code
author | cslag |
---|---|
date | Sat, 01 Aug 2015 19:13:21 +0200 |
parents | a996f29affdf |
children | 9ceb368cc0ed |
line wrap: on
line source
1.0: ---- - autovar was never really pushed all the way through and still plays second fiddle to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I removed out of sync files to avoid confusion; but still probably duped code) - 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: ----- - callconv set specifically for platform that has only one (default) excepts for some platforms, eg. setting X64_sysv on amd64/Linux - keeping cdecl which is the same in this case, works - 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