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