Mercurial > pub > dyncall > dyncall
comparison ToDo @ 364:3bdd326dc269
- Todo entries
- some clarifications in code about GNU thiscalls (which are effectively idential to cdecl calls)
* took away own mode identifier, as aliasing to cdecl now
- cleanups
author | Tassilo Philipp |
---|---|
date | Tue, 14 Apr 2020 19:35:30 +0200 |
parents | 5ac53b2d5f1e |
children | ad5f9803f52f |
comparison
equal
deleted
inserted
replaced
363:3ff4a4ba7f0e | 364:3bdd326dc269 |
---|---|
1 1.2: | 1 1.2: |
2 ---- | 2 ---- |
3 - test atpcs thumb on arm and verify if ellipsis and C++ thiscalls work, if so adapt doc appendix | |
4 - test eabi thumb on arm and verify if ellipsis and C++ thiscalls work, if so adapt doc appendix | |
5 - new platform matrix | |
6 * check dark green cells and validate in general | |
3 - openbsd-4.0-* test/resolve_self fails, but unsure why. dlopen correctly returns RTLD_DEFAULT, which | 7 - openbsd-4.0-* test/resolve_self fails, but unsure why. dlopen correctly returns RTLD_DEFAULT, which |
4 should lookup via dlsym the function in the object itself, but cannot. So... some compiler flag might | 8 should lookup via dlsym the function in the object itself, but cannot. So... some compiler flag might |
5 be missing to keep symbol names, or some prefixing happens | 9 be missing to keep symbol names, or some prefixing happens |
6 - dyncall/dyncall_call*h could probably be all removed, as forward declarations in corresponding .c | 10 - dyncall/dyncall_call*h could probably be all removed, as forward declarations in corresponding .c |
7 files would be enough; no headers are needed b/c those functions declared in there are of no public use | 11 files would be enough; no headers are needed b/c those functions declared in there are of no public use |
13 * 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) | 17 * 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) |
14 - dyncall supports calls to functions where prototype exists (with and without varargs); however not when no | 18 - dyncall supports calls to functions where prototype exists (with and without varargs); however not when no |
15 prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has | 19 prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has |
16 to cast to the function type? need to support? | 20 to cast to the function type? need to support? |
17 | 21 |
22 - dyncall sparc v7/v8: -xO3 on SunPro segfaults in tests (observed years ago) | |
18 | 23 |
19 - dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work | 24 - dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work |
20 - target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions | 25 - target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions |
21 for anon structs, etc. -> we do now target c99 | 26 for anon structs, etc. -> we do now target c99 |
22 - the CallVM-free functions are per VTable, however the latter can be changed out | 27 - the CallVM-free functions are per VTable, however the latter can be changed out |
58 -------- | 63 -------- |
59 - add solaris support for x64 | 64 - add solaris support for x64 |
60 | 65 |
61 dyncall: | 66 dyncall: |
62 -------- | 67 -------- |
68 - callbacks and use of CC signature characters (only x86 has any support for different CCs for callbacks): | |
69 * support for arm (arm/thumb on same platform) | |
70 * check if ellipsis support is needed (is there any need for calling back into an ellipse function?) | |
71 * check if syscalls support is needed (is there any need for calling back into a syscall?) | |
72 - think about using 'inline' for all/most dyncall_api.c functions? | |
73 - support for where syscalls originate from on OpenBSD: http://undeadly.org/cgi?action=article;sid=20191202105849 | |
63 - merge arm32_thumb_{gas/apple} and include thumb support for portasm | 74 - merge arm32_thumb_{gas/apple} and include thumb support for portasm |
64 - x64 verification: return values are passed via RAX and RDX, and XMM0 and XMM1. | 75 - x64 verification: return values are passed via RAX and RDX, and XMM0 and XMM1. |
65 - find big endian arm box (also hardfloat), e.g. cubietruck: http://blog.netbsd.org/tnf/entry/working_arm_multiprocessor_support | 76 - find big endian arm box (also hardfloat), e.g. cubietruck: http://blog.netbsd.org/tnf/entry/working_arm_multiprocessor_support |
66 - test if armhf/thumb is actually working... pulls in arm mode code in dyncall_callvm.c | 77 - test if armhf/thumb is actually working... pulls in arm mode code in dyncall_callvm.c |
67 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code | 78 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code |