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