Mercurial > pub > dyncall > dyncall
comparison ToDo @ 278:dfc6f1736141 r1.0-RC1
- prep for 1.0 release
author | Tassilo Philipp |
---|---|
date | Sun, 20 Aug 2017 19:56:00 +0200 |
parents | 7520e2260097 |
children | 82dd2e3b15c7 |
comparison
equal
deleted
inserted
replaced
277:703d102cb580 | 278:dfc6f1736141 |
---|---|
1 1.0: | 1 1.1: |
2 ---- | 2 ---- |
3 - support platforms without shared libraries so they can be built by just typing `./configure;make` (e.g. minix < 3.2.1) | 3 - support platforms without shared libraries so they can be built by just typing `./configure;make` (e.g. minix < 3.2.1) |
4 * also make sure minix with shared library support builds and works in general (>= 3.2.1) as well as ELF on Minix (>= 3.2.0) to begin with (as that's the base, and we only test on 3.1.8 so far) | 4 * also make sure minix with shared library support builds and works in general (>= 3.2.1) as well as ELF on Minix (>= 3.2.0) to begin with (as that's the base, and we only test on 3.1.8 so far) |
5 - dyncall supports calls to functions where prototype exists (with and without varargs); however not when no | 5 - dyncall supports calls to functions where prototype exists (with and without varargs); however not when no |
6 prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has | 6 prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has |
7 to cast to the function type? need to support? | 7 to cast to the function type? need to support? |
8 | 8 |
9 - make sure all assembly files declare (or are built) by setting the noexecstack flag, | |
10 compared to translating code with gcc, it's manual for the assembler; this depends on arch | |
11 support (currently it's only done for x86/x64 ELF, but doesn't always work I think... e.g. openbsd 4.0, maybe too old?): | |
12 | |
13 "When you compile source code normally, gcc takes care of adding the GNU_STACK | |
14 markings so that the final object code is not marked with an executable stack | |
15 unless it actually needs it. However, if you compile assembly code, gcc will | |
16 not automatically add GNU_STACK markings." | |
17 | 9 |
18 - dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work | 10 - dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work |
19 - target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions | 11 - target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions |
20 for anon structs, etc. | 12 for anon structs, etc. |
21 - the CallVM-free functions are per VTable, however the latter can be changed out | 13 - the CallVM-free functions are per VTable, however the latter can be changed out |
66 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code | 58 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code |
67 - support for return values: aggregate return values | 59 - support for return values: aggregate return values |
68 - support for argument values: structures, half-precision, vector types, long double | 60 - support for argument values: structures, half-precision, vector types, long double |
69 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS; | 61 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS; |
70 this would make it easier to just pass arguments instead of having to know about the C | 62 this would make it easier to just pass arguments instead of having to know about the C |
71 type promotions (this is partly done, see todo-item above under 1.0) | 63 type promotions (this is partly done, see todo-item above under 1.1) |
72 - syscalls for x64 | 64 - syscalls for x64 |
73 * bsd | 65 * bsd |
74 * linux | 66 * linux |
75 - other syscalls | 67 - other syscalls |
76 - MIPS32 softfloat support (-msoft-float) | 68 - MIPS32 softfloat support (-msoft-float) |
97 - some functionality like java's System.mapLibraryName('name') might be helpful? | 89 - some functionality like java's System.mapLibraryName('name') might be helpful? |
98 | 90 |
99 dyncallback: | 91 dyncallback: |
100 ------------ | 92 ------------ |
101 - callback_plain's return value not correct anymore on NDS (maybe just broken testcode?), | 93 - callback_plain's return value not correct anymore on NDS (maybe just broken testcode?), |
102 see above under 1.0 items | 94 see above under 1.1 items |
103 * check other platforms also, if asm stub initializes retval space, correctly | 95 * check other platforms also, if asm stub initializes retval space, correctly |
104 - finish PPC32 callbacks (see bugs section, below, BSD not working) | 96 - finish PPC32 callbacks (see bugs section, below, BSD not working) |
105 - MIPS32 softfloat support (-msoft-float) | 97 - MIPS32 softfloat support (-msoft-float) |
106 - test MIPS32 eabi big endian (current port works on psp, which is little endian) | 98 - test MIPS32 eabi big endian (current port works on psp, which is little endian) |
107 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and | 99 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and |