annotate ToDo @ 19:9ceb368cc0ed

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