comparison ToDo @ 146:0ab08c1541f0

- fixed armhf ellipsis calls, were ignoring spill area - minor cleanups for consistency - todo update
author cslag
date Thu, 08 Sep 2016 23:00:45 +0200
parents 63892f03e493
children bbefb8b8e74c
comparison
equal deleted inserted replaced
145:63892f03e493 146:0ab08c1541f0
23 it's stored is probably not zeroed, so half-words, etc., come with garbage 23 it's stored is probably not zeroed, so half-words, etc., come with garbage
24 * THUMB: 24 * THUMB:
25 - ellipsis (might be test itself, not respecting fixed part of args) 25 - ellipsis (might be test itself, not respecting fixed part of args)
26 - callback_plain retval, see above under ARM 26 - callback_plain retval, see above under ARM
27 - callf 27 - callf
28 - armhf ellipsis: fix weirdness with long long as first ... arg
29 - support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64 28 - support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64
30 - make sure selinux works (esp. regarding NX bits, asm might need (or similar): .section .note.GNU-stack,"",@progbits) 29 - make sure selinux works (esp. regarding NX bits, asm might need (or similar): .section .note.GNU-stack,"",@progbits)
31 Daniel has a patch for it, if needed, implementing allocwx with two memory blocks, one for w^x, mmaped to one for r|x 30 Daniel has a patch for it, if needed, implementing allocwx with two memory blocks, one for w^x, mmaped to one for r|x
32 - support /SAFESEH on cl/win32 31 - support /SAFESEH on cl/win32
33 - test code functions should be in .so files, optionally, so the suites can directly 32 - test code functions should be in .so files, optionally, so the suites can directly
34 be used to test dycnall bindings 33 be used to test dycnall bindings
35 - pkg-config support? 34 - pkg-config support?
36 - quadmath support (long double) 35 - quadmath support (long double)
37 - add tests using alloca(), as this might depend on the frame pointer being correctly 36 - add tests using alloca(), as this might depend on the frame pointer being correctly
38 set; we don't check for this, currently, at all 37 set; we don't check for this, currently, at all
38 - test on OpenBSD 6.0 which comes with W^X by default
39 39
40 portasm: 40 portasm:
41 -------- 41 --------
42 - add solaris support for x64 42 - add solaris support for x64
43 43
44 dyncall: 44 dyncall:
45 -------- 45 --------
46 - find big endian arm box (also hardfloat), e.g. cubietruck: http://blog.netbsd.org/tnf/entry/working_arm_multiprocessor_support
47 - test if armhf/thumb is actually working... pulls in arm mode code in dyncall_callvm.c
48 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code
46 - support for return values: aggregate return values 49 - support for return values: aggregate return values
47 - support for argument values: structures, half-precision, vector types, long double 50 - support for argument values: structures, half-precision, vector types, long double
48 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS; 51 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
49 this would make it easier to just pass arguments instead of having to know about the C 52 this would make it easier to just pass arguments instead of having to know about the C
50 type promotions (this is partly done, see todo-item above under 1.0) 53 type promotions (this is partly done, see todo-item above under 1.0)
56 - test MIPS32 eabi big endian (current port works on psp, which is little endian) 59 - test MIPS32 eabi big endian (current port works on psp, which is little endian)
57 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and 60 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and
58 EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter) 61 EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter)
59 - implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian 62 - implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian
60 - support for Minix/arm 63 - support for Minix/arm
64 - improve ellipsis test:
65 * test not just with one fixed arg, to also simulate alignment problems
66 * test return values
67 * convert from c++ to c, to have it also on plan9, and more portability
61 68
62 dynload: 69 dynload:
63 -------- 70 --------
64 - bug: test/nm crashes on qemu mips linux o32 debian etch 71 - bug: test/nm crashes on qemu mips linux o32 debian etch
65 - test/resolve_self crashes/asserts on windows and bsds 72 - test/resolve_self crashes/asserts on windows and bsds
98 - add callback support for erlang, go, java, lua, python and ruby (and shell? how?) 105 - add callback support for erlang, go, java, lua, python and ruby (and shell? how?)
99 - add call-conv-mode-support for rbdc through signature 106 - add call-conv-mode-support for rbdc through signature
100 107
101 manual: 108 manual:
102 ------- 109 -------
110 - introduce doc overview tables and common vocab for calling convention specifics, following example of table on page 13 of https://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf
103 - callconv diagrams: 111 - callconv diagrams:
104 * good idea to review it all, anyways, if the calling conventions are actually 112 * good idea to review it all, anyways, if the calling conventions are actually
105 represented correctly (and if they are in sync with the .pdf, we used to have 113 represented correctly (and if they are in sync with the .pdf, we used to have
106 problems with multirow.4ht) 114 problems with multirow.4ht)
107 - provide more examples on how to use dyncall, dynload and dyncallback 115 - provide more examples on how to use dyncall, dynload and dyncallback