annotate ToDo @ 100:dcb7157392f1

- manual: fixed html output of tables rendered as .png, using tex multirow
author cslag
date Sun, 05 Jun 2016 14:41:58 +0200
parents db0b2f19e165
children dbca6763f2be
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 ----
86
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
3 - the CallVM-free functions are per VTable, however the latter can be changed out
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
4 at runtime... which basically changes potentially the deallocator...
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
5 same goes for functions setting the mode. think about how to make this safer - currently
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
6 we have a higher flexibility and we need to potentially clean up from the mode we are in,
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
7 however, this is open to misuse
78
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
8 - check all vararg calling conv implementations if they promote correctly
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
9 (e.g. float to double); we used to not care as it was the user's job to
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
10 think of that, but we allow users to use ArgFloat, etc. on "..." now,
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
11 taking care of the promotion; so it should be consistent all across the
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
12 implementations -> also write testcode specifically for that
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 - autovar was never really pushed all the way through and still plays second
9
cslag
parents: 6
diff changeset
14 fiddle to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I
cslag
parents: 6
diff changeset
15 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
16 - ppc32 callback fixes on bsd
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
17 - add portable "make install"
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
18 * make install should also install manpages
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 - mailing list announcements (html email?)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 - fix for NDS:
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
21 * ARM:
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
22 - callback_plain retval wrong (not only platform)
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
23 * THUMB:
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
24 - ellipsis (might be test itself, not respecting fixed part of args)
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
25 - callback_plain retval
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
26 - callf
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 - fix Minix/x86 callbacks (see callback_suite)
54
1ba2f70f80b8 - todo update
cslag
parents: 42
diff changeset
28 - armhf ellipsis: fix weirdness with long long as first ... arg
24
d9c707a699d9 - note about selinux support for 1.0 added to ToDo
cslag
parents: 23
diff changeset
29 - support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64
d9c707a699d9 - note about selinux support for 1.0 added to ToDo
cslag
parents: 23
diff changeset
30 - make sure selinux works (esp. regarding NX bits, asm might need (or similar): .section .note.GNU-stack,"",@progbits)
54
1ba2f70f80b8 - todo update
cslag
parents: 42
diff changeset
31 Daniel has a patch for it, if needed, implementing allocwx with two memory blocks, one for w^x, mmaped to one for r|x
68
b36a2fe30602 - cleanup
cslag
parents: 54
diff changeset
32 - support /SAFESEH on cl/win32
83
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
33 - test code functions should be in .so files, optionally, so the suites can directly
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
34 be used to test dycnall bindings
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
35 - pkg-config support?
90
e932e6331f35 - manual improvements
cslag
parents: 89
diff changeset
36 - quadmath support (long double)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 portasm:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 - add solaris support for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 dyncall:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 - support for return values: aggregate return values
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 - support for argument values: structures, half-precision, vector types, long double
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 - varargs for mips (might exist, but test all ABIs)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 this would make it easier to just pass arguments instead of having to know about the C
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
49 type promotions (this is partly done, see todo-item above under 1.0)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 - syscalls for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 * bsd
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 * linux
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 - other syscalls
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 dynload:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 - bug: test/nm crashes on qemu mips linux o32 debian etch
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 - test/resolve_self crashes/asserts on windows and bsds
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 - rename SymsInit to InitSyms and similar for cleanup function to reflect naming
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 in dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 - 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
62 for implementation of dlSymsNameFromValue(..)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 - check if PSP can support dynload (missing elf.h, dlfcn.h, etc.); fixup readme if successful
84
67961454902b - bigger cleanup in callvm code
cslag
parents: 83
diff changeset
64 - some functionality like java's System.mapLibraryName('name') might be helpful?
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 dyncallback:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 ------------
89
0f7d00b73257 - todo update
cslag
parents: 88
diff changeset
68 - add SPARC and SPARC64 callback support
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 - 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
70 - add MIPS callbacks for eabi, n32, o32 (thunks are working)
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
71 - finish PPC32 callbacks (see bugs section, below, BSD not working)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 bindings:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 ---------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 - 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
76 * 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
77 - add rdoc documentation to ruby gem
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 - add pydoc for python
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 - add manpage for shdc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 - expose callf-convenience functions to go
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 - add godoc for godc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 - add javadoc to java
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 - add more bindings
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 - 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
85 - add call-conv-mode-support for rbdc through signature
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 manual:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 -------
100
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
89 - callconv diagrams:
98
db0b2f19e165 - MIPS o32 manual appendix
cslag
parents: 92
diff changeset
90 * good idea to review it all, anyways, if the calling conventions are actually
100
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
91 represented correctly (and if they are in sync with the .pdf, we used to have
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
92 problems with multirow.4ht)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 - provide more examples on how to use dyncall, dynload and dyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 * 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
95 - manuals for bindings (as stated in bindings-section, above)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
97 regressions:
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
98 ------------
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99 - finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!!
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100 - 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
101 on default installations (one has to install the system headers)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
102 * add to doc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
103 - 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
104 - test arm32/ATPCS/THUMB (and then change Status in doc Appendix)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
105 - look over code and fix TODO or @@@ marks
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
106 - 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
107
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108 nice to have:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109 -------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 - update: microsoft visual c++ build files - integrate all test suites in solution file
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111 - 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
112 - microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113 - 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
114 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
115
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116 bugs:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
117 -----
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
118 - setting callconv, specifically for platforms that have only one (default)) excepts on some
6
cslag
parents: 0
diff changeset
119 platforms, eg. setting X64_sysv on amd64/Linux - keeping cdecl which is the same in
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
120 this case, works (this should work now...)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
121 - 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
122 args should be used); adapt test/ellipsis and/or retest
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124 missing implementations (descending priority):
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 ----------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126 - riscv
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127 - itanium
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
128 - superh/j-core
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
129 - 68k, 88k, 6502, etc.
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
130 - arc
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131 - alpha
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
132 - cell
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
133 - blackfin
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
134 - seaforth
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
135 - s/390
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
136 - z80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
137 - hppa
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 - vax
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
139 - atmel avr
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
140 - propeller
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
141 - amd29k
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
142