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
+