annotate ToDo @ 27:523c45dfa8fb

- refactored arm calling conventions' callvm code, so that the code that keeps the caller from overwriting the return value on some platforms also works on OpenBSD (before we casted the function pointer to have long long as return type, to hint the caller that there is one, but that triggers an intentional SIGABRT on OpenBSD for security reasons; now the decl reflects this, directly)
author cslag
date Tue, 15 Sep 2015 12:48:52 +0200
parents d9c707a699d9
children a461b6977b52
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 - callback_plain retval
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 - callf
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 - fix Minix/x86 callbacks (see callback_suite)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 - fix Linux/rpi callbacks (call_suite)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 - armhf callback support
19
9ceb368cc0ed - ToDo and Changelog
cslag
parents: 9
diff changeset
19 - armhf callconv manual entry
22
cslag
parents: 21
diff changeset
20 - add portable "make install"
24
d9c707a699d9 - note about selinux support for 1.0 added to ToDo
cslag
parents: 23
diff changeset
21 - 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
22 - make sure selinux works (esp. regarding NX bits, asm might need (or similar): .section .note.GNU-stack,"",@progbits)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 portasm:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 - add solaris support for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 dyncall:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 - support for return values: aggregate return values
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 - support for argument values: structures, half-precision, vector types, long double
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 - varargs for mips (might exist, but test all ABIs)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 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
35 type promotions
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 - syscalls for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 * bsd
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 * linux
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 - other syscalls
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 dynload:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 - bug: test/nm crashes on qemu mips linux o32 debian etch
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 - test/resolve_self crashes/asserts on windows and bsds
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 - rename SymsInit to InitSyms and similar for cleanup function to reflect naming
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 in dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 - 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
48 for implementation of dlSymsNameFromValue(..)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 - 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
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 dyncallback:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 ------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 - 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
54 - add MIPS callbacks for eabi, n32, o32 (thunks are working)
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
55 - finish PPC32 callbacks (see bugs section, below, BSD not working)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 bindings:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 ---------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 - 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
60 * 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
61 - add rdoc documentation to ruby gem
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 - bring python up to latest
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 - add pydoc for python
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 - add manpage for shdc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 - expose callf-convenience functions to go
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 - add godoc for godc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 - bring java up to latest
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 - add javadoc to java
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 - add more bindings
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 - 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
71 - add call-conv-mode-support for rbdc through signature
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 manual:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 -------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 - finish tex4ht manual generation (use \ifhtml and \ifnhtml, ...)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 - provide more examples on how to use dyncall, dynload and dyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 * 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
78 - manuals for bindings (as stated in bindings-section, above)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 urgent issues:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 --------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 - finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!!
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 - 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
84 on default installations (one has to install the system headers)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85 * add to doc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 - 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
87 - test arm32/ATPCS/THUMB (and then change Status in doc Appendix)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 - look over code and fix TODO or @@@ marks
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 - 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
90
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 nice to have:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 -------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 - update: microsoft visual c++ build files - integrate all test suites in solution file
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 - 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
95 - microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96 - 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
97 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
98
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99 bugs:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100 -----
6
cslag
parents: 0
diff changeset
101 - callconv set specifically for platform that has only one (default) excepts for some
cslag
parents: 0
diff changeset
102 platforms, eg. setting X64_sysv on amd64/Linux - keeping cdecl which is the same in
cslag
parents: 0
diff changeset
103 this case, works
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
104 - 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
105 - 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
106 args should be used); adapt test/ellipsis and/or retest
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
107
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108 missing implementations (descending priority):
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109 ----------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 - riscv
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111 - itanium
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
112 - 68k, 88k, 6502, etc.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113 - alpha
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
114 - superh
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
115 - cell
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116 - blackfin
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
117 - s/390
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
118 - z80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
119 - hppa
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
120 - vax
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
121 - atmel avr
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122 - propeller
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 - amd29k
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124 - arc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 - seaforth
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126