-
Notifications
You must be signed in to change notification settings - Fork 12
/
ToDo
126 lines (112 loc) · 4.34 KB
/
ToDo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
0.9:
----
- 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)
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):
----------------------------------------------
- itanium
- 68k, 88k, 6502, etc.
- alpha
- superh
- cell
- blackfin
- z80
- hppa
- vax
- atmel avr
- propeller
- amd29k
- arc
- seaforth
available hardware for outstanding ports:
-----------------------------------------
- 68k: Tassilo's old Palm m100 (MC68EZ328 (16MHz))
- sh4: Tassilo's Dreamcast
- sigmatel stmp3550b: Daniel's iPod Nano