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