build-system: ------------- - cxx or cpp, overlay on OpenBSD/make for cpp rule? - add dependencies to Makefile.{generic|embedded} - CPPFLAGS ? - out-of-source building - cmake bites with buildsys/bsdmake and buildsys/gmake cmake generates Makefile files which have lower prio than {GNU|BSD}makefile's. buildsys/gmake fails if no top-level configure file is found with a message to cmake users. buildsys/bsdmake silently builds without configure file and no cmake-based build files is used at all. workaround: make -f Makefile - cmake mac os x universal binary builds with *.S does not build multiple architectures portasm: -------- - add solaris support for x64 dyncall: -------- - support for 'long double' - check if dcMode can be implemented in dcCallVM_XXX.c files directly... - port x64: split callvm into a sysv and a win64, both available at run-time - port ppc64 - support for return values: aggregate return values - support for argument values: structures, half-precision, vector types, long double - varargs for x64, mips - add ARM Thumb2 support (armv7, armv7-m) dynload: -------- - bug: test/nm crashes on qemu mips linux o32 debian etch - test/resolve_self crashes/asserts on windows and bsds - rename SymsInit to InitSyms and similar for cleanup function to reflect naming in dyncall - get rid of Dl_info and friends (_GNU_SOURCE) in dynload/dynload_syms_elf.c for implementation of dlSymsNameFromValue(..) dyncallback: ------------ - callback_plain's return value not correct anymore on NDS (maybe just broken testcode?) - add MIPS callbacks - finish PPC32 callbacks - add Plan9 support - add ARM Thumb/Thumb2 support (armv7, armv7-m, armv6-m?) urgent issues: -------------- - finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!! * fix stupid doublerulesepcolor crap after switching to colortbl - finish dyncallback doc, finish dynload doc, add both to troff doc - Haiku/gmake build doesn't build dynload due to the fact, that elf.h is not found on default installations (one has to install the system headers) * add to doc - Solaris/gmake build doesn't build dynload and tests anymore (maybe not even dyncallback) - test arm32/ATPCS/THUMB (and then change Status in doc Appendix) - look over code and fix TODO or @@@ marks - consider moving bindings into dyncall/ such that releases include it in the future * or, alternatively, pack them separately and put them on the website, for releases - add note to documentation, that bindings are svn-only ATM - add pcc-support to doc - check why the iyonix, etc. platforms have been taken out of 'configure' - rename configure to configure.sh (so we would have .sh, .rc and .bat in the future) - not sure, but configure(.sh) --tool-xxx might overwrite --asm-xxx, in some cases nice to have: ------------- - enhance manual with a couple of examples (e.g. calling MessageBoxA on windows, etc.) - update: microsoft visual c++ build files - integrate all test suites in solution file - rename iPhoneOS to iOS (mostly done) - maybe rename DC__Arch_PowerPC to ...PPC32 for coherency reasons (...PPC64)? - consistency: on x64 platforms: make both ABIs available ('win64','sysv') for all x64 OS ports - microsoft build enhancement: autodetect assembly via C preprocessor (like with .S gcc files) - enhancement: state-machine error reporting (stack overflow and invalid mode)? (e.g. dcError() ) - test/thunk: some platforms do not allow for allocation of executable code on heap and stack -- currently this test will crash, maybe we should collect information which platforms allow and which not. bugs: ----- - vararg function calls don't work for PPC32 System V ABI - callbacks don't work for PPC32 System V ABI - vararg function calls don't work for ARM THUMB mode (Daniel's new interface for modesetting for varag args should be used); adapt test/ellipsis missing implementations (descending priority): ---------------------------------------------- - ppc64 - itanium - 68k, 88k, 6502, etc. - alpha - sh - cell - blackfin - z80 - hppa - vax - atmel avr - propeller - amd29k - arc - seaforth available hardware for outstanding ports: ----------------------------------------- - 68k: Tassilo's old Palm m100 (MC68EZ328 (16MHz)) - sh4: Tassilo's Dreamcast - mips R5900: Daniel's PS2 - mips (?): Daniel's router - sigmatel stmp3550b: Daniel's iPod Nano - spekul's sparc, sparc64