comparison ToDo @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children b8ea1d2a34a3
comparison
equal deleted inserted replaced
-1:000000000000 0:3e629dc19168
1 1.0:
2 ----
3 - autovar was never really pushed all the way through and still plays second
4 flute to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I
5 removed out of sync files to avoid confusion)
6 - ppc32 callback fixes on bsd
7 - make install should install manpages
8 - mailing list announcements (html email?)
9 - fix for NDS:
10 * ARM:
11 - callback_plain retval wrong (not only platform)
12 * THUMB:
13 - ellipsis (might be test itself, not respecting fixed part of args)
14 - retvals of call_suite (maybe all retvals, in general)
15 - callback_plain retval
16 - callf
17 - fix Minix/x86 callbacks (see callback_suite)
18 - fix Linux/rpi callbacks (call_suite)
19 - armhf callback support
20
21 build-system:
22 -------------
23 - cmake mac os x universal binary builds with *.S does not build
24 multiple architectures
25
26 portasm:
27 --------
28 - add solaris support for x64
29
30 dyncall:
31 --------
32 - support for return values: aggregate return values
33 - support for argument values: structures, half-precision, vector types, long double
34 - varargs for mips (might exist, but test all ABIs)
35 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
36 this would make it easier to just pass arguments instead of having to know about the C
37 type promotions
38 - syscalls for x64
39 * bsd
40 * linux
41 - other syscalls
42
43 dynload:
44 --------
45 - bug: test/nm crashes on qemu mips linux o32 debian etch
46 - test/resolve_self crashes/asserts on windows and bsds
47 - rename SymsInit to InitSyms and similar for cleanup function to reflect naming
48 in dyncall
49 - get rid of Dl_info and friends (_GNU_SOURCE) in dynload/dynload_syms_elf.c
50 for implementation of dlSymsNameFromValue(..)
51 - check if PSP can support dynload (missing elf.h, dlfcn.h, etc.); fixup readme if successful
52
53 dyncallback:
54 ------------
55 - callback_plain's return value not correct anymore on NDS (maybe just broken testcode?)
56 - add MIPS callbacks for eabi, n32, o32 (thunks are working)
57 - finish PPC32 callbacks (see bugs section, below)
58
59 bindings:
60 ---------
61 - release bindings as standalone packages (already done for rbdc as a gem and rdyncall on cran)
62 * add note to documentation, where bindings are and that some bindings are svn-only ATM
63 - add rdoc documentation to ruby gem
64 - bring python up to latest
65 - add pydoc for python
66 - add manpage for shdc
67 - expose callf-convenience functions to go
68 - add godoc for godc
69 - bring java up to latest
70 - add javadoc to java
71 - add more bindings
72 - add callback support for erlang, go, java, lua, python and ruby (and shell? how?)
73 - add call-conv-mode-support for rbdc through signature
74
75 manual:
76 -------
77 - finish tex4ht manual generation (use \ifhtml and \ifnhtml, ...)
78 - provide more examples on how to use dyncall, dynload and dyncallback
79 * e.g. enhance manual with a couple of examples (e.g. calling MessageBoxA on windows, etc.)
80 - manuals for bindings (as stated in bindings-section, above)
81
82 urgent issues:
83 --------------
84 - finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!!
85 - Haiku/gmake build doesn't build dynload due to the fact, that elf.h is not found
86 on default installations (one has to install the system headers)
87 * add to doc
88 - Solaris/gmake build doesn't build dynload and tests anymore (maybe not even dyncallback)
89 - test arm32/ATPCS/THUMB (and then change Status in doc Appendix)
90 - look over code and fix TODO or @@@ marks
91 - add ppc-support to doc (both, 32 and 64, as well as little and big endian remarks)
92
93 nice to have:
94 -------------
95 - update: microsoft visual c++ build files - integrate all test suites in solution file
96 - consistency: on x64 platforms: make both ABIs available ('win64','sysv') for all x64 OS ports
97 - microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files)
98 - test/thunk: some platforms do not allow for allocation of executable code on heap and stack --
99 currently this test will crash, maybe we should collect information which platforms allow and which not.
100
101 bugs:
102 -----
103 - callbacks on ppc32 only work on linux and apple (osx abi), but not BSD
104 - vararg function calls don't work for ARM THUMB mode (Daniel's new interface for modesetting for varag
105 args should be used); adapt test/ellipsis and/or retest
106
107 missing implementations (descending priority):
108 ----------------------------------------------
109 - riscv
110 - itanium
111 - 68k, 88k, 6502, etc.
112 - alpha
113 - superh
114 - cell
115 - blackfin
116 - z80
117 - hppa
118 - vax
119 - atmel avr
120 - propeller
121 - amd29k
122 - arc
123 - seaforth
124
125 available exotic hardware for outstanding ports:
126 ------------------------------------------------
127 - 68k: Tassilo's old Palm m100 (MC68EZ328 (16MHz))
128 - sh4: Tassilo's Dreamcast
129 - sigmatel stmp3550b: Daniel's iPod Nano
130