annotate ToDo @ 315:3840e0188520

- allowing lookup of running executable's path by passing NULL to dynload's dlGetLibraryPath()
author Tassilo Philipp
date Wed, 06 Nov 2019 14:13:49 +0100
parents 9f2aff560fa7
children 8b0fc583ce62
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
278
dfc6f1736141 - prep for 1.0 release
Tassilo Philipp
parents: 256
diff changeset
1 1.1:
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 ----
295
a6963fd4a8cc - adding mips softfloat to ToDo
Tassilo Philipp
parents: 288
diff changeset
3 - plain_cpp only supports windows; fix
286
Tassilo Philipp
parents: 284
diff changeset
4 - ./configure on macOS does not pass CFLAGS etc.. to Makefile.config
256
7520e2260097 - added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane
Tassilo Philipp
parents: 250
diff changeset
5 - support platforms without shared libraries so they can be built by just typing `./configure;make` (e.g. minix < 3.2.1)
7520e2260097 - added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane
Tassilo Philipp
parents: 250
diff changeset
6 * 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)
201
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
7 - dyncall supports calls to functions where prototype exists (with and without varargs); however not when no
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
8 prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
9 to cast to the function type? need to support?
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
10
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 159
diff changeset
11
155
bbefb8b8e74c - sparc32 thunk code
cslag
parents: 146
diff changeset
12 - dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 159
diff changeset
13 - target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 159
diff changeset
14 for anon structs, etc.
86
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
15 - the CallVM-free functions are per VTable, however the latter can be changed out
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
16 at runtime... which basically changes potentially the deallocator...
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
17 same goes for functions setting the mode. think about how to make this safer - currently
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
18 we have a higher flexibility and we need to potentially clean up from the mode we are in,
0c8535820000 - todo cleanup
cslag
parents: 85
diff changeset
19 however, this is open to misuse
78
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
20 - check all vararg calling conv implementations if they promote correctly
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
21 (e.g. float to double); we used to not care as it was the user's job to
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
22 think of that, but we allow users to use ArgFloat, etc. on "..." now,
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
23 taking care of the promotion; so it should be consistent all across the
d4114b708bd4 - todo entry
cslag
parents: 69
diff changeset
24 implementations -> also write testcode specifically for that
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 - autovar was never really pushed all the way through and still plays second
9
cslag
parents: 6
diff changeset
26 fiddle to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I
cslag
parents: 6
diff changeset
27 removed out of sync files to avoid confusion; but still probably duped code)
306
9f2aff560fa7 - todo update reflecting mips softfloat status more precisely (as only lacking for mips64/n32 callconv)
Tassilo Philipp
parents: 295
diff changeset
28 - ppc32 callback fixes on bsd @@@
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
29 - add portable "make install"
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
30 * make install should also install manpages
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 - mailing list announcements (html email?)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 - fix for NDS:
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
33 * ARM:
104
dbca6763f2be - complete, working mips o32 callback (using hardware fp); fixes error from last commit, which ignored first 2 float args
cslag
parents: 100
diff changeset
34 - callback_plain retval wrong (not only platform), area on stack where
dbca6763f2be - complete, working mips o32 callback (using hardware fp); fixes error from last commit, which ignored first 2 float args
cslag
parents: 100
diff changeset
35 it's stored is probably not zeroed, so half-words, etc., come with garbage
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
36 * THUMB:
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
37 - ellipsis (might be test itself, not respecting fixed part of args)
104
dbca6763f2be - complete, working mips o32 callback (using hardware fp); fixes error from last commit, which ignored first 2 float args
cslag
parents: 100
diff changeset
38 - callback_plain retval, see above under ARM
69
43675cb378ce - work on html doc generation
cslag
parents: 68
diff changeset
39 - callf
24
d9c707a699d9 - note about selinux support for 1.0 added to ToDo
cslag
parents: 23
diff changeset
40 - support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64
256
7520e2260097 - added to configure some detection on how to compile .s/.S with --noexecstack (or similar), as compilers' defaults are often insane
Tassilo Philipp
parents: 250
diff changeset
41 - make sure selinux works (esp. regarding NX bits)
54
1ba2f70f80b8 - todo update
cslag
parents: 42
diff changeset
42 Daniel has a patch for it, if needed, implementing allocwx with two memory blocks, one for w^x, mmaped to one for r|x
68
b36a2fe30602 - cleanup
cslag
parents: 54
diff changeset
43 - support /SAFESEH on cl/win32
83
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
44 - test code functions should be in .so files, optionally, so the suites can directly
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
45 be used to test dycnall bindings
54930a037e8a - PPC64 single-precision float fixes for more than 13 float args (thanks Masanori!)
cslag
parents: 78
diff changeset
46 - pkg-config support?
90
e932e6331f35 - manual improvements
cslag
parents: 89
diff changeset
47 - quadmath support (long double)
117
4a64b733dc76 - doc, added first version of mips64 callconv page
cslag
parents: 116
diff changeset
48 - add tests using alloca(), as this might depend on the frame pointer being correctly
4a64b733dc76 - doc, added first version of mips64 callconv page
cslag
parents: 116
diff changeset
49 set; we don't check for this, currently, at all
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 portasm:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 --------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 - add solaris support for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 dyncall:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 --------
288
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
57 - merge arm32_thumb_{gas/apple} and include thumb support for portasm
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
58 - x64 verification: return values are passed via RAX and RDX, and XMM0 and XMM1.
146
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
59 - find big endian arm box (also hardfloat), e.g. cubietruck: http://blog.netbsd.org/tnf/entry/working_arm_multiprocessor_support
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
60 - test if armhf/thumb is actually working... pulls in arm mode code in dyncall_callvm.c
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
61 - dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 - support for return values: aggregate return values
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 - support for argument values: structures, half-precision, vector types, long double
288
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
64 * make sure that struct support for ellipsis calls are not forgotten (copy everything by value)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 - consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 this would make it easier to just pass arguments instead of having to know about the C
278
dfc6f1736141 - prep for 1.0 release
Tassilo Philipp
parents: 256
diff changeset
67 type promotions (this is partly done, see todo-item above under 1.1)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 - syscalls for x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 * bsd
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 * linux
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 - other syscalls
135
fcbec299b736 - todo/changelog update
cslag
parents: 132
diff changeset
72 - test MIPS32 eabi big endian (current port works on psp, which is little endian)
132
b0cca984c740 - manual update, started splitting platform overview in EP and EL for some platforms
cslag
parents: 129
diff changeset
73 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and
b0cca984c740 - manual update, started splitting platform overview in EP and EL for some platforms
cslag
parents: 129
diff changeset
74 EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter)
306
9f2aff560fa7 - todo update reflecting mips softfloat status more precisely (as only lacking for mips64/n32 callconv)
Tassilo Philipp
parents: 295
diff changeset
75 - MIPS64 n32 softfloat support (-msoft-float)
129
a130676d0ceb - todo update
cslag
parents: 128
diff changeset
76 - implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian
141
e63089fe5bef - todo update
cslag
parents: 135
diff changeset
77 - support for Minix/arm
146
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
78 - improve ellipsis test:
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
79 * test not just with one fixed arg, to also simulate alignment problems
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
80 * test return values
0ab08c1541f0 - fixed armhf ellipsis calls, were ignoring spill area
cslag
parents: 145
diff changeset
81 * convert from c++ to c, to have it also on plan9, and more portability
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 dynload:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 --------
288
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
85 - RTLD_LAZY in darwin, why not in unix?
244
Tassilo Philipp
parents: 201
diff changeset
86 - dlGetLibraryPath: dl_iterate_phdr() used on OpenBSD, but not available on version < 3.7
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 - bug: test/nm crashes on qemu mips linux o32 debian etch
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 - test/resolve_self crashes/asserts on windows and bsds
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 - rename SymsInit to InitSyms and similar for cleanup function to reflect naming
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 in dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 - get rid of Dl_info and friends (_GNU_SOURCE) in dynload/dynload_syms_elf.c
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 for implementation of dlSymsNameFromValue(..)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 - check if PSP can support dynload (missing elf.h, dlfcn.h, etc.); fixup readme if successful
84
67961454902b - bigger cleanup in callvm code
cslag
parents: 83
diff changeset
94 - some functionality like java's System.mapLibraryName('name') might be helpful?
288
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
95 - Failed On Open Solaris 11:
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
96 In file included from dynload_syms.c:28:
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
97 dynload_syms_elf.c:56: error: syntax error before "Elf_Dyn"
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
98 dynload_syms_elf.c:56: warning: data definition has no type or storage class
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
99 dynload_syms_elf.c: In function `dlSymsInit':
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
100 dynload_syms_elf.c:155: error: `pDyn' undeclared (first use in this function)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
101 dynload_syms_elf.c:155: error: (Each undeclared identifier is reported only once
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
102 dynload_syms_elf.c:155: error: for each function it appears in.)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
103 dynload_syms_elf.c:155: error: syntax error before ')' token
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
104 dynload_syms_elf.c:160: error: `DT_NULL' undeclared (first use in this function)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
105 dynload_syms_elf.c:163: error: `DT_STRTAB' undeclared (first use in this function)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
106 dynload_syms_elf.c:164: error: `DT_SYMTAB' undeclared (first use in this function)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
107 dynload_syms_elf.c:165: error: `DT_HASH' undeclared (first use in this function)
8d9629a078e4 - merged separate ToDo files, cleanups
Tassilo Philipp
parents: 286
diff changeset
108 make: *** [dynload_syms.o] Error 1
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 dyncallback:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111 ------------
104
dbca6763f2be - complete, working mips o32 callback (using hardware fp); fixes error from last commit, which ignored first 2 float args
cslag
parents: 100
diff changeset
112 - callback_plain's return value not correct anymore on NDS (maybe just broken testcode?),
278
dfc6f1736141 - prep for 1.0 release
Tassilo Philipp
parents: 256
diff changeset
113 see above under 1.1 items
104
dbca6763f2be - complete, working mips o32 callback (using hardware fp); fixes error from last commit, which ignored first 2 float args
cslag
parents: 100
diff changeset
114 * check other platforms also, if asm stub initializes retval space, correctly
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
115 - finish PPC32 callbacks (see bugs section, below, BSD not working)
135
fcbec299b736 - todo/changelog update
cslag
parents: 132
diff changeset
116 - test MIPS32 eabi big endian (current port works on psp, which is little endian)
132
b0cca984c740 - manual update, started splitting platform overview in EP and EL for some platforms
cslag
parents: 129
diff changeset
117 - implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and
b0cca984c740 - manual update, started splitting platform overview in EP and EL for some platforms
cslag
parents: 129
diff changeset
118 EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter)
306
9f2aff560fa7 - todo update reflecting mips softfloat status more precisely (as only lacking for mips64/n32 callconv)
Tassilo Philipp
parents: 295
diff changeset
119 - MIPS64 n32 softfloat support (-msoft-float)
129
a130676d0ceb - todo update
cslag
parents: 128
diff changeset
120 - implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian
141
e63089fe5bef - todo update
cslag
parents: 135
diff changeset
121 - support for Minix/arm
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 bindings:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124 ---------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 - release bindings as standalone packages (already done for rbdc as a gem and rdyncall on cran)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126 * add note to documentation, where bindings are and that some bindings are svn-only ATM
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127 - add rdoc documentation to ruby gem
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
128 - add pydoc for python
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
129 - add manpage for shdc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
130 - expose callf-convenience functions to go
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131 - add godoc for godc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
132 - add javadoc to java
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
133 - add more bindings
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
134 - add callback support for erlang, go, java, lua, python and ruby (and shell? how?)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
135 - add call-conv-mode-support for rbdc through signature
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
136
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
137 manual:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 -------
201
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
139 - 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; also as inspiration, e.g. user 'preserved' instead of 'permanent', etc. https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW4
136409adbdd1 - todo update
Tassilo Philipp
parents: 169
diff changeset
140 - make stack layout diagrams better, e.g. add grow direction (example: https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/art/arm_stack.jpg on https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW1)
100
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
141 - callconv diagrams:
98
db0b2f19e165 - MIPS o32 manual appendix
cslag
parents: 92
diff changeset
142 * good idea to review it all, anyways, if the calling conventions are actually
100
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
143 represented correctly (and if they are in sync with the .pdf, we used to have
dcb7157392f1 - manual: fixed html output of tables rendered as .png, using tex multirow
cslag
parents: 98
diff changeset
144 problems with multirow.4ht)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
145 - provide more examples on how to use dyncall, dynload and dyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
146 * e.g. enhance manual with a couple of examples (e.g. calling MessageBoxA on windows, etc.)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
147 - manuals for bindings (as stated in bindings-section, above)
117
4a64b733dc76 - doc, added first version of mips64 callconv page
cslag
parents: 116
diff changeset
148 - under "dyncall support", in each calling convention appendix, list crucial details of e.g. big/little endian support, etc.
4a64b733dc76 - doc, added first version of mips64 callconv page
cslag
parents: 116
diff changeset
149 - specify integer models in use, use common ILP32, LLP64, etc. terms
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
150
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
151 regressions:
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
152 ------------
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
153 - Haiku/gmake build doesn't build dynload due to the fact, that elf.h is not found
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
154 on default installations (one has to install the system headers)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
155 * add to doc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
156 - Solaris/gmake build doesn't build dynload and tests anymore (maybe not even dyncallback)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
157 - test arm32/ATPCS/THUMB (and then change Status in doc Appendix)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
158 - look over code and fix TODO or @@@ marks
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
159 - add ppc-support to doc (both, 32 and 64, as well as little and big endian remarks)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
160
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
161 nice to have:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
162 -------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
163 - update: microsoft visual c++ build files - integrate all test suites in solution file
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
164 - consistency: on x64 platforms: make both ABIs available ('win64','sysv') for all x64 OS ports
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
165 - microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
166 - test/thunk: some platforms do not allow for allocation of executable code on heap and stack --
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
167 currently this test will crash, maybe we should collect information which platforms allow and which not.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
168
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
169 bugs:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
170 -----
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
171 - setting callconv, specifically for platforms that have only one (default)) excepts on some
6
cslag
parents: 0
diff changeset
172 platforms, eg. setting X64_sysv on amd64/Linux - keeping cdecl which is the same in
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
173 this case, works (this should work now...)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
174 - vararg function calls don't work for ARM THUMB mode (Daniel's new interface for modesetting for varag
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
175 args should be used); adapt test/ellipsis and/or retest
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
176
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
177 missing implementations (descending priority):
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
178 ----------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
179 - riscv
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
180 - itanium
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
181 - superh/j-core
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
182 - 68k, 88k, 6502, etc.
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
183 - arc
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
184 - alpha
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
185 - cell
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
186 - blackfin
88
82a0eef83db0 - cosmetics
cslag
parents: 86
diff changeset
187 - seaforth
21
39d570758588 - cleanups in changelog and todo
cslag
parents: 19
diff changeset
188 - s/390
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
189 - z80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
190 - hppa
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
191 - vax
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
192 - atmel avr
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
193 - propeller
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
194 - amd29k
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
195